How Limits Work
Use the error type to identify which bucket rejected the request or message.IP Rate Limits
Every IP address gets 1,000 weighted tokens per minute. Each HTTP request consumes tokens equal to its request weight. Use scoped requests when possible. Broad, unfiltered reads consume more of the IP budget than narrow reads.Action Rate Limits
Every account has an action budget from its current limit tier. The default tier is 5,000 action tokens per minute with an open-order cap of 1,000. Action limits are account-scoped, not IP-scoped. Batching can reduce IP weight, but it does not reduce the number of order actions consumed.
Legacy request-rate fields on limit-tier responses are not used for request-rate
enforcement. Use the IP bucket for request volume and the action bucket for
account trading activity.
WebSocket Limits
WebSocket connections have separate limits for connection count, active subscriptions, and inbound messages.Integration Guidance
- Scope reads whenever possible. For example, request one instrument’s open orders instead of all open orders.
- Batch order placement when it reduces request volume, but do not expect batching to reduce action-token usage.
- Treat
429,ip_rate_limited,action_rate_limited, andmessage_rate_limitedas retryable after backoff. - Track active WebSocket subscriptions per connection so reconnects do not accidentally exceed the subscription cap.
- If you operate many users behind shared infrastructure, monitor IP usage separately from account action usage.