{
  "markdown": "# Agent402: 500+ tools, metered models and finished reports for AI agents\n\nLive at **[agent402.tools](https://agent402.tools)**.\n\n**The paid door for AI agents: 500+ tools, metered models and finished reports, paid per call in USDC over x402 and MPP, or by card. Open source, self-hostable, MCP-native.**\n\nOperated by [Havok Holdings LLC](https://havok.holdings) · [Live](https://agent402.tools) · [Why pay here](https://agent402.tools/why) · [Receipts](https://agent402.tools/proof) · [Status](https://agent402.tools/status) · [Security](https://agent402.tools/security) · [Company](https://agent402.tools/company)\n\n**Try it in 30 seconds:** `claude mcp add agent402 -- npx -y agent402-mcp`, or paste `https://agent402.tools/mcp` into any MCP client. The free tier needs no wallet. Verified setup blocks for Cursor, VS Code, Windsurf, Cline, Roo Code, Codex CLI, Gemini CLI, Continue, ElizaOS and AgentCore: [agent402.tools/guides/agent-hosts](https://agent402.tools/guides/agent-hosts) (shortlinks `agent402.sh/<host>`, e.g. `agent402.sh/cursor`).\n\n**Who pays:** agents pay per call (from $0.001; models metered under a quoted ceiling and settled at actual usage); people buy finished reports ($2 to $5) and monitors ($5 a month) by card; sites charge crawlers with the tollbooth.\n\n[![Live](https://img.shields.io/website?url=https%3A%2F%2Fagent402.tools%2Fhealth&label=agent402.tools&up_message=live)](https://agent402.tools)\n[![CodeQL](https://github.com/MikeyPetrillo/Agent402/actions/workflows/codeql.yml/badge.svg)](https://github.com/MikeyPetrillo/Agent402/actions/workflows/codeql.yml)\n[![Secret scan](https://github.com/MikeyPetrillo/Agent402/actions/workflows/secret-scan.yml/badge.svg)](https://github.com/MikeyPetrillo/Agent402/actions/workflows/secret-scan.yml)\n[![npm](https://img.shields.io/npm/v/agent402-mcp?label=agent402-mcp)](https://www.npmjs.com/package/agent402-mcp)\n[![npm](https://img.shields.io/npm/v/agent402-client?label=agent402-client)](https://www.npmjs.com/package/agent402-client)\n[![npm](https://img.shields.io/npm/v/agent402-tollbooth?label=agent402-tollbooth)](https://www.npmjs.com/package/agent402-tollbooth)\n[![CI](https://github.com/MikeyPetrillo/Agent402/actions/workflows/deploy.yml/badge.svg)](https://github.com/MikeyPetrillo/Agent402/actions/workflows/deploy.yml)\n[![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-green.svg)](LICENSE)\n[Listed on Smithery](https://smithery.ai/servers/mike-kq9d/agent402)\n\n## What Agent402 is\n\n> **Agentic Finance** is software agents paying and getting paid on their\n> own: discovering a service, paying per request from a wallet over open protocols\n> (x402, MPP), receiving a verifiable receipt, and earning per request in return.\n> Agent402 is its **applied layer** - explainer: [agent402.tools/agentic-finance](https://agent402.tools/agentic-finance) · [glossary](https://agent402.tools/glossary).\n>\n> **What makes it different:** Agent402 is **open-source and self-hostable** - and a\n> single integration gives a buyer **three free primitives over the whole x402\n> ecosystem**:\n>\n> - **Find** - [`/api/find?q={task}`](https://agent402.tools/api/find) resolves a task description to the best-matching tools (route, price, schema, ready example).\n> - **Route** - [`POST /api/route`](https://agent402.tools/api/route) is the **neutral Smart Order Router**: rank tools across every x402 seller crawled (auto-discovered from the Coinbase CDP Bazaar), health-aware, with `include=external` to exclude us.\n> - **Leaderboard** - [`GET /api/leaderboard`](https://agent402.tools/api/leaderboard) is the **public on-chain ranking** of every x402 seller by **Base USDC settled volume** - calls served, totalUsd, unique buyers per seller. Pipeline: Bazaar → `eth_getLogs` → per-call ceiling → aggregate by `payTo`. Hourly snapshot.\n>\n> Plus the catalog - **500+ strong: search/answer as the MCP front door, then\n> 500+ tools and curated skill packs** (multi-tool workflows callable as MCP\n> prompts) - all runnable yourself, plus\n> [`agent402-tollbooth`](tollbooth) - an open pay-per-crawl gate for the other\n> side of x402.\n>\n> **Two doors, two price lists.** Agents pay per call in USDC (x402 / MPP) or\n> free via proof-of-work, and a finished **report** costs $0.60 to $2.00 that\n> way. People pay by card: the same reports at\n> [agent402.tools/reports](https://agent402.tools/reports) (company dossier, 13F fund\n> report, insider flow, market brief, deep research, FDA recall, domain audit)\n> are $2 to $5, **monitors** that re-run on change at\n> [/monitors](https://agent402.tools/monitors) are $5 a month, and **prepaid\n> credits** at [/credits](https://agent402.tools/credits) are one `a402_` key\n> that pays every tool by card (`Authorization: Bearer a402_…`, debited per\n> successful call; supported by `agent402-mcp` via `AGENT402_CREDITS_KEY` and\n> `agent402-client` via `{ creditsKey }`). The card price includes payment\n> processing: Stripe charges 2.9% + $0.30 per charge, so under about a dollar\n> the fee costs more than the report. An agent paying per call pays the lower\n> tool price for the same report.\n>\n> **Two payment wires, one URL.** Every paid endpoint accepts **x402**\n> (`PAYMENT-SIGNATURE`, USDC on 12 chains) **and MPP** (Machine Payments\n> Protocol, the IETF-track `Payment` HTTP auth scheme co-authored by Tempo and\n> Stripe): the same 402 carries both, an [`mppx`](https://www.npmjs.com/package/mppx)\n> client pays out of the box, and MPP settles on Base and Celo (USDC), natively\n> on [Tempo](https://tempo.xyz) (USDC.e or PathUSD via Tempo's relay), or by\n> card over MPP (Stripe `stripe/charge`, offered on routes priced $0.50 and up\n> when the operator configures it). The\n> [MPP marketplace](https://agent402.tools/mpp-marketplace) lists every MPP\n> seller we can verify live. Details: [What is MPP](https://agent402.tools/what-is-mpp)\n> · [live MPP settlements](https://agent402.tools/revenue).\n\n\n**Framework adapters** (drop-in tools for the major agent stacks - auto-payment underneath):\n[![npm](https://img.shields.io/npm/v/agent402-openai-tools?label=openai-tools)](https://www.npmjs.com/package/agent402-openai-tools)\n[![npm](https://img.shields.io/npm/v/agent402-anthropic-tools?label=anthropic-tools)](https://www.npmjs.com/package/agent402-anthropic-tools)\n[![npm](https://img.shields.io/npm/v/agent402-ai-sdk?label=ai-sdk)](https://www.npmjs.com/package/agent402-ai-sdk)\n[![npm](https://img.shields.io/npm/v/agent402-langchain?label=langchain)](https://www.npmjs.com/package/agent402-langchain)\n[![npm](https://img.shields.io/npm/v/agent402-llamaindex?label=llamaindex)](https://www.npmjs.com/package/agent402-llamaindex)\n[![npm](https://img.shields.io/npm/v/agent402-strands?label=strands)](https://www.npmjs.com/package/agent402-strands)\n[![npm](https://img.shields.io/npm/v/agent402-google-adk?label=google-adk)](https://www.npmjs.com/package/agent402-google-adk)\n[![npm](https://img.shields.io/npm/v/agent402-openai-agents?label=openai-agents)](https://www.npmjs.com/package/agent402-openai-agents)\n[![npm](https://img.shields.io/npm/v/agent402-agentkit?label=agentkit)](https://www.npmjs.com/package/agent402-agentkit)\n\n**500+ strong - live web search and cited answers as the MCP front door, then ready-to-use web tools and multi-tool skill packs for your AI agent, from one server. Every one tested, priced, and settled on-chain; every one earns its place. Browser\nrendering, web search, PDFs, images, OCR, live financial/crypto/macro data, SEC EDGAR, deterministic stats, forecasting, and options/bond pricing (Black-Scholes, YTM), compression, and 200+ pure-CPU utilities.** Run it yourself for free in 30 seconds (MCP **or**\nplain HTTP, no API keys, no signup - the free tier and x402/MPP payments never\nneed a key; only the optional prepaid card credits use one bearer key), connect\nit to Claude/ChatGPT/any MCP client, and add your own tools in a few lines.\nEvery utility tool is deterministic - **no LLM in the serving path** - and\nre-tested against its own example before every release. The model-backed\nsurfaces are explicit and priced as such: the `/v1` gateway (metered under a\nquoted ceiling, or flat tiers) and the finished report products (`/v1/research`, `/v1/dossier`, ... below).\n\n> Optionally, the same server can charge per call over the [x402\n> protocol](https://x402.org) (USDC on Base, Solana, Polygon, Arbitrum, Monad, Celo, Avalanche,\n> Sei, Optimism, Stellar & Algorand, plus USDG on Robinhood Chain - 12 chains) - so the instance you\n> self-host for free can also be a hosted, monetized one. That part is opt-in;\n> **by default everything runs free.**\n\n🟢 **Hosted demo: [agent402.tools](https://agent402.tools)** · 📖 **[Wiki](https://github.com/MikeyPetrillo/Agent402/wiki)** · 📦 **[npm](https://www.npmjs.com/package/agent402-mcp)** · 🔌 **[MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.MikeyPetrillo/agent402)** · 🧩 **[Smithery](https://smithery.ai/servers/mike-kq9d/agent402)**\n\n## Run it yourself in 30 seconds\n\nPick whichever fits. They are all free and need no wallet:\n\n**1. Zero install - add the hosted connector to Claude** (claude.ai → Settings → Connectors → Add custom connector):\n\n```\nhttps://agent402.tools/mcp\n```\n\n**2. One command - run the MCP server locally** (the pure-CPU tools work with no key; it pays the tiny proof-of-work for you):\n\n```bash\nnpx -y agent402-mcp\n# in Claude Code:  claude mcp add agent402 -- npx -y agent402-mcp\n```\n\n**3. Clone and host the whole thing** (all 500+ tools as an HTTP API + MCP, free mode, no payments):\n\n```bash\ngit clone https://github.com/MikeyPetrillo/Agent402 && cd Agent402\nnpm install\nFREE_MODE=true npm start          # → http://localhost:3000  (HTTP API + /mcp)\n```\n\n```bash\n# try a tool over HTTP - no auth in free mode\ncurl -s -X POST localhost:3000/api/hash -H 'content-type: application/json' \\\n  -d '{\"text\":\"hello world\",\"algo\":\"sha256\"}'\n```\n\n**4. One-click deploy to Railway** (full self-hosted instance - adds optional Postgres + Redis plugins for analytics + response caching):\n\n[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/new/template?template=https%3A%2F%2Fgithub.com%2FMikeyPetrillo%2FAgent402)\n\nBoots straight from the repo's `railway.toml` + `Dockerfile`. Optional plugins are auto-detected via env: add **Redis** → `REDIS_URL` enables the upstream response cache (`X-Cache: hit|miss`), add **Postgres** → `DATABASE_URL` enables the public `/api/analytics` dashboard and the tollbooth waitlist. No env vars required to boot in free mode.\n\n## What's in the catalog (500+ tools)\n\n> **Every tool earns its place: deterministic, tested against its own example on every CI\n> run, priced to market, settled on-chain.** CI holds a 400-entry catalog floor and\n> verifies the “500+” claim against the running catalog (`scripts/sync-count.js --check`).\n> The catalog grows only when a tool is worth calling.\n\n| | Examples |\n|---|---|\n| **Browser & web** | `render` (headless Chromium, executes JS), `screenshot`, `extract` (article→markdown), `meta` |\n| **Live search & answers** | `search` (real web index), `answer` (web answer with citations), `search-news`/`search-images`/`search-videos` variants, `search-suggest`, `multi-search` |\n| **PDFs & media** | `pdf-to-markdown`, `pdf-merge`, `pdf-extract-pages`, `pdf-rotate`, `images-to-pdf`, `audio-convert`, `audio-normalize` (EBU R128, real ffmpeg) |\n| **Images** | `image-resize`, `image-convert`, `image-thumbnail`, `barcode-decode` (jimp/zxing, pure-CPU) |\n| **OCR** | `image-ocr` (text out of any image - pure-CPU, no model) |\n| **Geo** | `geo-distance` (haversine, pure-CPU), `geocode`, `reverse-geocode`, `place-search`, `geo-lookup` |\n| **Live data** | `fx-rate` (ECB), `barcode-lookup` (Open Food Facts), `gov-data` (data.gov), `weather-forecast`/`weather-alerts`, `earthquakes` (USGS) |\n| **Finance & crypto** | `stock-quote`/`stock-history`/`earnings-calendar` (Yahoo), `crypto-price`/`crypto-market`/`crypto-history`/`crypto-trending`/`crypto-global` (CoinGecko) |\n| **Crypto derivatives & options** | `perp-markets`, `perp-funding`, `perp-funding-screener`, `perp-basis`, `perp-open-interest`, `perp-klines`, `perp-orderbook` (live perpetuals: mark/oracle price, funding, OI, candles, depth); `options-summary`, `crypto-options-chain`, `options-ticker`, `options-volume` (options book, IV and greeks, onchain options volume) - $0.002 to $0.005 a call, no exchange account |\n| **DeFi & stablecoins** | `defi-yields` (screen pools by chain, project, TVL and stablecoin-only), `defi-yield-history`, `defi-protocols`, `defi-protocol`, `defi-chains`, `defi-chain-tvl-history`, `defi-fees`, `defi-dex-volume`, `stablecoins`, `stablecoin-supply-history` - $0.002 to $0.003 a call |\n| **Solana token intel** | `sol-token-safety` (authorities, liquidity, holder concentration, graded), `sol-token-report` (full risk write-up), `sol-token-holders`, `sol-token-pairs`, `sol-token-search`, `sol-trending`, `sol-price`, `sol-swap-quote`, `sol-token-lookup` - the due-diligence pass an agent needs before it touches a mint |\n| **Crypto market coverage** | `crypto-news`, `crypto-indicators` (RSI, MACD, moving averages, computed here), `crypto-market-pulse`, `coin-profile`, `coin-history`, `coin-ohlc`, `coin-market-chart-range`, `coin-categories`, `coin-price-by-contract` (price by token ADDRESS, no coin id needed), `global-defi`, `exchanges`, `exchange-tickers`, `exchange-rates`, `coin-search`, `coins-list` - plus tokenized real-world assets from the same CoinGecko key: `rwa-list`, `rwa-markets`, `rwa-asset`, `rwa-issuers`, `rwa-issuer` (tokenized stocks, ETFs and commodities with onchain market data and the issuers behind them) |\n| **Indexed chain data** | `asset-transfers` (filtered transfer history), `token-balances`, `token-allowance`, `tx-receipt` (decoded transfers), `block-receipts`, `token-price-history` - indexed reads across the major EVM chains, no node and no key of your own |\n| **Farcaster social** | `fc-cast-search`, `fc-channel-feed`, `fc-trending`, `fc-user-casts`, `fc-cast`, `fc-cast-replies`, `fc-channel`, `fc-user-search`, `fc-cast-metrics` - search, feeds and engagement metrics on the onchain social graph |\n| **Site crawling** | `site-map` (enumerate a site's URLs) and `site-crawl` (breadth-first crawl to clean markdown, robots-respecting, hard page/depth/time budgets) - the deterministic pair behind any \"read this whole site\" task |\n| **Macro (FRED + more)** | yield curve, treasury, fiscal, Fed funds, CPI, unemployment, Sahm rule, ECB FX, World Bank, FRED bulk release observations |\n| **SEC EDGAR** | ticker→CIK, filing list, 10-K/10-Q text, XBRL frames, insider transactions, 13F holdings, IPO calendar, full-text search |\n| **Finished reports (cited)** | `research`/`research-pro`/`research-max` (grounded deep research), `market-brief`, `dossier`/`dossier-max` (company due diligence), `fund-report`/`fund-report-max` (13F portfolio), `domain-audit`/`domain-audit-pro` (graded security + deliverability), `recall-report` (FDA), `insider-report` (Form 4 flow), `token-risk`/`token-risk-pro` (on-chain contract risk), `filing-report` (latest SEC filing), `token-brief` (Solana mint due diligence), `ticker-pack` (dossier + insider flow + holders), `ipo-report` (S-1 + 424B4 digest, deterministic) - $0.05 to $2.00 per report over x402 / MPP, or $2 to $5 by card at [/reports](https://agent402.tools/reports); see the `/v1` table below |\n| **Network truth** | `dns`, `dns-lookup`, `tls-cert`, `whois`, `http-check`, `robots-check`, `email-validate`, `ip-info` |\n| **Crypto & payments** | `usdc-balance`, `tx-status`, `gas-estimate`, `ens-resolve`, `x402-quote`, `x402-verify`, `transfer-authorization` - non-custodial, multi-chain (Base/Polygon/Arbitrum/Optimism/Ethereum) |\n| **Agent memory** | wallet-keyed KV + TTL, atomic counters, cross-wallet grants, hash-chained audit log, similarity recall |\n| **Stats & forecasting** | `stats-summary`, `correlation`, `linear-regression`, `moving-average`, `outliers`; `forecast-naive`, `forecast-ses`, `forecast-holt`, `forecast-holt-winters` + `forecast-eval` (MAPE/RMSE backtest) |\n| **Finance math** | `black-scholes` (option pricing + greeks), `bond-price`/`bond-ytm`, `cagr`, `sharpe-ratio`, `annuity`, `npv`/`irr`, `compound-interest`, `loan-payment`/`amortization`, `break-even`, `effective-annual-rate` (pure-CPU, deterministic) |\n| **Compression** | `gzip`/`gunzip`, `brotli-compress`/`brotli-decompress`, `compress-compare` (algorithm shootout, pure-CPU via node:zlib) |\n| **HTML extraction** | `html-select` (CSS query), `html-table`, `html-strip`, `html-links`, `html-meta` - deterministic counterpart to `extract` |\n| **Network ops** | `dns-lookup`, `dns-propagation`, `spf-check`/`dmarc-check`/`dkim-lookup`, `email-deliverability`; `cert-transparency`, `http-headers` (security audit), `tech-stack`, `asn-info` (IP geo) |\n| **Chain reads** | `block-number`, `chain-info`, `block-info`, `contract-code`, `erc721-owner`, `event-logs` - keyless JSON-RPC reads with multi-endpoint failover on Ethereum/Base/Polygon/Arbitrum/Optimism, from $0.001 |\n| **SQL policy** | `sql-guard` ($0.004 - pass/warn/block verdict with named risks on a SQL statement, plus an Ed25519 execution certificate when a signing key is configured), `sql-cert-verify` ($0.001 - verifies that certificate against the exact statement) |\n| **x402 seller trust** | `seller-trust` (`GET /api/x402/seller-trust`, $0.005) - is a seller indexed, does its manifest parse, which chains does it advertise, how many settled calls has it been observed receiving on-chain, and would our own router spend buyer money on it |\n| **200+ pure-CPU utilities** | hashing, JWT, base58, JSON⇄CSV/YAML, `token-count`, `text-chunk`, `json-validate`, text stats, cron math, validators, unit conversions across 13 categories (one parametric tool) |\n\nFull schemas live in [`/openapi.json`](https://agent402.tools/openapi.json); a\nmachine-readable catalog is at [`/api/pricing`](https://agent402.tools/api/pricing)\nand [`/llms.txt`](https://agent402.tools/llms.txt). Don't know which tool you need?\n[`/api/find?q=<task>`](https://agent402.tools/api/find?q=extract%20article) resolves\na task description to the right tool - route, price, schema, and a ready example -\nso an agent skips the token-heavy \"search around to find a tool\" step.\n\n## LLM gateway (`/v1`) - chat, embeddings, rerank, images, speech & finished reports, pay per call\n\nPoint any OpenAI SDK at `base_url = https://agent402.tools/v1` and pay per call in\nUSDC over x402 or MPP - no API key, no signup, no account (or pay by card with a\nprepaid credits key, see [For humans](#for-humans-reports-monitors-and-prepaid-credits)):\n\n| Endpoint | Price | Serves |\n|---|---|---|\n| `POST /v1/nano/chat/completions` | $0.003 | nano models - priced for high-frequency agent loops |\n| `POST /v1/auto/chat/completions` | $0.01 | **no model needed** - deterministic eval-ranked routing (code / reasoning / long / general), optional `quality: fast \\| balanced \\| best` at the same price, decision disclosed via `agent402_router` |\n| `POST /v1/chat/completions` | $0.02 | budget/mid models (gpt-4o-mini, claude haiku, gemini flash, deepseek, llama…) |\n| `POST /v1/pro/chat/completions` | $0.10 | mid-frontier (gpt-4o, gpt-4.1, claude sonnet, gemini pro, grok) |\n| `POST /v1/premium/chat/completions` | $0.50 | frontier (gpt-5, o3/o4, claude opus) |\n| `POST /v1/grounded/chat/completions` | $0.03 | the auto router plus a live web search on every call - answers carry OpenAI-wire `url_citation` annotations; never cached |\n| `POST /v1/{nano,auto,pro,premium}/messages`, `POST /v1/messages` | tier price | the **Anthropic Messages wire** on every tier (same allowlist, caps and failover as the chat route) |\n| `POST /v1/{nano,auto,pro,premium}/responses`, `POST /v1/responses` | tier price | the **OpenAI Responses wire** on every tier (function tools only, no server state) |\n| `POST /v1/embeddings` | $0.002 | OpenAI embeddings, batch up to 64 inputs - identical repeats are **free** (deterministic output, cache default-on) |\n| `POST /v1/rerank` | $0.002 | Cohere-compatible rerank (`{query, documents[], top_n}`), up to 50 documents, cache default-on |\n| `POST /v1/images/generations` | $0.08 | image generation (Gemini 2.5 Flash Image) - OpenAI images wire, inline base64 out |\n| `POST /v1/images/fast` | $0.02 | budget text-to-image, same OpenAI images wire, about two seconds a picture |\n| `POST /v1/images/pro` | $0.05 | higher-fidelity text-to-image, one picture a call |\n| `POST /v1/videos/generations` | $0.20 | text-to-video: one silent 4-second 720p clip, MP4 inline base64, 16:9 or 9:16 |\n| `POST /v1/audio/speech` | $0.06 | text-to-speech, OpenAI `audio.speech.create()` wire - up to 2,000 chars in, raw mp3 (default) or pcm bytes out, five-model failover chain |\n\nStreaming (`stream: true`), full tools/function-calling passthrough, an opt-in\nprompt cache on the chat tiers (`cache: true` → byte-identical repeats free for\n10 minutes), upstream failover chains that end in a canary-proven model, and a\nfree [`GET /v1/models`](https://agent402.tools/v1/models) listing every model with\nits tier and caps. A real-money canary buys from every one of these surfaces\ndaily - streaming, routing disclosure, and both cache behaviors included.\n\n**Finished report products** live on the same `/v1` prefix: one paid call returns\na complete, cited report (JSON, with a sources appendix) rather than a raw model\nturn. Every report is grounded in primary data the server fetches itself (EDGAR\nfilings, openFDA, DNS/TLS probes, on-chain reads, a live web search) before\nsynthesis; `ipo-report` is fully deterministic (no model at all):\n\n| Endpoint | Price | Report |\n|---|---|---|\n| `POST /v1/research` · `/v1/research/pro` · `/v1/research/max` | $0.60 · $0.85 · $1.10 | deep research report (`{query}`) - grounded multi-search, rerank, cited synthesis |\n| `POST /v1/research/market-brief` | $0.85 | market / competitor brief (`{query}`) |\n| `POST /v1/dossier` · `/v1/dossier/max` | $0.85 · $1.10 | company due-diligence dossier (`{ticker}`) - filings, insider flow, web |\n| `POST /v1/fund` · `/v1/fund/max` | $0.60 · $0.85 | fund portfolio report from the latest 13F (`{manager}`) - bought/sold last quarter |\n| `POST /v1/domain-audit` · `/v1/domain-audit/pro` | $0.60 · $0.85 | graded domain security + deliverability audit (`{domain}`) |\n| `POST /v1/recall-report` | $0.60 | FDA recall report, drug/food/device (`{query}`) |\n| `POST /v1/insider-report` | $0.60 | insider flow report from parsed Form 4 filings (`{ticker}`) |\n| `POST /v1/filing-report` | $0.85 | latest SEC filing read and summarized with the facts that moved (`{ticker}`) |\n| `POST /v1/token-brief` | $0.60 | Solana token due-diligence brief from on-chain and market evidence (`{mint}`) |\n| `POST /v1/ticker-pack` | $2.00 | one ticker, three reports: dossier, insider flow and 13F holders |\n| `POST /v1/token-risk` · `/v1/token-risk/pro` | $0.60 · $0.85 | token and contract risk report from on-chain evidence (`{address, chain}`) |\n| `POST /v1/ipo-report` | $0.05 | IPO pipeline digest, S-1 + 424B4 from EDGAR full-text search (`{days, keyword}`), deterministic |\n\nReports are wallet-only (x402 / MPP / prepaid credits, never proof-of-work) and\ntake a few minutes to generate. The same reports are sold to people by card at\n[agent402.tools/reports](https://agent402.tools/reports) for $1, or $2 for the\nthree biggest. The card price includes payment processing; an agent paying per\ncall over x402 or MPP pays the lower tool price for the same report.\n\nTwo companion tools close the loop: `POST /api/route/execute` ($0.01, with\n`execute-plus` $0.05 and `execute-max` $0.55 tiers for pricier tools) resolves a task description to the\nbest tool and runs it in one paid call, including, with `include:\"external\"`,\ntools sold by **other x402 sellers** (it routes only to sellers with proven\non-chain settled volume, pays them on your behalf **on the chain you paid on** -\nBase or Algorand - and relays the result; see the\n[Smart Order Router guide](https://agent402.tools/guides/smart-order-router)), and\n`POST /api/my-usage` ($0.005) returns the **paying wallet's own** purchase\nhistory - no wallet parameter; the x402 payment is the identity, so nobody can\nread another wallet's profile.\n\n## For humans: reports, monitors and prepaid credits\n\nThe same catalog has a card-paying front door (Stripe Checkout; the operator\nenables it with `STRIPE_SECRET_KEY`, otherwise these pages simply do not mount):\n\n| Page | What you get |\n|---|---|\n| [agent402.tools/reports](https://agent402.tools/reports) | Buy any finished report from the table above by card (`POST /api/buy`) for $2 to $5 (the deepest tiers and the ticker pack sit at the top of that range; current prices on the page), delivered at `/r/<session>` - no wallet, no account. The card price includes payment processing; an agent paying per call pays the lower tool price for the same report. A report is generated only against a Stripe-verified paid session, once; a failed generation is refunded automatically. |\n| [agent402.tools/monitors](https://agent402.tools/monitors) | $5/month subscriptions that re-run a report when something changes and email you: **domain security monitor** (free daily re-probe, full paid re-run on a security change, a certificate inside 14 days of expiry, or every 30 days), **SEC filing watch** (new filing), **Solana token safety watch** (changed safety facts), **fund 13F watch** (new filing), **FDA recall watch** (new recall number), **insider flow watch** (new Form 4), **IPO pipeline watch** (weekly digest). Reports land at `/m/<id>`; manage or cancel through the Stripe Customer Portal at `/monitors/manage`. |\n| [agent402.tools/credits](https://agent402.tools/credits) | Prepaid credits in $20 / $50 / $100 packs. You get one `a402_…` key (shown once on the thanks page and emailed); send it as `Authorization: Bearer a402_…` on any priced route and the call is paid from the balance - **debited only on a successful response**, integer micro-dollars so sub-cent prices are exact, never expires. `GET /api/credits/balance` (same header) reads the balance; a 402 with `{reason, balanceUsd, topup}` means insufficient. Identity-bound tools (`/api/memory*`, `my-usage`) refuse credits because the payment is the identity there; pay those over an x402 rail. |\n\nThe credits key is understood by the SDKs: `agent402-mcp` reads\n`AGENT402_CREDITS_KEY` and `agent402-client` takes `{ creditsKey }`, so a wallet-less\nagent can still call every wallet-only tool by card.\n\n## Skill packs - 70+ multi-tool workflows\n\nFor jobs that span several tools - \"audit a domain\", \"diagnose deliverability\",\n\"work up a time-series\", \"peel an opaque blob\" - Agent402 ships curated\n**skill packs**: ordered, typed sequences of tool calls with a Claude-ready\nprompt template. Callable as **MCP prompts** (`prompts/list` → `prompts/get { name, arguments }`)\nor plain HTTP at `GET /api/skill-packs/{slug}/prompt` (every slug is listed in the\nfree JSON index at [`/api/skill-packs.json`](https://agent402.tools/api/skill-packs.json)).\nA task-shaped query to `catalog.search` (the hosted connector's search tool; the older `search_tools` name still works as an alias) returns the matching pack alongside individual tools.\n\n| Featured pack | Chains | Use it for |\n|---|---|---|\n| [`security-audit`](https://agent402.tools/skills/security-audit) | cert-transparency · dns-lookup · spf-check · dmarc-check · http-headers · tls-cert · tech-stack | Domain security posture |\n| [`trend-analysis`](https://agent402.tools/skills/trend-analysis) | stock-history · fred-series · stats-summary · moving-average · linear-regression · outliers · correlation · forecast-eval | Quant workup on any time series |\n| [`structured-scrape`](https://agent402.tools/skills/structured-scrape) | extract · render · html-select · html-table · html-strip · html-links · html-meta | Deterministic scraping decision tree |\n| [`decode-blob`](https://agent402.tools/skills/decode-blob) | jwt-decode · gunzip · brotli-decompress · base64 · hex · json-format · hash | Identify and peel any opaque string |\n| [`forecasting-bake-off`](https://agent402.tools/skills/forecasting-bake-off) | stock-history · fred-series · forecast-eval · forecast-naive · forecast-ses · forecast-holt · forecast-holt-winters | Rank 4 forecasters by RMSE, pick the winner |\n| [`document-intel`](https://agent402.tools/skills/document-intel) | pdf-info · pdf-to-markdown · pdf-extract-pages · image-ocr · barcode-decode · pdf-merge · images-to-pdf | PDF/OCR/barcode pipeline |\n| [`status-snapshot`](https://agent402.tools/skills/status-snapshot) | dns-lookup · http-check · http-headers · tls-cert · robots-check | One-shot service-health sweep |\n\nAll 100+ packs at [`/skills`](https://agent402.tools/skills) · JSON index at [`/api/skill-packs.json`](https://agent402.tools/api/skill-packs.json) ·\non MCP the packs appear under `prompts/list` so any MCP-aware client picks them up automatically.\n\n## x402 Index - Find · Route · Leaderboard\n\nAgent402 is also **the open routing + ranking layer for the whole x402\necosystem**: it crawls public x402 sellers (the local catalog + an\nauto-discovered set from the [Coinbase CDP Bazaar](https://docs.cdp.coinbase.com/x402/docs/bazaar),\nrefreshed hourly) and exposes them through three free surfaces - same logic as\n`/api/find`: discovery primitives shouldn't cost money.\n\n| Surface | What |\n|---|---|\n| [`GET /api/find?q={task}`](https://agent402.tools/api/find) | Resolve a task to the best-matching tools (route, price, schema, ready example) |\n| [`POST /api/route`](https://agent402.tools/api/route) | Smart Order Router: `{ query, top, include }` → ranked tools across sellers (match score, then **health**, then price). `include=external` excludes Agent402 itself |\n| [`GET /api/leaderboard`](https://agent402.tools/api/leaderboard) | **On-chain ranking** of every x402 seller by Base USDC settled volume (callsSettled, totalUsd, uniqueBuyers per seller). Pipeline: Bazaar → `eth_getLogs` → per-call ceiling → aggregate. Hourly snapshot |\n| [`/marketplace`](https://agent402.tools/marketplace) | Public HTML dashboard: every seller, tool count, network, last-fetched, rolling health |\n| [`GET /api/index`](https://agent402.tools/api/index) | JSON snapshot of the same data (totals, per-seller health/routable flags) |\n| [`/stellar`](https://agent402.tools/stellar) · [`/algorand`](https://agent402.tools/algorand) | Per-chain marketplace pages: sellers and tools settling on that rail specifically |\n\n```bash\n# \"I need an OCR tool - find me the cheapest healthy one anywhere on x402\"\ncurl -X POST https://agent402.tools/api/route \\\n  -H 'content-type: application/json' \\\n  -d '{\"query\":\"ocr image to text\",\"top\":5}'\n\n# \"Who are the most-used x402 sellers right now? (on-chain proof, not self-reports)\"\ncurl 'https://agent402.tools/api/leaderboard?top=25&include=external'\n```\n\n**Dispatch is labelled, never implied:** every `/api/route` row and `/api/index`\nseller carries `routerDispatchEligible` and `routerDispatchReason` (`crawl_failed`,\n`network_unknown`, `settlement_required`, `settlement_checked_at_pay_time`,\n`eligible`, ...); `executeVia` appears only on a row the router will pay right\nnow (`executeViaCallableNow: true`), otherwise the tier moves to\n`executeViaWhenEligible`. `routable` is crawl readiness, never a promise to pay.\nA manifest-priced route is also read live once and then weekly, so the chains\nits 402 actually offers reach the row even when the seller's manifest lags.\n\n**Health-aware:** sellers whose last few crawls errored are excluded from the\nrouter (a buyer routed to a dead seller wastes money). Healthier sellers also\nbreak ties at equal match score and price, so flaky-but-cheap sellers lose to\nreliable ones. Brand-new sellers (no history yet) get the benefit of the doubt.\n\nOperators get **3-rail attribution** on the dashboard ([`/api/stats`](https://agent402.tools/api/stats),\n`/__operator`, token-gated - it answers 404 without the operator token): USDC vs. proof-of-work vs.\nheartbeat-probe traffic are counted separately - and the heartbeat rail is gated\non a `POW_SECRET`-signed token (not a spoofable User-Agent), so the operator\nview reflects real external demand.\n\n**For API sellers:** [`/sell`](https://agent402.tools/sell) is the front door -\nlist an existing x402-speaking API on the index for free with\n[`POST /api/index/register`](https://agent402.tools/sell) (health-routed, 0%\ntake, self-serve, no signup), or install [`agent402-tollbooth`](tollbooth) to\nput a pay-per-crawl gate in front of a site that isn't x402-native yet.\n\n**From code**, the [`agent402-client`](client) npm package wraps all of this -\n`find()` a tool, then `call()` it, paying automatically (a built-in proof-of-work\nfor free tools, your x402 wallet for paid ones), with caching and idempotent\nretries:\n\n```bash\nnpm install agent402-client\n```\n```js\nimport { Agent402 } from \"agent402-client\";\nconst a = new Agent402();                       // free tier (proof-of-work)\nconst out = await a.call(\"hash\", { text: \"hello world\", algo: \"sha256\" });\n\n// no wallet? pay wallet-only tools by card with a prepaid credits key from /credits\nconst b = new Agent402({ creditsKey: \"a402_...\" });\n```\n\n## Plug into your agent framework (zero-dep adapters)\n\nIf you're already on one of the stacks below - OpenAI, Anthropic, the Vercel AI SDK, LangChain (JS or Python), LlamaIndex, Strands, Google ADK, or the OpenAI Agents SDK - skip the wiring: there's a drop-in package that turns the Agent402 catalog into native tool objects for your framework, with payment handled underneath (proof-of-work for free tools, x402+USDC when you pass an `@x402/fetch`):\n\n| Stack | npm | Returns |\n|---|---|---|\n| OpenAI function-calling (chat.completions / Assistants v2 / Responses) | [`agent402-openai-tools`](https://www.npmjs.com/package/agent402-openai-tools) | `tools[]` for `tools:` param |\n| Anthropic Messages API (`tool_use`) | [`agent402-anthropic-tools`](https://www.npmjs.com/package/agent402-anthropic-tools) | `tools[]` for `tools:` param |\n| Vercel AI SDK (`streamText` / `generateText`) | [`agent402-ai-sdk`](https://www.npmjs.com/package/agent402-ai-sdk) | `Record<name, tool()>` |\n| LangChain JS / LangGraph | [`agent402-langchain`](https://www.npmjs.com/package/agent402-langchain) | `DynamicStructuredTool[]` |\n| LlamaIndex TS | [`agent402-llamaindex`](https://www.npmjs.com/package/agent402-llamaindex) | `FunctionTool[]` |\n| Strands Agents (AWS Bedrock AgentCore) | [`agent402-strands`](https://www.npmjs.com/package/agent402-strands) | `StrandsTool[]` for `new Agent({ tools })` |\n| Google ADK (Agent Development Kit) | [`agent402-google-adk`](https://www.npmjs.com/package/agent402-google-adk) | `FunctionTool[]` for ADK agents |\n| OpenAI Agents SDK | [`agent402-openai-agents`](https://www.npmjs.com/package/agent402-openai-agents) | `Agent tools` for `@openai/agents` |\n| Coinbase AgentKit (CDP, Privy, ZeroDev, viem wallets) | [`agent402-agentkit`](https://www.npmjs.com/package/agent402-agentkit) | an `ActionProvider` for `AgentKit.from({ actionProviders })` |\n| LangChain **Python** / CrewAI | [`agent402-langchain`](https://pypi.org/project/agent402-langchain/) (PyPI) | `StructuredTool[]` from `Agent402Toolkit.get_tools()` - four meta-tools (find / route / call / about), not one per slug |\n\n```js\n// e.g. OpenAI - every adapter has the same surface.\nimport OpenAI from \"openai\";\nimport { agent402Tools } from \"agent402-openai-tools\";\n\nconst openai = new OpenAI();\nconst { tools, execute } = await agent402Tools({ slugs: [\"extract\", \"hash\", \"render\"] });\nconst res = await openai.chat.completions.create({ model: \"gpt-4o-mini\", tools, messages: [...] });\n// when the model returns a tool call: await execute(call.function.name, JSON.parse(call.function.arguments));\n```\n\nAlready a Claude/MCP user? `agent402-mcp` is still the better path - paste `https://agent402.tools/mcp` into your client. The adapters are for direct API integrations where MCP isn't available. Sources: [`adapters/`](adapters).\n\n**OpenClaw agents:** drop in [`skills/openclaw/agent402/SKILL.md`](skills/openclaw/agent402/SKILL.md) - teaches an OpenClaw agent to find, pay (x402 USDC on Base, eleven other chains accepted, or free proof-of-work), and call any of the 500+ tools and packs.\n\n## Add your own tool (~15 lines)\n\nA tool is just an object in a kit array. Drop this into any file in\n[`src/tools/`](src/tools) (e.g. append to `AGENT_TOOLS` in `src/tools/agent-kit.js`)\nand it's live - routed, schema-published, MCP-exposed, and covered by the\n\"every tool answers its own example\" CI check:\n\n```js\n{\n  route: \"POST /api/reverse\",\n  name: \"Reverse text\",\n  slug: \"reverse\",\n  category: \"text\",\n  price: \"$0.001\",                       // free via proof-of-work for pure-CPU tools\n  description: \"Reverse a string. Example: {\\\"text\\\":\\\"abc\\\"} → {\\\"reversed\\\":\\\"cba\\\"}\",\n  discovery: {\n    inputSchema: { properties: { text: { type: \"string\" } }, required: [\"text\"] },\n    example: { text: \"abc\" },            // CI calls this and checks it works\n  },\n  handler: (input) => {\n    if (typeof input.text !== \"string\") { const e = new Error('\"text\" required'); e.statusCode = 400; throw e; }\n    return { reversed: [...input.text].reverse().join(\"\") };\n  },\n}\n```\n\nThat's the whole contract: `handler(input)` returns a JSON-serializable object\n(or throws an `Error` with `.statusCode` for a 4xx). Pure-CPU tools are\nautomatically free-via-proof-of-work; tools that hit the network or disk stay\nwallet-only. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full walkthrough.\n\n## Optional: charge per call with x402\n\nThe same server can require payment per call - useful if you host a public\ninstance. Payments are the default posture: a bare `npm start` **fails closed**,\nexiting unless `WALLET_ADDRESS` is set - running without payments is the\nexplicit opt-in (`FREE_MODE=true npm start`). To charge, set `WALLET_ADDRESS`\n+ CDP facilitator keys (free at [portal.cdp.coinbase.com](https://portal.cdp.coinbase.com))\nand agents pay in USDC on Base (or Solana, Polygon, Arbitrum, Monad, Celo, Avalanche, Sei, Optimism, Stellar,\nAlgorand - or USDG on Robinhood Chain via `PAYMENT_NETWORKS=…,robinhood` +\n`ROBINHOOD_FACILITATOR_URL`) via standard x402 clients:\n\nEvery 402 is valid under `@x402/core`'s own schemas (at most five tags, CI-checked\non all routes) and carries a typed output schema twice: in the `bazaar` discovery\nextension and as `accepts[0].outputSchema` on the first accept, so a client that\nreads the spec's field sees the response shape before paying.\n\n```js\nimport { wrapFetchWithPayment } from \"@x402/fetch\";\nimport { x402Client } from \"@x402/core/client\";\nimport { registerExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst client = new x402Client();\nregisterExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });\nconst payFetch = wrapFetchWithPayment(fetch, client);\nconst res = await payFetch(\"https://agent402.tools/api/extract\", {\n  method: \"POST\", headers: { \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({ url: \"https://example.com/article\" }),\n});\n```\n\n**MPP dual-stack.** The paywall also speaks MPP (Machine Payments Protocol -\nthe IETF-track `Payment` HTTP auth scheme from [tempoxyz/mpp](https://github.com/tempoxyz/mpp)):\nthe same 402 carries a `WWW-Authenticate: Payment` challenge, `Authorization:\nPayment` credentials settle, and settled responses return a `Payment-Receipt`.\nMPP has two methods here: `evm` settles identically to x402 (EIP-3009 USDC,\nsame facilitator, same price); `tempo` settles natively via\n[Tempo](https://tempo.xyz)'s own relay (TIP-1034/TIP-20, no x402 facilitator\ninvolved) - a genuinely separate settlement path, set `TEMPO_API_KEY` to\nenable it. An [`mppx`](https://www.npmjs.com/package/mppx) client works out\nof the box for either method; set `MPP_SECRET_KEY` to enable the shim on your\nown instance. Same URL either way - the buyer's client picks the dialect.\n\nAgents without a wallet still use every pure-CPU tool by solving a single-use\nsha256 proof-of-work (sub-second; the MCP servers do it automatically). Details:\n[wiki: Paying with x402](https://github.com/MikeyPetrillo/Agent402/wiki/Paying-with-x402)\n· [Paying with MPP](https://github.com/MikeyPetrillo/Agent402/wiki/Paying-with-MPP)\n· [Paying with Compute](https://github.com/MikeyPetrillo/Agent402/wiki/Paying-with-Compute).\n\n## Why pay here - seven things that are different\n\nEvery claim links to the surface that proves it (the one-page version: [agent402.tools/why](https://agent402.tools/why)).\n\n1. **Pay for what the model used, with the ceiling quoted first.** The metered gateway (`POST /v1/metered/chat/completions`) quotes each 402 from the request's own body; a wallet paying `upto` settles actual usage under that ceiling, provider discounts such as prompt-cache reads pass through at cost, and every settled x402 or MPP response carries a receipt.\n2. **A failed call is not charged, and the response proves it.** Settlement runs after the handler and an error status cancels it, so a response with no payment receipt, or a receipt marked `success:false`, moved no money; a retry carrying the same `Idempotency-Key` and the same payment credential replays the paid answer instead of paying again; the one residual case (a settled receipt on an error response) is detected by our own alarm and recorded as a debt in a refund ledger, never written off silently.\n3. **One key buys everything.** The same wallet or credits key pays for five LLM tiers on three wires (OpenAI chat, OpenAI Responses, Anthropic Messages), embeddings, rerank, images, video, speech, transcription, grounded answers with citations, 500+ tools, wallet-keyed memory and finished reports.\n4. **No wallet required.** [Prepaid credits by card](https://agent402.tools/credits), cards over MPP and card checkout for reports sit beside USDC or USDG on twelve chains and native MPP on Tempo.\n5. **Finished work, ready to use.** Dossiers, insider flow, 13F holdings, filing reports, IPO digests, domain audits, token risk, deep research, market briefs, recall watch and a LinkedIn article package, grounded in primary sources with a data appendix; [monitors](https://agent402.tools/monitors) probe daily for free and re-run the paid report when the facts change.\n6. **We buy on your behalf.** `POST /api/route/execute` resolves a task to the best proven seller across the ecosystem, pays them from our wallet and relays the result under one receipt.\n7. **Everything is checkable.** Uptime observed by two probes outside production ([`/status`](https://agent402.tools/status)), a real-money canary through every rail daily, transactions published by rail and wire ([`/revenue`](https://agent402.tools/revenue)), open source and self-hostable, no model in the tool serving path.\n\n## Why it's solid\n\n- **Everything is tested** - CI calls all 500+ tools with their own documented\n  examples and blocks the release on any failure. Two independent probes outside\n  production watch the live instance (one every 5 minutes, on separate infra from\n  the other), and what they observe is public at\n  [`/status`](https://agent402.tools/status) - where a day with no observation\n  reads \"no data\", never uptime, because an outage is exactly when a probe\n  cannot report.\n- **Hardened** - connect-time SSRF guard on every URL tool (DNS-rebind safe),\n  proof-of-work that's signed/single-use/slug-scoped, per-IP rate limits, and\n  security headers. See [wiki: Security Model](https://github.com/MikeyPetrillo/Agent402/wiki/Security-Model).\n- **Deterministic utilities** - no model in the serving path of the utility tools, so the same input always\n  gives the same output, with full OpenAPI schemas.\n- **Auditable, on-chain revenue** - every paid call settles in USDC to\n  [`agent402.base.eth`](https://basescan.org/address/0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0#tokentxns)\n  (a Base name resolving to the public receiving wallet) - verifiable by anyone\n  on Basescan; live counts at [`/api/stats`](https://agent402.tools/api/stats).\n- **AGPL-3.0 licensed, self-host-friendly** - clone it, strip what you don't need, add\n  what you do.\n\n## Agent402 in the x402 ecosystem\n\n[x402](https://x402.org) is an open payment protocol built on HTTP `402 Payment\nRequired` for machine-to-machine, pay-per-call payments in stablecoins (USDC).\nMost projects in the space are the [protocol + SDKs](https://github.com/coinbase/x402),\na starter template, or a payment facilitator. **Agent402 is the applied layer** -\na ready-to-run **x402 server** that already speaks the protocol and ships 500+\nworking tools, so you don't have to build the catalog yourself.\n\n- **Want the protocol or an SDK?** → [coinbase/x402](https://github.com/coinbase/x402).\n- **Want a server you can run *today* that actually does things over x402 + MCP?** → you're here.\n- Self-hostable, deterministic, free via proof-of-work without a wallet, and\n  non-custodial on the payment tools (your agent signs with its own key - Agent402 never holds funds).\n\nListed in the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.MikeyPetrillo/agent402)\nand discoverable in the Coinbase [x402 Bazaar](https://docs.cdp.coinbase.com/x402/docs/bazaar).\n\n**Works with [AWS Bedrock AgentCore Payments](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/payments.html) out of the box** - AgentCore orchestrates x402, which is the protocol Agent402 already speaks. Point the AgentCore Gateway at `https://agent402.tools/mcp` for all 500+ tools, or use [`agent402-strands`](https://www.npmjs.com/package/agent402-strands) for a curated subset inside a [Strands](https://strandsagents.com) agent. Five-minute recipe: [wiki: AWS Bedrock AgentCore](https://github.com/MikeyPetrillo/Agent402/wiki/AWS-Bedrock-AgentCore).\n\n### Tollbooth - pay-per-crawl for **your** site (the other side of x402)\n\nCharge AI crawlers that hit your site. Humans browse free; known bots get\n`402 Payment Required` and can pay in USDC over x402 - or solve a free\nproof-of-work. The open, crypto-native answer to Cloudflare's closed\npay-per-crawl: no CDN lock-in, no Stripe, no merchant-of-record, no signup.\n\n- **Product page · pricing · live install:** [agent402.tools/tollbooth](https://agent402.tools/tollbooth)\n- **Managed Tollbooth Cloud (Solo / Team / Agency / Enterprise):** [agent402.tools/tollbooth/cloud](https://agent402.tools/tollbooth/cloud) - join the waitlist\n- **Run it yourself (MIT, npm):** `npm i agent402-tollbooth` · [`tollbooth/`](tollbooth) · [tollbooth/README.md](tollbooth/README.md)\n\nRuns as Express middleware, a Next.js / Vercel Edge middleware, a Cloudflare\nWorker, a reverse proxy, or a WordPress plugin (beta). Drop-in templates in\n[`tollbooth/deploy/`](tollbooth/deploy). One Web-Crypto core powers all of them.\nSince 0.9.x the gate also speaks **MPP natively**: hand it your `@x402/express`\nmiddleware (`createTollbooth({ x402 })`) and it mints `WWW-Authenticate: Payment`\nevm challenges from the same 402, or give it a Tempo relay key\n(`createTollbooth({ tempo: { apiKey, recipient, currency, splits } })`) and it\nsettles MPP `tempo/charge` credentials on Tempo with optional split payments,\nwith no x402 middleware at all.\nSince 0.10.0 the **edge build speaks MPP too**: with `secret`, `payTo` and your\n`verifyX402` callback set, every 402 carries a `WWW-Authenticate: Payment`\nchallenge beside the x402 quote, and an `Authorization: Payment` credential\n(HMAC-bound to that challenge, unexpired, minted for that exact resource) is\ntranslated to `PAYMENT-SIGNATURE` and handed to the same verifier.\n\n## Repository map\n\n| Path | What |\n|---|---|\n| `src/server.js` | Express app + the tool catalog (routes, prices, schemas, discovery) |\n| `src/tools/` | The tool kits (web, PDF, media, images, live data, crypto/x402, 200+ pure-CPU utilities) - **add tools here** |\n| `src/mcp-http.js` | Hosted MCP connector (streamable HTTP, authless free tier) |\n| `src/pow.js` | Proof-of-work tier (signed, single-use, slug-scoped challenges) |\n| `src/payments.js` | Optional x402 v2 wiring: USDC on Base/Solana/Polygon/Arbitrum/Monad/Celo/Avalanche/Sei/Optimism/Stellar/Algorand + USDG on Robinhood Chain (12 chains), CDP facilitator, Bazaar discovery |\n| `src/mpp-shim.js`, `src/mpp-tempo.js`, `src/mpp-stripe.js` | MPP on the same routes: `Payment` challenges/credentials translated to x402 (evm), native Tempo settlement via Tempo's relay, and Stripe cards over MPP |\n| `src/x402-index.js` | x402 Index + Smart Order Router: cross-seller crawl, auto-discovery, health-aware routing, per-chain marketplace pages (`/stellar`, `/algorand`) |\n| `src/sell.js` | `/sell` - the seller front door: free self-serve listing (`POST /api/index/register`) or `agent402-tollbooth` for pay-per-crawl |\n| `src/human-checkout.js` | Card front door for the report products: `/reports` (page in `src/human-reports-page.js`), `POST /api/buy`, delivery at `/r/:sessionId` (Stripe Checkout, generate-once, auto-refund on failure) |\n| `src/stripe-subscriptions.js` | `/monitors` - $5/month monitor subscriptions (`MONITOR_PRODUCTS`: domain, filing, token, fund, recall, insider, ipo), signature-verified webhook, Customer Portal |\n| `src/monitor-scheduler.js` | Fulfilment for the monitors: cheap daily probes, paid re-runs on change, email delivery, reports at `/m/:id` |\n| `src/credits.js` | Prepaid card credits: `/credits`, `a402_` bearer keys, the authorize-then-debit gate in front of every priced route |\n| `mcp/` | The `agent402-mcp` npm package (stdio MCP server) |\n| `client/` | The `agent402-client` buyer SDK (`find()` + `call()` with auto-payment) |\n| `tollbooth/` | The `agent402-tollbooth` pay-per-crawl gate (Express / edge / proxy) |\n| `adapters/` | Drop-in tools for every framework in the adapter table above (npm, plus `langchain-py` on PyPI for LangChain/CrewAI Python) |\n| `wiki/` | Source for the [GitHub wiki](https://github.com/MikeyPetrillo/Agent402/wiki) (CI-synced) |\n| `scripts/` | Tests, demos, ops tooling |\n\n## Legal\n\n- The hosted instance at agent402.tools is provided under its\n  [Terms of Service](https://agent402.tools/terms) (acceptable-use policy included - using the\n  service, including programmatically, constitutes acceptance) and\n  [Privacy Policy](https://agent402.tools/privacy).\n- AI-gateway traffic (`/v1` chat, embeddings, images, speech) is additionally subject to the\n  upstream model providers' usage policies. Wallets used for prohibited content are blocked\n  before settlement (`WALLET_BLOCKLIST`).\n- The **server code** is AGPL-3.0-licensed and provided as-is; every **published npm package** is MIT with its own LICENSE file in its directory: `agent402-mcp` (`mcp/`), `agent402-client` (`client/`), `agent402-tollbooth` (`tollbooth/`), `agent402-openclaw` (`openclaw/`), `agent402-agentkit` (`adapters/agentkit/`), `elizaos-plugin-agent402` (`adapters/eliza/`) and the facilitator (`facilitator/`). GitHub's repository-level license badge reports the server's AGPL; a package's `license` field and its directory's LICENSE are what apply to that package. Provided as-is, without warranty (see [LICENSE](LICENSE) and [NOTICE](NOTICE)). \"Agent402\" and the logo are trademarks of Havok Holdings LLC - the license covers the code, not the name; forks must rename (see [TRADEMARKS.md](TRADEMARKS.md)).\n  If you self-host, you are the operator: your deployment, your terms, your compliance -\n  Havok Holdings LLC operates only the hosted instance and is not responsible for third-party\n  deployments.\n\n## Contact\n\n- **Email:** [mike@agent402.tools](mailto:mike@agent402.tools)\n- **X / Twitter:** [@Agent402Tools](https://x.com/Agent402Tools)\n- **GitHub:** [MikeyPetrillo/Agent402](https://github.com/MikeyPetrillo/Agent402)\n\n## Contributing\n\nPRs that add useful tools, fix bugs, or improve docs are very welcome - see\n[CONTRIBUTING.md](CONTRIBUTING.md). Server AGPL-3.0, every published package MIT (see Legal above). Maintained by\n[Havok Holdings LLC](https://github.com/MikeyPetrillo/Agent402).\n",
  "bytes": 52166,
  "sha": "616935a3711586b2659ad6dc720b5553242060a4c4aeff9bbc721488a87ca1ab",
  "repo_slug": "mikeypetrillo/agent402",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mikeypetrillo_agent402_c22dfeae/readme"
}