BINKDocs
HelpDashboard

FX

/docs/global/fxGlobal

Foreign exchange only ever happens when you explicitly ask for it — e.g. funding a card in a different currency than the source wallet, or converting a settlement currency. Live rates are captured at the moment of conversion and stored with the transaction for reconciliation.

Rate capture

Every cross-currency movement stores the exact rate and timestamp used, scaled to an integer (rate × 10⁸) to avoid floating-point drift:

json
{
 "fxRateScaled": "800000000",
 "fxTimestamp": "2026-07-09T10:14:02.000Z",
 "settlementCurrency": "USD",
 "settlementAmountMinor": "6250"
}

Fields on a converted transaction

FieldTypeMeaning
fxRateScaledstringThe rate × 10⁸ as an integer, so no floating-point drift can creep in.
fxTimestampstringUTC moment the rate was captured.
settlementCurrencystringOnly present when settlement differs from the transaction currency.
settlementAmountMinorstringThe settled amount in minor units of the settlement currency.

Never mixed, always native

A payment's currency and amountMinor are always what the customer actually paid in. The settlement fields appear only when settlement happens in a different currency — the two are never conflated.

Was this page helpful?