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

MethodEndpointLimitWindow
GET/v1/balance20 requests60 seconds
GET/v1/balance/history10 requests60 seconds

Convert

MethodEndpointLimitWindow
GET/v1/convert/exchangeInfo10 requests60 seconds
GET/v1/convert/assetInfo10 requests60 seconds
POST/v1/convert/getQuote5 requests60 seconds
POST/v1/convert/exchange5 requests60 seconds
GET/v1/convert/exchangeStatus30 requests60 seconds
POST/v1/convert/limit/exchange5 requests60 seconds
POST/v1/convert/limit/cancel10 requests60 seconds
GET/v1/convert/limit/getOpen20 requests60 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/exchangeStatus endpoint (higher limit) for polling exchange status instead of submitting repeated exchange requests
  • Implement exponential backoff when receiving 429 responses