AgentPay verifies and settles x402 payments across Base, Ethereum, Optimism, Arbitrum, and Polygon — 5 EVM chains, EIP-712/EIP-3009. Built for agent-to-agent commerce with escrow-grade reliability.
All chains use native USDC (Circle-issued) — no bridged or wrapped variants. All chains use EIP-3009 settlement.
All endpoints at https://x402-agent-pay.com · EIP-712 Grant endpoints ↓
Point your x402 middleware at AgentPay and start routing payments across 5 EVM chains.
# Python / x402 SDK — point to AgentPay facilitator from x402.flask import payment_middleware app.use(payment_middleware( facilitator="https://x402-agent-pay.com", routes={ "GET /my-endpoint": { "accepts": [{ "network": "base", # or: ethereum, optimism, arbitrum, polygon "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "maxAmountRequired": "1000", # 0.001 USDC (6 decimals) "payTo": "0xYourWallet", "maxTimeoutSeconds": 300, }], "description": "My paid endpoint", } } ))
# Direct verify call curl -X POST https://x402-agent-pay.com/x402/verify \ -H "Content-Type: application/json" \ -d '{ "paymentPayload": { "network": "base", "scheme": "exact", "payload": { "from": "0x...", "to": "0x...", "value": "1000", "validAfter": "0", "validBefore": "9999999999", "nonce": "0x...", "signature": "0x..." } }, "paymentRequirements": { "maxAmountRequired": "1000", "network": "base" } }' # Returns: { "isValid": true, "payer": "0x...", "network": "eip155:8453", "amount": 1000 }
No subscriptions. No API keys. Pay only on successful settlement.
Not just a payment relay — a full escrow and commerce infrastructure layer.
network routes everything automatically.The facilitator now speaks the full shawnhvac/x402 spec — verifying EIP-712 signed grants with no on-chain calls needed.
Verify an EIP-712 Agent Grant. Checks: signature recovery, timing (30s grace), totalBudget > 0, agent address match, and 30% revocation window. Accepts JSON body or X-402-Payment header format.
Run all 6 test vectors from the shawnhvac/x402 spec live against the facilitator. Returns pass/fail per vector. Use this to confirm your agent implementation is spec-compliant before mainnet.
The exact EIP-712 domain used by the facilitator. Your signing code must match this exactly for verification to pass.
Full typed struct definition. Sign with wallet.signTypedData(DOMAIN, TYPES, grant) in ethers v6.
| Check | Rule | Error |
|---|---|---|
| expiration | Must be > now − 30s | Grant expired |
| issuedAt | Must be < now + 30s | Grant not yet valid |
| totalBudget | Must be > 0 | totalBudget must be > 0 |
| agent | Must match expectedAgent (if provided) | Grant agent mismatch |
| signature | EIP-712 recovery must match principal | Signature does not match principal |
| revocation | Checked only in final 30% of grant lifetime | shouldCheckRevocation: true |
Point your x402 middleware at AgentPay and get 5-chain EVM coverage in under 5 minutes.
All systems operational ·
Facilitator: https://x402-agent-pay.com