Skip to main content
These conventions apply across the whole API, and the other guides in this section refer back to them.

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 as ETHEREUM, 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:
See the full list in Supported chains and tokens.
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:
  1. Quote. You request a quote. It fixes the fees and amounts and returns an expiresAt timestamp.
  2. Commit. You commit the quote before expiresAt. A quote that is not committed in time cannot be used.
  3. Deposit. You send the onchain deposit that references the quote ID (quoteId), passed to the contract as commitmentId.
  4. Settle. Rhino.fi detects the deposit and settles on the destination chain.
Smart Deposit Addresses follow their own four steps:
  1. Create. You create an address for your end customer, with its destination chain, destination address and settlement token.
  2. Deposit. Your customer, or your platform after consolidating funds, sends supported tokens to the address.
  3. Quote and commit. Rhino.fi detects the deposit, then creates and commits a quote for it automatically.
  4. 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. The rhinoFetch 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. Pass pageSize (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.
Every quote response includes the fees for that transaction in its 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.