POST /verify

Verifies a payment payload against requirements without settling on-chain.

Request

POST /api/facilitator/verify
Content-Type: application/json

{
  "paymentPayload": {
    "x402Version": "2.0",
    "scheme": "exact",
    "network": "megaeth",
    "payload": {
      "signature": "0x...",
      "authorization": {
        "from": "0xPayerAddress",
        "to": "0xPayeeAddress",
        "value": "10000",
        "validAfter": 1700000000,
        "validBefore": 1700003600,
        "nonce": 42
      }
    }
  },
  "paymentRequirements": {
    "x402Version": "2.0",
    "scheme": "exact",
    "network": "megaeth",
    "amount": "10000",
    "asset": "0xfafddbb3fc7688494971a79cc65dca3ef82079e7",
    "payTo": "0xPayeeAddress",
    "maxTimeoutSeconds": 300
  }
}

Response (Success)

{
  "valid": true
}

Response (Failure)

{
  "valid": false,
  "invalidReason": "Insufficient USDM balance"
}

Validation Checks

  • x402 version compatibility
  • Scheme and network support
  • Recipient address match
  • Payment amount sufficiency
  • Authorization time window validity
  • On-chain USDM balance check