How do you reset your balance?

Hi there,

I’ve been writing some test cases in java for an app that I’m working on.
It’s using the https://testnet.binance.vision/api/v3 endpoints and I have ran quite a few tests during the day which is probably why I started getting the following error:

=== Request
Request: { uri=https://testnet.binance.vision/api/v3/order, method=POST }
Payload: { symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=10&price=0.00320&newOrderRespType=FULL&recvWindow=10000&timestamp=1636243875750&signature=bb58c8451df94d5a93a52208923a3c75b25d72dbb5467dc3a6e391dbe60bad84 }

=== Response
Content-Type: application/json;charset=UTF-8
Content-Length: 77
Connection: keep-alive
Date: Sun, 07 Nov 2021 00:11:17 GMT
Server: nginx
x-mbx-uuid: 68e070e1-0769-410c-9ed1-6ae7ca16d71a
x-mbx-used-weight: 1
x-mbx-used-weight-1m: 1
x-mbx-order-count-10s: 1
x-mbx-order-count-1d: 3
Strict-Transport-Security: max-age=31536000; includeSubdomains
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'self'
X-Content-Security-Policy: default-src 'self'
X-WebKit-CSP: default-src 'self'
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
X-Cache: Error from cloudfront
Via: 1.1 a3fc5cd96d96dcf24c30f98236e9f2fc.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: SOF50-C1
X-Amz-Cf-Id: A9t1vjjHjmTKHKl04v4C7_jlp22rEYb5e5cdGde6p5kaukUZ3Hmh2Q==

{"code":-2010,"msg":"Account has insufficient balance for requested action."}

It looks like I’ve exhausted my balance for this asset.
The question is how do you reset it? Is this done automatically or can I just “hit” an endpoint to reset the balance? Or maybe there’s an endpoint I can use to add more virtual funds?

P.S. Seems like my question might be related to this one - testnet with fake wallet for testing ordering?

there is no https status code or response message, we don’t know if there is any issue in your request.

Yeah, it looks like the debug output chopped it out. The status code was 400 as far as I remember. There isn’t anything wrong with the request I was sending - I simply had insufficient balance since I was running test throughout the entire day.

There are no resetting of funds. Once you have depleted the allocated resources, you have to wait for a month for it to reset. The details are written here (https://testnet.binance.vision/) under All my data has disappeared! What happened?

That’s what I was afraid of. I noticed you can cancel most of the orders you created if you set a significantly lower price than the current price (within the price percentage limit). I guess that’s the only way to go for now.

Do you perhaps know of plans for making this situation more convenient for developers?

Maybe allow developers who have logged in via github a significantly bigger sum available such as 50k or 100k per currency (i.e. USD, EURO, etc) so that it would be rather impossible to run out of funds? Otherwise this situation would keep happening for everybody.

You shouldn’t backtest your strategy on the testnet environment. Testnet is for you to try out the endpoint and understand how to interact and handle the response returned from the endpoint. Therefore, the allocated funds should be more than enough for you to do that.
If you want to backtest your strategy, you should use real historical data which is readily available here (https://data.binance.vision/)

Thanks for the suggestion of using data.binance.vision though - I was going to research historical data these days. :slight_smile:

As for backtesting strategies - I am simply running Integration Tests that work with the live data instead of mocks to ensure that the JSON response gets properly mapped to the java POJOs.