Rate Limits
We enforce rate limits on both REST API and WebSocket usage. These limits are based on IP address, not L1 wallet address.
Below is an overview of our rate limiting rules.
π REST API Endpoint Limits
Premium Account users have limit of 4000 weighted REST API requests per minute window, while Standard Account users 60 per minute.
ThesendTx
and sendTxBatch
transaction types are the only types of transactions that can increase in quota (see Volume Quota), which are used to create and modify orders. All other endpoints are have a set limit of tx per minute and do not increase with volume.
Weights per endpoint can be listed as below:
/api/v1/sendTx
, /api/v1/sendTxBatch
, /api/v1/nextNonce
/api/v1/sendTx
, /api/v1/sendTxBatch
, /api/v1/nextNonce
- Per User: 6
/
, /info
/
, /info
- Per User: 10
/api/v1/publicPools
,/api/v1/txFromL1TxHash
, /api/v1/candlesticks
/api/v1/publicPools
,/api/v1/txFromL1TxHash
, /api/v1/candlesticks
- Per User: 50
/api/v1/accountInactiveOrders
, /api/v1/deposit/latest
, /api/v1/pnl
/api/v1/accountInactiveOrders
, /api/v1/deposit/latest
, /api/v1/pnl
- Per User: 100
/api/v1/apikeys
/api/v1/apikeys
- Per User: 150
Other endpoints not listed above are limited to:
- Per User: 300
π IP-Level Rate Limit
Requests from a single IP address are capped at:
- 60 requests per minute under the Standard Account
- 4000 requests per minute under the Premium Account
π WebSocket Limits
To prevent resource exhaustion, we enforce the following usage limits per IP:
- Sessions: 100
- Subscriptions: 1000
- Unique Accounts: 10
- Session Burst: 100 messages
π§Ύ Transaction Type Limits (per user)
These limits applied for only Standard Accounts.
Transaction Type | Limit |
---|---|
Default | 60 requests / minute |
L2Withdraw | 2 requests / minute |
L2UpdateLeverage | 1 request / minute |
L2CreateSubAccount | 2 requests / minute |
L2CreatePublicPool | 2 requests / minute |
L2ChangePubKey | 2 requests / 10 seconds |
L2Transfer | 1 request / minute |
β Rate Limit Exceeding Behavior
If you exceed any rate limit:
- You will receive an HTTP
429 Too Many Requests
error. - For WebSocket connections, excessive messages may result in disconnection.
To avoid this, please ensure your clients are implementing proper backoff and retry strategies.
Updated 4 days ago