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
| Field | Type | Description |
|---|---|---|
type | string | Always sell_transaction_requote_required for this webhook |
data.id | string | MoonPay transaction identifier |
data.status | string | Transaction status (will be requoteRequired) |
data.createdAt | string (ISO 8601) | Timestamp when the transaction was created |
data.updatedAt | string (ISO 8601) | Timestamp when the requote was triggered |
data.baseCurrencyAmount | number | Amount of cryptocurrency to sell |
data.quoteCurrencyAmount | number | Updated fiat amount the user will receive |
data.baseCurrency | string | Cryptocurrency code (e.g., usdc, btc, eth) |
data.quoteCurrency | string | Fiat currency code (e.g., usd, eur, gbp) |
data.externalCustomerId | string | Your customer identifier (if provided) |
data.walletAddress | string | Blockchain wallet address for the transaction |
data.externalTransactionId | string | Your transaction identifier (if provided) |
Subscribing to the Webhook
To receive sell_transaction_requote_required webhooks:
-
Configure your webhook endpoint in the MoonPay Dashboard or via API.
-
Add the webhook type to your subscription:
- Navigate to Settings → Webhooks in your MoonPay Dashboard
- Select
sell_transaction_requote_requiredfrom the available webhook types - Ensure your endpoint is configured to handle
POSTrequests
-
Verify your endpoint is properly configured and can receive webhooks.
Implementation Guidelines
1. Webhook Receipt
Your endpoint should:
- Respond with a
200 OKstatus 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
quoteCurrencyAmountclearly - 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 initiatedsell_transaction_completed– When a sell transaction completes successfullysell_transaction_failed– When a sell transaction fails
Support
For questions or issues with this webhook:
- Email: [email protected]
- Documentation: https://docs.moonpay.com
Updated about 2 hours ago
