Skip to main content
Limits are counted per calling wallet: the wallet a request is for, which is the 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 returns 429 with a Retry-After header and retryAfterMs in the body. If more than one limit is exceeded, you get the longest of the waits.
To stay under the limits:
  • Quote when the user asks for a price, not on every keystroke.
  • Build from the decisionId you already have. A quote stays valid until its expiresAt.
  • Wait for retryAfterMs before 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 as userIp 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 the x-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 userIp on the request, or against your server’s address when there is none. Build and submit reuse the userIp from 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.
With the SDK, pass apiKey:
Keep the key on your server. Never send it to a browser. Leaving the header out, or sending it empty, is the same as calling without a key.