Create a quotation
Price a payout before you make it and hold that price: send the quote_id with a payout and it settles at exactly the amounts, fees and rate you were quoted. quote_expires_at says how long that holds — read the field, the window is configurable.
Every amount in the response is a whole number in the currency’s smallest unit, with the precision to divide by. 1000.00 USD arrives as amount: 100000 with precision: 2.
Headers
Version applied to this request. It wins over your account's pinned version — see Versioning.
"2026-06-01"
Body
Send exactly one of virtual_account_id or quote_for. Any field not listed here is rejected.
How much to price, as a decimal string with exactly two decimals, above zero — "1000.00". With inverse this is what the recipient should end up with instead.
Price against this account. The account pins the direction and the source currency.
Price a rail before any account exists. Nothing is saved against an account, so quote_id comes back null.
What the recipient should end up with.
Which bank rail the payout will use. Only with virtual_account_id, because one account accepts several rails and only you know which one you mean.
Leave it out and no rail charge is priced — a payout to a bank recipient then refuses the quote rather than carry that charge for free.
ACH_STANDARD, ACH_SAME_DAY, WIRE_DOMESTIC The token and chain you will deposit to fund the payout. Only with virtual_account_id, and not together with from_held_balance.
Work backwards: treat amount as what the recipient receives and return what you have to send. false when you omit it.
Price a payout from a balance you already hold, so the charges taken when the money arrived are not charged again. Needs virtual_account_id. false when you omit it.
Price as of this moment instead of now, as an ISO 8601 timestamp with an offset.
Your own fees for this one quote, replacing whatever is configured on your account. At least one of the two has to be above zero.
Response
The quote was priced.
The priced quote, line by line.
Send this with a payout to settle at this price. null on a quote_for quote, which is a preview and is not saved.
When the price stops holding, as an ISO 8601 timestamp.
What you send.
What the recipient ends up with.
Why this price and not another.
The currency conversion. Always present: when no currency changed it echoes the movement back at a rate of 1.000000, so read pair, or compare source_currency with target_currency, to tell whether a conversion happened.
Every charge as its own line. Add them up and you get totals.fee_total.
One charge. kind says which shape it takes: a percentage line also carries the rate and what it was applied to.
- Option 1
- Option 2
The lines added up.
Whether the balance you hold covered source.amount when the quote was priced. Only on a from_held_balance quote, and only as a courtesy — the balance is checked again for real when the payout runs.