Webhook EventsPayout

Payout Order Events

This section describes the webhook events generated throughout the lifecycle of a payout transaction. These events can be used to track payout progress and update transaction status in real time.

Event Types

EventEvent TypeStatusDescription
Payment InitiatedOrderinitiatedPayout order request has been successfully initiated.
Payment ScheduledOrderfund_scheduledPayout order has been successfully scheduled for processing.
Payment CompletedOrderfund_settledFunds have been successfully credited to the beneficiary account and confirmation has been received from the bank.
Payment FailedOrderfund_failedThe payout could not be completed and funds were not delivered to the beneficiary account.

Event Flow

Payment Initiated
       ↓
Payment Scheduled
       ↓
Payment Completed

Failure Flow

Payment Initiated
       ↓
Payment Scheduled
       ↓
Payment Failed

Sample Event Payload

Payment Initiated

{
  "eventId": "EV-260306060254195",
  "entityId": "OR-2603060602374205436",
  "entityType": "order",
  "status": "initiated",
  "user": {
    "userId": "UX-250910053447199",
    "createdAt": "2025-09-10T05:34:47.983Z"
  },
  "order": {
    "orderId": "OR-2603060602374205436",
    "type": "payout",
    "depositCurrency": "USDC",
    "depositAmount": 11.849139,
    "withdrawCurrency": "EUR",
    "withdrawAmount": 10,
    "walletAddress": "",
    "createdAt": "2026-03-06T06:02:48.847Z",
    "customerOrderId": "OR-2603060602374205436"
  },
  "createdAt": "2026-03-06T06:02:54.714Z"
}

Subsequent webhook events will contain the same payload structure with the status field updated to reflect the current state (fund_scheduled, fund_settled, or fund_failed).

Event Types

EventEvent TypeStatusDescription
Payment InitiatedOrderinitiatedPayout order request has been successfully initiated.
Asset DepositedOrderasset_depositedCryptocurrency has been successfully transferred to the destination wallet address.
Payment FailedOrderfund_deposit_failedCryptocurrency transfer could not be completed successfully.

Event Flow

Payment Initiated
       ↓
Asset Deposited

Failure Flow

Payment Initiated
       ↓
Payment Failed

Sample Event Payload

Payment Initiated

{
  "eventId": "EV-260303142447632",
  "entityId": "OR-2603031424333175002",
  "entityType": "order",
  "status": "initiated",
  "user": {
    "userId": "UX-251127054640133",
    "createdAt": "2025-11-27T05:46:41.322Z"
  },
  "order": {
    "orderId": "OR-2603031424333175002",
    "type": "payout",
    "depositCurrency": "USDC",
    "depositAmount": 10,
    "withdrawCurrency": "USDTPOLYGON",
    "withdrawAmount": 10,
    "walletAddress": "",
    "createdAt": "2026-03-03T14:24:45.909Z",
    "customerOrderId": "OR-2603031424333175002"
  },
  "createdAt": "2026-03-03T14:24:47.812Z"
}

Once the cryptocurrency transfer is completed, a final webhook event is generated with the status field set to asset_deposited.

Event Consumption Guidelines

  • Every webhook event contains a unique eventId.

  • entityId corresponds to the original payout order identifier.

  • Events are delivered as the payout progresses through its lifecycle.

  • The status field should be treated as the source of truth for transaction state management.

  • Terminal statuses indicate the final outcome of the payout:

    • Fiat: fund_settled, fund_failed

    • Crypto: asset_deposited, fund_deposit_failed

  • Merchants should update their internal transaction records whenever a new webhook event is received.