Rate source and indicative FIFO quote
Payout responses may includerate_source so you can understand where the
execution market rate came from:
The field is available on payout creation and payout detail when attribution is
loaded. It may be absent on historical or list rows. It does not change the
debit, fee or webhook contract.
Current payout quote in GET /v1/rates
The account-facing rates response keeps the payout field name rate. This is
the executable-market quote for the next payout: the platform checks the
oldest open FIFO lot for the country’s currency. When eligible inventory is
available, rate_source is lot; otherwise the quote uses spot and
rate_source is spot. A failed inventory read also falls back to spot;
the payout debit itself remains fail-closed.
payin_rate is the deposit-side quote. In USDT v1 it can be backed by enabled
payin lots funded by settled buy_crypto trades; payin_rate_source reports
lot or spot. Payin create/detail responses can include rate_source when a
quote was loaded. Card payins remain spot-priced. The organization-admin
endpoint exposes the same distinction with payout_rate, payin_rate,
rate_source and payin_rate_source.
lot_quote below for an amount-specific
indicative quote, and use the payout response plus final webhook as the
authoritative execution record.
To preview an indicative inventory-aware quote, add currency and amount to
GET /v1/rates:
lot_quote is read-only and indicative. Execution locks inventory inside the
debit transaction, so a concurrent payout can change the result. marked_rate
is optional. Quote validation errors are values inside the normal 200 rates
response: invalid_amount, currency_not_supported or quote_unavailable.
The quote does not guarantee a future payout price. The payout response and
the final payout_status_changed event remain the authoritative records.
For payins, the quote is fixed before the asynchronous credit boundary; FIFO
consumption records inventory attribution at credit time. A shortfall falls
back to spot and raises an operator alert without changing the quoted credit.
Quote statuses
SEPA EUR rate key
The single Europe (EU)/EUR/sepa routing corridor shares one rate
key: sepa, with currency: "EUR". The payout catalog returns country: "EU" for this row, while the beneficiary’s actual country comes from the
IBAN. The payout fee and FX spread resolve on the EU pricing row.
rate_source still describes the executable payout quote (lot or spot);
payin_rate remains the deposit-side spot quote.
Does this quote reserve inventory?
Does this quote reserve inventory?
No. It is read-only and indicative. The payout debit transaction locks and
consumes inventory atomically.
What should I store for reconciliation?
What should I store for reconciliation?
Store the payout response and its final
payout_status_changed event. Use
rate_source as the execution provenance; do not treat lot_quote as a
guarantee.