Triggered when the recipient confirmed the FX exchange on a cross-currency quote. Fires only when an FX exchange actually occurred — same-currency quotes do not produce this event.
Envelope
Carries the standard event envelope. Payout identifiers: payout_order_uuid, recipient_email, external_send_id (see Payout events → Identifiers).
Event-specific fields
| Field | Type | Value |
|---|---|---|
data | Hash | Full send-request snapshot as returned by the confirm, passed through verbatim. Same shape as Payout events → data shape. Because confirm only fires on cross-currency sends, input_to_sending_rate is not "1.0" and fees.conversion_fee is present. |
Example
{
"event": "payout.quote_confirmed",
"status": "in_progress",
"occurred_at": "2026-05-25T10:00:30Z",
"recipient_email": "[email protected]",
"external_send_id": "123456",
"payout_order_uuid": "11111111-2222-3333-4444-555555555555",
"data": {
"id": 123456,
"status": "in_progress",
"purpose": "Gifq payout to [email protected]",
"created_at": "2026-05-25T10:00:00.000Z",
"input_amount": "100.00",
"input_currency": {
"id": 1,
"kind": "fiat",
"title": "Euro",
"symbol": "EUR",
"enabled": true,
"disabled_message": null
},
"sending_amount": "108.50",
"sending_currency": {
"id": 33,
"kind": "crypto",
"title": "USDC",
"symbol": "USDC",
"enabled": true,
"disabled_message": null
},
"input_to_sending_rate": "1.085",
"balance_debit_amount": "0.051847",
"balance_debit_currency": {
"id": 5,
"kind": "crypto",
"title": "Ethereum",
"symbol": "ETH",
"enabled": true,
"disabled_message": null
},
"sending_to_balance_debit_rate": "2092.89",
"fees": {
"service_fee": {
"amount": "0.00056141",
"currency": {
"id": 5,
"kind": "crypto",
"title": "Ethereum",
"symbol": "ETH",
"enabled": true,
"disabled_message": null
}
},
"conversion_fee": {
"amount": "0.000478",
"currency": {
"id": 5,
"kind": "crypto",
"title": "Ethereum",
"symbol": "ETH",
"enabled": true,
"disabled_message": null
}
}
},
"ledger_account": {
"id": "01EXAMPLELEDGER0000000000000",
"title": "Ethereum main account",
"status": "active",
"balance": "10.000000000000000000",
"account_type": "main",
"currency": {
"id": 5,
"kind": "crypto",
"title": "Ethereum",
"symbol": "ETH",
"enabled": true,
"disabled_message": null
}
},
"beneficiary_payout_setting": {
"id": 999,
"beneficiary_id": 888,
"created_at": "2026-05-25T09:59:59.000Z",
"currency": {
"id": 33,
"kind": "crypto",
"title": "USDC",
"symbol": "USDC",
"enabled": true,
"disabled_message": null
},
"platform": {
"id": 21,
"title": "Solana",
"id_name": "solana"
},
"crypto_address": "ExampleSolanaWalletAddress00000000000000000",
"crypto_address_metadata": null
},
"blockchain_transactions": [],
"requires_2fa_confirmation": false
}
}What to do on receipt
- The FX exchange for this
external_send_idhas settled and the quote is locked in. - Same-currency sends will never produce this event — do not wait for it on those.
- Expect a
payout.status_changedand ultimately apayout.terminal_statenext.