> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Withdrawal Webhooks

> Events, setup, and delivery rules for withdrawal webhooks

Register a webhook via [Create a Withdrawal Webhook](/reference/webhook/withdrawal/create) to receive withdrawal lifecycle events instead of polling. JSON payload shapes are in the [Withdrawal payload reference](/reference/webhook/withdrawal/payloads).

Deliveries include `Authorization: Bearer <sharedToken>` and an `X-Signature` HMAC-SHA256 header keyed with the same token. See [Webhook request headers](/reference/webhook/overview#webhook-request-headers) for the full header reference. Verify signatures using [Verifying Webhook Signatures](/docs/webhooks#verifying-webhook-signatures).

## Supported Events

* `SUBMITTING` — the first-leg broadcast has started.
* `SUBMITTED` — the withdrawal transaction has been broadcast on the source chain.
* `BRIDGING` — a cross-chain withdrawal has cleared the source chain and the bridge leg is in flight.
* `COMPLETED` — the withdrawal has settled successfully. (Previously named `CONFIRMED`.)
* `FAILED` — the withdrawal failed. Inspect `errorReason` via the [Get Withdrawal Detail](/reference/withdraw-details/retrieve) endpoint.
* `FAILED_EXPIRED` — the quote expired before broadcast (e.g. stale blockhash or user operation); re-quote from prepare.
* `REFUNDED_BY_PROVIDER` — the bridge bounced funds back.

<Warning>
  The `CONFIRMED` event has been renamed to `COMPLETED`. Update any webhook consumers that match on `CONFIRMED`.
</Warning>
