The quote ID
Every bridge, swap and SDA deposit is identified by one ID. Different endpoints call it by different names, but it is always the same value.
In these guides we call it the quote ID (
quoteId), the name used in the quote and commit responses. Store it as soon as you receive it. It is the key for reconciliation, support requests and webhook matching.
Chains and tokens
Chains are identified by uppercase names, such asETHEREUM, BASE, ARBITRUM or SOLANA. Tokens are identified by their symbol, such as USDT or USDC. Don’t hard-code these values. Read them from the configs endpoint, which needs no authentication:
Addresses must use the format of the chain they belong to. For example, a Solana recipient needs a base58 address, not an EVM
0x… address. Requests with a malformed address are rejected with a 422 error.Amounts
The API expresses amounts as decimal strings in whole token units. For example,"25.5" means 25.5 USDC. Amounts are not in base units (wei, lamports and so on).
Smart contracts expect base units. Convert with the token’s decimals from the configs endpoint, using an exact decimal library. Never use floating-point math:
Quote lifecycle
Bridge transfers and swaps follow the same four steps:- Quote. You request a quote. It fixes the fees and amounts and returns an
expiresAttimestamp. - Commit. You commit the quote before
expiresAt. A quote that is not committed in time cannot be used. - Deposit. You send the onchain deposit that references the quote ID (
quoteId), passed to the contract ascommitmentId. - Settle. Rhino.fi detects the deposit and settles on the destination chain.
- Create. You create an address for your end customer, with its destination chain, destination address and settlement token.
- Deposit. Your customer, or your platform after consolidating funds, sends supported tokens to the address.
- Quote and commit. Rhino.fi detects the deposit, then creates and commits a quote for it automatically.
- Settle. Rhino.fi settles the funds on the destination chain.
Errors
The API uses standard HTTP status codes. Error responses include a machine-readable error name. TherhinoFetch helper in Authentication exposes it as error.code.
Common
422 errors:
Each endpoint lists its full set of errors in the API reference.
Pagination
List endpoints use cursor pagination. PasspageSize (and pageToken for later pages). When more results exist, the response includes nextPageToken. Pass it back with the same filters to get the next page. When nextPageToken is absent, you have reached the last page.
Limits
Limits depend on your account type. Trial accounts have fixed limits for testing and don’t reflect production. Subscription accounts have production limits that depend on your plan.
To change your limits or move to a subscription, contact your account manager. See Trial accounts: what’s included and how it differs from a subscription and Limits for details.
You can check your current SDA creation usage with the rate limit usage endpoint.
Fees
Fees depend on your account type.- Trial accounts pay a fee per transaction, for testing purposes, deducted from the amount sent on the destination chain. Trial fees are not a guide to subscription pricing, and fee configuration is limited.
- Subscription accounts have most fees covered by the monthly subscription. Tron, Solana and Bitcoin have additional onchain costs (see Tron, Solana and Bitcoin Access). You choose who pays them: you or your end customer.
fees breakdown. Your overall monthly usage is shown in the Rhino.fi Console and in the month-end invoice emailed to your organization. See Fees for the commercial model.
Next steps
Smart Deposit Addresses
Give each customer a deposit address that settles automatically.
Bridge transfers
Move and swap funds between chains from your own wallets.