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.

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

Soft Ban

To protect our core order creation and cancellation services, we implement a “soft ban” mechanism for both Account-Level Rate Limit and Maximum Open Orders Per Market violations. There are two different types of soft ban behavior depending on the violation:

Rate Limit Soft Ban (Disconnection)

Repeatedly violating the Account-Level Rate Limit 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 rate limit 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}

Order Creation Ban (Restriction Only)

Repeatedly violating the Maximum Open Orders Per Market limit and/or failing to back off after receiving 400s will result in an order creation ban, but you will remain connected to the WebSocket. What happens during an order creation ban:
  • You remain connected to the WebSocket (no disconnection)
  • All order creation requests are rejected with 403 Forbidden status
  • The rejection includes a RetryAfterSec field indicating when you can try again
  • Other WebSocket operations (like order cancellation) continue to work normally
There is no limit on how many times either type of soft ban can be triggered. Each violation resets the ban period.Tip for rate limit soft ban: If you get disconnected due to a rate limit soft ban, you can still call Cancel Orders REST endpoint while being disconnected from WebSocket.Tip for order creation ban: You remain connected and can continue to cancel orders via WebSocket, but cannot create new orders until the ban expires.
Avoiding soft bans:
  • For Account-Level Rate Limit (prevents disconnection): 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. In case you receive 429 responses, immediately back off and wait based on the RetryAfterSec field before sending further requests.
  • For Maximum Open Orders Per Market (prevents order creation ban): Keep track of the number of all open orders (not just active ones, but also pending and cancelling ones) you have in each market using Get Open Orders endpoint. If you approach the limit, please check if you have any open orders stuck in pending or cancelling status before placing new orders. If so, please reduce the order placing rate in this market until the total number of open orders goes down to around the normal number of orders you intend to place in the order book.