Facilitator → Client: RouteQuote (Signed)

The facilitator responds with a signed quote the client can execute.

{
  "spec": "x402-aar/v0.1",
  "quoteId": "0xdef456...",
  "offerId": "0xabc123...",
  "route": {
    "chain": "base",
    "path": [
      {"asset": "ETH"},
      {"asset": "USDC"}
    ],
    "executionData": "0xabcdef...", 
    "amountIn": "900000000000000",
    "amountOut": "2500",
    "assetOut": "0xa0b86991...",
    "payTo": "0xMerchantTreasuryOrSplitter"
  },
  "limits": {
    "deadlineTs": 1730083200,
    "maxSlippageBps": 80
  },
  "facilitator": {
    "address": "0xRouter",
    "domain": "router.example",
    "feeBps": 5,
    "feeAsset": "0xa0b86991..."
  },
  "signature": {
    "algo": "eip191",
    "domain": "X402-AAR-QUOTE",
    "messageHash": "0x...",
    "sig": "0x..."
  }
}

Verification invariants (merchant-side):

  • offerId matches the current/accepted x402 offer.

  • quoteId and amountOut are bound into the payment receipt.

  • assetOutacceptedAssets.

  • payTo is controlled by the merchant (or an approved splitter).

  • deadlineTs not expired; maxSlippageBps within policy.

Last updated