Skip to main content
GET
“I want to end up holding X — which of my balances gets me there cheapest?” The all-in cost of a conversion is dominated by the chain the funds start on, not by the amount, so the same target can cost several percent from one balance and under 1 % from another. This endpoint prices every balance you hold through the normal quote path (real numbers, nothing moves) and ranks them. Candidates are capped at 8, richest first, and balances worth under $1 are ignored. An unsupported toCurrency is 400 VALIDATION_ERROR.

Authorization

Dual auth — a secret API key with the conversions:read scope, or a dashboard JWT with the conversions:view permission. Dashboard sessions must belong to a merchant_admin, merchant_member or super_admin role; API-key callers are gated by scope only. See the Authentication guide. Rate limit: 3/min — each call fans out one quote per candidate balance.
Each call fans out one real quote per candidate balance (up to 8) and is limited to 3/min — call it once when the user opens the conversion flow, not on every input change.

Query parameters

string
required
The target currency you want to end up holding.

Response fields

string
The requested target currency.
array
Cheapest first (ascending feePct). Empty when nothing can reach the target.
array
Balances that could not be priced, with the merchant-safe reason verbatim — so you can explain instead of silently omitting.
number
feeUsd of the worst priced option minus the best (0 when fewer than two options priced).

Errors

See also