Skip to main content
Prices a cross-chain deposit for a given source, destination, and amount. The quote it returns is the input to /deposit/transaction.

Request

object
required
Where the funds come from.
object
required
Where the funds land.
destination.chain and destination.token go together: send both or neither. Sending only the chain is rejected, because keeping Arbitrum’s USDC address on another chain would quote a token that does not exist there.
string
required
The amount, as a decimal string in the smallest unit of whichever side amountMode pins down: the source token for exact-in, the destination USDC for target-out (e.g. "5000000" = 5 USDC).
string
Which side of the trade amount fixes. Omit for exact-in, which is the default and matches every existing integration.
  • exact-in - the payer spends exactly amount; how much lands is whatever the route delivers.
  • target-out - at least amount must land at the destination, and we solve backwards for what the payer spends. This is exact out: the figure to collect is fixed, so the payer’s side has to flex.
target-out is a floor, not an exact figure. Routes target “at least X”, so a little more than amount usually arrives. Treat any excess as the recipient’s.
A provider that cannot honour the requested mode returns no_route rather than quoting the other one - a quote in the wrong mode looks correct and settles the wrong amount.
string
required
Funding method. Only "crypto" is supported here. For card use /card/quote; for bank transfers see /fiat/onboard.

Response

string
Opaque identifier for the route source. Treat it as a black box and pass it back unchanged to /deposit/transaction and /deposit/status.
string
The amount that will be delivered at the destination, as a decimal string in the destination token’s smallest unit (USDC).
number
Optional. Unix timestamp (seconds) after which the quote may no longer be valid.
object
Opaque route data. Do not inspect or modify it - pass the whole quote object back to /deposit/transaction.

Errors