quote_id: send it with a payout and the payout settles at exactly these figures, until quote_expires_at passes.
Which shape comes back depends on the version you are pinned to. The itemized one below is the current shape; the older grouped one is at the end of this page.
Example
Every amount 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. Rates are decimal strings.What the quotation is
The money
source is what you send and recipient is what the counterparty ends up with. Both carry amount, currency and precision.
The charges
fees is one entry per charge. Add them up and you get totals.fee_total. The names are the ones your contract uses — How you’re charged has what each is for.
A
percentage line carries three more fields, and a fixed line carries none of them:
Not every line appears on every quote. A movement with no currency change carries no conversion line, and a payout from a balance you already hold carries no inbound charge — that was taken when the money arrived.
The totals
The conversion
Always present. When no currency changed, it echoes the movement back at a rate of1.000000 — so compare source_currency with target_currency, or read pair, to tell whether a conversion actually happened.
Both the rate applied and the market rate it came from are here, so the difference is visible rather than buried in one number.
Why this price
pricing_context says what the price was worked out against.
The grouped shape
A quote read on2026-04-14 comes back grouped rather than itemized, and every amount is a decimal string instead of a whole number with a precision.
The charges arrive under
fees, in groups rather than as lines: base_fees is what Kira charged, client_markup is what you charged on top, network_fee is the chain’s transfer cost, and fx carries the rates when the quote converts. fees.total_fees is base_fees.total and client_markup.total added up, and fees.total repeats it. Neither includes network_fee, so add that yourself on a payout delivered as digital currency — it is 0.00 on a bank payout.
The two shapes carry the same charges. What the itemized one adds is a line per charge, each naming what it is and what it was calculated on, instead of a group total you have to take apart.