[
  {
    "id": "grantsignal-us",
    "name": "GrantSignal US",
    "provider": "Greater Good Grants",
    "category": "data",
    "description": "Turns current Grants.gov opportunity records into structured search, detail, applicant-fit and research-brief responses for agents.",
    "website": "https://greatergood.site/grants",
    "wallet": "0x4Aec5B87c4b089D9d24308705Cfda70512B4D255",
    "network": "eip155:8453",
    "price": "0.05",
    "submittedBy": "Froydinger",
    "submittedIn": 17,
    "submittedAt": "2026-08-31",
    "probe": {
      "method": "POST",
      "url": "https://greatergood.site/v1/grants/search",
      "body": {
        "query": "education",
        "limit": 5
      }
    },
    "verified": false,
    "status": "PENDING",
    "notes": [
      "Submission cited POST /v1/grants/preflight as the live 402 route, but that route validates its body before the payment gate and answers 400 to an unpaid probe. /v1/grants/search returns a clean 402 and is used as the probe instead.",
      "The published manifest at /.well-known/x402 advertises its resources on host genuinegood.online, not the submitted greatergood.site.",
      "Re-checked 2026-09-13: POST /v1/grants/search still answers a clean 402 in under a second, but the advertised payTo has changed from the submitted 0x4Aec5B87c4b089D9d24308705Cfda70512B4D255 to 0x2f0050612d36537d4026b45Ba39B067a9c67b5c3. The health check this wiki promises is a live 402 whose payee matches the submitted wallet, so it no longer passes and the entry goes back to PENDING.",
      "This looks like an operator wallet rotation rather than a hijack: the provider's own manifest on their canonical host (genuinegood.online/.well-known/x402) advertises the same new address consistently across all six routes, and greatergood.site/.well-known/x402 now 308-redirects there. We will not re-record a PASS on that basis alone -- @Froydinger, please confirm the new wallet on #17 and we will re-run the check."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 846,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x2f0050612d36537d4026b45Ba39B067a9c67b5c3",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "50000",
      "payToMatches": false,
      "assetIsBaseUSDC": true,
      "verdict": "FAIL"
    }
  },
  {
    "id": "autoyt-provider-stack-optimizer",
    "name": "AutoYT Provider Stack Optimizer",
    "provider": "Cognilode AutoYT",
    "category": "utility",
    "description": "Deterministic provider-stack routing for AI/video production: stage-by-stage route, expected cost and latency, reliability-adjusted quality and ranked fallbacks.",
    "website": "https://www.fiatdock.com/service/svc_7b482f89-dc48-4cf4-9b4d-03483f858db5",
    "wallet": "0x614ec6f39baABE12bB028dd176fc5d2531c350df",
    "network": "eip155:8453",
    "price": "0.05",
    "submittedBy": "evanbrown3000",
    "submittedIn": 15,
    "submittedAt": "2026-08-31",
    "probe": {
      "method": "POST",
      "url": "https://fiatdock.com/s/svc_7b482f89-dc48-4cf4-9b4d-03483f858db5",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Brokered through the FiatDock marketplace; the 402 is served by the marketplace gateway, which reported feeBps=0 at check time."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 978,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x614ec6f39baabe12bb028dd176fc5d2531c350df",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "50000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "gf-agent-toll",
    "name": "GF Agent Toll",
    "provider": "GFPick",
    "category": "data",
    "description": "GCC ecommerce decision tools (landed cost, opportunity score, product decision, portfolio rank, merchant pack) over HTTP, MCP, A2A and x402.",
    "website": "https://gfpick-agent-api.vercel.app",
    "wallet": "0x4B7098E3b882633d3205FDE3E7ac7Ea1D965D3C3",
    "network": "eip155:8453",
    "price": "0.25",
    "submittedBy": "hamadalmajdouie-rgb",
    "submittedIn": 14,
    "submittedAt": "2026-08-31",
    "probe": {
      "method": "POST",
      "url": "https://gfpick-agent-api.vercel.app/v1/sa/landed-cost",
      "body": {
        "currency": "SAR",
        "product_value": 100,
        "shipping": 20,
        "insurance": 0,
        "duty_rate_pct": 5,
        "vat_rate_pct": 15
      }
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Like GrantSignal, this endpoint validates the request body before the payment gate: a malformed body answers 400, not 402. The probe body above matches the published OpenAPI example.",
      "Priced tiers run $0.25 to $12.00; the probe covers the $0.25 landed-cost route."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 449,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x4B7098E3b882633d3205FDE3E7ac7Ea1D965D3C3",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "250000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "agent-earn-radar",
    "name": "Agent Earn Radar",
    "provider": "future-zhang",
    "category": "data",
    "description": "Live agent-eligible crypto bounty listings with reward, deadline, competition and payout-evidence fields.",
    "website": "https://github.com/future-zhang/agent-earn-radar",
    "wallet": "0x568Ab98578d682FB0B0b45619BE73EbFfbf5a6eA",
    "network": "eip155:8453",
    "price": "0.05",
    "submittedBy": "future-zhang",
    "submittedIn": 11,
    "submittedAt": "2026-08-31",
    "probe": {
      "method": "GET",
      "url": "https://agent-earn-radar.vercel.app/api/radar"
    },
    "verified": false,
    "status": "UNREACHABLE",
    "notes": [
      "The whole Vercel deployment is gone: the paid route, the free preview and the site root all answer 404 DEPLOYMENT_NOT_FOUND. Re-check once the submitter redeploys.",
      "Re-checked 2026-09-13, still 404: the probe route, the site root and /.well-known/x402 all return DEPLOYMENT_NOT_FOUND. Thirteen days dead. Stays UNREACHABLE and stays out of the README until it is redeployed."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 218,
      "httpStatus": 404,
      "note": "The deployment could not be found on Vercel. DEPLOYMENT_NOT_FOUND sfo1::66lp8-1789277540097-4f9388e51b6e",
      "verdict": "FAIL"
    }
  },
  {
    "id": "base-toolbox",
    "name": "Base toolbox",
    "provider": "CartonPliant",
    "category": "infrastructure",
    "description": "Pre-signature checks for Base: Uniswap v3 swap preflight (amountOut, minOut, exact-amount approve calldata, revert simulation), leftover Uniswap-family allowances, tx explain and transfer check, plus token USD price, EIP-1559 gas and ENS. GET /v1/constants is free.",
    "website": "https://basetoolbox.cartonpliant.workers.dev",
    "wallet": "0xc361074554c13EEE51feab63ED180EF6b9911B3e",
    "network": "eip155:8453",
    "price": "0.10",
    "submittedBy": "CartonPliant",
    "submittedIn": 19,
    "submittedAt": "2026-09-08",
    "probe": {
      "method": "POST",
      "url": "https://basetoolbox.cartonpliant.workers.dev/v1/preflight",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "All 7 paid routes were probed 2026-09-08, not just the one in `probe`: /v1/preflight, /v1/allowances, /v1/explain and /v1/send-check each answered 402 at 100000 atomic ($0.10, as submitted); /v1/base-price, /v1/base-gas and /v1/base-ens each answered 402 at 1000 atomic. All 7 advertise the submitted payTo and Base USDC.",
      "The submission lists the three cheap routes at $0.01. They actually charge $0.001 — ten times less than submitted, and the service's own manifest and route descriptions say $0.001, so the issue text is what is wrong, not the endpoint.",
      "Free routes confirmed live: GET /v1/constants (200) and GET /.well-known/x402.json (200, kind \"resource-server\").",
      "Settlement is advertised through the PayAI facilitator (https://facilitator.payai.network), which this check did not exercise: a health check never pays."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 422,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xc361074554c13EEE51feab63ED180EF6b9911B3e",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "100000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "sigtap-outreach-api",
    "name": "sigtap Outreach API",
    "provider": "sigtap",
    "category": "infrastructure",
    "description": "Keyless micro-tools for agents over x402 on Base: email deliverability audit (SPF/DKIM/DMARC/MX), cold-email grader, template generator, plus hash, JWT decode, UUID, slug, regex, JSON, domain age, crypto price and weather. Every paid route has a free /preview/ twin.",
    "website": "https://sigtap-outreach-api.sigtap.workers.dev",
    "wallet": "0x963d450CA601d52B5D92a8540Aea8D4272223ae1",
    "network": "eip155:8453",
    "price": "0.0005",
    "submittedBy": "unnamedaiagent",
    "submittedIn": 23,
    "submittedAt": "2026-09-08",
    "probe": {
      "method": "GET",
      "url": "https://sigtap-outreach-api.sigtap.workers.dev/tools/hash?text=hello"
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "All 12 paid routes in the submission were probed 2026-09-08: 12/12 answered 402 advertising the submitted payTo and Base USDC.",
      "Ten of the twelve prices match the submission. Two do not, and both charge MORE than submitted: /tools/domain-age is 3000 atomic ($0.003, submitted as $0.001) and /tools/crypto-price is 2000 atomic ($0.002, submitted as $0.001). A buyer taking the listed price at face value would be surprised by 3x and 2x.",
      "Free previews confirmed: /preview/tools/hash, /preview/grade, /health, /llms.txt and /stats all returned 200. The preview of /tools/hash returns truncated digests with \"paid_unlocks\", so the free tier shows shape without giving away the output.",
      "The x402 terms are carried in the base64 `payment-required` header and use `amount` rather than `maxAmountRequired`; both spellings are read by scripts/health-check.mjs.",
      "GET /.well-known/x402 returns 404 — the manifest is served at /llms.txt and /openapi.json instead. The MCP twin at sigtap-mcp.sigtap.workers.dev was not probed."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 315,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x963d450CA601d52B5D92a8540Aea8D4272223ae1",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "500",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "veriton-html-json",
    "name": "Veriton HTML->JSON",
    "provider": "Veriton",
    "category": "data",
    "description": "Metered HTML or URL to structured JSON for agents (title, meta, canonical, headings, links, images, optional CSS selector extraction), with a free demo route and prepaid USDC credit packs.",
    "website": "https://veriton-dev.github.io/veriton-micro-dev/api/",
    "wallet": "0xa75Cc8545B169F0BeF2f29c9CCF86bc686D039E8",
    "network": "eip155:8453",
    "price": "0.005",
    "submittedBy": "veriton-dev",
    "submittedIn": 21,
    "submittedAt": "2026-09-08",
    "probe": {
      "method": "POST",
      "url": "https://veriton-x402-proxy.vercel.app/v1/html-to-json",
      "body": {
        "html": "<h1>wiki-probe</h1><p>x402</p>"
      }
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Submitted in #20/#21 and as PR #22, then re-probed after PR #24 moved the resource off a Cloudflare quick tunnel. The two tunnel hostnames the submitter first gave (tue-alabama-married-wonder and seed-trek-trainers-ross) were both dead when checked 2026-09-08; the submitter replaced them with a durable origin at veriton-html-json-api.netlify.app, and that host answered. The failed checks are left in this record on purpose.",
      "Third origin in five days. The Netlify origin now answers HTTP 530 (credits exceeded), confirmed 2026-09-13, and PR #30 moved the service again to veriton-x402-proxy.vercel.app. Re-checked at that origin 2026-09-13: POST /v1/html-to-json returned 402 with x402Version 2, scheme exact, network eip155:8453, asset Base USDC, payTo 0xa75Cc8545B169F0BeF2f29c9CCF86bc686D039E8 -- the wallet in the submission.",
      "Both paid routes were probed 2026-09-13, not just the one in `probe`: /v1/html-to-json answered 402 at 5000 atomic ($0.005) and /v1/fetch-to-json answered 402 at 50000 atomic ($0.05). Both advertise the submitted payTo and Base USDC.",
      "PR #30 listed the price as $0.01. The endpoint actually charges $0.005 for html-to-json -- half the submitted figure -- and the submitter's own canonical card at veriton-x402.surge.sh/canonical.json also says 0.005, so the PR text is what is wrong, not the endpoint. Recorded here at the measured price.",
      "Free routes confirmed live 2026-09-13: GET /health (200), GET /.well-known/x402 (200, 2 resources) and GET /v1/openapi.json (200). The canonical agent card at https://veriton-x402.surge.sh/canonical.json (200) is the submitter's stable pointer at the current origin.",
      "Settlement is advertised through the PayAI facilitator (https://facilitator.payai.network), which this check did not exercise: a health check never pays."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 511,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xa75Cc8545B169F0BeF2f29c9CCF86bc686D039E8",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "5000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    },
    "origin": "https://veriton-x402-proxy.vercel.app",
    "discovery": "https://veriton-x402-proxy.vercel.app/.well-known/x402",
    "openapi": "https://veriton-x402-proxy.vercel.app/v1/openapi.json",
    "canonical": "https://veriton-x402.surge.sh/canonical.json"
  },
  {
    "id": "agentpay",
    "name": "AgentPay",
    "provider": "AgentPay (ronaldanton)",
    "category": "ai",
    "description": "Pay-per-call AI microservices with no accounts or API keys -- summarize, extract, sentiment, translate, code review and image description, plus insurance classification and analysis, token safety, wallet risk, sanctions screening, threat intel, on-chain events, DeFi yields, web search/scrape, news, weather, geocode, gas and deep research. Wallet is auth: any unauthenticated POST answers HTTP 402 with terms.",
    "website": "https://agentpay.help",
    "wallet": "0x3d1FABDa1cd175e7bF977562dC134bC8d89868D9",
    "network": "eip155:8453",
    "price": "0.01",
    "submittedBy": "ronaldanton",
    "submittedIn": 29,
    "submittedAt": "2026-09-12",
    "probe": {
      "method": "POST",
      "url": "https://agentpay.help/v1/summarize",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "All 28 resources in the published catalog were probed 2026-09-13, not just the one in `probe`. Every one answered HTTP 402 with x402Version 2, scheme exact, network eip155:8453, asset Base USDC and payTo 0x3d1FABDa1cd175e7bF977562dC134bC8d89868D9 -- the wallet in the submission. 28/28.",
      "The submission says 22 endpoints; the live catalog and the MCP server both expose 28. Twelve endpoint names listed in the issue do not exist -- classify, rewrite, keywords, lead-score, claim-summary, rug-check, contract-summary, defi-yield, compliance-check, verify-attestation, pii-scrub and doc-compare all return 404. The service is larger than submitted and partly renamed (defi-yields, not defi-yield); the issue text is what is stale, not the endpoint.",
      "The submission quotes $0.005-$0.10. The measured range is $0.003-$0.25: /v1/eth-gas is 3000 atomic ($0.003, below the stated floor) and /v1/deep-research is 250000 atomic ($0.25, 2.5x above the stated ceiling). A buyer taking the listed range at face value would be surprised by deep-research.",
      "Answers 402 to an empty JSON body rather than validating first, so an agent discovering the service can always see the price. Median latency across the 28 probes was under 70ms.",
      "Machine discovery confirmed live 2026-09-13: GET /.well-known/x402 (200, version 1, 28 resources, ownershipProofs listing the same wallet), /openapi.json (200), /.well-known/agent.json (200) and /llms.txt (200). POST /mcp answered tools/list with 28 tools over Streamable HTTP with no auth.",
      "Settlement is advertised through the PayAI facilitator (https://facilitator.payai.network), which this check did not exercise: a health check never pays.",
      "The submitter states their receiving wallet is unfunded and asks for the free health check only, not the Verified badge. That is exactly what this record is: no paid first-party test has been run, so there is no rating and no services.json entry."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 376,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x3d1FABDa1cd175e7bF977562dC134bC8d89868D9",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "10000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "zfinia-wcag-contrast-calculator",
    "name": "zFinia WCAG Contrast Calculator",
    "provider": "zFinia",
    "category": "utility",
    "description": "Deterministically calculates WCAG 2.x sRGB contrast for one caller-supplied foreground/background pair and returns contrast_ratio, wcag_aa, wcag_aaa and large_text.",
    "website": "https://www.zfinia.com/find-x402-apis",
    "wallet": "0x25E8245f07D5E4873987293daD666AFbe56a9608",
    "network": "eip155:8453",
    "price": "0.001",
    "submittedBy": "thebigcheeseorama-ship-it",
    "submittedIn": 25,
    "submittedAt": "2026-09-09",
    "probe": {
      "method": "POST",
      "url": "https://api.zfinia.com/x402/v1/accessibility-contrast-calculator",
      "body": {
        "foreground": "#000000",
        "background": "#ffffff",
        "large_text": false
      }
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Scope is narrow and self-limiting: one colour pair per call, no URL fetch, and the 402 body itself carries a limitations note that it is not an interface-wide accessibility assessment. No test transaction was supplied; the operator asked for the free 402 health check only.",
      "402 advertises amount 1000 atomic USDC = $0.001, matching the submitted price.",
      "The published manifest at /.well-known/x402 advertises this route plus three others (data-compatibility-checker, catalog-offer-evidence-extractor, changes-since) on the same host and the same payTo. Only the contrast calculator was submitted, so only it was checked."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-13",
      "latencyMs": 3706,
      "httpStatus": 402,
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x25e8245f07d5e4873987293dad666afbe56a9608",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "1000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "penniless-data-utilities",
    "name": "Penniless Data Utilities",
    "provider": "Penniless (danielarif26)",
    "category": "utility",
    "description": "Nine deterministic, dependency-free data utilities for agents: malformed LLM JSON repair, YAML to JSON, cron next run, unified diff, HTML/text extract, whois/RDAP, DNS lookup, GitHub repo stats and email validation. The same nine tools are exposed over MCP at /mcp.",
    "website": "https://penniless-json-repair.sjaman.workers.dev/.well-known/agent.json",
    "wallet": "0x3D98800c64C345950E1eAaa076D88C12d1BF5F37",
    "network": "eip155:8453",
    "price": "0.001",
    "submittedBy": "danielarif26",
    "submittedIn": 32,
    "submittedAt": "2026-09-14",
    "probe": {
      "method": "POST",
      "url": "https://penniless-json-repair.sjaman.workers.dev/repair/json",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "All 9 resources in the published catalog were probed 2026-09-15, not just the one in `probe`: /repair/json, /yaml/tojson, /cron/nextrun, /diff, /text/extract, /domain/whois, /dns/lookup, /github/repo-stats and /email/validate each answered 402 at 1000 atomic ($0.001, as submitted), with x402Version 2, network eip155:8453, Base USDC and the submitted payTo. 9/9.",
      "Answers 402 to an empty JSON body rather than validating first, and to a real body too, so a discovering agent always sees the price.",
      "Machine discovery confirmed live 2026-09-15: GET /.well-known/x402 (200, 9 resources) and GET /.well-known/agent.json (200). The site root answers 404, so `website` points at the agent card.",
      "The submission describes a dual rail, native x402 v2 plus MPP. The service's own /.well-known/x402 says \"mpp\": {\"enabled\": false} as of 2026-09-15. Only the x402 rail was checked.",
      "The agent card advertises settlement through the PayAI facilitator (https://facilitator.payai.network), which this check did not exercise: a health check never pays."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 114,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x3D98800c64C345950E1eAaa076D88C12d1BF5F37",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "1000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "agentservices",
    "name": "AgentServices",
    "provider": "AgentServices (vbkotecha)",
    "category": "data",
    "description": "Paid APIs for agents: crypto prices and indicators, DeFi yields, fear-greed, URL metadata, web search, market-intelligence and on-chain analytics, plus an MCP endpoint.",
    "website": "https://agentservices.to",
    "wallet": "0x9863aB6242663FCc84c33632741711dB78f8Fd15",
    "network": "eip155:8453",
    "price": "0.02",
    "submittedBy": "vbkotecha",
    "submittedIn": 3,
    "submittedAt": "2026-07-06",
    "probe": {
      "method": "GET",
      "url": "https://agentservices.to/v1/indicators/BTC"
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Submitted as PR #3 before this queue existed. Until 2026-09-15 it was only a README row with no machine-readable record; this entry is the first one that carries evidence.",
      "The submission quotes $0.01-$0.05 per call. The probed route, GET /v1/indicators/BTC, charges 20000 atomic ($0.02).",
      "Both discovery documents answer 200 as of 2026-09-15: /.well-known/x402.json and /.well-known/x402. They list different resource sets (indicators, yields, metadata, search and disputes in one; price, prices, fear-greed, global, trending and gas in the other)."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 202,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x9863aB6242663FCc84c33632741711dB78f8Fd15",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "20000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "jmt-x402-agent-tools",
    "name": "JMT x402 Agent Tools",
    "provider": "jmthomasofficial",
    "category": "data",
    "description": "Web search, AI analysis, crypto and stock data, SEC filing analysis, company intel, news briefings, social sentiment and a macro dashboard, served by a local LLM.",
    "website": "https://jmt-x402-proxy.jmthomasofficial.workers.dev",
    "wallet": "0x624FaF18C78456C8Da5bf156Cd77c1A2033F21c5",
    "network": "eip155:8453",
    "price": "0.03",
    "submittedBy": "jmthomasofficial",
    "submittedIn": 4,
    "submittedAt": "2026-07-06",
    "probe": {
      "method": "GET",
      "url": "https://jmt-x402-proxy.jmthomasofficial.workers.dev/api/answer?q=bitcoin"
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Submitted as PR #4, which added a services.json entry marked COMMUNITY_SUBMITTED. services.json is reserved for paid first-party tests, so the record lives here instead. Until 2026-09-15 it was only a README row.",
      "GET /.well-known/x402 answers 200 and lists the /api/* resources, including answer, company-intel, sec-filing-analyzer, news-briefing, social-sentiment and macro-dashboard. Only /api/answer is probed; POST /api/company-intel with an empty body also answered 402 on 2026-09-15.",
      "The submission quotes $0.001-$0.15 per call; `price` is set to whatever the probed route actually charges."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 348,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x624FaF18C78456C8Da5bf156Cd77c1A2033F21c5",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "30000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "vibes-coded",
    "name": "Vibes-Coded Agent Tool API",
    "provider": "Vibes-Coded (doteyeso-ops)",
    "category": "trust",
    "description": "Pay-per-call agent reliability and verification outcomes -- action receipts, web search, page markdown, wallet readiness, repo due diligence, website intelligence and more -- on Base and Solana.",
    "website": "https://vibes-coded.com",
    "wallet": "0xDBbC87e7947201EAcC9a7521dda4801e99994566",
    "network": "eip155:8453",
    "price": "0.02",
    "submittedBy": "doteyeso-ops",
    "submittedIn": 6,
    "submittedAt": "2026-07-23",
    "probe": {
      "method": "POST",
      "url": "https://vibes-coded.com/api/v1/outcomes/action-receipt",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "The 402 carries two offers: Base USDC to the submitted wallet, and Solana USDC to FmC5pYspDdjBntYdyjcahAHd3zAYj3ucx1dgoGs6LjMB. The check reads the Base offer. The submission said Solana was listed first; on 2026-09-15 the Base offer comes first.",
      "Until 2026-09-15 this was only a README row with no machine-readable record.",
      "GET /.well-known/x402.json answers 200 and lists the outcome catalog. The prepaid X-Vibes-Key path for wallet-less agents was not checked."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 154,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "offers": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xDBbC87e7947201EAcC9a7521dda4801e99994566",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "20000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "clear-agent-fetch",
    "name": "Clear",
    "provider": "curyous",
    "category": "data",
    "description": "One public URL fetched and returned as markdown for $0.005, with no local browser. Failed fetches are free.",
    "website": "https://github.com/curyous/clear-agent-fetch",
    "wallet": "0x2382EF343ba76a6D56efC8C04920d7df2F98A54D",
    "network": "eip155:8453",
    "price": "0.005",
    "submittedBy": "curyous",
    "submittedIn": 10,
    "submittedAt": "2026-08-25",
    "probe": {
      "method": "POST",
      "url": "https://clear-agent-fetch.fly.dev/v1/fetch",
      "body": {
        "url": "https://example.com"
      }
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Until 2026-09-15 this was only a README row with no machine-readable record.",
      "GET /.well-known/x402 answers 200 and lists the single POST /v1/fetch resource. The \"fail is free\" promise was not tested: a health check never pays."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 8117,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x2382EF343ba76a6D56efC8C04920d7df2F98A54D",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "5000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "dpe-x402",
    "name": "DPE-X402",
    "provider": "benliberte",
    "category": "data",
    "description": "French real estate in one call: ADEME energy performance certificates enriched with DVF price comparables within 200m and BRGM/Georisques natural and technological hazards. GET with query parameters; JSON, CSV or XLSX.",
    "website": "https://dpe.bdatax.com/dpe",
    "wallet": "0xc0a484b32798dEefcA38Ced6c6Aa780660c752A4",
    "network": "eip155:8453",
    "price": "0.001",
    "submittedBy": "benliberte",
    "submittedIn": 12,
    "submittedAt": "2026-08-29",
    "probe": {
      "method": "GET",
      "url": "https://dpe.bdatax.com/dpe?cp=75001"
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Speaks x402 v1: the terms arrive in the JSON body rather than a PAYMENT-REQUIRED header, and the network is named `base` rather than `eip155:8453`. The health check reads both shapes.",
      "Until 2026-09-15 this was only a README row with no machine-readable record."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 202,
      "httpStatus": 402,
      "x402Version": 1,
      "termsIn": "body",
      "scheme": "exact",
      "network": "base",
      "payTo": "0xc0a484b32798dEefcA38Ced6c6Aa780660c752A4",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "1000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "agentshop",
    "name": "AgentShop",
    "provider": "googlepro1",
    "category": "data",
    "description": "Seven deterministic tools on Bankr Cloud: URL to markdown, DexScreener token snapshot, page metadata, weather with a 3-day forecast, ECB fiat FX, Wikipedia summary and Hacker News search. No API keys, no LLM.",
    "website": "https://github.com/googlepro1/x402-agentshop",
    "wallet": "0x40ac5d07e1426e4626ed0989b8ff26e932b76555",
    "network": "eip155:8453",
    "price": "0.003",
    "submittedBy": "googlepro1",
    "submittedIn": 13,
    "submittedAt": "2026-08-29",
    "probe": {
      "method": "GET",
      "url": "https://x402.bankr.bot/0x40ac5d07e1426e4626ed0989b8ff26e932b76555/webmark?url=https://example.com"
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Hosted on Bankr Cloud. Every Bankr Cloud 402 advertises Bankr's settlement contract 0x8AEE621035D93Deb3C0C1177fac252dC2dd501a0 as payTo, whoever the seller is -- measured 2026-09-15 on this account and on an unrelated one -- and the seller's wallet is the first segment of the URL path. The health check accepts that shape only when the path wallet equals the submitted wallet. It proves the price and which Bankr account serves the route, not where Bankr pays out.",
      "Until 2026-09-15 this was only a README row with no machine-readable record. POST /fxrate also answered 402 at 1000 atomic ($0.001) on 2026-09-15."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 253,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x8AEE621035D93Deb3C0C1177fac252dC2dd501a0",
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "amountAtomic": "3000",
      "payToMatches": false,
      "payeeModel": "bankr-cloud",
      "payToIsBankrSettlement": true,
      "payeeInPath": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  },
  {
    "id": "x402-preflight",
    "name": "x402 Preflight",
    "provider": "Broke to Built AI (reference example)",
    "category": "infrastructure",
    "description": "Checks another x402 endpoint before an agent pays it: live 402, readable terms, Base USDC price, payTo against the wallet you expect (Bankr Cloud aware), 402-before-validation and a discovery document. Also the fork-me reference implementation for contributors.",
    "website": "https://code.broke2builtai.com/x402-wiki/tree/main/examples/x402-worker",
    "wallet": "0x7a3E312Ec6e20a9F62fE2405938EB9060312E334",
    "network": "eip155:8453",
    "price": "0.001",
    "submittedBy": "lordbasilaiassistant-sudo",
    "submittedIn": 33,
    "submittedAt": "2026-09-15",
    "probe": {
      "method": "POST",
      "url": "https://x402-preflight.broke2builtai.com/v1/preflight",
      "body": {}
    },
    "verified": false,
    "status": "HEALTH_CHECKED",
    "notes": [
      "Our own service, listed on exactly the terms a community submission gets: a free health check, no Verified badge, no services.json entry.",
      "Measured live 2026-09-15: unpaid POST {}, unpaid GET and an unpaid non-JSON body each answer 402 with a v2 PAYMENT-REQUIRED header; GET /.well-known/x402 answers 200 with one resource; a garbage PAYMENT-SIGNATURE, an under-priced payload and a forged signature each answer 402, the last one rejected by the PayAI facilitator's /verify with invalid_exact_evm_signature, and nothing settled.",
      "Not exercised: a real settled payment. No paid call has been made to it yet."
    ],
    "healthCheck": {
      "checkedAt": "2026-09-15",
      "latencyMs": 137,
      "httpStatus": 402,
      "x402Version": 2,
      "termsIn": "header",
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x7a3E312Ec6e20a9F62fE2405938EB9060312E334",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountAtomic": "1000",
      "payToMatches": true,
      "assetIsBaseUSDC": true,
      "verdict": "PASS"
    }
  }
]
