Get API access
API reference Webhooks
POSTINBOUND EVENT

Payout Callback

Sent to the callbackUri you provided when creating the payout, every time the payout transitions to a new state (completed or canceled — both terminal). The payload is signed with HMAC-SHA256 in the `X-Signature` header (note: capitalised, same as the outbound payout API) computed over the compact JSON body. Respond with HTTP 2xx within 10 seconds; non-2xx triggers retries with exponential backoff for up to 24 hours.

{your callbackUri}
Verify the event signature

Validate the HMAC-SHA256 signature before processing the payload. Authentication guide →

Payload fields#

statusbooleanrequired

Top-level success flag. Always true for successfully delivered callbacks — the actual payout outcome is in result.state.

Example true
result.idstring (uuid)required

Payout UUID — same value returned at creation. Use this to reconcile against your records.

Example 290e6f70-a3698-ab0b-5beaddf2b16a
result.orderIdstringrequired

Your original orderId passed at creation, echoed back for reconciliation.

Example b30aaa28-4f58-91a2-be1a6775b5e8
result.statestringrequired

Payout lifecycle state at the moment of the callback. One of: pending, canceled, completed — both canceled and completed are terminal. See the Lifecycle States section in Get Payout Status for the full semantics. Treat the same (id, state) pair as idempotent.

Example completed
result.amountstring (decimal)required

Final amount transferred to the recipient.

Example 30000.00
result.init_amountstring (decimal)required

Originally requested payout amount. Equals amount on a clean completion.

Example 30000.00
result.currencystringrequired

ISO-4217 currency code.

Example ARS
result.methodstringrequired

Payout method — currently always cbu.

Example cbu
result.ratestring (decimal)required

Exchange rate (local currency → USDT) locked at the moment of settlement.

Example 1474.59
result.datetimenumber (unix)required

Unix timestamp (seconds) of the state transition.

Example 1780058339
result.created_atstring (ISO 8601)required

ISO 8601 UTC timestamp of when the payout was originally created.

Example 2026-05-29T12:38:59.478Z
result.messagestring | nulloptional

Reason text — populated when state is canceled to describe why (insufficient balance, invalid CBU, anti-fraud, etc.). null on success.

Example null
result.file_urlstring | nulloptional

URL to the bank transfer receipt / proof-of-payment, when available.

Example null
Need help with your integration?Contact the team