Before you start
- An API key and the
/v1prefix - see Authentication. - The destination you want money to land on: a chain and a token, both named in
full. Read the ones your key may use from
GET /v1/config. - A frontend that can ask the user’s wallet to sign. We hand back an unsigned transaction; submitting it is yours.
What it does
- Any supported source chain and token. The user picks what they hold.
- One landing spot you control. Any chain and token your key is enabled for; the quote names both.
- Non-custodial throughout. The transaction we hand back is unsigned and the user’s wallet signs it. Funds never sit with us between the payer and you.
- Exact-in or exact-out. Pin the amount the payer spends, or the amount that must land - the second is what a fixed price needs.
The flow
1
Price it
POST /v1/deposit/quote with the source, the destination, and the amount.
See Quote a deposit.2
Build the transaction
POST /v1/deposit/transaction with that quote. You get an unsigned
transaction, preceded by an approval when the token allowance is short.
See Build the transaction.3
Let the user sign
Your frontend submits it from the user’s wallet. Nothing reaches us here.
4
Track it
POST /v1/deposit/status with the receipt, or take a
webhook instead of polling.
See Check status.Exact-in and exact-out
exact-in means the payer spends exactly the amount you named and whatever arrives,
arrives. target-out means a fixed figure has to land and the payer’s side flexes
to cover it. Collecting a set price - an invoice, a checkout total - is the
exact-out case.
Naming the destination
Name bothdestination.chain and destination.token, never one alone: a chain
without its token address is refused rather than guessed. Your key also has to be
enabled for that chain, otherwise the quote comes back 403 chain_not_allowed
instead of a quote you could not have used.
Fees
The crypto path is priced per route on the quote, and the quote is the whole price:outAmount is what lands, and the difference from what the payer spends is the
route cost. There is no separate settlement or bridging charge, and an on-chain
destination carries no network or withdrawal fee on our side. Routes are priced live,
so the same corridor can cost differently minute to minute - quote in the direction
that matters to you. The structure is on Fees.
Where to go next
- Build your own UI on it: Server-side integration.
- Drop in the ready-made flow: Rheon SDK.
- Which chains and tokens are open: Coverage.