Skip to main content
No API key. Quote, build and submit are each limited to 10 requests a minute, counted separately per IP address and per requester wallet (sender). Reading markets and transfer status is not limited. A completed transfer costs three calls. A 429 carries the longer of the two waits as retryAfterMs and a Retry-After header.
Quote once per user action, not per keystroke, and reuse decisionId for the build: a quote stays valid until its expiresAt. If your server calls on behalf of many users from one IP, spread quotes across those users’ actions rather than polling.

userIp

If your server calls the API on behalf of your users, send each user’s own IP as userIp on the quote. Two venues are geo-gated and refuse an order without it; GET /bridge/venues marks them capabilities.requiresUserIp. Without the field those venues simply drop out of the table with a reason in rejected. It is remembered on the quote and reused on build, so send it once. If your users call from their own browsers, nothing is needed.