Requote Webhooks

Use Requote webhooks to improve user experience and increase conversion on your off-ramp

Sell Transaction Requote Required Webhook

Overview

The sell_transaction_requote_required webhook notifies partners when a sell transaction requires a requote due to price changes or other market conditions.

This webhook enables partners to surface requote notifications in-app, providing a better user experience than email-only notifications.

Webhook Type: sell_transaction_requote_required

Note: API Reference coming soon!


Use Case

When a sell transaction requires a requote, users traditionally receive only an email notification. This approach has several limitations:

  • Users may not check their email immediately
  • Email notifications can be missed or filtered to spam
  • There's no in-app acknowledgment of the requote

By subscribing to this webhook, partners can:

  • Display in-app notifications when requotes occur
  • Prompt users to accept new quotes within your application
  • Provide a seamless, high-intent user experience
  • Reduce transaction abandonment due to missed requotes

Webhook Payload

The webhook delivers a JSON payload with the following structure.

Example Payload

{
  "type": "sell_transaction_requote_required",
  "data": {
    "id": "transaction_id",
    "status": "requoteRequired",
    "createdAt": "2026-02-13T10:30:00.000Z",
    "updatedAt": "2026-02-13T11:45:00.000Z",
    "baseCurrencyAmount": 1000.00,
    "quoteCurrencyAmount": 950.00,
    "baseCurrency": "usdc",
    "quoteCurrency": "usd",
    "externalCustomerId": "customer_123",
    "walletAddress": "0x...",
    "externalTransactionId": "your_transaction_id"
  }
}

Field Descriptions

FieldTypeDescription
typestringAlways sell_transaction_requote_required for this webhook
data.idstringMoonPay transaction identifier
data.statusstringTransaction status (will be requoteRequired)
data.createdAtstring (ISO 8601)Timestamp when the transaction was created
data.updatedAtstring (ISO 8601)Timestamp when the requote was triggered
data.baseCurrencyAmountnumberAmount of cryptocurrency to sell
data.quoteCurrencyAmountnumberUpdated fiat amount the user will receive
data.baseCurrencystringCryptocurrency code (e.g., usdc, btc, eth)
data.quoteCurrencystringFiat currency code (e.g., usd, eur, gbp)
data.externalCustomerIdstringYour customer identifier (if provided)
data.walletAddressstringBlockchain wallet address for the transaction
data.externalTransactionIdstringYour transaction identifier (if provided)

Subscribing to the Webhook

To receive sell_transaction_requote_required webhooks:

  1. Configure your webhook endpoint in the MoonPay Dashboard or via API.

  2. Add the webhook type to your subscription:

    • Navigate to Settings → Webhooks in your MoonPay Dashboard
    • Select sell_transaction_requote_required from the available webhook types
    • Ensure your endpoint is configured to handle POST requests
  3. Verify your endpoint is properly configured and can receive webhooks.


Implementation Guidelines

1. Webhook Receipt

Your endpoint should:

  • Respond with a 200 OK status code within 10 seconds
  • Process the webhook asynchronously if needed
  • Implement idempotency (handle duplicate webhook deliveries)

2. User Notification

When receiving this webhook:

  • Display an in-app notification to the user
  • Show the updated quoteCurrencyAmount clearly
  • Provide a clear call-to-action to accept or decline the new quote
  • Include a timeout/expiration time for the requote

3. User Action

Allow users to:

  • Accept the new quote and continue the transaction
  • Decline and cancel the transaction
  • View the price difference between original and requoted amounts

4. Security

  • Verify webhook signatures to ensure authenticity (see Webhook Security section)
  • Use HTTPS endpoints only
  • Validate the webhook payload structure before processing

Testing

Sandbox Environment

Test the webhook in the MoonPay sandbox environment before going live:

  • Use sandbox API keys from your MoonPay Dashboard
  • Configure your webhook endpoint to receive sandbox webhooks
  • Trigger test requotes to verify your implementation

Verification Checklist

  • Webhook endpoint responds with 200 OK
  • In-app notification displays correctly
  • User can accept the new quote
  • User can decline the requote
  • Idempotency is handled properly
  • Webhook signature verification is implemented

Related Webhooks

Other sell transaction webhooks you may want to subscribe to:

  • sell_transaction_created – When a sell transaction is initiated
  • sell_transaction_completed – When a sell transaction completes successfully
  • sell_transaction_failed – When a sell transaction fails

Support

For questions or issues with this webhook: