{"openapi":"3.1.0","info":{"title":"scrape402","version":"1.0.0","description":"Pay-per-call HTTP APIs for AI agents — x402 USDC micropayments on Base. No signup, no API keys. Catalog: /.well-known/x402; agent guide: /llms.txt."},"servers":[{"url":"https://x402.shizu.me"}],"paths":{"/scrape":{"get":{"operationId":"get_scrape","summary":"Web Page Scraper ($0.006/call)","description":"Fetch any public web page and return clean main content as JSON: title, author, publish date, hostname, excerpt, full text, and word_count. Boilerplate (nav, ads, footers) is stripped. Input: url (public http/https). Use to read articles, docs, or pages and feed clean text to an LLM.\n\nPaid endpoint: $0.006 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["web-scraping","content-extraction","html-to-text","article","readability","markdown"],"x-price":"$0.006","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com","title":"Example Domain","author":null,"date":null,"hostname":"example.com","word_count":19,"text":"Example Domain. This domain is for use in illustrative examples..."}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com"}]}},"/markdown":{"get":{"operationId":"get_markdown","summary":"Webpage to Markdown ($0.004/call)","description":"Fetch any public web page and return its main content as clean Markdown, ready to feed to an LLM. Boilerplate (nav, ads, footers) stripped. Input: url (public http/https). Returns {url, markdown, word_count}.\n\nPaid endpoint: $0.004 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["webpage-to-markdown","markdown","html-to-markdown","web-scraping","content-extraction","web","llm"],"x-price":"$0.004","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples...","word_count":28}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com"}]}},"/pdf":{"get":{"operationId":"get_pdf","summary":"PDF to Text ($0.005/call)","description":"Fetch a PDF by URL and extract its text as JSON. Input: url (public http/https pointing to a PDF). Returns {url, pages, word_count, text}. Bounded to the first 50 pages; 3 MB max.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["pdf","pdf-to-text","document","text-extraction","data","web"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com/file.pdf","pages":3,"word_count":412,"text":"Extracted text content of the PDF..."}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com/file.pdf"}]}},"/extract":{"post":{"operationId":"post_extract","summary":"Structured Extract ($0.015/call)","description":"Scrape a public web page and pull caller-specified fields back as clean JSON. Body: {url, fields:[...], instructions?}. 'fields' is a list of field names to extract (e.g. [\"price\",\"availability\",\"sku\"]); any field not found comes back null. Optional 'instructions' refines how to read the page. Returns {url, fields:{...}}. Common uses: product price/stock monitoring, lead enrichment from company pages, scraping job/listing details. Built on the /scrape extractor plus an LLM extraction pass.\n\nPaid endpoint: $0.015 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["structured-extraction","data-extraction","web-scraping","json","llm","content-extraction","price-monitoring","lead-enrichment","web-data","product-data"],"x-price":"$0.015","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://shop.example.com/widget-x","fields":{"product_name":"Widget X","price":"$24.99","availability":"In stock","sku":"WX-001"}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"url":"https://shop.example.com/widget-x","fields":["product_name","price","availability","sku"]}}}}}},"/weather":{"get":{"operationId":"get_weather","summary":"Weather — Current & Historical ($0.003/call)","description":"Weather for any coordinate. Current (default): temperature (C), relative humidity (%), wind speed, weather code — real-time. Historical: add start_date & end_date (YYYY-MM-DD, up to 92 days per call, archive lags ~5 days) for hourly history — backtest weather-sensitive strategies (energy, agriculture, logistics). Inputs: lat, lon, start_date?, end_date?. Keyless (Open-Meteo).\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["weather","forecast","temperature","meteorology","geolocation","historical-weather","backtesting","time-series"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"lat":52.52,"lon":13.4,"current":{"temperature_2m":17.6,"relative_humidity_2m":48,"wind_speed_10m":12.3,"weather_code":1}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":false,"schema":{"type":"string"},"example":"13.40"}]}},"/crypto":{"get":{"operationId":"get_crypto","summary":"Crypto Spot Price ($0.001/call)","description":"Current spot price for crypto trading pairs. Input: pair — a single pair (BTC-USD) or up to 10 comma-separated pairs (BTC-USD,ETH-USD,SOL-USD) returned in ONE call for the same price — poll a whole portfolio per tick. Returns amount and currency per pair. Real-time from Coinbase.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","price","bitcoin","ethereum","exchange-rate","trading","portfolio","batch"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"pair":"BTC-USD","amount":"62542.005","currency":"USD"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"pair","in":"query","required":false,"schema":{"type":"string"},"example":"BTC-USD"}]}},"/orderbook":{"get":{"operationId":"get_orderbook","summary":"Crypto Order Book ($0.004/call)","description":"Live order book for a crypto pair (e.g. BTC-USD). Default level=1: best bid/ask with sizes, mid price, spread, and spread_bps. level=2 adds top-of-book depth (depth param, 1-50 price levels per side, default 20). Real-time from Coinbase. Use for trading signals, spread monitoring, liquidity checks, and execution decisions.\n\nPaid endpoint: $0.004 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","orderbook","bid-ask","spread","market-data","trading","liquidity","market-microstructure","bitcoin"],"x-price":"$0.004","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"pair":"BTC-USD","level":1,"bid":[62540.2,0.5],"ask":[62541.8,0.3],"mid":62541.0,"spread":1.6,"spread_bps":0.256}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"pair","in":"query","required":false,"schema":{"type":"string"},"example":"BTC-USD"}]}},"/gas":{"get":{"operationId":"get_gas","summary":"EVM Gas Price Oracle ($0.003/call)","description":"Current gas prices for Base or Ethereum mainnet: legacy gas price, EIP-1559 base fee and suggested priority fee (all gwei), plus the latest block number. Query: chain (base | ethereum, default base). Real-time from public RPC. Use to time on-chain transactions, estimate costs, and monitor fee spikes.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gas","gas-price","ethereum","base","evm","blockchain","transaction-fees","eip1559","onchain","web3"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"chain":"base","gas_price_gwei":0.012,"base_fee_gwei":0.008,"priority_fee_gwei":0.001,"block":27100000}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"example":"base"}]}},"/fx":{"get":{"operationId":"get_fx","summary":"Fiat Exchange Rates ($0.003/call)","description":"Foreign-exchange rates for 30+ fiat currencies (ECB reference data). Query: base (3-letter code, default USD), symbols (optional comma list, e.g. EUR,GBP,JPY), date (optional YYYY-MM-DD for historical rates back to 1999). Returns {base, date, rates}. Use for currency conversion, international pricing, and FX monitoring.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["fx","forex","exchange-rate","currency","usd","eur","finance","ecb","conversion"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"base":"USD","date":"2026-07-07","rates":{"EUR":0.851,"GBP":0.734,"JPY":144.1}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"base","in":"query","required":false,"schema":{"type":"string"},"example":"USD"},{"name":"symbols","in":"query","required":false,"schema":{"type":"string"},"example":"EUR,GBP,JPY"}]}},"/rss":{"get":{"operationId":"get_rss","summary":"RSS / Atom Feed Reader ($0.004/call)","description":"Fetch any public RSS or Atom feed and return clean JSON: feed title plus items with title, link, published date, and plain-text summary (no XML parsing needed). Query: url (feed URL), limit (1-50, default 20). Use to monitor news, blogs, releases, changelogs, or podcasts on a schedule.\n\nPaid endpoint: $0.004 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["rss","atom","feed","news","monitoring","syndication","xml-to-json","content","headlines"],"x-price":"$0.004","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com/feed.xml","feed_title":"Example Blog","count":2,"items":[{"title":"Post title","link":"https://example.com/post","published":"Mon, 07 Jul 2026 09:00:00 GMT","summary":"First lines..."}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com/feed.xml"}]}},"/candles":{"get":{"operationId":"get_candles","summary":"Crypto OHLC Candles ($0.005/call)","description":"Historical OHLC candles for a crypto pair (e.g. BTC-USD) — for technical analysis and backtesting. Query: pair; granularity (1m, 5m, 15m, 1h, 6h, 1d — default 1h); limit (1-300, default 100) for the latest window, OR start & end (ISO8601 or unix secs) for a backtest range paginated server-side up to 3000 candles — months of history in one call. Returns candles oldest->newest, each {t, o, h, l, c, v}. Real-time from Coinbase.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","ohlc","candles","technical-analysis","backtesting","market-data","trading","bitcoin"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"pair":"BTC-USD","granularity":"1h","count":744,"candles":[{"t":1719763200,"o":62410.1,"h":62600.0,"l":62310.5,"c":62542.0,"v":118.3}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"pair","in":"query","required":false,"schema":{"type":"string"},"example":"BTC-USD"},{"name":"granularity","in":"query","required":false,"schema":{"type":"string"},"example":"1h"},{"name":"start","in":"query","required":false,"schema":{"type":"string"},"example":"2026-01-01T00:00:00Z"},{"name":"end","in":"query","required":false,"schema":{"type":"string"},"example":"2026-02-01T00:00:00Z"}]}},"/news":{"get":{"operationId":"get_news","summary":"Crypto News Headlines ($0.002/call)","description":"Latest crypto news headlines aggregated from major outlets (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine), merged and sorted newest-first. Query: limit (1-50, default 20), source (optional outlet filter). Each item: title, link, source, published, summary. Use for market-news monitoring loops and sentiment pipelines.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","news","headlines","bitcoin","ethereum","market-news","monitoring","media"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"count":1,"items":[{"title":"Bitcoin rallies past...","link":"https://www.coindesk.com/...","source":"coindesk","published":"Mon, 13 Jul 2026 09:00:00 GMT","summary":"..."}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"example":"10"}]}},"/funding":{"get":{"operationId":"get_funding","summary":"Perp Funding Rates ($0.003/call)","description":"Live perpetual-futures funding rates from Hyperliquid: per-coin funding rate, mark price, and open interest. Query: coins (optional comma list, e.g. BTC,ETH,SOL), limit (default 20, ranked by absolute funding). Use to monitor funding, hunt basis trades, and time entries. Real-time, keyless.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","funding-rates","perpetuals","hyperliquid","derivatives","trading","basis","open-interest"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"count":2,"rates":[{"coin":"BTC","funding":1.25e-05,"mark":62542.0,"open_interest":12345.6}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"coins","in":"query","required":false,"schema":{"type":"string"},"example":"BTC,ETH"}]}},"/trending":{"get":{"operationId":"get_trending","summary":"Trending Coins ($0.002/call)","description":"Cryptocurrencies trending on CoinGecko right now — the coins agents and humans are searching for most. Returns id, symbol, name, market-cap rank, and price data per coin. No inputs. Use for momentum scanning, narrative detection, and screener loops.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","trending","momentum","coingecko","discovery","screener","altcoins"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"count":1,"coins":[{"id":"bitcoin","symbol":"BTC","name":"Bitcoin","rank":1,"price_usd":62542.0}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[]}},"/yields":{"get":{"operationId":"get_yields","summary":"DeFi Yield Screener ($0.005/call)","description":"DeFi yield opportunities across chains and protocols (DefiLlama data): pool, project, chain, TVL, and APY, ranked by APY. Query: chain (e.g. Ethereum, Base), project, min_tvl (USD, default 10000000), limit (1-100, default 20). Use to screen for yield, monitor rates, and route capital.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["defi","yield","apy","tvl","staking","farming","defillama","screener"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"count":1,"pools":[{"pool":"STETH","project":"lido","chain":"Ethereum","tvl_usd":16343025352,"apy":2.185}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"example":"Base"},{"name":"min_tvl","in":"query","required":false,"schema":{"type":"string"},"example":"10000000"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"example":"10"}]}},"/predictions":{"get":{"operationId":"get_predictions","summary":"Prediction Market Odds ($0.005/call)","description":"Live prediction-market odds. source=polymarket (default) or kalshi. Polymarket: top active markets by 24h volume with outcome prices. Kalshi: open markets with yes/no bid-ask. Query: source, limit (1-50, default 20). Use for event probabilities, news signals, and cross-market arbitrage scans.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["prediction-markets","polymarket","kalshi","odds","probability","events","trading","arbitrage"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"source":"polymarket","count":1,"markets":[{"question":"Will X happen by 2027?","outcomes":["Yes","No"],"prices":[0.62,0.38],"volume24h":123456.7,"end":"2026-12-31T00:00:00Z"}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string"},"example":"polymarket"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"example":"10"}]}},"/sentiment":{"get":{"operationId":"get_sentiment","summary":"Crypto Fear & Greed Index ($0.002/call)","description":"Crypto market sentiment: the Fear & Greed Index (0=extreme fear, 100=extreme greed) with classification, plus optional history. Query: days (1-90, default 7). Use as a contrarian signal, regime filter, or risk gauge in trading loops.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","sentiment","fear-greed","market-psychology","signal","trading","risk","indicator"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"now":{"value":28,"classification":"Fear"},"history":[{"value":26,"classification":"Fear","date":"2026-07-12"}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"string"},"example":"7"}]}},"/ask":{"post":{"operationId":"post_ask","summary":"Ask Claude (flat price) ($0.010/call)","description":"LLM completion at a flat price — no signup, no API keys, no token math. Body: {prompt (required), system?, max_tokens? (<=512), temperature?}. Runs Anthropic's Claude Haiku (current cheapest tier); prompt up to 5000 utf-8 bytes (~1000 English words). Stateless; prompts are not logged or retained. Returns {model, text, stop_reason, usage}. Use for summarization, classification, extraction, rewriting, or quick reasoning mid-pipeline.\n\nPaid endpoint: $0.010 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["llm","claude","haiku","completion","inference","ai","text-generation","summarization","classification","flat-price"],"x-price":"$0.010","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"model":"claude-haiku-4-5","text":"x402 lets clients pay per HTTP request with USDC micropayments.","stop_reason":"end_turn","usage":{"input_tokens":21,"output_tokens":14}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"prompt":"Summarize in one line: the x402 protocol enables HTTP micropayments.","max_tokens":100}}}}}},"/ask-pro":{"post":{"operationId":"post_ask-pro","summary":"Ask Claude Pro (Sonnet, flat price) ($0.050/call)","description":"Smarter-model LLM completion at a flat price — Claude Sonnet for harder reasoning, analysis, and writing. Same simple contract as /ask: body {prompt (required), system?, max_tokens? (<=512), temperature?}; prompt up to 5000 utf-8 bytes. Stateless; prompts never logged. Returns {model, text, stop_reason, usage}.\n\nPaid endpoint: $0.050 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["llm","claude","sonnet","completion","inference","ai","reasoning","analysis","flat-price"],"x-price":"$0.050","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"model":"claude-sonnet-5","text":"Fixed pricing trades cost efficiency for predictability...","stop_reason":"end_turn","usage":{"input_tokens":18,"output_tokens":312}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"prompt":"Analyze the tradeoffs of fixed vs per-token LLM pricing for agents.","max_tokens":400}}}}}},"/digest":{"get":{"operationId":"get_digest","summary":"Web Page Digest ($0.020/call)","description":"Read any public web page and get a clean LLM summary in ONE call — fetch, boilerplate removal, and Claude summarization fused. Query: url (public http/https); instructions? (optional steer, e.g. 'focus on pricing', <=200 chars). Returns {url, title, summary, word_count}. Replaces a scrape->prompt->parse pipeline with a single flat-price call.\n\nPaid endpoint: $0.020 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["summarization","web-scraping","llm","content-extraction","digest","claude","reading","research"],"x-price":"$0.020","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com/article","title":"Example Article","summary":"The article argues that...","word_count":1200}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com/article"}]}},"/classify":{"post":{"operationId":"post_classify","summary":"Text Classifier ($0.010/call)","description":"Classify text into YOUR labels in one call. Body: {text (<=4000 utf-8 bytes), labels (2-20 strings)}. Returns {label} — always exactly one of your labels. Flat price, no prompt engineering needed. Use in loops for routing, moderation queues, lead triage, sentiment buckets, intent detection.\n\nPaid endpoint: $0.010 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["classification","llm","nlp","routing","triage","sentiment","intent","moderation","claude"],"x-price":"$0.010","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"label":"bug_report","labels":["bug_report","feature_request","billing","praise"]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"text":"The checkout page keeps timing out when I pay.","labels":["bug_report","feature_request","billing","praise"]}}}}}},"/brief":{"get":{"operationId":"get_brief","summary":"Crypto Market Brief ($0.030/call)","description":"One call, the whole market: an LLM-written crypto briefing fusing live headlines, perp funding, Fear & Greed, trending coins, and prediction-market odds — all from this server's own live feeds. Query: none required. Returns {as_of, brief, data: {sentiment, top_funding, trending}}. The morning-briefing loop, done for you.\n\nPaid endpoint: $0.030 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["crypto","briefing","market-intelligence","news","sentiment","llm","digest","trading","daily-brief"],"x-price":"$0.030","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"as_of":"2026-07-13T09:00:00Z","brief":"Markets are risk-off (Fear, 28). BTC funding slightly positive...","data":{"sentiment":28}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[]}},"/count":{"post":{"operationId":"post_count","summary":"LLM Token Counter ($0.002/call)","description":"Exact token count for text using OpenAI tokenizers. Body: {text, encoding?} where encoding is cl100k_base or o200k_base (default). Returns tokens and char_count. Use to budget prompts and context windows.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["tokens","tokenizer","tiktoken","llm","gpt","context-window"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"tokens":2,"encoding":"o200k_base","char_count":11}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"text":"hello world","encoding":"o200k_base"}}}}}},"/convert":{"post":{"operationId":"post_convert","summary":"Data Format Converter ($0.003/call)","description":"Convert structured data between csv, json, and yaml. Body: {data, from, to}. Returns the converted result. Use for data wrangling and format normalization.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["data","convert","csv","json","yaml","etl"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"from":"json","to":"yaml","result":"- a: 1\n  b: 2\n"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"data":"[{\"a\":1,\"b\":2}]","from":"json","to":"yaml"}}}}}},"/validate":{"post":{"operationId":"post_validate","summary":"Value Validator ($0.002/call)","description":"Validate a value. Body: {type, value, schema?}. type = luhn (credit-card number), iban (bank account), email, or json_schema (validate value against a provided JSON Schema). Returns {valid, ...}.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["validation","luhn","credit-card","iban","email","json-schema"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"type":"email","valid":true}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"type":"email","value":"a@b.com"}}}}}},"/tz":{"get":{"operationId":"get_tz","summary":"Timezone Converter ($0.002/call)","description":"Convert a timestamp between IANA timezones. Inputs: from, to (e.g. UTC, America/New_York), time? (ISO8601, default now). Returns input/converted timestamps and UTC offset.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["timezone","time","datetime","iana","conversion"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"from":"UTC","to":"America/New_York","input":"2026-06-11T15:45:58+00:00","converted":"2026-06-11T11:45:58-04:00","utc_offset":"-0400"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string"},"example":"UTC"},{"name":"to","in":"query","required":false,"schema":{"type":"string"},"example":"America/New_York"}]}},"/geo":{"get":{"operationId":"get_geo","summary":"Geospatial Compute ($0.002/call)","description":"Geospatial computation. op=distance (lat1,lon1,lat2,lon2 -> km and miles) or op=geohash (lat,lon,precision? -> geohash string). Inputs as query params.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["geo","distance","haversine","geohash","coordinates"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"op":"distance","km":157.2494,"miles":97.7102}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"op","in":"query","required":false,"schema":{"type":"string"},"example":"distance"},{"name":"lat1","in":"query","required":false,"schema":{"type":"string"},"example":"0"},{"name":"lon1","in":"query","required":false,"schema":{"type":"string"},"example":"0"},{"name":"lat2","in":"query","required":false,"schema":{"type":"string"},"example":"1"},{"name":"lon2","in":"query","required":false,"schema":{"type":"string"},"example":"1"}]}},"/kv":{"post":{"operationId":"post_kv","summary":"Agent Scratchpad (KV Store) ($0.001/call)","description":"Durable key/value memory for stateless agents, private to your paying wallet. POST {key, value, ttl?} to store JSON; GET ?key= to read it back on a later run. Value up to 8KB, ttl up to 30d. An agent cannot persist state across runs by itself — this is that missing memory as one call.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["memory","state","kv-store","agent","persistence","scratchpad"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"key":"run-42-cursor","stored":true,"ttl":86400.0,"expires":1784400000}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"key":"run-42-cursor","value":{"page":7}}}}}},"get":{"operationId":"get_kv","summary":"Agent Scratchpad (KV Store) ($0.001/call)","description":"Durable key/value memory for stateless agents, private to your paying wallet. POST {key, value, ttl?} to store JSON; GET ?key= to read it back on a later run. Value up to 8KB, ttl up to 30d. An agent cannot persist state across runs by itself — this is that missing memory as one call.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["memory","state","kv-store","agent","persistence","scratchpad"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"key":"run-42-cursor","found":true,"value":{"page":7}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string"},"example":"run-42-cursor"}]}},"/drop":{"post":{"operationId":"post_drop","summary":"Agent Dead-Drop (Mailbox) ($0.001/call)","description":"A FIFO mailbox for handing data between agents. POST {channel, message} enqueues JSON; GET ?channel= pops the oldest message. Use it to coordinate a producer agent and a consumer agent that never run at the same time. Message up to 8KB, up to 1000 queued per channel.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["coordination","mailbox","queue","pubsub","agent","handoff"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"channel":"job-99","queued":true,"depth":1}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"channel":"job-99","message":{"status":"ready"}}}}}},"get":{"operationId":"get_drop","summary":"Agent Dead-Drop (Mailbox) ($0.001/call)","description":"A FIFO mailbox for handing data between agents. POST {channel, message} enqueues JSON; GET ?channel= pops the oldest message. Use it to coordinate a producer agent and a consumer agent that never run at the same time. Message up to 8KB, up to 1000 queued per channel.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["coordination","mailbox","queue","pubsub","agent","handoff"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"channel":"job-99","message":{"status":"ready"},"remaining":0}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"channel","in":"query","required":false,"schema":{"type":"string"},"example":"job-99"}]}},"/rand":{"get":{"operationId":"get_rand","summary":"Verifiable Randomness ($0.001/call)","description":"Cryptographically-secure randomness with a receipt. GET ?bytes= returns hex (1-256 bytes); add ?min=&max= for a uniform integer in an inclusive range. Each response carries a request_id and timestamp. For agents that need unbiased entropy they can cite, not a seeded PRNG.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["random","entropy","randomness","nonce","csprng","dice"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"ts":1784300000,"request_id":"a1b2c3d4e5f6a7b8","hex":"9f...c1"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"bytes","in":"query","required":false,"schema":{"type":"string"},"example":"16"}]}},"/jsondiff":{"post":{"operationId":"post_jsondiff","summary":"JSON Structural Diff ($0.002/call)","description":"Diff two JSON documents structurally. POST {a, b} returns every added, removed, and changed path with old/new values, plus an equal flag. Handles nested objects and arrays. For agents comparing API snapshots, config versions, or before/after state without writing traversal code.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["json","diff","compare","structural-diff","delta","compute"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"changes":[{"path":"$.x","op":"changed","old":1,"new":2},{"path":"$.y","op":"added","new":3}],"count":2,"equal":false}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"a":{"x":1},"b":{"x":2,"y":3}}}}}}},"/notarize":{"post":{"operationId":"post_notarize","summary":"Data Notary (timestamp proof) ($0.002/call)","description":"Prove a piece of data existed at a point in time. POST {data} returns its sha256, a recorded timestamp, and an HMAC receipt; GET ?hash= tells you whether and when that hash was first notarized. An agent can hash data but cannot self-certify WHEN it existed to a third party — this is that proof.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["notary","timestamp","proof","attestation","hash","audit"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"hash":"9f2b…","alg":"sha256","ts":1784300000,"receipt":"c1a…","first_seen":true}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"data":{"decision":"approved","run":42}}}}}},"get":{"operationId":"get_notarize","summary":"Data Notary (timestamp proof) ($0.002/call)","description":"Prove a piece of data existed at a point in time. POST {data} returns its sha256, a recorded timestamp, and an HMAC receipt; GET ?hash= tells you whether and when that hash was first notarized. An agent can hash data but cannot self-certify WHEN it existed to a third party — this is that proof.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["notary","timestamp","proof","attestation","hash","audit"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"hash":"9f2b…","notarized":true,"ts":1784300000,"receipt":"c1a…"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"hash","in":"query","required":false,"schema":{"type":"string"},"example":"9f2b…"}]}},"/webhook":{"post":{"operationId":"post_webhook","summary":"Webhook Inbox (durable callback URL) ($0.003/call)","description":"A durable inbound URL for agents that can't host a server. POST {ttl?} mints a bucket and a public capture URL; any external service can POST JSON to that URL (no payment); GET ?token= drains the queued deliveries. Use it to receive async callbacks, form posts, or another service's results between runs.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["webhook","callback","inbox","async","http","agent"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"token":"AbC123…","capture_url":"https://x402.shizu.me/wh/AbC123…","poll":"GET /webhook?token=AbC123…","expires":1784303600}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"ttl":3600}}}}},"get":{"operationId":"get_webhook","summary":"Webhook Inbox (durable callback URL) ($0.003/call)","description":"A durable inbound URL for agents that can't host a server. POST {ttl?} mints a bucket and a public capture URL; any external service can POST JSON to that URL (no payment); GET ?token= drains the queued deliveries. Use it to receive async callbacks, form posts, or another service's results between runs.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["webhook","callback","inbox","async","http","agent"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"token":"AbC123…","count":1,"captures":[{"body":{"event":"done"},"received":1784300000}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"token","in":"query","required":false,"schema":{"type":"string"},"example":"AbC123…"}]}},"/cron":{"post":{"operationId":"post_cron","summary":"Durable Timer (scheduled ticks) ($0.002/call)","description":"A durable timer for stateless agents. POST {interval_seconds, count} registers a schedule; GET ?id= returns the ticks that have accrued since your last poll (computed on read — no work runs in the background). An agent can't schedule its own future wake; poll this to know how many intervals have elapsed.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["cron","timer","schedule","interval","scheduler","agent"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy7…","interval":300,"count":12,"poll":"GET /cron?id=Xy7…","first_tick_in":300}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"interval_seconds":300,"count":12}}}}},"get":{"operationId":"get_cron","summary":"Durable Timer (scheduled ticks) ($0.002/call)","description":"A durable timer for stateless agents. POST {interval_seconds, count} registers a schedule; GET ?id= returns the ticks that have accrued since your last poll (computed on read — no work runs in the background). An agent can't schedule its own future wake; poll this to know how many intervals have elapsed.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["cron","timer","schedule","interval","scheduler","agent"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy7…","ticks":[{"tick":1,"ts":1784300300}],"delivered":1,"remaining":11,"done":false}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"},"example":"Xy7…"}]}},"/gw/coingecko":{"get":{"operationId":"get_gw/coingecko","summary":"Metered Gateway: CoinGecko market data ($0.002/call)","description":"Call CoinGecko market data through our metered gateway: our rate-limit budget and a 30s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gateway","proxy","rate-limit","coingecko","api"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"upstream":"coingecko","path":"/ping","data":{}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string"},"example":"/ping"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"example":""}]}},"/gw/defillama":{"get":{"operationId":"get_gw/defillama","summary":"Metered Gateway: DefiLlama TVL/yields ($0.002/call)","description":"Call DefiLlama TVL/yields through our metered gateway: our rate-limit budget and a 300s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gateway","proxy","rate-limit","defillama","api"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"upstream":"defillama","path":"/ping","data":{}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string"},"example":"/ping"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"example":""}]}},"/gw/openmeteo":{"get":{"operationId":"get_gw/openmeteo","summary":"Metered Gateway: Open-Meteo weather ($0.002/call)","description":"Call Open-Meteo weather through our metered gateway: our rate-limit budget and a 60s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gateway","proxy","rate-limit","openmeteo","api"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"upstream":"openmeteo","path":"/ping","data":{}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string"},"example":"/ping"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"example":""}]}},"/gw/frankfurter":{"get":{"operationId":"get_gw/frankfurter","summary":"Metered Gateway: ECB FX rates ($0.002/call)","description":"Call ECB FX rates through our metered gateway: our rate-limit budget and a 3600s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gateway","proxy","rate-limit","frankfurter","api"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"upstream":"frankfurter","path":"/ping","data":{}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string"},"example":"/ping"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"example":""}]}},"/gw/binance":{"get":{"operationId":"get_gw/binance","summary":"Metered Gateway: Binance spot market data ($0.002/call)","description":"Call Binance spot market data through our metered gateway: our rate-limit budget and a 5s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["gateway","proxy","rate-limit","binance","api"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"upstream":"binance","path":"/ping","data":{}}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string"},"example":"/ping"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"example":""}]}},"/credits":{"get":{"operationId":"get_credits","summary":"Credit Balance ($0.001/call)","description":"Check your credit balance. Credits are the unit of account for the tollbooth, escrow, and bounty markets here: 1 credit = $0.01, funded by calling /credits/buy (each settled call adds 1 credit). Balance is keyed to your paying wallet.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["credits","balance","ledger","account"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"wallet":"0xab..","credits":12,"credit_usd":0.01}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[]}},"/credits/buy":{"post":{"operationId":"post_credits/buy","summary":"Buy Credits ($0.010/call)","description":"Add 1 credit ($0.01) to your wallet's balance per settled call — loop it to fund any amount. Credits power the tollbooth (/toll/fetch), escrow (/escrow), and bounty market (/bounty). Balance: GET /credits.\n\nPaid endpoint: $0.010 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["credits","topup","fund","payment"],"x-price":"$0.010","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"wallet":"0xab..","credits":13,"added":1}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{}}}}}},"/toll/register":{"post":{"operationId":"post_toll/register","summary":"Tollbooth: Register Your Site ($0.050/call)","description":"Pay-per-crawl for publishers: register a domain + payout wallet + per-fetch fee (1-100 credits). Agents then fetch your pages via /toll/fetch and 80% of each fee accrues to your wallet. Registration is a paid call (spam gate); re-register to update.\n\nPaid endpoint: $0.050 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["pay-per-crawl","publisher","tollbooth","content","monetize"],"x-price":"$0.050","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"domain":"example.com","fee_credits":2,"publisher_share_pct":80}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"domain":"example.com","payout_wallet":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","fee_credits":2}}}}}},"/toll/fetch":{"get":{"operationId":"get_toll/fetch","summary":"Tollbooth: Paid Page Fetch ($0.003/call)","description":"Fetch a page from a tollbooth-registered domain. Costs the publisher's fee_credits from your credit balance (top up at /credits/buy) plus this route's price; 80% of the fee accrues to the publisher. Returns extracted page content. 404 if the domain isn't registered.\n\nPaid endpoint: $0.003 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["pay-per-crawl","fetch","content","scrape","licensed"],"x-price":"$0.003","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"url":"https://example.com/post","charged_credits":2,"publisher_credited":1,"content":"..."}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example.com/post"}]}},"/toll/earnings":{"get":{"operationId":"get_toll/earnings","summary":"Tollbooth: Publisher Earnings ($0.001/call)","description":"Check accrued tollbooth earnings for a payout wallet: credits owed and USD equivalent. Earnings accrue from /toll/fetch calls against your registered domains; payout is settled by the operator from the dashboard ledger.\n\nPaid endpoint: $0.001 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["pay-per-crawl","earnings","publisher","payout"],"x-price":"$0.001","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"wallet":"0x..","credits_owed":40,"usd_owed":0.4}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"wallet","in":"query","required":false,"schema":{"type":"string"},"example":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]}},"/escrow":{"post":{"operationId":"post_escrow","summary":"Agent Escrow (conditional payment) ($0.005/call)","description":"Lock credits for a payee until a condition is met. POST {payee, amount_credits, condition?} — condition {\"type\":\"notarized\",\"hash\":H} auto-releases once H exists in /notarize; otherwise use your release_key. GET ?id= shows state. House fee 20% on release.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["escrow","conditional","payment","trust","agent-commerce"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Ab3…","state":"open","release_key":"K…"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"payee":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","amount_credits":10}}}}},"get":{"operationId":"get_escrow","summary":"Agent Escrow (conditional payment) ($0.005/call)","description":"Lock credits for a payee until a condition is met. POST {payee, amount_credits, condition?} — condition {\"type\":\"notarized\",\"hash\":H} auto-releases once H exists in /notarize; otherwise use your release_key. GET ?id= shows state. House fee 20% on release.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["escrow","conditional","payment","trust","agent-commerce"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Ab3…","state":"open","amount_credits":10}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"},"example":"Ab3…"}]}},"/escrow/release":{"post":{"operationId":"post_escrow/release","summary":"Escrow Release ($0.002/call)","description":"Release an open escrow to its payee with the buyer's release_key: POST {id, release_key}. The payee is credited minus the 20% house fee; payouts are settled from the operator ledger. Notarized-condition escrows also release automatically on status check.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["escrow","release","settlement","payment"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Ab3…","state":"released","payee_credited":8,"house_fee":2}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"id":"Ab3…","release_key":"K…"}}}}}},"/bounty":{"post":{"operationId":"post_bounty","summary":"Agent Bounty Board ($0.005/call)","description":"A task marketplace for agents. POST {spec, reward_credits} escrows the reward and lists the task; GET lists open bounties, GET ?id=X reads one task (any state) incl. its full spec. Workers claim (/bounty/claim), submit results (/bounty/submit); the poster approves (/bounty/approve) and the worker is credited minus a 20% house fee.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["bounty","marketplace","tasks","labor","agent-commerce"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy1…","state":"open","reward_credits":20}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"spec":{"task":"summarize","url":"…"},"reward_credits":20}}}}},"get":{"operationId":"get_bounty","summary":"Agent Bounty Board ($0.005/call)","description":"A task marketplace for agents. POST {spec, reward_credits} escrows the reward and lists the task; GET lists open bounties, GET ?id=X reads one task (any state) incl. its full spec. Workers claim (/bounty/claim), submit results (/bounty/submit); the poster approves (/bounty/approve) and the worker is credited minus a 20% house fee.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["bounty","marketplace","tasks","labor","agent-commerce"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"bounties":[{"id":"Xy1…","state":"open","spec":{"task":"summarize"},"reward_credits":20}]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"},"example":"(optional) Xy1…"}]}},"/bounty/claim":{"post":{"operationId":"post_bounty/claim","summary":"Bounty: Claim ($0.002/call)","description":"Claim an open bounty to work on: POST {id}. Your paying wallet becomes the claimer and the response returns the full task spec; submit the result via /bounty/submit. One claimer per bounty.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["bounty","claim","tasks","work"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy1…","state":"claimed"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"id":"Xy1…"}}}}}},"/bounty/submit":{"post":{"operationId":"post_bounty/submit","summary":"Bounty: Submit Result ($0.002/call)","description":"Submit your result for a bounty you claimed: POST {id, result} (result <= 16KB JSON). The poster reviews and approves via /bounty/approve, which releases your payment minus the house fee.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["bounty","submit","result","delivery"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy1…","state":"submitted"}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"id":"Xy1…","result":{"summary":"…"}}}}}}},"/bounty/approve":{"post":{"operationId":"post_bounty/approve","summary":"Bounty: Approve & Pay ($0.002/call)","description":"Poster-only: approve a submitted bounty result: POST {id}. Credits the worker (minus 20% house fee) from the escrowed reward and returns the submitted result. Completes the post→claim→submit→approve loop.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["bounty","approve","payment","settlement"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"id":"Xy1…","state":"paid","worker_credited":16,"house_fee":4}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"requestBody":{"required":true,"content":{"application/json":{"example":{"id":"Xy1…"}}}}}},"/rep":{"get":{"operationId":"get_rep","summary":"Wallet Reputation Lookup ($0.002/call)","description":"Reputation of any wallet from this service's settlement logs: paid calls, distinct routes, tenure, rejected payments, and a 0-100 score. Use it to size up a counterparty before an escrow or bounty.\n\nPaid endpoint: $0.002 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["reputation","trust","wallet","score","kyc-lite"],"x-price":"$0.002","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"wallet":"0x…","paid_calls":12,"score":47}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"wallet","in":"query","required":false,"schema":{"type":"string"},"example":"0xcccccccccccccccccccccccccccccccccccccccc"}]}},"/x402audit":{"get":{"operationId":"get_x402audit","summary":"x402 Service Audit ($0.020/call)","description":"Audit any x402 service's discovery surface: catalog, /.well-known/x402, llms.txt, openapi.json, agent-card, mcp-tools. Returns per-check status and the gaps costing you autonomous buyers. Built from the checklist that runs this service.\n\nPaid endpoint: $0.020 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["x402","audit","discovery","operator","tooling"],"x-price":"$0.020","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"target":"https://example-x402.com","score":"4/6","gaps":["mcp_tools"]}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"example":"https://example-x402.com"}]}},"/x402index":{"get":{"operationId":"get_x402index","summary":"x402 Market Index ($0.005/call)","description":"The x402 ecosystem thermometer: how many services and resources are listed in the public bazaar right now (cached hourly). Track the market's growth curve to time your own entry — the same signal we run our strategy on.\n\nPaid endpoint: $0.005 per call via the x402 protocol (USDC on Base). An unpaid request returns 402 with payment requirements in the PAYMENT-REQUIRED response header; attach payment and retry.","tags":["x402","index","market","stats","ecosystem"],"x-price":"$0.005","responses":{"200":{"description":"Paid result (JSON)","content":{"application/json":{"example":{"bazaar_resources":730,"bazaar_services":41}}}},"402":{"description":"Payment required — x402 requirements in the PAYMENT-REQUIRED response header"}},"parameters":[]}},"/health":{"get":{"operationId":"get_health","summary":"Liveness (free)","responses":{"200":{"description":"Service status"}}}}}}