Rate limits and plans
Limits apply per app, across all its keys and all keyed endpoints. They are counted in 10-second windows.
| Plan | Requests per second | Per 10-second window | Daily requests | Apps per account | Keys per app | Gasless submits per day | Sponsored gas per day | Price per month |
|---|---|---|---|---|---|---|---|---|
| Free | 5 | 50 | no daily cap | 1 | 2 | 50 | 2 USD | Free |
| Builder | 20 | 200 | no daily cap | 3 | 5 | 1,000 | 25 USD | 49 USD / month, 490 USD / year |
| Scale | 50 | 500 | no daily cap | 10 | 10 | 10,000 | 250 USD | 299 USD / month, 2,990 USD / year |
| Custom | 100 | 1000 | no daily cap | 20 | 20 | 50,000 | 1000 USD | 1,500 USD / month, 15,000 USD / year |
- New apps start on the Free plan: 5 requests per second (50 per 10-second window). The limit is counted per 10-second window, not per second: up to 50 requests can arrive at once, after which the rest of that window answers
429 RATE_LIMITED. - Paid plans raise the limits step by step. Plans are bought per app in the dashboard; see Pricing. A plan change reaches the API within about a minute; at the end of a paid period the app is on Free at once.
- The dashboard shows the plan and its limits on each app page.
When the limit is reached
- The answer is
429 RATE_LIMITEDwithRetry-After: 10. - Every keyed response carries
RateLimit-Policy, for example"burst";q=50;w=10(50 requests per 10 seconds). - No plan has a daily request cap today. When an app has one, responses add
qg-quota-remainingandqg-quota-reset, and a request over the cap gets429 QUOTA_EXCEEDEDwithRetry-Afterset to the seconds until 00:00 UTC.
The SDK retries a GET answered with 429 after Retry-After, up to two times by default.
Keyless endpoints
GET /swap/chains, /gasless/chains, /sources, /tokens and /status need no key and are cached at the edge: 60 seconds, and 15 seconds for /status.
Gasless limits
| Limit | Value |
|---|---|
| Gasless submits per app per day | per plan (table above) |
| Sponsored gas per app per day | per plan (table above) |
| Pending trades per taker per chain | 1 |
| Gasless trades per taker per hour | 30 |
| Minimum trade | 10 USD |
Request size
| Limit | Value | Error |
|---|---|---|
| URL length | 8,192 characters | 414 URI_TOO_LONG |
| POST body | 256 KB | 413 PAYLOAD_TOO_LARGE |
Idempotency-Key | 1 to 64 visible ASCII characters | 400 INPUT_INVALID |
This page as Markdown: rate-limits.md. All pages for tools: llms.txt.