{
"id": "evt_wth003",
"type": "withdrawal.completed",
"data": {
"sideshiftAccountId": "user_a1b2c3d4",
"externalId": "ext_user_456",
"amountCents": 25000,
"feeCents": 0,
"netAmountCents": 25000,
"currency": "usd",
"paymentId": "wdrl_abc123",
"status": "completed",
"metadata": {
"withdrawalId": "wdrl_abc123",
"withdrawalCompletedAt": "2026-05-13T05:00:00.000Z",
"previousStatus": "in_transit"
}
},
"timestamp": "2026-05-13T05:00:00.000Z"
}Derived alias of withdrawal.updated filtered to status === "completed". Subscribe to this event if you only
want a notification when a withdrawal terminally succeeds (funds have left SideShift and have been sent to the
user’s external payout method).
For the full lifecycle (in-transit, failed, canceled, denied transitions), subscribe to withdrawal.updated
instead. The two events fire together when a withdrawal transitions into completed.
WEBHOOK
withdrawal.completed
{
"id": "evt_wth003",
"type": "withdrawal.completed",
"data": {
"sideshiftAccountId": "user_a1b2c3d4",
"externalId": "ext_user_456",
"amountCents": 25000,
"feeCents": 0,
"netAmountCents": 25000,
"currency": "usd",
"paymentId": "wdrl_abc123",
"status": "completed",
"metadata": {
"withdrawalId": "wdrl_abc123",
"withdrawalCompletedAt": "2026-05-13T05:00:00.000Z",
"previousStatus": "in_transit"
}
},
"timestamp": "2026-05-13T05:00:00.000Z"
}