If you are building your own UI on your own server, you want the second one. The
request and response bodies are identical - only the path and the header differ.
Sending the key
Getting a key
We issue it. The key is shown once, at creation - we keep only a fingerprint of it, so a lost key cannot be recovered, only replaced. Tell us and we will issue a new one; the old one stops working the moment the new one is in place.What your key is configured for
Each key carries the setup we agreed with you:- Source chains - where your users pay from.
- Destination chains - where you settle.
- Rate - requests per second for the whole key.
These corridors describe your account setup, not a security boundary. They
keep your integration inside what we agreed and give you a clear error when a
request falls outside it. If you need something locked down, lock it down on
your side too - we will happily match it here, but do not rely on this as your
only control.
Rate limits are yours to pass on
Your key gets a ceiling, and that ceiling is what stops one integration affecting another. It is not a per-user limit and cannot be: every request from you reaches us from your servers, so we see one caller, not your users. Limiting your own users is yours to do. You know who they are - they are logged in to your product - and we do not. If one of them hammers your integration, they will spend your ceiling and your other users will feel it.Leaving
destination out of a request means Arbitrum. That is a real choice, not
a blank - if your key is not enabled for Arbitrum, an omitted destination is
refused like any other.Errors
All errors use the same envelope: