{
"swap_updated": {
"orderId": "e1f2a3b4-c5d6-7890-abcd-ef1234567890",
"customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sendTransaction": "AQAAAAAAAA...",
"sendTransactionHash": "5KtP...",
"receiveTransactionHash": "3JmN...",
"status": "completed",
"createdAt": "2026-05-02T09:15:00Z",
"updatedAt": "2026-05-02T09:18:00Z"
}
}Webhook Events
Swap updated
Fired when a swap changes status.
Statuses: created → funded → completed (or failed).
sendTransaction is always present — it contains the transaction the customer needs to sign and submit. Once signed, the field remains but is no longer actionable. On completion, both sendTransactionHash and receiveTransactionHash are present.
WEBHOOK
swapUpdated
{
"swap_updated": {
"orderId": "e1f2a3b4-c5d6-7890-abcd-ef1234567890",
"customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sendTransaction": "AQAAAAAAAA...",
"sendTransactionHash": "5KtP...",
"receiveTransactionHash": "3JmN...",
"status": "completed",
"createdAt": "2026-05-02T09:15:00Z",
"updatedAt": "2026-05-02T09:18:00Z"
}
}Authorizations
API key sent in the Authorization header.
Headers
HMAC-SHA256 signature: sha256={hex}. Computed over the canonicalized (RFC 8785) request body using your webhook secret.
Body
application/json
Webhook envelope for swap status changes.
Payload for swap_updated webhooks.
Show child attributes
Show child attributes
Example:
{
"orderId": "e1f2a3b4-c5d6-7890-abcd-ef1234567890",
"customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sendTransaction": "AQAAAAAAAA...",
"sendTransactionHash": "5KtP...",
"receiveTransactionHash": null,
"status": "funds_received",
"createdAt": "2026-05-02T09:15:00Z",
"updatedAt": "2026-05-02T09:15:30Z"
}
Response
200
Return any 2xx to acknowledge receipt.