sender on a quote and the same wallet on its build and submit. Many wallets behind one IP address, such as an office network or a mobile carrier, each get their own allowance. Partners that call BRDG from a server can get a key with higher limits: see Higher rate limits and partner access.
Each endpoint has its own count, so one transfer uses one request from each of the three limits.
A wallet’s count is kept per caller: requests naming your wallet from another IP address are counted separately, so nobody can use up your wallet’s allowance by naming it. Each IP address also has a ceiling across every wallet it calls for, so an address cannot get more by cycling through new wallets. A request that names no wallet is counted per IP address, at 10 a minute.
When you hit a limit
The API returns429 with a Retry-After header and retryAfterMs in the body. If more than one limit is exceeded, you get the longest of the waits.
- Quote when the user asks for a price, not on every keystroke.
- Build from the
decisionIdyou already have. A quote stays valid until itsexpiresAt. - Wait for
retryAfterMsbefore retrying instead of retrying in a loop.
Calling the API from a server
If your backend calls BRDG for your users, send each user’s own IP address asuserIp on the quote. Two venues, Husher and SideShift, need the end user’s IP and are left out of the quote without it, with a reason in rejected. GET /bridge/venues marks these venues with capabilities.requiresUserIp.
BRDG stores userIp with the quote and reuses it when you build, so you only need to send it once. If your users call the API directly from their browsers, you do not need to send it.
Without a key, each wallet your server calls for gets its own allowance, but all of them share your server’s IP address, so the per-IP ceiling of 120 a minute applies to your whole server. With a partner key there is no per-IP ceiling.
Higher rate limits and partner access
Higher limits are available on request: contact @kernlog on Telegram or kernlog@print.world. Keys are issued by BRDG only; there is no signup or self-serve page. Send the key in thex-brdg-api-key header on every request, and send each end user’s IP as userIp. With a valid key:
- Each wallet gets the normal per-wallet limit, counted under your key, whether or not you send
userIp. There is no per-IP ceiling. - A request that names no wallet is counted against the
userIpon the request, or against your server’s address when there is none. Build and submit reuse theuserIpfrom the quote when you do not send one. - Your key also has a total limit across all your users, per endpoint group. The default is 600 quotes, 300 builds and 300 submits a minute, and it can be raised on request.
apiKey:
Leaving the header out, or sending it empty, is the same as calling without a key.