OpenXSwitch - Webhook Internal Transfer Event
Webhooks for internal transfers notify you about fund movements between wallets or sub-wallets within the OpenXSwitch system.
- Parent Method:
internal_transfer
- Sub-Methods:
initiated
: Triggered when a internal transfer request is initiated but not yet processed.completed
: Triggered when the internal transfer is successfully processed.
Example Payload for Transfer:
{
"requestId": "f71516a1a53acbc5a999ef9b6edda4",
"method": "internal_transfer.initiated",
"params": {
"id": "68180c09b19304fc881991c2",
"clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
"coin": "USDT",
"amount": 9,
"status": "pending",
"networkFee": 0,
"fromWalletId": "6812b103908d2d0d49c7ff79",
"toWalletId": "6812c4977de20fb535e5bdee",
"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": "internal_transfer.completed",
"params": {
"id": "68180c09b19304fc881991c2",
"clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
"coin": "USDT",
"amount": 9,
"status": "success",
"networkFee": 0,
"fromWalletId": "6812b103908d2d0d49c7ff79",
"toWalletId": "6812c4977de20fb535e5bdee",
"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
Field | Description | Type |
---|---|---|
requestId | Unique identifier for the event | string |
method | Event type, always internal_transfer.initiated | string |
params.id | Internal transfer ID | string |
params.clientTxId | Optional client-assigned transaction ID | string |
params.coin | Cryptocurrency used (e.g. USDT ) | string |
params.amount | Amount transferred | number |
params.status | Current status of the transfer (e.g. pending ) | string |
params.networkFee | Fee applied to the transfer | number |
params.fromWalletId | Sender's wallet ID | string |
params.toWalletId | Recipient's wallet ID | string |
params.workspaceId | ID of the associated workspace or organization | string |
params.createdAt | Timestamp when the transfer was created | string (ISO 8601) |
params.wallet.id | Sender wallet ID (same as fromWalletId ) | string |
params.wallet.clientUserId | Optional user ID of the sender | string or null |
params.wallet.email | Email associated with the sender wallet | string |
params.wallet.name | Wallet name or label | string |
params.wallet.asset.coin | Coin type stored in the wallet | string |
params.wallet.asset.balance | Wallet's current balance | number |
params.wallet.asset.frozen | Amount frozen in the wallet | number |
params.wallet.asset.updatedAt | Last update time for wallet asset info | string (ISO 8601) |
params.wallet.isSubWallet | Indicates if the wallet is a sub-wallet | boolean |