Skip to main content
A quotation is the price of one movement, worked out before you make it. It carries what you send, what the recipient ends up with, every charge as its own line, and the rate when a currency changed. Asking for one is free and commits you to nothing. What makes it more than an estimate is 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 of 1.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 on 2026-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.