eu. and us. draw on
one allowance rather than one each.
What counts
Every request to/api/v1/swap and /api/v1/deploy consumes one unit from each
window — including one that ends in an error, and including a swap that
skip_if_bought suppressed.
/api/v1/ping and
/api/v1/wallets are the exceptions: they consume
nothing. Ping holds a connection warm or reads your remaining budget without
spending any of it; the wallet list is an in-memory lookup you can make before
every trade. Rejected 429 requests are not counted either.
Response headers
Every response (including errors) includes your current budget:
Counts are shared across regions and reconciled continuously, so the
Remaining-* values are accurate within a moment rather than to the request.
Right after you move traffic to another region its headers can read high until
they catch up. A sudden increase in remaining budget is stale reporting, not
new headroom — if you pace against these headers, keep your own counter as a
floor.
HTTP 429: Too Many Requests
When any window is exhausted the server responds with429 (code
RATE_LIMITED) and adds a Retry-After header:
The
details field contains retry_after=<seconds>. The rejected request is
not counted against your budget.
