Essentials
For AI agents: the documentation index is at /llms.txt, and this page is available as Markdown at /developer-resources/rate-limits.md.
Rate limits
Each limit counts requests in a fixed window. A per-minute limit resets at the start of every minute, not 60 seconds after your first request.
Every request
| Caller | Limit |
|---|---|
| Organization API key | 2,000 a minute per organization |
Organization API key acting for a user with TM-On-Behalf-Of | Also 100 a minute for each user you act for |
| User token | 100 a minute per user, and 1,000 a minute per IP address |
| No token | 1,000 a minute per IP address |
Any caller of /v1/auth | 1,000 a minute per IP address, shared with the per-IP limit above |
Endpoints with their own limits
These endpoints also count against a stricter limit of their own.
Orders
| Counted | Limit |
|---|---|
| User token, per user | 10 a second and 120 a minute |
| Organization API key, per organization | 100 a second and 1,200 a minute |
- Create new order:
POST /v1/gateway/orders - Execute pending order:
POST /v1/gateway/orders/{id}/execute - Prepare moving resting DeFi TP/SL orders to new trigger prices:
POST /v1/gateway/orders/modify/{id}/prepare - Execute a prepared TP/SL modify:
POST /v1/gateway/orders/modify/{id}/execute - Modify an active limit order:
PATCH /v1/gateway/orders/{id}
Quotes
| Counted | Limit |
|---|---|
| User token, per user | 120 a minute |
| Organization API key, per organization | 1,200 a minute |
| No token, per IP address | 120 a minute |
- Compute market quote:
POST /v1/gateway/quotes
Money movement
| Counted | Limit |
|---|---|
| User token, per user | 20 a minute and 300 a day |
| Organization API key, per organization | 200 a minute and 3,000 a day |
- Create new transfer:
POST /v1/gateway/transfers - Execute pending transfer:
POST /v1/gateway/transfers/{id}/execute - Create a ramp:
POST /v1/gateway/ramps - Execute a ramp's bridge plan:
POST /v1/gateway/ramps/{id}/bridge/execute - Prepare a ramp's on-chain transfer:
POST /v1/gateway/ramps/{id}/prepare - Execute a ramp's on-chain transfer:
POST /v1/gateway/ramps/{id}/execute - Allocate funds to CeFi:
POST /v1/gateway/custody/allocations - Release funds from CeFi:
POST /v1/gateway/custody/releases - Add test funds (paper trading only):
POST /v1/gateway/paper/deposits - Remove test funds (paper trading only):
POST /v1/gateway/paper/withdrawals
Keys and credentials
| Counted | Limit |
|---|---|
| User token, per user | 10 a minute and 50 a day |
| Organization API key, per organization | 100 a minute and 500 a day |
- Record a consent decision:
POST /v1/auth/oauth/consent - Revoke a connected app:
DELETE /v1/auth/oauth/consents/{client_id}
Sign-in verification
| Counted | Limit |
|---|---|
| Per IP address, for every caller | 30 a minute |
- Exchange API key for tokens:
POST /v1/auth/api-key/token - Exchange a grant for tokens:
POST /v1/auth/oauth/token
OAuth client registration
| Counted | Limit |
|---|---|
| Per IP address, for every caller | 5 a minute and 50 a day |
- Register an OAuth client:
POST /v1/auth/oauth/register
When you hit a limit
We answer 429. A limit on this page answers with an empty body. A limit inside a service answers with the error body and type resource_exhausted.
Responses carry these headers for the limit closest to running out:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | The limit and its window in seconds, such as 120, 120;w=60. |
X-RateLimit-Remaining | Requests left in the window. |
X-RateLimit-Reset | Seconds until the window resets. |
Wait for X-RateLimit-Reset, then retry. Your token stays valid. The headers can describe a limit that is not enforced yet.
- Need help? [email protected]
- Chat with us on Discord
- See what changed in the changelog