Skip to main content
POST
Quote a cross-chain deposit
Production, real money. This endpoint runs on live routes: the transaction you build moves real funds the moment the user signs it, and every hash you see is a real one. There is no crypto sandbox. Use a small amount to try it.

Authorizations

Authorization
string
header
required

Your API key, issued by us and shown once at creation.

Body

application/json
source
object
required

Where the funds come from.

destination
object
required

Where the funds go.

amount
string
required

The amount, in the smallest unit of whichever token amountMode selects: the source token for exact-in, the destination token for target-out. Must be greater than zero.

Pattern: ^\d+$
Example:

"5000000"

method
string
required

Funding method. Only "crypto" is supported on this route.

Allowed value: "crypto"
amountMode
enum<string>

Which side amount pins down. exact-in (the default when omitted): the payer spends exactly amount of the source token. target-out: at least amount of the destination token must land, and the payer's side flexes. Any other value is refused rather than defaulted.

Available options:
exact-in,
target-out

Response

The signed quote.

A quote we issued. Send the WHOLE object back as quote, exactly as returned - every field is covered by the signature. The environment field every response starts with may come back with it; it is not part of the signature and is ignored on the way in.

environment
enum<string>
required

Which environment answered. sandbox: at least one money upstream is the provider's sandbox - no real money moves there, and the card corridor is the sandbox's asset (read GET /v1/config), not the documented production one. production: every configured upstream is real. Derived from the configured upstream hosts at boot, never a flag.

Available options:
sandbox,
production
Example:

"sandbox"

provider
string
required

Opaque identifier of the route source. Pass it back unchanged on /v1/deposit/status.

Example:

"sprinter"

outAmount
string
required

Expected amount delivered at the destination, smallest unit of the destination token. Under target-out this is a FLOOR: bridges deliver at least this, usually a little more.

Pattern: ^\d+$
Example:

"4999750"

validUntil
integer
required

Unix seconds after which the quote is refused with quote_expired. Set by us: at most five minutes from issue, or the provider's sooner deadline.

Required range: -9007199254740991 <= x <= 9007199254740991
Example:

1788799278

payload
any
required

Opaque provider data needed to build the transaction. Do not inspect or modify; its shape differs per provider and is not a contract.

rheonCorridor
object
required

The chains this quote moves between, written by us and covered by the signature. Do not alter.

rheonTransfer
object
required

What was asked for, echoed by us (addresses lower-cased) and covered by the signature. Do not alter.

rheonClient
string
required

The API client this quote was issued to. A quote is only accepted back by the key it was issued to.

Example:

"acme"

rheonSig
string
required

Our signature over every other field. A quote that does not verify, or was altered anywhere, is refused.

Example:

"5cdc0af7861b267c45c0feec1cd2689278c94d70a53108c8c1226da055a6e25e"

executionDurationSeconds
number

How long the provider ESTIMATES the transfer takes, in seconds. Not a quote deadline. Absent when the provider does not state one.