Price a conversion, payout, or withdrawal
Prices an asset pair with no recipient. Takes your own margin on a conversion or payout quote, so you can show your customer the price the redeeming order charges; a withdrawal quote refuses it. Takes the destination type and custody of the order an option is for. Returns zero or more options and an expiry. A replay always reprices — this route carries no idempotency-key.
Authorizations
Body
source, destination Your own margin on the order this quote prices, in basis points, to two decimal places. Conduit folds it into every option's rate, so endUserRate is the marked-up rate your customer receives and totalSpreadBps includes it. The order that redeems the option charges the same margin and accrues it to you, and it must not declare a margin of its own. Not available on a withdrawal quote, which nothing redeems; declare the margin on POST /v2/payouts instead. Requires markup to be enabled for your organization.
0.01 <= x <= 99999.99Must be a multiple of 0.01Your own margin on the order this quote prices, as a flat amount per transaction, in the quote's source asset. A value finer than that asset's precision is refused. A flat amount cannot sit inside a rate, so it behaves exactly as Conduit's own fixed fee, and which side it moves depends on lockSide. On a SOURCE-locked quote it is carved out of the principal, so your customer receives less and totalDebit is unchanged. On a DESTINATION-locked quote it is added, so totalDebit rises and your customer pays more. Either way it appears in every option's fees as an entry owned by you. The order that redeems the option charges the same margin and accrues it to you, and it must not declare a margin of its own. Not available on a withdrawal quote, which nothing redeems; declare the margin on POST /v2/payouts instead. Requires markup to be enabled for your organization.
The customer the quoted conversion is for. When present, Conduit checks that this customer may convert, and refuses the quote with CAPABILITY_SUSPENDED when the order would be refused. Not available on a withdrawal quote.
^cus_[0-9A-Za-z]{22}$The virtual account the payout debits, as virtualAccountId on POST /v2/payouts. Only on a withdrawal quote. When present, each option is a rail Conduit can send this payout on from this account now. A rail that only a bank account still waiting for approval could send gets no option. Omit it to price every rail your organization is routed on. A virtual account outside your organization, or in a different asset, is refused with 404 VIRTUAL_ACCOUNT_NOT_FOUND.
^vac_[0-9A-Za-z]{22}$Who the payout pays, as destination.recipient.type on POST /v2/payouts. Only with virtualAccountId, else refused with 400 VALIDATION_ERROR. A rail is then offered only when the payout can route to this recipient type. Without it, a rail is offered when at least one recipient type can take it. It changes which rails are offered, not the fee of an option.
individual, business Presence discriminates the quote mode alongside whether source/destination share the same asset: different assets + no country prices a conversion; different assets + a country prices a conversion and a payout, unless both sides are fiat, which is refused; the same asset + a country prices a withdrawal; the same asset with no country is refused.
Response
^qte_[0-9A-Za-z]{22}$source, destination The amount this quote locked, in the asset of the side named by lockSide.
ISO 8601 timestamp
"2026-01-15T09:30:00.000Z"
ISO 8601 timestamp
"2026-01-15T09:30:00.000Z"