Skip to main content
For an overview of our Webhooks, view our Guide. For code samples, explore our Recipes.
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 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:
For a step-by-step guide on verifying the X-Signature header with code examples in Node.js and Python, see Verifying Webhook Signatures in the Webhooks guide.

Webhook Types

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
Note: Retain this token, as it is required to authenticate and delete webhooks if needed. 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 and Pay Link payload reference.

Subscription Webhook Payload Examples

See Subscription webhooks and Subscription payload reference.

Deposit Webhooks

See Deposit webhooks.

Below-Minimum Deposit Alerts

See Below-minimum deposit alerts.

Under-Review Deposit Alerts

See Under-review deposit alerts.

Deposit-Customer Quota alerts

See Deposit-customer quota alerts.

Withdrawal Webhooks

See Withdrawal webhooks.