Withdraw Webhooks
Webhooks may be sent more than once—add deduplication logic to prevent duplicate events.
✅ Event Types
| Event Type | Description |
|---|---|
| KYC Created | KYC process has started |
| KYC Success | KYC passed |
| KYC Failure | KYC failed |
| Withdraw Pending | Withdrawal has been initiated |
| Withdraw Success | Withdrawal submitted to the bank |
| Withdraw Failure | Withdrawal failed |
Sample Webhook Payloads
The "blockchain": "user" field in the payloads below is the default value identifying the merchant’s own user records — it isn’t a network reference.
🧾 KYC Events
{
"eventType": "KYC Created",
"category": "KYC",
"created": "2025-04-08T16:26:32.109Z",
"data": {
"wallet": "test-withdrawer-f",
"blockchain": "user",
"email": "testwithdrawer-f@gmail.com"
}
}
{
"eventType": "KYC Success",
"category": "KYC",
"created": "2025-04-08T16:26:33.520Z",
"data": {
"wallet": "test-withdrawer-f",
"blockchain": "user",
"email": "testwithdrawer-f@gmail.com"
}
}
{
"eventType": "KYC Failure",
"category": "KYC",
"created": "2025-04-09T20:45:24.515Z",
"data": {
"wallet": "test-f",
"blockchain": "user",
"email": "test-f@gmail.com "
}
}
💸 Withdraw Events
{
"eventType": "Withdraw Pending",
"category": "Withdraw",
"created": "2025-04-08T17:05:56.718Z",
"data": {
"wallet": "user123",
"blockchain": "user",
"signature": "5nQq5iVkoEc1gomDENhVNkYVXA61kzjsXKiZiAm6iq36wX3auEdrN1jZBAE5mggZWRbTvfRw5AAiVJ2ah6TaRMXS",
"userFees": { "cents": 200, "currency": "USD" },
"userGasFees": { "cents": 0, "currency": "USD" },
"merchantGasFees": { "cents": 2, "currency": "USD" },
"total": { "cents": 202, "currency": "USD" },
"currency": "USD",
"merchantId": "testtest",
"idempotencyKey": "merchant-withdrawal-12345"
}
}
{
"eventType": "Withdraw Success",
"category": "Withdraw",
"created": "2025-04-08T17:06:05.177Z",
"data": {
"wallet": "user123",
"blockchain": "user",
"signature": "5nQq5iVkoEc1gomDENhVNkYVXA61kzjsXKiZiAm6iq36wX3auEdrN1jZBAE5mggZWRbTvfRw5AAiVJ2ah6TaRMXS",
"userFees": { "cents": 200, "currency": "USD" },
"userGasFees": { "cents": 0, "currency": "USD" },
"merchantGasFees": { "cents": 2, "currency": "USD" },
"total": { "cents": 202, "currency": "USD" },
"currency": "USD",
"merchantId": "testtest",
"idempotencyKey": "merchant-withdrawal-12345"
}
}
{
"eventType": "Withdraw Failure",
"category": "Withdraw",
"created": "2025-04-08T17:07:05.177Z",
"data": {
"wallet": "user123",
"blockchain": "user",
"signature": "5nQq5iVkoEc1gomDENhVNkYVXA61kzjsXKiZiAm6iq36wX3auEdrN1jZBAE5mggZWRbTvfRw5AAiVJ2ah6TaRMXS",
"userFees": { "cents": 200, "currency": "USD" },
"userGasFees": { "cents": 0, "currency": "USD" },
"merchantGasFees": { "cents": 2, "currency": "USD" },
"total": { "cents": 202, "currency": "USD" },
"currency": "USD",
"merchantId": "testtest",
"idempotencyKey": "merchant-withdrawal-12345"
}
}
Advanced: Stablecoin Deposit Webhooks
The events below apply only to merchants accepting stablecoin deposits. If you’re integrating standard payouts to bank accounts, you can skip this section.
| Event Type | Description |
|---|---|
| CryptoDepositFundsReceived | Funds received for stablecoin deposit session |
Stablecoin Deposit Events
{
"eventType": "CryptoDepositFundsReceived",
"category": "CryptoDeposit",
"created": "2024-01-01T00:00:00.000Z",
"data": {
"sessionId": "session-123",
"depositAddress": "deposit-address-here",
"blockchainChainId": "solana",
"blockchainName": "Solana",
"tokenSymbol": "USDC",
"user": "user-456",
"amount": {
"cents": 10000,
"currency": "USD"
},
"merchantId": "merchant-789",
"transactionHash": "tx-hash-here",
"receivedAt": "2024-01-01T00:00:00.000Z"
}
}
Description
This webhook is sent when a stablecoin deposit transaction has been successfully processed and funds have been received. It includes details about the deposit address, settlement network, token details, and the amount received.
The amount field contains the received amount in cents with USD currency.
Use Cases
- Confirming successful stablecoin deposits
- Updating user balances
- Triggering downstream processes like withdrawals
- Recording transaction history