> For the complete documentation index, see [llms.txt](https://docs.0xprocessing.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.0xprocessing.com/0xprocessing-api-v1/webhooks/webhooks-for-withdrawals.md).

# Webhooks for Withdrawals

Receive withdrawal status updates through secure webhooks.

0xProcessing sends a webhook when the status of a withdrawal changes.

Set the withdrawal webhook URL under **Settings → API → Withdrawal Webhook URL**. HTTPS (TLS/SSL) is required.

For request authentication, header descriptions, signature verification, response requirements, retries, and implementation examples, see [Webhooks](/0xprocessing-api-v1/webhooks.md).

**Request method:** `POST`

**Content type:** `application/json`

## Payload parameters

| Name         | Type     | Description                                                    |
| ------------ | -------- | -------------------------------------------------------------- |
| `ID`         | Integer  | Withdrawal identifier in 0xProcessing.                         |
| `MerchantID` | String   | Merchant identifier in 0xProcessing.                           |
| `Date`       | DateTime | Date and time at which the withdrawal was created, in UTC.     |
| `Amount`     | Double   | Withdrawal amount in the withdrawal currency.                  |
| `AmountUSD`  | Double   | Withdrawal amount in USD.                                      |
| `Fee`        | Double   | Withdrawal fee in the withdrawal currency.                     |
| `Currency`   | String   | Withdrawal currency.                                           |
| `Address`    | String   | Recipient wallet address.                                      |
| `Status`     | String   | Withdrawal status. Possible values: `Success` or `Canceled`.   |
| `Reason`     | String   | Reason for rejection or cancellation. The value can be `null`. |
| `ExternalID` | String   | Withdrawal identifier in the Merchant's system.                |
| `ClientID`   | String   | Client identifier in the Merchant's system.                    |
| `Hash`       | String   | Hash of the successful blockchain transaction.                 |

## Withdrawal statuses

* `Success`: The withdrawal was completed successfully.
* `Canceled`: The withdrawal was not completed.

## Example payload

```json
{
  "ID": 33683,
  "MerchantID": "0xMR000000",
  "Date": "2023-03-06T16:37:38.547046Z",
  "Amount": 500.0,
  "AmountUSD": 0.0,
  "Fee": 2.6,
  "Currency": "ETH",
  "Address": "0x0000000000000000000000000000000000000000",
  "Status": "Success",
  "Reason": null,
  "ExternalID": "abcd1234",
  "ClientID": "abcd1234",
  "Hash": "a45172f319ec4561871bf195f17f85e69a4bc842b5c1085dbe000098217fffb7"
}
```

{% hint style="warning" %}
Use `ID` from the 0xProcessing webhook as an additional validation factor. Process the event only after verifying the `X-Webhook-Signature` header.
{% endhint %}
