Withdrawal Event

OpenXSwitch - Webhook Withdrawal Event

Webhooks for the withdrawal flow notify you about the status of funds being withdrawn from a wallet.

  • Parent Method: withdraw
  • Sub-Methods:
    • unconfirmed: Triggered when a withdrawal request is initiated but not yet processed.
    • confirmed: Triggered when the withdrawal is successfully processed and funds are sent to the specified address.

Example Payload for Withdrawal:

{
  "requestId": "f71516a1a53acbc5a999ef9b6edda4",
  "method": "withdraw.unconfirmed",
  "params": {
    "id": "68180c09b19304fc881991c2",
    "clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
    "coin": "USDT",
    "chain": "ERC20",
    "network": "Ethereum",
    "amount": 9,
    "fromAddress": "0x5523985926Aa12....678D7227E",
    "toAddress": "0x5523985926Aa12....678D7227E",
    "hash": null,
    "status": "pending",
    "networkFee": 0.01,
    "confirmation": 0,
    "fromWalletId": "6812b103908d2d0d49c7ff79",
    "workspaceId": "656abf1e4b5f5e0012345678",
    "createdAt": "2025-05-05T00:53:29.206Z",
    "updatedAt": "2025-05-05T00:53:29.206Z",
    "wallet": {
      "id": "6812b103908d2d0d49c7ff79",
      "clientUserId": null,
      "email": "email@openxswitch.com",
      "name": "openxswitch-subwallet",
      "asset": {
        "coin": "USDT",
        "balance": 9,
        "frozen": 0,
        "updatedAt": "2025-05-04T23:58:20.494Z"
      },
      "isSubWallet": false
    }
  }
}
{
  "requestId": "f71516a1a53acbc5a999ef9b6edda4",
  "method": "withdraw.confirmed",
  "params": {
    "id": "68180c09b19304fc881991c2",
    "clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
    "coin": "USDT",
    "chain": "ERC20",
    "network": "Ethereum",
    "amount": 9,
    "fromAddress": "0x5523985926Aa12....678D7227E",
    "toAddress": "0x5523985926Aa12....678D7227E",
    "hash": "0x09e6d323086d462d0c4d0b3890d624451a82c6c28ba07d95a946a8544780...",
    "status": "success",
    "networkFee": 0.01,
    "confirmation": 20,
    "fromWalletId": "6812b103908d2d0d49c7ff79",
    "workspaceId": "656abf1e4b5f5e0012345678",
    "createdAt": "2025-05-05T00:53:29.206Z",
    "updatedAt": "2025-05-05T00:53:29.206Z",
    "wallet": {
      "id": "6812b103908d2d0d49c7ff79",
      "clientUserId": null,
      "email": "email@openxswitch.com",
      "name": "openxswitch-subwallet",
      "asset": {
        "coin": "USDT",
        "balance": 9,
        "frozen": 0,
        "updatedAt": "2025-05-04T23:58:20.494Z"
      },
      "isSubWallet": false
    }
  }
}

Reference

FieldDescriptionType
requestIdUnique identifier for the eventstring
methodEvent type (e.g. withdraw.unconfirmed, withdraw.confirmed)string
params.idUnique ID for the withdrawalstring
params.clientTxIdOptional client-assigned transaction IDstring
params.coinToken symbol (e.g. USDT)string
params.chainBlockchain network name (e.g. Bitcoin, Ethereum)string
params.networkBlockchain protocol used (e.g. ERC20, TRC20)string
params.amountWithdrawal amountnumber
params.fromAddressBlockchain address sending the fundsstring
params.toAddressRecipient blockchain addressstring
params.hashTransaction hash on the blockchain, can be null initiallystring or null
params.statusTransaction status (pending, success, failed, etc.)string
params.networkFeeFee paid for the on-chain transactionnumber
params.confirmationNumber of confirmations received on the blockchainnumber
params.fromWalletIdInternal ID of the sending walletstring
params.workspaceIdID of the associated workspace or organizationstring
params.createdAtTimestamp when the withdrawal was initiatedstring (ISO 8601)
params.updatedAtLast updated timestamp of the transactionstring (ISO 8601)
params.wallet.idWallet ID related to the withdrawalstring
params.wallet.clientUserIdAssociated user ID (optional)string or null
params.wallet.emailEmail tied to the walletstring
params.wallet.nameWallet labelstring
params.wallet.asset.coinCoin in the walletstring
params.wallet.asset.balanceCurrent balance in walletnumber
params.wallet.asset.frozenFrozen amount in walletnumber
params.wallet.asset.updatedAtLast balance update timestring (ISO 8601)
params.wallet.isSubWalletWhether it's a sub-walletboolean