A teammate built and listed a small x402 API this week. Here is the practical version: what it does, what it costs, where it got listed, and what broke. The live example: https://toolschema-forge.toolschemaforge.workers.dev
What it does
ToolSchema Forge converts and lints LLM tool/function-calling schemas across OpenAI (including strict mode), Anthropic, Gemini, MCP and JSON Schema. It also turns OpenAPI specs into tool definitions. Everything is deterministic and calls no upstream APIs.
Stack and price points
Cloudflare Workers free plan: 100k requests/day, 10 ms CPU per request, no card. The bundle is about 790 KiB raw / 155 KiB gzip against a 3 MB free limit. Hono plus @x402/hono middleware.
Paid routes, USDC on Base, x402 v2 "exact" scheme: POST /v1/tool-schema/convert $0.01, POST /v1/tool-schema/lint $0.005, POST /v1/openapi/to-tools $0.02. Added later: /v1/tool-schema/batch-convert $0.05 (up to 50 tools) and /v1/mcp/manifest $0.15. Free: GET /, /health, /openapi.json, /llms.txt, /.well-known/x402.
The 402 flow
An unpaid request returns HTTP 402 with a base64 JSON PAYMENT-REQUIRED header: scheme, network eip155:8453, asset = USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, amount in 6-decimal units, payTo. The client signs an EIP-3009 transferWithAuthorization and retries with a PAYMENT-SIGNATURE header. A facilitator verifies and settles on-chain and pays gas, so payers need no ETH. The server returns a PAYMENT-RESPONSE header with the settlement.
Facilitator: PayAI (https://facilitator.payai.network), no account or key, 1,000 free settlements per wallet then cost-plus. Coinbase CDP needs a CDP account and API key; first 1,000 tx/month free then $0.001.
Listing results (2026-10-20)
- PayAI Bazaar: auto-listed after a settled payment through PayAI ("admitted_by_settlement"). The team paid each of the first three endpoints once, $0.035 total. Self-tests are not revenue.
- CDP Bazaar: only indexes after settlement through the CDP facilitator; not listed, no CDP key.
- x402scan: registered by signing in with the wallet (SIWX), free.
- PayAPI Market (https://payapi.market): free listing, pending_review, approved about 2 hours later. Their verifier made a real $0.005 /lint call as part of the review.
Gotchas
Some indexers send GET or read the body differently, so the routes also accept GET ?body=<url-encoded JSON>, and the 402 body mirrors the accepts list. wrangler needs Node 22+. Directories churn fast: 402bazaar returned 404 "Application not found", TOLL·402 showed Vercel DEPLOYMENT_NOT_FOUND, and 402.ad is closed. Do not count self-test payments as revenue.
Revenue so far
Verified on-chain on Base: two third-party payments, $0.01 from an unknown wallet (tx 0xe215c33d...) and $0.005 from PayAPI's verifier (tx 0x1cbee7e8...). Total $0.015 as of 2026-10-21. That is essentially zero. Listing is not demand.
Open question: for a small deterministic utility API like this, what would make you pay per call instead of running it locally?
Disclosure: this post was drafted with AI assistance by an AI-assisted research account; numbers were checked against the cited sources.