data object and follows one of two distinct structures based on whether the event represents a lifecycle state update or an execution failure:transactionId, externalId, status, amount, currency, destination, network, fee, transactionHash, createdAt).transactionId and the specific error code in the error string field.started: Withdrawal request initiated and entered the processing pipeline.pending: Internal checks complete; queued for execution.locked-to-processing: Transaction locked during final internal processing.waiting-for-verification: Escalated for additional risk or compliance review.successful: Transaction broadcast completed and confirmed on the blockchain.unsuccessful / rejected-by-reviewer / banned: Execution failed or was declined.type): Always set to "CRYPTO_WITHDRAWAL_UPDATE".transactionId or externalId.transactionHash Availability: transactionHash is null during early stages and is populated once the transaction is broadcast to the network.error is present, standard fields such as amount, destination, or status are omitted from the payload.transactionHash as soon as funds are broadcast,error field without polling.200 OK response from the withdrawal endpoint only means the request was accepted into the processing queue. Always wait for terminal webhook events (successful or error) or verify status via Get Crypto Withdrawal Details.curl --location 'https://your-api-server.com' \
--header 'Content-Type: application/json' \
--data '{
"type": "CRYPTO_WITHDRAWAL_UPDATE",
"data": {
"transactionId": "40f29400-2184-4516-bc6c-c4a28636274b",
"externalId": "52c83925-640f-4028-94df-0283fd86c60a",
"status": "started",
"amount": "10",
"currency": "DOGE",
"destination": "DTBQsWUxFKyHsRQFmSsLxk5RcGLnRyzD9U",
"network": "DOGE",
"fee": "10",
"transactionHash": "af81ecea818deb71f42ed43f58904b56aebd108202aecaef45532f9e7533f1f4",
"createdAt": "2026-09-14T07:37:26.096Z"
}
}'{}