{
  "openapi": "3.1.0",
  "info": {
    "title": "x402 Pay-Precheck",
    "version": "2.5.0",
    "description": "Pay-per-call x402 toolkit for AI agents: find which paid service to call (live-ranked), pre-check a seller's 402 terms + OFAC screen, verify settlements, Solana mint launch-config safety check, web page to Markdown, and email checks. Swap/bridge quotes via LI.FI. Free tier: 5 free calls per day per IP on every paid endpoint (no wallet needed), then x402 pay-per-call. Referral program: 20% of net revenue on every paid endpoint. Payments: USDC on Base mainnet via x402 (PayAI). Referral program: add ref=<your 0x Base wallet> to paid HTTP calls you route here and earn 20% of net revenue = amount received minus facilitator and gas fees (off-chain ledger, settled monthly in USDC on Base after manual review, min 1 USDC; earnings at GET /v1/referral/{address}).",
    "x-guidance": "To find which x402 service to use for a task call GET /v1/recommend?task=<words>&maxPrice= (0.004 USD). Before paying any x402 endpoint, call GET /v1/precheck?url=<endpoint> (0.005 USD) and only pay if verdict is ok (or warn after reading warnings). After paying, call GET /v1/verify?txHash=&network=&payTo=&amount= (0.003 USD) to confirm settlement. Also: /v1/sol-mint (0.005 USD) Solana token launch-config check; /v1/read (0.002 USD) Web page to Markdown; /v1/email-check (0.002 USD) Email address check. Free tier: 5 free calls per day per IP on every /v1 endpoint (call with params, no payment header; see freeTier.remaining / x-free-calls-remaining), then HTTP 402 x402. Also /demo/* (rate limited). MCP: POST /mcp. Referral: add ref=<0x wallet> to any paid call, 20% of net revenue."
  },
  "servers": [
    {
      "url": "https://api.moneytools.dev"
    }
  ],
  "paths": {
    "/v1/precheck": {
      "get": {
        "operationId": "precheck",
        "summary": "Pre-flight check of an x402 endpoint's payment requirements + OFAC screen of payTo",
        "description": "Use before paying any x402 endpoint: fetches it, validates the 402 payment requirements and OFAC-screens payTo. Pay only if verdict is ok (or warn after reading warnings). Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "x402 endpoint you plan to pay",
            "schema": {
              "type": "string",
              "format": "uri",
              "example": "https://x402.payai.network/api/base/paid-content"
            }
          },
          {
            "name": "method",
            "in": "query",
            "required": false,
            "description": "GET or POST",
            "schema": {
              "type": "string",
              "enum": [
                "GET",
                "POST"
              ]
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "warn",
                        "block",
                        "not_402"
                      ]
                    },
                    "riskScore": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "verdict",
                    "riskScore",
                    "reasons",
                    "warnings",
                    "options"
                  ]
                },
                "example": {
                  "target": {
                    "finalUrl": "https://x402.payai.network/api/base/paid-content",
                    "redirects": [],
                    "httpStatus": 402
                  },
                  "sanctionsList": {
                    "source": "OFAC SDN list, SDN.CSV, https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.CSV",
                    "publication": "2026-10-27",
                    "lastModified": "2026-10-28T14:03:09Z",
                    "retrievedAt": "2026-11-03T05:46:37Z",
                    "coverage": "OFAC SDN digital currency addresses only (remarks 'Digital Currency Address - <CCY> <addr>'). Not UN/EU/UK lists.",
                    "count": 514
                  },
                  "x402Version": 2,
                  "requirementsSource": "PAYMENT-REQUIRED header",
                  "resource": "https://x402.payai.network/api/base/paid-content",
                  "verdict": "ok",
                  "riskScore": 5,
                  "summary": "payment requirements look well-formed; payTo not on OFAC SDN snapshot",
                  "recommendedOption": 0,
                  "options": [
                    {
                      "index": 0,
                      "valid": true,
                      "scheme": "exact",
                      "network": "eip155:8453",
                      "networkCaip2": "eip155:8453",
                      "payTo": "0xE3837fE309618AE075DbeF0A20735c0615a308E6",
                      "amountAtomic": "10000",
                      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                      "assetIsKnownUsdc": true,
                      "amountUsd": "0.01",
                      "sanctions": {
                        "hit": false
                      },
                      "errors": [],
                      "warnings": []
                    }
                  ],
                  "reasons": [],
                  "warnings": [],
                  "disclaimer": "Automated technical check only; not legal, financial or compliance advice. 僅供參考，非法律意見。"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "precheck_post",
        "summary": "Pre-flight check (JSON body)",
        "description": "Use before paying any x402 endpoint: fetches it, validates the 402 payment requirements and OFAC-screens payTo. Pay only if verdict is ok (or warn after reading warnings). Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "warn",
                        "block",
                        "not_402"
                      ]
                    },
                    "riskScore": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "verdict",
                    "riskScore",
                    "reasons",
                    "warnings",
                    "options"
                  ]
                },
                "example": {
                  "target": {
                    "finalUrl": "https://x402.payai.network/api/base/paid-content",
                    "redirects": [],
                    "httpStatus": 402
                  },
                  "sanctionsList": {
                    "source": "OFAC SDN list, SDN.CSV, https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.CSV",
                    "publication": "2026-10-27",
                    "lastModified": "2026-10-28T14:03:09Z",
                    "retrievedAt": "2026-11-03T05:46:37Z",
                    "coverage": "OFAC SDN digital currency addresses only (remarks 'Digital Currency Address - <CCY> <addr>'). Not UN/EU/UK lists.",
                    "count": 514
                  },
                  "x402Version": 2,
                  "requirementsSource": "PAYMENT-REQUIRED header",
                  "resource": "https://x402.payai.network/api/base/paid-content",
                  "verdict": "ok",
                  "riskScore": 5,
                  "summary": "payment requirements look well-formed; payTo not on OFAC SDN snapshot",
                  "recommendedOption": 0,
                  "options": [
                    {
                      "index": 0,
                      "valid": true,
                      "scheme": "exact",
                      "network": "eip155:8453",
                      "networkCaip2": "eip155:8453",
                      "payTo": "0xE3837fE309618AE075DbeF0A20735c0615a308E6",
                      "amountAtomic": "10000",
                      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                      "assetIsKnownUsdc": true,
                      "amountUsd": "0.01",
                      "sanctions": {
                        "hit": false
                      },
                      "errors": [],
                      "warnings": []
                    }
                  ],
                  "reasons": [],
                  "warnings": [],
                  "disclaimer": "Automated technical check only; not legal, financial or compliance advice. 僅供參考，非法律意見。"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "example": "https://x402.payai.network/api/base/paid-content",
                    "description": "x402 endpoint you plan to pay"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "POST"
                    ],
                    "description": "GET or POST"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "url"
                ]
              },
              "example": {
                "url": "https://x402.payai.network/api/base/paid-content"
              }
            }
          }
        }
      }
    },
    "/v1/verify": {
      "get": {
        "operationId": "verify",
        "summary": "Verify an on-chain USDC settlement via public RPC",
        "description": "Use after paying: confirms the USDC transfer on-chain (amount, recipient, confirmations) via public RPC. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [
          {
            "name": "txHash",
            "in": "query",
            "required": true,
            "description": "0x transaction hash (66 chars)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "network",
            "in": "query",
            "required": false,
            "description": "base | base-sepolia | polygon | arbitrum | avalanche | bsc (or CAIP-2)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payTo",
            "in": "query",
            "required": true,
            "description": "expected recipient 0x address",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "description": "decimal USDC, e.g. 0.01",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "expected payer 0x address (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "match",
            "in": "query",
            "required": false,
            "description": "exact | atLeast",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minConfirmations",
            "in": "query",
            "required": false,
            "description": "default 2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "valid",
                        "invalid",
                        "pending",
                        "not_found"
                      ]
                    },
                    "valid": {
                      "type": "boolean"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "confirmations": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "verdict",
                    "valid",
                    "reasons",
                    "confirmations"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "verify_post",
        "summary": "Verify settlement (JSON body)",
        "description": "Use after paying: confirms the USDC transfer on-chain (amount, recipient, confirmations) via public RPC. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "valid",
                        "invalid",
                        "pending",
                        "not_found"
                      ]
                    },
                    "valid": {
                      "type": "boolean"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "confirmations": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "verdict",
                    "valid",
                    "reasons",
                    "confirmations"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "txHash": {
                    "type": "string",
                    "description": "0x transaction hash (66 chars)"
                  },
                  "network": {
                    "type": "string",
                    "description": "base | base-sepolia | polygon | arbitrum | avalanche | bsc (or CAIP-2)"
                  },
                  "payTo": {
                    "type": "string",
                    "description": "expected recipient 0x address"
                  },
                  "amount": {
                    "type": "string",
                    "description": "decimal USDC, e.g. 0.01"
                  },
                  "from": {
                    "type": "string",
                    "description": "expected payer 0x address (optional)"
                  },
                  "match": {
                    "type": "string",
                    "description": "exact | atLeast"
                  },
                  "minConfirmations": {
                    "type": "string",
                    "description": "default 2"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "txHash",
                  "payTo",
                  "amount"
                ]
              }
            }
          }
        }
      }
    },
    "/v1/recommend": {
      "get": {
        "operationId": "recommend",
        "summary": "Ranked x402 services for a task (relevance + live liveness probes; top results pre-checked)",
        "description": "Use to pick which x402 service to call for a task: ranked by relevance, live liveness probes and price. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [
          {
            "name": "task",
            "in": "query",
            "required": true,
            "description": "what you need, plain words",
            "schema": {
              "type": "string",
              "example": "token price on base"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "required": false,
            "description": "max USD per call",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "network",
            "in": "query",
            "required": false,
            "description": "base or CAIP-2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "1-10, default 5",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "liveOnly",
            "in": "query",
            "required": false,
            "description": "default true",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.004000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "indexSize": {
                      "type": "integer"
                    },
                    "indexUpdatedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "results",
                    "indexSize",
                    "indexUpdatedAt"
                  ]
                },
                "example": {
                  "task": "token price on base",
                  "filters": {
                    "maxPrice": 0.05,
                    "network": null,
                    "liveOnly": true
                  },
                  "indexSize": 1200,
                  "indexUpdatedAt": "2026-11-03T12:00:01.363Z",
                  "sources": [
                    "payai",
                    "ultravioleta",
                    "dexter"
                  ],
                  "results": [
                    {
                      "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/base/token_price/0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x22af33fe49fd1fa80c7149773dde5890d3c76f3b,0xc0634090f2fe6c6d75e61be2b949464abb498973,0x9b5e262cf9bb04869ab40b19af91d2dc85761722",
                      "method": "GET",
                      "name": "Base Token Price Lookup",
                      "description": "Returns simple price data for multiple token contracts on Base.",
                      "tags": [
                        "data"
                      ],
                      "priceUsd": 0.01,
                      "networks": [
                        "eip155:8453",
                        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
                      ],
                      "sources": [
                        "dexter"
                      ],
                      "liveness": {
                        "live": true,
                        "lastVerdict": "ok",
                        "latencyMs": 112,
                        "checkedAt": "2026-11-03T06:11:20.495Z",
                        "uptimeRatio": 1,
                        "probes": 1
                      },
                      "score": 10.942,
                      "relevance": 11.059,
                      "precheck": {
                        "verdict": "ok",
                        "riskScore": 5,
                        "reasons": [],
                        "warnings": [],
                        "checkedAt": "2026-11-03T12:11:23.925Z"
                      }
                    }
                  ],
                  "note": "Ranking = BM25 relevance x (liveness, latency, probe success ratio, price). Liveness = unpaid probe answered a valid x402 402 and payTo passed the OFAC screen. Not an endorsement."
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "recommend_post",
        "summary": "Recommend (JSON body)",
        "description": "Use to pick which x402 service to call for a task: ranked by relevance, live liveness probes and price. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "payments"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.004000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "indexSize": {
                      "type": "integer"
                    },
                    "indexUpdatedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "results",
                    "indexSize",
                    "indexUpdatedAt"
                  ]
                },
                "example": {
                  "task": "token price on base",
                  "filters": {
                    "maxPrice": 0.05,
                    "network": null,
                    "liveOnly": true
                  },
                  "indexSize": 1200,
                  "indexUpdatedAt": "2026-11-03T12:00:01.363Z",
                  "sources": [
                    "payai",
                    "ultravioleta",
                    "dexter"
                  ],
                  "results": [
                    {
                      "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/base/token_price/0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x22af33fe49fd1fa80c7149773dde5890d3c76f3b,0xc0634090f2fe6c6d75e61be2b949464abb498973,0x9b5e262cf9bb04869ab40b19af91d2dc85761722",
                      "method": "GET",
                      "name": "Base Token Price Lookup",
                      "description": "Returns simple price data for multiple token contracts on Base.",
                      "tags": [
                        "data"
                      ],
                      "priceUsd": 0.01,
                      "networks": [
                        "eip155:8453",
                        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
                      ],
                      "sources": [
                        "dexter"
                      ],
                      "liveness": {
                        "live": true,
                        "lastVerdict": "ok",
                        "latencyMs": 112,
                        "checkedAt": "2026-11-03T06:11:20.495Z",
                        "uptimeRatio": 1,
                        "probes": 1
                      },
                      "score": 10.942,
                      "relevance": 11.059,
                      "precheck": {
                        "verdict": "ok",
                        "riskScore": 5,
                        "reasons": [],
                        "warnings": [],
                        "checkedAt": "2026-11-03T12:11:23.925Z"
                      }
                    }
                  ],
                  "note": "Ranking = BM25 relevance x (liveness, latency, probe success ratio, price). Liveness = unpaid probe answered a valid x402 402 and payTo passed the OFAC screen. Not an endorsement."
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "task": {
                    "type": "string",
                    "example": "token price on base",
                    "description": "what you need, plain words"
                  },
                  "maxPrice": {
                    "type": "string",
                    "description": "max USD per call"
                  },
                  "network": {
                    "type": "string",
                    "description": "base or CAIP-2"
                  },
                  "limit": {
                    "type": "string",
                    "description": "1-10, default 5"
                  },
                  "liveOnly": {
                    "type": "string",
                    "description": "default true"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "task"
                ]
              },
              "example": {
                "task": "token price on base"
              }
            }
          }
        }
      }
    },
    "/v1/referral/{address}": {
      "get": {
        "operationId": "referral_balance",
        "summary": "Free: referral earnings for a wallet (20% revenue share, manual payouts, min 1 USDC)",
        "description": "Free, never charged. Returns the off-chain referral ledger for a 0x wallet.",
        "security": [],
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0x0000000000000000000000000000000000000001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "referrer": "0x0000000000000000000000000000000000000001",
                  "referredPaidCalls": 0,
                  "referredRevenueUsd": 0,
                  "netRevenueUsd": 0,
                  "sharePct": 20,
                  "accruedUsd": 0,
                  "paidOutUsd": 0,
                  "unpaidUsd": 0,
                  "payoutEligible": false,
                  "firstAt": null,
                  "lastAt": null,
                  "terms": "Referrer accrues 20% of net revenue (amount received minus facilitator and gas fees) from referred paid calls that settle successfully on Base mainnet. Tracked off-chain (ref + ledger), settled monthly. Self-referral is not credited. Payouts are batched and sent manually in USDC on Base after owner review, minimum 1 USDC unpaid balance (smaller balances roll over); no automatic payouts. Check earnings free at GET /v1/referral/{address}."
                }
              }
            }
          },
          "400": {
            "description": "Invalid address"
          }
        }
      }
    },
    "/demo/recommend": {
      "get": {
        "get": {
          "operationId": "free_demo_recommend_rate_limited_top_3_",
          "summary": "Free demo recommend (rate limited, top 3)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "description": "Free, rate limited per IP per hour, top 3 results. For unlimited use call /v1/recommend.",
        "parameters": [
          {
            "name": "task",
            "in": "query",
            "required": true,
            "description": "what you need, plain words",
            "schema": {
              "type": "string",
              "example": "token price on base"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "required": false,
            "description": "max USD per call",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "network",
            "in": "query",
            "required": false,
            "description": "base or CAIP-2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "1-10, default 5",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "liveOnly",
            "in": "query",
            "required": false,
            "description": "default true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK (free, not charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "indexSize": {
                      "type": "integer"
                    },
                    "indexUpdatedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "task": "token price on base",
                  "filters": {
                    "maxPrice": 0.05,
                    "network": null,
                    "liveOnly": true
                  },
                  "indexSize": 1200,
                  "indexUpdatedAt": "2026-11-03T12:00:01.363Z",
                  "sources": [
                    "payai",
                    "ultravioleta",
                    "dexter"
                  ],
                  "results": [
                    {
                      "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/base/token_price/0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x22af33fe49fd1fa80c7149773dde5890d3c76f3b,0xc0634090f2fe6c6d75e61be2b949464abb498973,0x9b5e262cf9bb04869ab40b19af91d2dc85761722",
                      "method": "GET",
                      "name": "Base Token Price Lookup",
                      "description": "Returns simple price data for multiple token contracts on Base.",
                      "tags": [
                        "data"
                      ],
                      "priceUsd": 0.01,
                      "networks": [
                        "eip155:8453",
                        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
                      ],
                      "sources": [
                        "dexter"
                      ],
                      "liveness": {
                        "live": true,
                        "lastVerdict": "ok",
                        "latencyMs": 112,
                        "checkedAt": "2026-11-03T06:11:20.495Z",
                        "uptimeRatio": 1,
                        "probes": 1
                      },
                      "score": 10.942,
                      "relevance": 11.059,
                      "precheck": {
                        "verdict": "ok",
                        "riskScore": 5,
                        "reasons": [],
                        "warnings": [],
                        "checkedAt": "2026-11-03T12:11:23.925Z"
                      }
                    }
                  ],
                  "note": "Ranking = BM25 relevance x (liveness, latency, probe success ratio, price). Liveness = unpaid probe answered a valid x402 402 and payTo passed the OFAC screen. Not an endorsement.",
                  "demo": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "429": {
            "description": "Free demo limit reached (per IP per hour); use the paid /v1 endpoint"
          }
        }
      }
    },
    "/demo/precheck": {
      "get": {
        "get": {
          "operationId": "free_demo_precheck_rate_limited_",
          "summary": "Free demo precheck (rate limited)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "description": "Free, rate limited per IP per hour. For unlimited use call /v1/precheck.",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "x402 endpoint you plan to pay",
            "schema": {
              "type": "string",
              "format": "uri",
              "example": "https://x402.payai.network/api/base/paid-content"
            }
          },
          {
            "name": "method",
            "in": "query",
            "required": false,
            "description": "GET or POST",
            "schema": {
              "type": "string",
              "enum": [
                "GET",
                "POST"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK (free, not charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "warn",
                        "block",
                        "not_402"
                      ]
                    },
                    "riskScore": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                },
                "example": {
                  "target": {
                    "finalUrl": "https://x402.payai.network/api/base/paid-content",
                    "redirects": [],
                    "httpStatus": 402
                  },
                  "sanctionsList": {
                    "source": "OFAC SDN list, SDN.CSV, https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.CSV",
                    "publication": "2026-10-27",
                    "lastModified": "2026-10-28T14:03:09Z",
                    "retrievedAt": "2026-11-03T05:46:37Z",
                    "coverage": "OFAC SDN digital currency addresses only (remarks 'Digital Currency Address - <CCY> <addr>'). Not UN/EU/UK lists.",
                    "count": 514
                  },
                  "x402Version": 2,
                  "requirementsSource": "PAYMENT-REQUIRED header",
                  "resource": "https://x402.payai.network/api/base/paid-content",
                  "verdict": "ok",
                  "riskScore": 5,
                  "summary": "payment requirements look well-formed; payTo not on OFAC SDN snapshot",
                  "recommendedOption": 0,
                  "options": [
                    {
                      "index": 0,
                      "valid": true,
                      "scheme": "exact",
                      "network": "eip155:8453",
                      "networkCaip2": "eip155:8453",
                      "payTo": "0xE3837fE309618AE075DbeF0A20735c0615a308E6",
                      "amountAtomic": "10000",
                      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                      "assetIsKnownUsdc": true,
                      "amountUsd": "0.01",
                      "sanctions": {
                        "hit": false
                      },
                      "errors": [],
                      "warnings": []
                    }
                  ],
                  "reasons": [],
                  "warnings": [],
                  "disclaimer": "Automated technical check only; not legal, financial or compliance advice. 僅供參考，非法律意見。",
                  "demo": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "429": {
            "description": "Free demo limit reached (per IP per hour); use the paid /v1 endpoint"
          }
        }
      }
    },
    "/demo/verify": {
      "get": {
        "get": {
          "operationId": "free_demo_verify_rate_limited_",
          "summary": "Free demo verify (rate limited)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "description": "Free, rate limited per IP per hour. For unlimited use call /v1/verify.",
        "parameters": [
          {
            "name": "txHash",
            "in": "query",
            "required": true,
            "description": "0x transaction hash (66 chars)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "network",
            "in": "query",
            "required": false,
            "description": "base | base-sepolia | polygon | arbitrum | avalanche | bsc (or CAIP-2)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payTo",
            "in": "query",
            "required": true,
            "description": "expected recipient 0x address",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "description": "decimal USDC, e.g. 0.01",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "expected payer 0x address (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "match",
            "in": "query",
            "required": false,
            "description": "exact | atLeast",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minConfirmations",
            "in": "query",
            "required": false,
            "description": "default 2",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK (free, not charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "valid",
                        "invalid",
                        "pending",
                        "not_found"
                      ]
                    },
                    "valid": {
                      "type": "boolean"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "confirmations": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "429": {
            "description": "Free demo limit reached (per IP per hour); use the paid /v1 endpoint"
          }
        }
      }
    },
    "/v1/sol-mint": {
      "get": {
        "operationId": "solmint",
        "summary": "Solana token launch-config check",
        "description": "Solana token launch-config check. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "solana",
          "token",
          "safety"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "query",
            "required": true,
            "description": "Solana mint address (base58)",
            "schema": {
              "type": "string",
              "example": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "verdict": "low",
                  "riskScore": 0,
                  "mintAuthority": null,
                  "freezeAuthority": null,
                  "flags": []
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "solmint_post",
        "summary": "Solana token launch-config check (JSON body)",
        "description": "Solana token launch-config check (JSON body). Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "required": []
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mint": {
                    "type": "string",
                    "example": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
                    "description": "Solana mint address (base58)"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "mint"
                ]
              },
              "example": {
                "mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
              }
            }
          }
        }
      }
    },
    "/demo/sol-mint": {
      "get": {
        "get": {
          "operationId": "free_demo_solana_token_launch_config_check_rate_limited_",
          "summary": "Free demo Solana token launch-config check (rate limited)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "mint",
            "in": "query",
            "required": true,
            "description": "Solana mint address (base58)",
            "schema": {
              "type": "string",
              "example": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
            }
          }
        ]
      }
    },
    "/v1/read": {
      "get": {
        "operationId": "read",
        "summary": "Web page to Markdown",
        "description": "Web page to Markdown. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "web",
          "markdown",
          "scrape"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "public http(s) page",
            "schema": {
              "type": "string",
              "example": "https://example.com"
            }
          },
          {
            "name": "maxChars",
            "in": "query",
            "required": false,
            "description": "500-100000, default 20000",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "title": "Example Domain",
                  "markdown": "# Example Domain\n\n…",
                  "sha256": "…",
                  "chars": 180
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "read_post",
        "summary": "Web page to Markdown (JSON body)",
        "description": "Web page to Markdown (JSON body). Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "required": []
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "example": "https://example.com",
                    "description": "public http(s) page"
                  },
                  "maxChars": {
                    "type": "string",
                    "description": "500-100000, default 20000"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "url"
                ]
              },
              "example": {
                "url": "https://example.com"
              }
            }
          }
        }
      }
    },
    "/demo/read": {
      "get": {
        "get": {
          "operationId": "free_demo_web_page_to_markdown_rate_limited_",
          "summary": "Free demo Web page to Markdown (rate limited)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "public http(s) page",
            "schema": {
              "type": "string",
              "example": "https://example.com"
            }
          },
          {
            "name": "maxChars",
            "in": "query",
            "required": false,
            "description": "500-100000, default 20000",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/email-check": {
      "get": {
        "operationId": "email",
        "summary": "Email address check",
        "description": "Email address check. Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402",
          "email",
          "validation",
          "deliverability"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "email address",
            "schema": {
              "type": "string",
              "example": "someone@example.com"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "required": false,
            "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "verdict": "valid",
                  "score": 100,
                  "checks": {
                    "mx": [
                      {
                        "priority": 10,
                        "host": "mx.example.com"
                      }
                    ],
                    "disposable": false
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        }
      },
      "post": {
        "operationId": "email_post",
        "summary": "Email address check (JSON body)",
        "description": "Email address check (JSON body). Free tier: a few free calls per day per IP (send params, no payment header). After that, HTTP 402 with a base64 PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign with your own wallet and retry with PAYMENT-SIGNATURE. Invalid input returns 400 and is never charged.",
        "tags": [
          "x402"
        ],
        "parameters": [],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Result (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "required": []
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required (x402 v2, PAYMENT-REQUIRED header)"
          },
          "502": {
            "description": "Upstream unavailable (not charged)"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "example": "someone@example.com",
                    "description": "email address"
                  },
                  "ref": {
                    "type": "string",
                    "description": "optional: 0x Base wallet = referrer (20% of net revenue, settled monthly, manual payouts, min 1 USDC); any other short tag [a-z0-9-] is treated as a source tag only"
                  }
                },
                "required": [
                  "email"
                ]
              },
              "example": {
                "email": "someone@example.com"
              }
            }
          }
        }
      }
    },
    "/demo/email-check": {
      "get": {
        "get": {
          "operationId": "free_demo_email_address_check_rate_limited_",
          "summary": "Free demo Email address check (rate limited)",
          "security": [],
          "responses": {
            "200": {
              "description": "OK",
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "email address",
            "schema": {
              "type": "string",
              "example": "someone@example.com"
            }
          }
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "health",
        "summary": "Health",
        "description": "Free liveness: version, network, sanctions list publication, recommend index size.",
        "security": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "version": "2.5.0",
                  "network": "eip155:8453",
                  "sanctionsPublication": "2026-10-27",
                  "recommendIndex": {
                    "size": 1200,
                    "updatedAt": "2026-11-03T12:00:01.363Z"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "llm_readable_description",
        "summary": "LLM-readable description",
        "security": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/x402": {
      "get": {
        "operationId": "x402_resources",
        "summary": "x402 resources",
        "security": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "operationId": "a2a_agent_card",
        "summary": "A2A agent card",
        "security": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}