> ## Documentation Index
> Fetch the complete documentation index at: https://dev.commerce.moonpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Getting started with our webhooks

> [!NOTE]
>
> For an overview of our Webhooks, view our [Guide](https://dev.commerce.moonpay.com/docs/webhooks.md). For code samples, explore our [Recipes](https://docs.hel.io/recipes).

> [!NOTE]
>
> Webhooks are linked to your MoonPay Commerce account and are authenticated using a `sharedToken` — included as both a Bearer token in the `Authorization` header and as the key for the HMAC signature in the `X-Signature` header. You can [generate your API key](https://docs.hel.io/reference/retrieve-your-api-keys-from-the-dashboard) in the dashboard. Webhooks are supported for Pay Links on Solana, Ethereum, Base, Polygon, and BTC, as well as Subscriptions on Solana.

# Webhook Request Headers

Every webhook delivery includes the following HTTP headers:

| Header | Description | Included In |
| - | - | - |
| `Authorization` | `Bearer <sharedToken>` — authenticates that the request originates from MoonPay Commerce. | All webhooks |
| `Content-Type` | Always `application/json`. | All webhooks |
| `X-Signature` | HMAC-SHA256 hex digest of the request body, keyed with your `sharedToken`. Use this to verify payload integrity. | All webhooks |
| `X-Webhook-Delivery-Id` | Idempotency key for the webhook delivery, in the format `<event>:<key>`. | Deposit webhooks (`DEPOSIT_TX_*`, `DEPOSIT_BELOW_MINIMUM`, `DEPOSIT_UNDER_REVIEW`, and quota events) |
| `X-Transaction-Id` | Idempotency key for grouping or deduplication. For `DEPOSIT_TX_*`, the underlying transaction meta id; for `DEPOSIT_BELOW_MINIMUM` and `DEPOSIT_UNDER_REVIEW`, the per-fire notification id. | `DEPOSIT_TX_*`, `DEPOSIT_BELOW_MINIMUM`, and `DEPOSIT_UNDER_REVIEW`; not sent for quota alerts |

> [!NOTE]
>
> For a step-by-step guide on verifying the `X-Signature` header with code examples in Node.js and Python, see [Verifying Webhook Signatures](https://dev.commerce.moonpay.com/docs/webhooks.md#verifying-webhook-signatures) in the Webhooks guide.

# Webhook Types

| Type | Overview | Payload reference |
| - | - | - |
| Pay Links | [Pay Link webhooks](https://dev.commerce.moonpay.com/reference/webhook/paylink-transaction/overview.md) | [Pay Link payload reference](https://dev.commerce.moonpay.com/reference/webhook/paylink-transaction/payloads.md) |
| Subscriptions | [Subscription webhooks](https://dev.commerce.moonpay.com/reference/webhook/paylink-subscription/overview.md) | [Subscription payload reference](https://dev.commerce.moonpay.com/reference/webhook/paylink-subscription/payloads.md) |
| Deposits | [Deposit webhooks](https://dev.commerce.moonpay.com/reference/webhook/deposit/overview.md) | [Deposit payload reference](https://dev.commerce.moonpay.com/reference/webhook/deposit/payloads.md) |
| Withdrawals | [Withdrawal webhooks](https://dev.commerce.moonpay.com/reference/webhook/withdrawal/overview.md) | [Withdrawal payload reference](https://dev.commerce.moonpay.com/reference/webhook/withdrawal/payloads.md) |
| Shopify | [Shopify webhooks](https://dev.commerce.moonpay.com/reference/webhook/shopify.md) | — |

## Authenticating Webhooks with Bearer Token

A unique token generated at webhook creation is included with each webhook request as an `Authorization: Bearer <sharedToken>` header, verifying that the webhook is sent from us.

```json JSON theme={null}
{
    "id": "636cf9c095aeedb263968ee9",
    "paylink": "636a74162e72d4ad24ac9ce9",
    "company": "6343e77d91c393456aa56462",
    "targetUrl": "https://target-url.com/post-endpoint",
    "events": [
        "CREATED"
    ],
    "sharedToken": "PGpDZdZdxjdN+VgoxR/RHItMj0gq2BK5tEZtIisfyKe4M8l0B51qED/YqSSPwfAVtonvdXKhn+9j63b4krxGWNkO3hyPQiiu1SD2uttjEAdMeUO+3QoTNAwxuH1FzwyP"
}
```

**Note:** Retain this token, as it is required to authenticate and delete webhooks if needed.

## Legacy section links

The sections below redirect to the dedicated webhook pages. They remain here so older deep links continue to resolve.

# Pay Link Webhook Payload Example

See [Pay Link webhooks](https://dev.commerce.moonpay.com/reference/webhook/paylink-transaction/overview.md) and [Pay Link payload reference](https://dev.commerce.moonpay.com/reference/webhook/paylink-transaction/payloads.md).

# Subscription Webhook Payload Examples

See [Subscription webhooks](https://dev.commerce.moonpay.com/reference/webhook/paylink-subscription/overview.md) and [Subscription payload reference](https://dev.commerce.moonpay.com/reference/webhook/paylink-subscription/payloads.md).

# Deposit Webhooks

See [Deposit webhooks](https://dev.commerce.moonpay.com/reference/webhook/deposit/overview.md).

## Below-Minimum Deposit Alerts

See [Below-minimum deposit alerts](https://dev.commerce.moonpay.com/reference/webhook/deposit/overview.md#below-minimum-deposit-alerts).

## Under-Review Deposit Alerts

See [Under-review deposit alerts](https://dev.commerce.moonpay.com/reference/webhook/deposit/overview.md#under-review-deposit-alerts).

## Deposit-Customer Quota alerts

See [Deposit-customer quota alerts](https://dev.commerce.moonpay.com/reference/webhook/deposit/overview.md#deposit-customer-quota-alerts).

# Withdrawal Webhooks

See [Withdrawal webhooks](https://dev.commerce.moonpay.com/reference/webhook/withdrawal/overview.md).
