{"openapi":"3.1.0","info":{"title":"AgentToll — x402 Agent Offload","version":"1.22.0","description":"Agent toll API: pay-per-call public URL → LLM-ready markdown. x402 micropayments on Base USDC for llm-pack, clean, extract, batch, and hub. Tags: agent-toll, x402, html-to-markdown, RAG, pay-per-call. Fair play — real page data only.","contact":{"name":"AgentToll","email":"theyeatheirown@gmail.com","url":"https://agent-toll.agentfetcher.workers.dev"},"license":{"name":"MIT"},"x-tags":["x402","agent-toll","llm-pack","html-to-markdown","url-to-markdown","rag","micropayments","usdc","base","ai-agents","agent-offload","web-clean","bazaar","agent-tool","pay-per-call","toll"],"x-keywords":"AgentToll, agent toll, x402, AI agents, pay per call API, LLM ready markdown, html to markdown, url to markdown, web clean for agents, agent offload, micropayments, USDC Base, eip155:8453, HTTP 402, Coinbase Bazaar, x402scan, RAG ingest, llm-pack, token budget pack, agent tool marketplace, web scrape for LLM, structured extract, agent hub jobs"},"servers":[{"url":"https://agent-toll.agentfetcher.workers.dev"}],"tags":[{"name":"paid","description":"x402 paid endpoints (return 402 without payment)"},{"name":"free","description":"Free endpoints (not x402-paid)"},{"name":"agent-toll","description":"Pay-per-call agent offload infrastructure"},{"name":"llm-pack","description":"Primary token-budgeted markdown offload"},{"name":"hub","description":"Agent job board earn / get-help rail"}],"paths":{"/v1/llm-pack":{"post":{"tags":["paid"],"summary":"LLM pack offload ($0.005 USDC via x402)","description":"Primary agent offload: fetch public URL, strip chrome, convert to markdown, pack under maxTokens. Paste markdown into model context. Unpaid → 402.","operationId":"llmPackPage","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL","example":"https://example.com"},"maxTokens":{"type":"integer","minimum":500,"maximum":32000,"default":4000,"description":"Token budget for packed markdown"},"noCache":{"type":"boolean","default":false}}},"example":{"url":"https://example.com","maxTokens":4000,"noCache":false}}}},"responses":{"200":{"description":"Packed markdown JSON"},"400":{"description":"Invalid URL or maxTokens"},"402":{"description":"Payment required (x402)"}}}},"/v1/llm-pack-batch":{"post":{"tags":["paid"],"summary":"LLM pack batch ($0.02 USDC via x402, up to 5 URLs)","description":"Research/RAG offload: pack 1–5 public URLs into LLM-ready markdown in one payment. Unpaid → 402.","operationId":"llmPackBatch","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["urls"],"properties":{"urls":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"string","format":"uri"},"description":"Public http(s) URLs to pack"},"maxTokens":{"type":"integer","minimum":500,"maximum":32000,"default":4000},"noCache":{"type":"boolean","default":false}}},"example":{"urls":["https://example.com","https://example.org"],"maxTokens":4000}}}},"responses":{"200":{"description":"Batch result: packs[] with ok/markdown or error per URL"},"400":{"description":"Invalid urls array or maxTokens"},"402":{"description":"Payment Required — x402 (atomic 20000 = $0.02 USDC)"}}}},"/v1/clean":{"post":{"tags":["paid"],"summary":"Clean page ($0.002 USDC via x402)","description":"Pay-per-request clean of a public URL into agent-ready JSON + markdown. Unpaid → HTTP 402.","operationId":"cleanPage","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to clean","example":"https://example.com"},"noCache":{"type":"boolean","default":false,"description":"Skip server cache"}}},"example":{"url":"https://example.com","noCache":false}}}},"responses":{"200":{"description":"CleanResult (includes markdown) + ticket after payment"},"400":{"description":"Invalid URL"},"402":{"description":"Payment Required — x402 challenge (PAY via USDC on Base)"}}}},"/v1/extract":{"post":{"tags":["paid"],"summary":"Deep extract ($0.01 USDC via x402)","description":"Deep extract: text, markdown, headings, meta, JSON-LD, emails, phones. Unpaid → HTTP 402.","operationId":"extractPage","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","example":"https://example.com"},"noCache":{"type":"boolean","default":false}}},"example":{"url":"https://example.com"}}}},"responses":{"200":{"description":"ExtractResult + ticket after payment"},"400":{"description":"Invalid URL"},"402":{"description":"Payment Required — x402"}}}},"/v1/teaser":{"get":{"tags":["free"],"summary":"Free practice (not x402-paid)","description":"Free sample clean of example.com. No payment.","operationId":"teaser","security":[],"responses":{"200":{"description":"Free sample JSON"}}}},"/rules":{"get":{"tags":["free"],"summary":"Published fair-play rules (not x402-paid)","operationId":"rules","security":[],"responses":{"200":{"description":"Rules JSON"}}}},"/health":{"get":{"tags":["free"],"summary":"Health check (not x402-paid)","operationId":"health","security":[],"responses":{"200":{"description":"OK"}}}},"/discovery":{"get":{"tags":["free"],"summary":"Discovery status (not x402-paid)","operationId":"discovery","security":[],"responses":{"200":{"description":"Discovery JSON"}}}},"/llms.txt":{"get":{"tags":["free"],"summary":"Agent instructions (not x402-paid)","operationId":"llmsTxt","security":[],"responses":{"200":{"description":"text/plain"}}}}}}