Rate Limits
Rate limiting policies and per-endpoint limits
Rate Limits
The API enforces rate limits on a per-endpoint basis to ensure fair usage and system stability.
Limits by Endpoint
Balance
| Method | Endpoint | Limit | Window |
|---|---|---|---|
| GET | /v1/balance | 20 requests | 60 seconds |
| GET | /v1/balance/history | 10 requests | 60 seconds |
Convert
| Method | Endpoint | Limit | Window |
|---|---|---|---|
| GET | /v1/convert/exchangeInfo | 10 requests | 60 seconds |
| GET | /v1/convert/assetInfo | 10 requests | 60 seconds |
| POST | /v1/convert/getQuote | 5 requests | 60 seconds |
| POST | /v1/convert/exchange | 5 requests | 60 seconds |
| GET | /v1/convert/exchangeStatus | 30 requests | 60 seconds |
| POST | /v1/convert/limit/exchange | 5 requests | 60 seconds |
| POST | /v1/convert/limit/cancel | 10 requests | 60 seconds |
| GET | /v1/convert/limit/getOpen | 20 requests | 60 seconds |
Rate Limit Exceeded
When you exceed the rate limit, the API responds with HTTP status 429 Too Many Requests:
{
"errorCode": 9004,
"errorLabel": "TOO_MANY_REQUESTS",
"errorDescription": "Rate limit exceeded. Please retry after the rate limit window resets."
}Best Practices
- Cache responses for data that does not change frequently (e.g., exchange info, asset info)
- Use the
/v1/convert/exchangeStatusendpoint (higher limit) for polling exchange status instead of submitting repeated exchange requests - Implement exponential backoff when receiving 429 responses
Updated 12 days ago
