Skip to main content

Properties

PropertyTypeRequiredDescription
sourceobjectYesSource amount and asset (fiat currency) you send
destinationobjectYesDestination amount and asset (cryptocurrency) the customer receives
feesFeesYesBreakdown of network, MoonPay, and partner fees
walletWallet | nullYesWallet address where crypto will be sent. Null if not yet provided
paymentMethodobject | nullYesPayment method used for this quote. Null if not specified
expiresAtstring (date-time)YesISO 8601 datetime when the quote expires
executablebooleanYesWhether the quote can be executed
signaturestringYesSignature for mounting a payment frame

Source / Destination

Both source and destination have the same structure:
PropertyTypeRequiredDescription
amountstringYesThe amount as a string to preserve precision
assetAssetYesThe 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..."
}