Skip to main content
Understanding our API rate limits is essential for optimal performance and uninterrupted service. These limits help maintain system stability and ensure fair access for all users.

Account-Level Rate Limit

The following WebSocket and REST API requests share a combined account-level rate limit across all markets, regardless of API keys:
EndpointDescription
Create Order - LimitPlace a limit order
Create Order - MarketPlace a market order
Cancel Order By IDCancel an order by ID
Update LeverageUpdate account leverage
Get Order By IDRetrieve order details by ID
If you are using the UI and API simultaneously, some UI actions may also count towards your account-level rate limit. In particular, even if you are not actively doing any trades in the UI, it will still consume 240 requests per minute from your account-level rate limit (market makers only) by polling for updates.
User TypeLimit (requests/minute)
Market Maker10,000
Retail/Institutional250

Authorization Endpoint Rate Limit

EndpointLimit (requests/minute per API key)
Authorization20

WebSocket Connection Rate Limit

User TypeLimit (new connections/minute)
Market Maker60
Retail/Institutional20

User Account API Rate Limit

All User Account API endpoints: Currently, we don’t enforce rate limits on individual users for these User Account API endpoints, but there are API-level rate limits shared by all users:
  • ThrottlingBurstLimit: 2,000 requests per second
  • ThrottlingRateLimit: 2,000 requests per second
These limits are applied globally across all users and should be more than enough for normal usage.
We enforce fair usage of these User Account API endpoints. If we detect abnormal spamming of the API, we might ban the user. Note that the User Account API endpoints are NOT part of the 10,000 calls per minute limit mentioned above.

Handling Rate Limit Violations

If you exceed any of the above rate limits, you will receive a 429 Too Many Requests response. The rate limit counter resets every minute based on the timing of your first request, not at fixed minute intervals. Note that User Account API Rate Limit is an exception that resets every second.
If you receive a 429 response, you must back off and avoid sending further requests until the limit resets. Repeated violations or failure to respect rate limits may result in a ban.
If you have special requirements or expect high traffic, please contact our support team for assistance.

Soft Ban

To protect our core order creation and cancellation services, we implement a “soft ban” mechanism for Account-Level Rate Limit violations. Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automatic soft ban for 5 minutes and you will be disconnected. What happens during a soft ban:
  • All Order Creation WebSocket connections are immediately disconnected across all markets
  • New Order Creation WebSocket connections are blocked for 5 minutes
  • Connection attempts return 403 Forbidden with message user soft banned till ${unix timestamp}
There is no limit on how many times a soft ban can be triggered. Each violation resets the 5-minute ban period.
Avoiding soft bans: Monitor the apiQuotaUsed field in Create Order and Cancel Order 202 acknowledgement messages. This indicates your current request count toward the account-level rate limit. Implement rate limiting in your code to stay below your limit.

Other Commonly Encountered Limits

The following two limits are not directly related to rate limiting but are important to be aware of:
  1. Maximum Open Orders Per Market
  2. WebSocket Connection Restrictions