Properties
| Property | Type | Required | Description |
|---|
source | object | Yes | Source amount and asset (fiat currency) you send |
destination | object | Yes | Destination amount and asset (cryptocurrency) the customer receives |
fees | Fees | Yes | Breakdown of network, MoonPay, and partner fees |
wallet | Wallet | null | Yes | Wallet address where crypto will be sent. Null if not yet provided |
paymentMethod | object | null | Yes | Payment method used for this quote. Null if not specified |
expiresAt | string (date-time) | Yes | ISO 8601 datetime when the quote expires |
executable | boolean | Yes | Whether the quote can be executed |
signature | string | Yes | Signature for mounting a payment frame |
Source / Destination
Both source and destination have the same structure:
| Property | Type | Required | Description |
|---|
amount | string | Yes | The amount as a string to preserve precision |
asset | Asset | Yes | The currency or token |
Using the Quote
Pass the signature to the payment frame when you mount it. The frame uses this signature along with the quote data to execute the payment and create the transaction.
Quotes expire. Check expiresAt and create the transaction before this time.
If executable is false, the customer must provide additional information
before you can use this quote.
Example
{
"source": {
"amount": "100.00",
"asset": {
"code": "USD",
"name": "US Dollar",
"precision": 2
}
},
"destination": {
"amount": "0.0025",
"asset": {
"code": "ETH",
"name": "Ethereum",
"precision": 18
}
},
"fees": {
"network": {
"amount": "2.50",
"currencyCode": "USD"
},
"moonpay": {
"amount": "3.99",
"currencyCode": "USD"
}
},
"wallet": {
"address": "0x1234...abcd"
},
"paymentMethod": {
"type": "apple_pay"
},
"expiresAt": "2026-01-29T14:35:50.000Z",
"executable": true,
"signature": "eyJhbGciOiJIUzI1NiIs..."
}