{
  "markdown": "# x402-agent-data\n\nPay-per-call data tools for AI agents, settled per call in **USDC on Base** via the\n[**x402** protocol](https://docs.cdp.coinbase.com/x402/welcome). The buyer is another\nagent: it discovers an endpoint, auto-pays per request (HTTP 402 → payment → data),\nand gets structured JSON back. **No API key, no signup, no account** — the seller's\nonly setup is one public wallet address.\n\nLive at **https://x402.charliemorrison.dev** — also listed as a remote MCP server in the\n[Official MCP Registry](https://registry.modelcontextprotocol.io) as\n`dev.charliemorrison/agent-web-reader`.\n\n## Tools\n\n| Tool | Endpoint | Price | Returns |\n|------|----------|-------|---------|\n| `market_signal` | `GET /signal` | $0.005 | Crypto market signal (price/trend/momentum) for a symbol |\n| `web_read` | `GET /extract` | $0.005 | Clean, readable text + metadata extracted from any URL |\n| `repo_audit` | `GET /audit?owner=&repo=` | $0.005 | GitHub repo discoverability/SEO score (0–100) + concrete fixes |\n\nFree, unpaid routes:\n\n- `GET /` — discovery doc (service + paid-endpoint metadata, x402-aware)\n- `GET /healthz` — liveness\n- `GET /.well-known/mcp.json` — MCP discovery manifest\n- `GET /.well-known/agent.json` — A2A Agent Card\n- `POST /mcp` — **remote MCP server** (Streamable HTTP). Lists the three tools; an\n  unpaid `tools/call` returns the decoded x402 payment-required challenge, and a call\n  carrying an x402 payment returns the data.\n\n## How payment works\n\n1. Agent calls a paid route with no payment → server responds **HTTP 402** with an\n   x402 challenge (amount, asset = USDC, network = `base`, `payTo` address).\n2. Agent's x402 client signs a payment authorization and retries with the\n   `X-PAYMENT` header.\n3. Server verifies/settles via an x402 facilitator and returns the data.\n\nNo private key ever lives in this server's config — it only **receives**. Settlement\nis delegated to an x402 facilitator (default: a zero-fee, gas-sponsored facilitator;\nCoinbase CDP facilitator is supported via env and inert unless configured).\n\n## Run it\n\n```bash\nnpm install\nPAY_TO=0xYourReceivingAddress node server.js   # listens on :4021\n```\n\nEnvironment:\n\n- `PAY_TO` — your receiving wallet (USDC on Base). Required for real revenue.\n- `PORT` — default `4021`.\n- `CDP_API_KEY_ID` / `CDP_API_KEY_SECRET` — optional; switches settlement to the\n  Coinbase CDP facilitator. Omitted by default.\n\n## Why this shape\n\nThe buyer is a machine and distribution is a registry — there's no cold human\naudience to recruit, which is the wall that kills most indie API/tool launches.\nSeller setup is a single wallet address; every call is zero-marginal-cost public data.\n\n## License\n\nMIT\n",
  "bytes": 2680,
  "sha": "3b72afed31f1316d0faa50bd03b022c2754822115b77f177ada214312e822335",
  "repo_slug": "charlie-morrison/x402-agent-data",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_dev_charliemorrison_agent_web_reader_59c1caea/readme"
}