List of Questions
- What kind of limits are there?
- If I exceed the limits, will I be restricted by Account, API Key, or IP Address?
- I was restricted for exceeding limits, but I fixed my code. Will you unban me early?
- I'm receiving an HTTP 403 error when using the API. Why?
- Why are my websocket connections being dropped/disconnected?
- I'm using a third-party service/wrapper and it is not working. Can you help?
- Despite making no changes, I'm suddenly receiving errors. What happened?
- I need to access my Secret Key, but it displays "***". How do I retrieve this?
- Could I get my limits increased, or some kind of dedicated stream/bandwidth?
- My API Key has disappeared. Help!
- I'm receiving "Error -1021 (Message: Timestamp for this request is outside of the recvWindow)". How can I resolve this?
- Am I able to do <this> or <that> with the API?
- I believe there is an issue with the API. How should I report it?
What kind of limits are there?
There are three different types of limits, all of which are subject to change at any time:
- ML (Machine Learning) Limits
- WAF (Web Application Firewall) Limits
- 1,200 request weight per minute (keep in mind that this is not necessarily the same as 1,200 requests)
- 10 orders per second
- 100,000 orders per 24 hours
Our hard-limits are listed on the "/api/v1/exchangeInfo" endpoint.
Machine Learning Limits:
Trading behavior is evaluated against the average user and if you deviate too far, you'll be banned for a determined amount of time ranging from 5 minutes to 3 days.
Assume that you have a trading abuse score. Your score will increase if:
- You repeatedly "one up" or "front-run" the best Bid/Ask on the Order Book.
- You spam order creation and cancellation very quickly without executing trades.
- Your "conversation rate" is low. "Conversation rate" is defined as your number of trades divided by the total order creations and cancellations over a 24-hour period (numTrades / (orders + cancels)).
- Your "weight" is low. "Weight" is defined as your total traded quantity divided by the total order creations and cancellations over a 24-hour period (totalTradedQty / (orders + cancels)).
- When trading pairs that have BNB as the base or quote asset, your abuse score will be amplified.
More specific information than the above will not be provided. Please use trial and error to achieve your ideal trading pattern, or discuss optimal behavior with other API users.
Web Application Firewall Limits:
While we do not provide exact details on our WAF rules, if you are receiving an HTTP 403 error, you have broken a rule. Most likely, it will be a result of excessive requests with a duration of 5 minutes. However, if you are sending a request that could be perceived as malicious, it could also result in a ban of a longer duration.
If I exceed the limits, will I be restricted by Account, API Key, or IP Address?
For the hard-limits, exceeding the total request weight per minute limit (currently 1,200) will result in an IP ban. The order limits (currently 10 per second and 100,000 per 24 hours) will be dependent on account. If the order limit has been exceeded, users will also be restricted from creating new orders on the website (or our other applications).
For Machine Learning limits, restrictions will be applied to accounts. If a user has been restricted by the ML system, they may check the reason and the duration by using the "/wapi/v3/accountStatus.html" endpoint (noted in our WAPI Documentation).
Web Application Firewall limitations will only be applied by IP. Usually, a WAF ban will have a duration of 5 minutes. However, if the server has interpreted a user's request as malicious, it may be extended.
I was restricted for exceeding limits, but I fixed my code. Will you unban me early?
No. You must wait for the duration of the ban.
I'm receiving an HTTP 403 error when using the API. Why?
You have violated the WAF (Web Application Firewall) rules, most likely by violating a rate limit or sending a malicious request (as outlined in the limits section of this document). Typically, these bans last a period of 5 minutes.
Why are my websocket connections being dropped/disconnected?
Every 3 minutes, active websocket connections will receive a ping. If you do not respond with a properly framed pong, your connection will be terminated.
For user data streams, if a keep-alive is not received at least once every 60 minutes, the listen key will expire. This is also detailed in our WAPI Documentation.
I'm using a third-party service/wrapper and it is not working. Can you help?
Unfortunately, we do not offer support for third-party services or tools. Please reach out to the service and/or developers for further assistance.
In addition, it is a security risk to enter your Binance API Key(s) and/or Secret Key(s) into any third-party platform. Use these services at your own discretion.
Keep in mind that we also avoid providing general programming assistance.
Despite making no changes, I'm suddenly receiving errors. What happened?
Unfortunately, we are unable to provide support for issues with your personal implementation. If you are using a third-party wrapper/tool, please contact their support/development team for assistance.
I need to access my Secret Key, but it displays "***". How do I retrieve this?
For your own security, by design, Secret Keys are only visible at the time the API Key is created. Any time after that point, it will be masked. If you have lost it, or you did not record it, you will need to create a new API Key and utilize the new key with the new Secret Key.
Could I get my limits increased, or some kind of dedicated stream/bandwidth?
Unfortunately, this is not currently something that we are offering. It should be possible to work with the limitations we have provided.
My API Key has disappeared. Help!
There are only two likely explanations for an API Key "disappearing":
- If you have not been active recently and you were using the API prior to March 7th, it's possible that your API Key(s) were purged to ensure the security of your account.
- Otherwise, if you have chosen to disable your account, this would result in the deletion of any and all active API Keys.
You should be able to create new API Key(s) with no issues.
I'm receiving "Error -1021 (Message: Timestamp for this request is outside of the recvWindow)". How can I resolve this?
Typically, this error only occurs if there is a desync between the server time and your system time. You may need to sync your system clock, however, this process varies depending on operating system.
For Windows, at your own discretion, you may use a tool like "Atomic Clock". Linux and Mac may be synced using "ntpdate" via command line.
If unable to resolve, it may be latency-related (a network issue) and adjusting your recvWindow may be required.
Am I able to do <this> or <that> with the API?
If you do not see the functionality you are requesting in our documentation, you should assume that we do not provide it. If you would like to make a feature suggestion, you may open a support ticket with your suggestion and it will be reviewed.
I believe there is an issue with the API. How should I report it?
If you feel there is an issue with the system and not with your implementation, remember that we do not accept vague messages as legitimate complaints.
If you have evidence to support your claim, you may contact us in our Telegram API chat and we will investigate. However, this is not a group for official programming support -- it is a community group for Binance API users.