No account. No API key. No dashboard. Just HTTP 402, a USDC transfer on Base, and a clean JSON response. 100 endpoints across 6 categories — built for autonomous agents, billable to the cent.
Every API on the market — Google, AWS, Twilio, Clearbit — assumes a human to register, file a credit card, and babysit a key. Agents don't do that. Friction kills autonomy. HTTP 402 finally does what it was named for in 1996.
Every call assumes a person on a Tuesday afternoon.
One curl. The server quotes a price. The agent pays it. Done.
LangChain, AutoGPT, n8n, Claude Code, GPT Agents — all autonomous on day one.
100 micro-service endpoints. Each one stateless, priced per call, and consumable from any agent runtime. Click a category to browse.
The official client SDK handles the full 402 → pay → retry dance for you. Drop in a wallet, call any endpoint, receive JSON. Wallet stays under your control.
# 1 · ask the endpoint, get a 402 quote curl -i -X POST https://api.tools402.dev/v1/pdf-md \ -F "file=@receipt.pdf" # → HTTP/1.1 402 Payment Required # → { "x402Version":1, "accepts":[{"scheme":"exact","network":"base", # "maxAmountRequired":"10000","asset":"0x833589fCD6...02913", # "payTo":"0x3b9F199D...759e","resource":"/v1/pdf-md", # "mimeType":"application/json","maxTimeoutSeconds":60}], # "error":"X-PAYMENT header is required" } # 2 · pay 0.010 USDC on Base, then retry with X-Payment (base64url) curl -X POST https://api.tools402.dev/v1/pdf-md \ -H 'X-Payment: eyJ4NDAyVmVyc2lvbiI6MS4uLg==' \ -F "file=@receipt.pdf" # → 200 OK # → { "markdown":"# Receipt\n\n...","pages":2 }
# pip install tools402 from tools402 import Client from eth_account import Account agent = Client(wallet=Account.from_key("0x…")) result = agent.call( "/v1/pdf-md", files={"file": open("receipt.pdf", "rb")}, ) print(result["markdown"][:80]) # # Receipt — Carrefour SA — 2026-04-15 ...
// npm install tools402-client viem import { Tools402 } from "tools402-client"; import { privateKeyToAccount } from "viem/accounts"; const agent = new Tools402({ wallet: privateKeyToAccount(process.env.AGENT_KEY), }); const r = await agent.call("/v1/pdf-md", { file: await Bun.file("receipt.pdf").arrayBuffer(), }); console.log(r.markdown.slice(0, 80)); // # Receipt — Carrefour SA ...
# LangChain — register every tools402 endpoint as a Tool from langchain.agents import initialize_agent from tools402.langchain import tools402_toolkit toolkit = tools402_toolkit(wallet="0x…") agent = initialize_agent(toolkit.tools(), llm, agent="openai-functions") agent.run("Convert invoice.pdf to markdown, then look up the SIREN of the vendor.") # tools used: /v1/pdf-md → /v1/siren-fetch
# Claude Code · one command to install the MCP tool claude mcp add tools402 \ --command "bunx tools402-mcp" \ --env BASE_RPC_URL=https://mainnet.base.org \ --env TOOLS402_WALLET_KEY=$AGENT_KEY # → Claude can now call any of the 100 endpoints # autonomously, paying per call from the wallet you own.
Every endpoint quotes its price up-front. No tier, no commitment, no minimum. Click any row to open its docs page.
No subscription. No free tier. No account. Endpoints are priced by the cost of the underlying compute — trivial calls cost $0.0005, heavy AI work tops out near $0.020. Settlement is direct, on-chain, in USDC. The wallet on the receiving end is ours; the wallet paying is yours.
Open the docs, copy a curl, fund a wallet with $1 of USDC on Base. That's your runway for ~200 invoice extractions, ~1000 IP lookups, or ~20000 UUIDs.