Offer Extension (Merchant → Client)
A merchant returns 402 Payment Required with the standard x402 headers plus AAR hints.
Required new header (compact JSON, base64url encoded):
X-402-AAR-OFFER
Decoded JSON fields (v0.1):
{
"offerId": "0xabc123...",
"acceptedAssets": [
{"chain": "base", "asset": "0xa0b86991...", "symbol": "USDC", "decimals": 6},
{"chain": "base", "asset": "0xyourtoken...", "symbol": "YTK", "decimals": 18}
],
"routeURI": "https://router.example/aar/quote",
"minSettleWindowMs": 15000,
"policy": {
"denyAssets": [],
"maxSlippageBps": 100,
"deadlineMs": 30000
}
}offerId: Merchant’s unique identifier for the price/terms snapshot.acceptedAssets[]: Assets that settle the offer without routing (baseline x402) and target assets for AAR routes.routeURI: Optional convenience endpoint forRouteRequest; clients may use other facilitators.policy: Soft hints for wallets/clients (can be enforced by merchant during verification).
Note: The canonical x402 pricing and terms continue to live in the normal x402 offer header. AAR only adds routing hints.
Last updated