{"openapi":"3.1.0","info":{"title":"Agent Data Tools","version":"1.84.7","description":"569 pay-per-call tools for AI agents over HTTP or MCP, from $0.002 a call, most at $0.01. Every caller gets 25 free calls; then pay per call in USDC via x402 (Base, Polygon, Arbitrum, Solana) or by card with prepaid credits from /credits. No account needed; failed calls are never charged; per-tool reliability is public at /status. Crypto: token prices and wallet portfolios from Uniswap v3, chain reads on Base, Ethereum, Arbitrum, Optimism and Polygon, OFAC sanctions screening. Web: Read public static documentation, pages, PDFs and RSS feeds as clean text, plus link previews and sitemaps. Business: company profiles, domain and email checks. Also Bitcoin, FX, weather, holidays, geocoding, AI text, and JSON, date and validation utilities.","contact":{"name":"SpellzCode support","email":"spellz111122@gmail.com","url":"https://tools.funwords.eu/support"},"termsOfService":"https://tools.funwords.eu/terms","x-status":"https://tools.funwords.eu/status","x-guidance":"Every tool is a GET with query parameters that returns JSON, at /<tool> over HTTP or as an MCP tool at /mcp (same name with / replaced by _), or a smaller MCP server per section: /mcp/prices, chain, web, compliance, ai, everyday, utilities. An unpaid request returns 402 with a PAYMENT-REQUIRED header and a WWW-Authenticate: Payment challenge; pay with any x402 client (exact scheme, USDC on Base, Polygon, Arbitrum or Solana) or any MPP client (mppx: evm/charge with USDC on Base, or tempo/charge with USDC.e on Tempo) and retry. Add sample=1 to any tool for a free static example of its output. Failed calls (4xx/5xx) are not charged; AI and screenshot tools return an uncharged 503 when their daily allowance is used up. Per-tool reliability for the last 7 days: /status. Pick by task. Inference and media: /ai/chat (OpenAI-compatible at /v1/chat/completions with tools and streaming, /v1/embeddings, /v1/responses, /v1/images/generations), /ai/chat-large, /ai/embed, /transcribe (speech to text), /ai/speech (text to speech), /image (generation), /describe (vision). Current information: /search, /news. Token or wallet value: /price/token, /price/tokens (up to 20), /wallet/portfolio. Chain state on base, eth, arb, op or polygon: /<chain>/balance, token-balance, token-info, block, gas, tx, receipt, nonce, is-contract, logs. Counterparty checks: /check/counterparty (one call: OFAC SDN, wallet or contract risk and holdings, with a block/review/pass verdict), /sanctions/check (OFAC SDN), /token, /token-report, /wallet-audit, /contract-risk, /x402/check (inspect another x402 seller without paying). Read the web: /extract (page as text or Markdown), /extract/rendered (same, for pages built with JavaScript), /pdf/text, /feed (RSS or Atom), /url/meta (link preview), /sitemap, /summarize, /screenshot. Companies and domains: /company, /domain, /domain-report, /email, /package, /package-audit. Everyday data: /fx, /btc-price, /btc-fees, /weather, /time, /holidays, /geocode, /wikipedia, /dictionary, /papers, /country. AI text: /ai/chat, /ai/summarize-text, /ai/classify, /ai/translate, /ai/embed, /ai/extract-json and more. Utilities at $0.01: JSON, CSV, encodings, hashes, dates, cron, units and validators. Packs at $0.01 run several tools in one call: /pack/token-analysis, /pack/wallet-profile, /pack/website-audit, /pack/email-deliverability and more. Paused and not charged: /air-quality, /uv, /elevation, /crypto/price, /iss, /hackernews/top, /regex/test. Start with /guides/web-reading and the bundled Node CLI at /clients/reader/1.7.6/reader-client.mjs; quote needs no key and never signs, while buy requires an explicit cap. Cached examples: /examples/extract/manifest.json. The homepage and llms.txt also include a TypeScript x402 client example pinned to Base, this service's PAY_TO recipient and Base USDC. It caps each payment at $0.01, the ordinary per-call price, so it pays for every tool priced at $0.01 or less. Most tools cost $0.01; packs cost $0.03 and /dex/new-pools $0.05, so raise that cap to call those. Free calls: every caller gets 25 free successful calls (failed calls do not count). Over MCP they are used automatically before any payment; over HTTP add trial=1 to a GET request. Not for the AI, rendering, screenshot, transcription and search tools, and at most 2,000 free calls a day in total. When they run out, a card key from /credits continues the same URLs (api_key=adt_… in the URL for clients that cannot set headers). The operator can switch this off. No USDC wallet: buy card credits at https://tools.funwords.eu/credits and send the key as Authorization: Bearer adt_….","x-card-credits":"https://tools.funwords.eu/credits"},"externalDocs":{"description":"Reader buying guide, real examples and capped CLI","url":"https://tools.funwords.eu/guides/web-reading"},"components":{"securitySchemes":{"cardCredits":{"type":"http","scheme":"bearer","description":"Optional: an adt_ API key bought by card at https://tools.funwords.eu/credits pays any call instead of x402."}}},"x-agentcash-provenance":{"ownershipProofs":["0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000413e5f9cac8f7c1dfe7f44c5b57ddf3618682fffeeed033d842128e30775141f38083802e95f2cda9eea4002ececa24d1bdbc5ec23c58d4e2320d081840d38bad91c00000000000000000000000000000000000000000000000000000000000000"]},"x-discovery":{"ownershipProofs":["0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000413e5f9cac8f7c1dfe7f44c5b57ddf3618682fffeeed033d842128e30775141f38083802e95f2cda9eea4002ececa24d1bdbc5ec23c58d4e2320d081840d38bad91c00000000000000000000000000000000000000000000000000000000000000"]},"servers":[{"url":"https://tools.funwords.eu"}],"paths":{"/v1/chat/completions":{"get":{"operationId":"chat_completions_get","summary":"Chat completion over GET (prompt in the query; same models and prices as the POST)","description":"The same chat completion for clients that can only GET: prompt (and optional system, model, max_tokens, temperature) in the query string, the OpenAI chat-completion shape back. Paid at the same prices as /ai/chat ($0.002) and /ai/chat-large ($0.01, model \"llama-3.3-70b\" or \"gpt-oss-120b\"). Failed calls are never charged.","tags":["ai","chat","completion","llama","openai"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":null,"currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"schema":{"type":"string"},"description":"The user message (up to 8,000 characters)"},{"name":"system","in":"query","required":false,"schema":{"type":"string"},"description":"Optional system prompt (up to 2,000 characters)"},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"@cf/meta/llama-4-scout-17b-16e-instruct (default, $0.002), or llama-3.3-70b / gpt-oss-120b ($0.01)"},{"name":"max_tokens","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1024},"description":"Maximum output tokens (default 400)"},{"name":"temperature","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":1.5},"description":"Default 0.6"}],"responses":{"200":{"description":"Chat completion (same shape as the POST)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created":{"type":"integer"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}},"finish_reason":{"type":"string"}}}},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"estimated":{"type":"boolean"}}}}},"example":{"id":"chatcmpl-0123456789abcdef01234567","object":"chat.completion","created":1792400000,"model":"@cf/meta/llama-4-scout-17b-16e-instruct","choices":[{"index":0,"message":{"role":"assistant","content":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."},"finish_reason":"stop"}],"usage":{"prompt_tokens":12,"completion_tokens":24,"total_tokens":36,"estimated":true}}}}},"400":{"description":"Invalid request (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}},"post":{"operationId":"chat_completions","summary":"OpenAI-compatible chat completion (Llama 4 Scout, Llama 3.3 70B, gpt-oss, Qwen3, Mistral, DeepSeek R1)","description":"OpenAI chat completions request shape, answered by the same models and at the same prices as /ai/chat ($0.002, default) and /ai/chat-large ($0.01; pick it with model \"llama-3.3-70b\" or \"gpt-oss-120b\"): send messages (system, user, assistant), get one assistant message back. No streaming. Point an OpenAI SDK at https://tools.funwords.eu/v1 with an x402 or MPP fetch wrapper; the unpaid request returns the 402 quote and the paid retry returns the completion. Failed calls are never charged.","tags":["ai","chat","completion","llama","openai"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":null,"currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string","description":"@cf/meta/llama-4-scout-17b-16e-instruct (default, $0.002), or llama-3.3-70b / gpt-oss-120b ($0.01)"},"messages":{"type":"array","minItems":1,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant"]},"content":{"type":"string"}}}},"max_tokens":{"type":"integer","minimum":1,"maximum":1024,"description":"Maximum output tokens (default 400)"},"temperature":{"type":"number","minimum":0,"maximum":1.5,"description":"Default 0.6"},"stream":{"type":"boolean","description":"true answers OpenAI server-sent events ending in [DONE]"},"tools":{"type":"array","description":"OpenAI function tools (Llama 4 Scout, the default model): the answer carries tool_calls","items":{"type":"object"}},"tool_choice":{"description":"auto, none, required or one named function"},"response_format":{"type":"object","description":"{\"type\":\"json_object\"} or a json_schema"}}},"example":{"model":"@cf/meta/llama-4-scout-17b-16e-instruct","messages":[{"role":"system","content":"You are a concise assistant."},{"role":"user","content":"Explain x402 in one sentence."}],"max_tokens":200}}}},"responses":{"200":{"description":"Chat completion","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created":{"type":"integer"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}},"finish_reason":{"type":"string"}}}},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer"},"completion_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"estimated":{"type":"boolean"}}}}},"example":{"id":"chatcmpl-0123456789abcdef01234567","object":"chat.completion","created":1792400000,"model":"@cf/meta/llama-4-scout-17b-16e-instruct","choices":[{"index":0,"message":{"role":"assistant","content":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."},"finish_reason":"stop"}],"usage":{"prompt_tokens":12,"completion_tokens":24,"total_tokens":36,"estimated":true}}}}},"400":{"description":"Invalid request body (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}}},"/v1/models":{"get":{"operationId":"list_models","summary":"OpenAI-compatible model list","description":"The models behind /v1/chat/completions. Free.","tags":["ai","openai"],"security":[],"responses":{"200":{"description":"Model list","content":{"application/json":{"example":{"object":"list","data":[{"id":"@cf/meta/llama-4-scout-17b-16e-instruct","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","tool":"/ai/chat"},{"id":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"llama-3.3-70b","tool":"/ai/chat-large"},{"id":"@cf/openai/gpt-oss-120b","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"gpt-oss-120b","tool":"/ai/chat-large"},{"id":"@cf/qwen/qwen3-30b-a3b-fp8","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"qwen3-30b","tool":"/ai/model/qwen3-30b","price":"$0.002"},{"id":"@cf/openai/gpt-oss-20b","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"gpt-oss-20b","tool":"/ai/model/gpt-oss-20b","price":"$0.002"},{"id":"@cf/mistralai/mistral-small-3.1-24b-instruct","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"mistral-small","tool":"/ai/model/mistral-small","price":"$0.005"},{"id":"@cf/qwen/qwen2.5-coder-32b-instruct","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"qwen-coder","tool":"/ai/model/qwen-coder","price":"$0.005"},{"id":"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b","object":"model","created":1735689600,"owned_by":"cloudflare-workers-ai","alias":"deepseek-r1","tool":"/ai/model/deepseek-r1","price":"$0.01"}]},"schema":{"type":"object","properties":{"object":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created":{"type":"number"},"owned_by":{"type":"string"},"tool":{"type":"string"}}}}}}}}}}}},"/v1/embeddings":{"get":{"operationId":"embeddings_get","summary":"Embedding over GET (input in the query; same model and price as the POST)","description":"The same embedding for clients that can only GET: input (up to 4000 characters) in the query string, the OpenAI embeddings shape back, paid at the /ai/embed price ($0.01). Failed calls are never charged.","tags":["ai","embeddings","vector","rag","openai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"input","in":"query","required":true,"schema":{"type":"string"},"description":"The text to embed (up to 4000 characters, 100+ languages)"}],"responses":{"200":{"description":"Embedding (same shape as the POST)","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string"},"index":{"type":"integer"},"embedding":{"type":"array","items":{"type":"number"}}}}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"estimated":{"type":"boolean"}}}}},"example":{"object":"list","data":[{"object":"embedding","index":0,"embedding":[0.0123,-0.0456,0.0789]}],"model":"@cf/baai/bge-m3","usage":{"prompt_tokens":8,"total_tokens":8,"estimated":true}}}}},"400":{"description":"Invalid request (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}},"post":{"operationId":"embeddings","summary":"OpenAI-compatible embeddings (BGE-M3, 1,024 dimensions)","description":"OpenAI embeddings request shape, answered by the same model and at the same price as /ai/embed ($0.01): send one input string (up to 4000 characters, 100+ languages), get one 1,024-dimension vector. One input per request, because one payment pays for one call. Point an OpenAI SDK at https://tools.funwords.eu/v1 with an x402 or MPP fetch wrapper, or an adt_ card-credit key as apiKey. Failed calls are never charged.","tags":["ai","embeddings","vector","rag","openai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"description":"One text to embed (a string, or a one-item array)","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":1}]},"model":{"type":"string","description":"Ignored; the model is @cf/baai/bge-m3"}}},"example":{"model":"@cf/baai/bge-m3","input":"pay-per-call APIs for AI agents"}}}},"responses":{"200":{"description":"Embedding","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string"},"index":{"type":"integer"},"embedding":{"type":"array","items":{"type":"number"}}}}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"estimated":{"type":"boolean"}}}}},"example":{"object":"list","data":[{"object":"embedding","index":0,"embedding":[0.0123,-0.0456,0.0789]}],"model":"@cf/baai/bge-m3","usage":{"prompt_tokens":8,"total_tokens":8,"estimated":true}}}}},"400":{"description":"Invalid request body (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}}},"/v1/images/generations":{"get":{"operationId":"images_generations_get","summary":"Image generation over GET (prompt in the query; same model and price as the POST)","description":"The same image for clients that can only GET: prompt (3-800 characters) in the query string, the OpenAI images shape back, paid at the /image price ($0.01). Failed calls are never charged.","tags":["ai","image-generation","images","openai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"schema":{"type":"string"},"description":"What the image should show (3-800 characters)"}],"responses":{"200":{"description":"Image (same shape as the POST)","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}}}},"model":{"type":"string"},"size":{"type":"string"},"output_format":{"type":"string"}}},"example":{"created":1792400000,"data":[{"b64_json":"/9j/4AAQSkZJRgABAQAAAQABAAD...","url":"data:image/jpeg;base64,/9j/4AAQ...","revised_prompt":"a lighthouse on a cliff at sunset, watercolor"}],"model":"@cf/black-forest-labs/flux-1-schnell","size":"1024x1024","output_format":"jpeg"}}}},"400":{"description":"Invalid request (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}},"post":{"operationId":"images_generations","summary":"OpenAI-compatible image generation (FLUX.1 schnell, 1024x1024)","description":"OpenAI images request shape, answered by the same model and at the same price as /image ($0.01): send a prompt, get one 1024x1024 JPEG as b64_json (and as a data: URL in url). n must be 1, because one payment pays for one image; size and quality are accepted and ignored. Point an OpenAI SDK at https://tools.funwords.eu/v1 with an x402 or MPP fetch wrapper, or an adt_ card-credit key as apiKey. Failed calls are never charged.","tags":["ai","image-generation","images","openai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string","description":"What the image should show (3-800 characters)"},"n":{"type":"integer","description":"Must be 1"},"size":{"type":"string","description":"Ignored; images are 1024x1024"},"model":{"type":"string","description":"Ignored; the model is FLUX.1 schnell"},"response_format":{"type":"string","description":"b64_json or url; both fields are always filled"}}},"example":{"prompt":"a lighthouse on a cliff at sunset, watercolor","n":1,"size":"1024x1024"}}}},"responses":{"200":{"description":"Image","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}}}},"model":{"type":"string"},"size":{"type":"string"},"output_format":{"type":"string"}}},"example":{"created":1792400000,"data":[{"b64_json":"/9j/4AAQSkZJRgABAQAAAQABAAD...","url":"data:image/jpeg;base64,/9j/4AAQ...","revised_prompt":"a lighthouse on a cliff at sunset, watercolor"}],"model":"@cf/black-forest-labs/flux-1-schnell","size":"1024x1024","output_format":"jpeg"}}}},"400":{"description":"Invalid request body (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}}},"/v1/messages":{"post":{"operationId":"anthropic_messages","summary":"Anthropic Messages API shape on open models (Llama 4 Scout by default, with tools)","description":"Anthropic Messages request shape: system, messages (text, tool_use and tool_result blocks), tools with input_schema, tool_choice, max_tokens, temperature and stream. Served by the same open models and prices as /v1/chat/completions ($0.002 by default, up to $0.01 by model name); Claude models are not served and are refused with the reason. Point the Anthropic SDK at https://tools.funwords.eu with an x402 or MPP fetch wrapper, or an adt_ card-credit key. Failed calls are never charged.","tags":["ai","chat","anthropic","messages","tools"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":null,"currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages","max_tokens"],"properties":{"model":{"type":"string","description":"Open model name (default @cf/meta/llama-4-scout-17b-16e-instruct); Claude names are refused"},"system":{},"messages":{"type":"array","items":{"type":"object"}},"tools":{"type":"array","items":{"type":"object"}},"tool_choice":{"type":"object"},"max_tokens":{"type":"integer","minimum":1,"maximum":1024},"temperature":{"type":"number"},"stream":{"type":"boolean"}}},"example":{"model":"llama-4-scout","max_tokens":200,"system":"You are a concise assistant.","messages":[{"role":"user","content":"Explain x402 in one sentence."}]}}}},"responses":{"200":{"description":"Message","content":{"application/json":{"example":{"id":"msg_0123456789abcdef01234567","type":"message","role":"assistant","model":"@cf/meta/llama-4-scout-17b-16e-instruct","content":[{"type":"text","text":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":24,"output_tokens":22}},"schema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"role":{"type":"string"},"model":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"}}}},"stop_reason":{"type":"string"},"stop_sequence":{},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}}}}}}}},"400":{"description":"Invalid request body or a Claude model name (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}}},"/v1/responses":{"get":{"operationId":"responses_get","summary":"Responses API over GET (input in the query; same models and prices as the POST)","description":"The same Responses call for clients that can only GET: input (and optional instructions, model, max_output_tokens, temperature) in the query string, the Responses shape back (output plus output_text). Paid at the same prices as /v1/chat/completions: $0.002 by default, $0.01 with model \"llama-3.3-70b\" or \"gpt-oss-120b\". Failed calls are never charged.","tags":["ai","chat","completion","openai"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":null,"currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"input","in":"query","required":true,"schema":{"type":"string"},"description":"The user message (up to 8,000 characters)"},{"name":"instructions","in":"query","required":false,"schema":{"type":"string"},"description":"Optional system prompt"},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"@cf/meta/llama-4-scout-17b-16e-instruct (default, $0.002), or llama-3.3-70b / gpt-oss-120b ($0.01)"},{"name":"max_output_tokens","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1024},"description":"Maximum output tokens (default 400)"},{"name":"temperature","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":1.5},"description":"Default 0.6"}],"responses":{"200":{"description":"Completed response (same shape as the POST)","content":{"application/json":{"example":{"id":"resp_0123456789abcdef01234567","object":"response","created_at":1792400000,"status":"completed","model":"@cf/meta/llama-4-scout-17b-16e-instruct","output":[{"type":"message","id":"msg_0123456789abcdef","status":"completed","role":"assistant","content":[{"type":"output_text","text":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge.","annotations":[]}]}],"output_text":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge.","usage":{"input_tokens":12,"output_tokens":24,"total_tokens":36,"estimated":true}},"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created_at":{"type":"number"},"status":{"type":"string"},"model":{"type":"string"},"output":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"status":{"type":"string"},"role":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"},"annotations":{"type":"array","items":{}}}}}}}},"output_text":{"type":"string"},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"},"estimated":{"type":"boolean"}}}}}}}},"400":{"description":"Invalid request (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}},"post":{"operationId":"responses","summary":"OpenAI Responses API shape (same models and prices as /v1/chat/completions)","description":"OpenAI Responses request shape: input (a string or a list of role/content items), optional instructions, max_output_tokens and temperature; one completed message comes back in output (plus output_text). Served by the same models and prices as /v1/chat/completions: $0.002 by default, $0.01 with model \"llama-3.3-70b\" or \"gpt-oss-120b\". No streaming, no tools. Point an OpenAI SDK at https://tools.funwords.eu/v1 with an x402 or MPP fetch wrapper. Failed calls are never charged.","tags":["ai","chat","completion","openai"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":null,"currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"model":{"type":"string","description":"@cf/meta/llama-4-scout-17b-16e-instruct (default, $0.002), or llama-3.3-70b / gpt-oss-120b ($0.01)"},"input":{"description":"A string, or a list of { role, content } items (content a string or input_text parts)","oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant"]},"content":{}}}}]},"instructions":{"type":"string","description":"Optional system prompt"},"max_output_tokens":{"type":"integer","minimum":1,"maximum":1024},"temperature":{"type":"number","minimum":0,"maximum":1.5},"stream":{"type":"boolean","description":"Must be false or absent"}}},"example":{"model":"@cf/meta/llama-4-scout-17b-16e-instruct","instructions":"You are a concise assistant.","input":"Explain x402 in one sentence.","max_output_tokens":200}}}},"responses":{"200":{"description":"Completed response","content":{"application/json":{"example":{"id":"resp_0123456789abcdef01234567","object":"response","created_at":1792400000,"status":"completed","model":"@cf/meta/llama-4-scout-17b-16e-instruct","output":[{"type":"message","id":"msg_0123456789abcdef","status":"completed","role":"assistant","content":[{"type":"output_text","text":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge.","annotations":[]}]}],"output_text":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge.","usage":{"input_tokens":12,"output_tokens":24,"total_tokens":36,"estimated":true}},"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created_at":{"type":"number"},"status":{"type":"string"},"model":{"type":"string"},"output":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"status":{"type":"string"},"role":{"type":"string"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"},"annotations":{"type":"array","items":{}}}}}}}},"output_text":{"type":"string"},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"},"estimated":{"type":"boolean"}}}}}}}},"400":{"description":"Invalid request body (not charged)"},"402":{"description":"Payment Required"},"503":{"description":"Daily AI capacity used up (not charged)"}}}},"/ai/chat":{"get":{"operationId":"ai_chat","summary":"Chat completions (LLM): Llama 4 Scout","description":"Send a prompt, get an answer from Meta's Llama 4 Scout (17B active, 16 experts), with an optional system prompt, up to 1,024 output tokens and adjustable temperature. Fast and cheap. Use for drafting, reasoning steps, Q&A and any quick LLM call without an AI provider account; other open models by name at /v1/chat/completions, harder reasoning at ai_chat_large.","tags":["chat","completion","llama","llama-4","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6},{"name":"messages","in":"query","required":false,"description":"Optional OpenAI messages array as JSON (system, user, assistant with tool_calls, tool); replaces prompt and system. Together with tools, at most 20,000 characters","schema":{"type":"string"},"example":"[{\"role\":\"user\",\"content\":\"What is the weather in Stockholm?\"}]"},{"name":"tools","in":"query","required":false,"description":"Optional OpenAI tools array as JSON (function calling, up to 32 functions); the answer then carries tool_calls","schema":{"type":"string"},"example":"[{\"type\":\"function\",\"function\":{\"name\":\"get_weather\",\"parameters\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}}}]"},{"name":"tool_choice","in":"query","required":false,"description":"Optional: auto, none, required, or a JSON object naming one function","schema":{"type":"string"},"example":"auto"},{"name":"response_format","in":"query","required":false,"description":"Optional OpenAI response_format as JSON: {\"type\":\"json_object\"} or a json_schema","schema":{"type":"string"},"example":"{\"type\":\"json_object\"}"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"},"tool_calls":{"type":"array","items":{}},"finish_reason":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"completion_tokens":{"type":"number"},"total_tokens":{"type":"number"}}}}},"example":{"model":"@cf/meta/llama-4-scout-17b-16e-instruct","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge.","tool_calls":[],"finish_reason":"stop","usage":{"prompt_tokens":24,"completion_tokens":22,"total_tokens":46}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/chat-large":{"get":{"operationId":"ai_chat_large","summary":"LLM inference, large model: Llama 3.3 70B or gpt-oss-120b","description":"Send a prompt, get an answer from a larger open model: Llama 3.3 70B Instruct (default) or OpenAI gpt-oss-120b, with an optional system prompt, up to 1,024 output tokens and adjustable temperature. Same call as /ai/chat with a stronger model. Use when the 8B model is not enough: reasoning, drafting and Q&A.","tags":["chat","completion","llama","gpt-oss","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"model","in":"query","required":false,"description":"llama-3.3-70b (default) or gpt-oss-120b","schema":{"type":"string","enum":["llama-3.3-70b","gpt-oss-120b"]},"example":"llama-3.3-70b"},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/embed":{"get":{"operationId":"ai_embed","summary":"OpenAI compatible embeddings: BGE-M3, 1,024 dimensions","description":"A 1,024-dimension embedding vector for up to 4,000 characters of text in 100+ languages, from BAAI's BGE-M3. Use for semantic search, RAG retrieval, clustering and deduplication.","tags":["embeddings","vector","rag","search","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to embed, up to 4,000 characters","schema":{"type":"string"},"example":"pay-per-call APIs for AI agents"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"dimensions":{"type":"number"},"embedding":{"type":"array","items":{"type":"number"}},"model":{"type":"string"}}},"example":{"dimensions":1024,"embedding":[0.0123,-0.0456,0.0789],"model":"@cf/baai/bge-m3"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/transcribe":{"get":{"operationId":"transcribe","summary":"Speech to text, transcribe audio: Whisper transcription of an audio file","description":"Transcribe speech from an audio file at a public URL using Whisper large-v3-turbo. Returns the transcript text, detected language, duration and word count. Accepts common formats such as MP3, WAV, M4A and OGG up to 5 MB. Use for voice notes, podcast clips, meeting snippets and voice messages.","tags":["audio","transcription","whisper","speech","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of an audio file (max 5 MB)","schema":{"type":"string"},"example":"https://commons.wikimedia.org/wiki/Special:FilePath/En-us-hello.ogg"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"text":{"type":"string"},"language":{"type":"string"},"durationSeconds":{"type":"number"},"wordCount":{"type":"number"},"model":{"type":"string"}}},"example":{"url":"https://commons.wikimedia.org/wiki/Special:FilePath/En-us-hello.ogg","text":"Hello!","language":"en","durationSeconds":0.487625,"wordCount":1,"model":"@cf/openai/whisper-large-v3-turbo"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/speech":{"get":{"operationId":"ai_speech","summary":"Text to speech (TTS): turn text into an audio file","description":"Turn up to 1,000 characters of text into natural speech as an audio file (base64, with its content type), in English, Spanish, French, Chinese, Japanese or Korean, with MeloTTS. Use for voice replies, audio notes, accessibility and phone or chat bots.","tags":["tts","text-to-speech","voice","audio","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to speak, up to 1,000 characters","schema":{"type":"string"},"example":"Your payment was received. Thank you!"},{"name":"lang","in":"query","required":false,"description":"Language: en, es, fr, zh, ja or ko (default en)","schema":{"type":"string","enum":["en","es","fr","zh","ja","ko"]},"example":"en"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string"},"audioBase64":{"type":"string"},"bytes":{"type":"number"},"lang":{"type":"string"},"characters":{"type":"number"},"model":{"type":"string"}}},"example":{"contentType":"audio/wav","audioBase64":"UklGRiTJAgBXQVZFZm10IBAAAAABAAEAgLsAAAB3AQACABAAZGF0YQ…","bytes":182630,"lang":"en","characters":37,"model":"@cf/myshell-ai/melotts"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/image":{"get":{"operationId":"image","summary":"Image generation, generate image from a text prompt: create a picture from a description with an AI image model","description":"Text-to-image generation with FLUX.1 schnell. Send a prompt, get a 1024x1024 JPEG back as base64 in a few seconds. Use for illustrations, thumbnails, mockups, avatars and social media images. Optional steps parameter (1-8, default 4) trades speed for detail.","tags":["image","generation","flux","ai","art"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"What the image should show (3-800 characters)","schema":{"type":"string"},"example":"a lighthouse on a cliff at sunset, watercolor"},{"name":"steps","in":"query","required":false,"description":"Diffusion steps, 1-8 (default 4)","schema":{"type":"integer"},"example":4}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string"},"steps":{"type":"number"},"model":{"type":"string"},"contentType":{"type":"string"},"imageBase64":{"type":"string"}}},"example":{"prompt":"a lighthouse on a cliff at sunset, watercolor","steps":4,"model":"@cf/black-forest-labs/flux-1-schnell","contentType":"image/jpeg","imageBase64":"/9j/4AAQSkZJRgABAQAAAQABAAD..."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/describe":{"get":{"operationId":"describe","summary":"Describe image, ask about it: ask what is in an image or photo at a URL and get a text description or answer","description":"Vision model for an image at a public URL: get a detailed description including any visible text, or pass a question to ask something specific about the image. Accepts PNG, JPEG, WebP and GIF up to 3 MB. Use for alt text, OCR-style reading of screenshots, chart reading and content checks.","tags":["vision","image","ocr","caption","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of a PNG, JPEG, WebP or GIF image (max 3 MB)","schema":{"type":"string"},"example":"https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"},{"name":"question","in":"query","required":false,"description":"Optional question about the image (max 300 characters); default is a detailed description","schema":{"type":"string"},"example":"What colors are the dice?"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"question":{"type":"string"},"description":{"type":"string"},"model":{"type":"string"}}},"example":{"url":"https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png","question":"What colors are the dice?","description":"The dice are blue, red, green, and yellow.","model":"@cf/meta/llama-4-scout-17b-16e-instruct"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/search":{"get":{"operationId":"search","summary":"Web search results: search the web for a query and get the top pages with title, URL and snippet as JSON","description":"Search the web and get the top results as JSON: title, URL, a short snippet and the page age, from the Brave Search API. 1-20 results per call. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Upstream failures and exhausted daily capacity return 503, uncharged. Pair with /extract to read a result in full. Use when an agent needs current information or sources from the open web.","tags":["web-search","search","web","research","rag"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"Search query, at most 400 characters","schema":{"type":"string"},"example":"x402 payment protocol"},{"name":"count","in":"query","required":false,"description":"Number of results (1-20, default 10)","schema":{"type":"integer"},"example":10}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"provider":{"type":"string"},"count":{"type":"number"},"results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"snippet":{"type":"string"},"age":{"type":"string"}}}},"terms":{"type":"string"}}},"example":{"query":"x402 payment protocol","provider":"Brave Search","count":1,"results":[{"title":"x402: an open payment protocol","url":"https://www.x402.org/","snippet":"x402 lets any HTTP API charge per request in stablecoins…","age":"2 days ago"}],"terms":"Results are for the caller's immediate use: no storing or caching beyond the current task, no resale and no model training (Brave Search API terms)."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/web-research":{"get":{"operationId":"pack_web_research","summary":"Web research: search and read the top pages","description":"One call to research a question on the web: a Brave web search, then the text of the top 1-5 result pages, read in parallel and clipped to your length, with titles and URLs. A page that cannot be read is listed with its reason. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Use when an agent needs current, sourced information in one step instead of a search plus several page reads.","tags":["web-research","web-search","research","pack","rag","search"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"What to research, at most 400 characters","schema":{"type":"string"},"example":"x402 payment protocol"},{"name":"pages","in":"query","required":false,"description":"How many top results to read in full (1-5, default 3)","schema":{"type":"integer"},"example":3},{"name":"maxChars","in":"query","required":false,"description":"Characters of text per page (500-10000, default 3000)","schema":{"type":"integer"},"example":3000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"query":{"type":"string"},"pages":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"title":{"type":"string"},"url":{"type":"string"},"snippet":{"type":"string"},"text":{"type":"string"},"textLength":{"type":"number"},"error":{}}}},"otherResults":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"}}}},"terms":{"type":"string"},"failed":{"type":"object","properties":{}}}},"example":{"pack":"web-research","query":"x402 payment protocol","pages":[{"rank":1,"title":"x402: an open payment protocol","url":"https://www.x402.org/","snippet":"x402 lets any HTTP API charge per request…","text":"x402 is an open standard for internet-native payments…","textLength":3000,"error":null}],"otherResults":[{"title":"x402 on GitHub","url":"https://github.com/coinbase/x402"}],"terms":"Results are for the caller's immediate use…","failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/news":{"get":{"operationId":"news","summary":"News headlines, latest news: search current news articles (Brave)","description":"News headlines on any topic, crypto included, as JSON: title, URL, snippet, publisher domain and age, from the Brave Search API's news index. 1-20 results per call; freshness limits results to the past day, week or month. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Upstream failures return 503, uncharged. Use when an agent needs current news on a topic.","tags":["news-headlines","latest-news","crypto-news","news","headlines","search","web","research"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"News search query, at most 400 characters","schema":{"type":"string"},"example":"bitcoin ETF"},{"name":"count","in":"query","required":false,"description":"Number of results (1-20, default 10)","schema":{"type":"integer"},"example":10},{"name":"freshness","in":"query","required":false,"description":"Only articles from the past day, week or month (default: any age)","schema":{"type":"string"},"example":"day"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"provider":{"type":"string"},"count":{"type":"number"},"results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"snippet":{"type":"string"},"source":{"type":"string"},"age":{"type":"string"}}}},"terms":{"type":"string"}}},"example":{"query":"bitcoin ETF","provider":"Brave News","count":1,"results":[{"title":"Bitcoin ETFs see record inflows","url":"https://www.example-news.com/markets/bitcoin-etf-inflows","snippet":"Spot bitcoin ETFs took in…","source":"example-news.com","age":"3 hours ago"}],"terms":"Results are for the caller's immediate use: no storing or caching beyond the current task, no resale and no model training (Brave Search API terms)."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/summarize-text":{"get":{"operationId":"ai_summarize_text","summary":"Summarize text: shorten long text into a few sentences and key points","description":"Summarize up to 12,000 characters of text you send into a few sentences plus bullet key points. Use for long emails, documents, transcripts and tool outputs (for a web page by URL, use /summarize).","tags":["summary","summarize","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to summarize, up to 12,000 characters","schema":{"type":"string"},"example":"x402 is an open protocol for internet-native payments. A server answers 402 Payment Required with the price; the client pays in stablecoins and retries. No accounts or API keys are needed."},{"name":"sentences","in":"query","required":false,"description":"Summary length in sentences, 1-8 (default 3)","schema":{"type":"integer"},"example":2}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string"},"keyPoints":{"type":"array","items":{"type":"string"}},"model":{"type":"string"}}},"example":{"summary":"x402 lets clients pay per request with stablecoins after a 402 challenge, without accounts.","keyPoints":["Server returns 402 with the price","Client pays and retries"],"model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/translate":{"get":{"operationId":"ai_translate","summary":"Translate text, translation API: translate text into another language, about 100 languages","description":"Translate text into another language with OpenAI's open-weight gpt-oss-20b, detecting the source language. Long text is split at sentence ends and checked, so a cut-off translation is an uncharged 502, never a success. Give the target as an ISO code such as en, sv, de, fr, es, zh or ja; less common languages use Meta's M2M100. Use to localise messages and documents.","tags":["translation","language","i18n","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text, up to 4,000 characters","schema":{"type":"string"},"example":"Payment received, thank you!"},{"name":"to","in":"query","required":true,"description":"Target language code, e.g. sv","schema":{"type":"string"},"example":"sv"},{"name":"from","in":"query","required":false,"description":"Source language code (default: detected)","schema":{"type":"string"},"example":"en"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"translatedText":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"chars":{"type":"number"},"chunks":{"type":"number"},"model":{"type":"string"}}},"example":{"translatedText":"Betalning mottagen, tack!","from":"en","to":"sv","chars":28,"chunks":1,"model":"@cf/openai/gpt-oss-20b"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/extract-json":{"get":{"operationId":"ai_extract_json","summary":"Extract JSON fields from text: turn unstructured text into a JSON object with the fields you name","description":"Pull named fields out of unstructured text (emails, invoices, listings, bios) and get them back as a JSON object, with null for anything not present. Use to turn messy text into structured data for an agent.","tags":["extraction","json","structured-data","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Source text, up to 12,000 characters","schema":{"type":"string"},"example":"Invoice 1043 from Acme AB, due 2026-11-01, total 2 450 SEK incl. VAT."},{"name":"fields","in":"query","required":true,"description":"Comma-separated field names to extract (1-30)","schema":{"type":"string"},"example":"invoice_number,company,due_date,total,currency"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"invoice_number":{"type":"string"},"company":{"type":"string"},"due_date":{"type":"string"},"total":{"type":"number"},"currency":{"type":"string"}}},"missing":{"type":"array","items":{}},"model":{"type":"string"}}},"example":{"data":{"invoice_number":"1043","company":"Acme AB","due_date":"2026-11-01","total":2450,"currency":"SEK"},"missing":[],"model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/check/payee":{"get":{"operationId":"check_payee","summary":"Payee screening: OFAC-screen an address before paying, plus account type and domain age","description":"Fast check of a payee before an agent pays it: OFAC SDN match on the address, account type (wallet, delegated wallet or contract) and nonce on Base, Ethereum, Arbitrum, Optimism or Polygon, and optionally the payee domain's age and trust flags. One block, review or pass verdict with reasons. Screening aid, not legal advice. Use before an x402 or USDC payment to an unfamiliar address; holdings and wallet heuristics: check_counterparty.","tags":["payee-screening","sanctions","ofac","payments","x402","compliance","wallet","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address you are about to pay","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"chain","in":"query","required":false,"description":"Network of the payment: base (default), eth, arb, op or polygon","schema":{"type":"string","enum":["base","eth","arb","op","polygon"]},"example":"base"},{"name":"domain","in":"query","required":false,"description":"Optional: the payee's domain or website URL, e.g. ethereum.org; adds domain age and trust flags","schema":{"type":"string"},"example":"ethereum.org"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"verdict":{"type":"string"},"reasons":{"type":"array","items":{}},"sanctions":{"type":"object","properties":{"listed":{"type":"boolean"},"matches":{"type":"array","items":{}},"listDate":{"type":"string"}}},"account":{"type":"object","properties":{"type":{"type":"string"},"accountNonce":{"type":"number"}}},"domain":{"type":"object","properties":{"name":{"type":"string"},"trust":{"type":"string"},"ageDays":{"type":"number"},"registeredAt":{"type":"string"},"flags":{"type":"array","items":{}}}},"limitations":{"type":"array","items":{}},"note":{"type":"string"}}},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"base","verdict":"pass","reasons":[],"sanctions":{"listed":false,"matches":[],"listDate":"2026-10-17T20:15:00.000Z"},"account":{"type":"eoa","accountNonce":1234},"domain":{"name":"ethereum.org","trust":"high","ageDays":4100,"registeredAt":"2015-03-21T00:00:00Z","flags":[]},"limitations":[],"note":"Screening aid only: confirm any sanctions match against the official OFAC record."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/check/counterparty":{"get":{"operationId":"check_counterparty","summary":"Counterparty risk check: screen a payee's EVM address before paying (OFAC and on-chain signals)","description":"Screen a payee before paying, trading or onboarding: one call vets an address on Base, Ethereum, Arbitrum or Optimism with an OFAC SDN match, account type and activity, USD holdings and, on Base, wallet or contract risk checks; add the payee's domain for its age and trust flags. One block, review or pass verdict with reasons. Screening aid, not legal advice or a security audit. Use before paying, trading with or onboarding an address.","tags":["payee-screening","compliance","sanctions","ofac","wallet","risk","base","ethereum"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address to check","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb or op","schema":{"type":"string","enum":["base","eth","arb","op"]},"example":"base"},{"name":"domain","in":"query","required":false,"description":"Optional: the payee's domain or website URL, e.g. ethereum.org; adds domain age and trust flags","schema":{"type":"string"},"example":"ethereum.org"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"chain":{"type":"string"},"verdict":{"type":"string"},"reasons":{"type":"array","items":{}},"sanctions":{"type":"object","properties":{"listed":{"type":"boolean"},"matches":{"type":"array","items":{}},"listDate":{"type":"string"}}},"account":{"type":"object","properties":{"type":{"type":"string"},"riskLevel":{"type":"string"},"riskFlags":{"type":"array","items":{}},"accountNonce":{"type":"number"}}},"contract":{},"domain":{"type":"object","properties":{"name":{"type":"string"},"trust":{"type":"string"},"ageDays":{"type":"number"},"registeredAt":{"type":"string"},"flags":{"type":"array","items":{}}}},"holdings":{"type":"object","properties":{"totalUsd":{"type":"number"},"tokensChecked":{"type":"number"}}},"limitations":{"type":"array","items":{}},"note":{"type":"string"}}},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","chain":"base","verdict":"pass","reasons":[],"sanctions":{"listed":false,"matches":[],"listDate":"2026-10-17T20:15:00.000Z"},"account":{"type":"eoa","riskLevel":"low","riskFlags":[],"accountNonce":1234},"contract":null,"domain":{"name":"ethereum.org","trust":"high","ageDays":4100,"registeredAt":"2015-03-21T00:00:00Z","flags":[]},"holdings":{"totalUsd":1234.56,"tokensChecked":9},"limitations":[],"note":"Screening aid only: confirm any sanctions match against the official OFAC record; heuristics are not a security audit."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/answer":{"get":{"operationId":"ai_answer","summary":"Web answer, AI with citations: answer a question from live search results","description":"Answer a question from the live web in one call: a Brave web search, the top result pages read, and an answer written by Llama 4 Scout from those sources only, with inline [n] citations and the source list (title, URL). Says so when the sources do not answer it. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Use when an agent needs a current, sourced answer rather than raw search results.","tags":["web-answer","ai-answer","search-answer","grounded-answer","answer","web-search"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"The question, at most 400 characters","schema":{"type":"string"},"example":"What is the x402 payment protocol?"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"n":{"type":"number"},"title":{"type":"string"},"url":{"type":"string"}}}},"model":{"type":"string"},"terms":{"type":"string"}}},"example":{"question":"What is the x402 payment protocol?","answer":"x402 is an open protocol that lets an HTTP server charge for a request: it answers 402 Payment Required with the price, and the client pays in stablecoins and retries [1][2].","sources":[{"n":1,"title":"x402: an open payment protocol","url":"https://www.x402.org/"}],"model":"@cf/meta/llama-4-scout-17b-16e-instruct","terms":"Results are for the caller's immediate use…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/fact-check":{"get":{"operationId":"ai_fact_check","summary":"Fact check, verify a claim: against live web sources","description":"Check a claim against the live web in one call: a Brave search, the top pages read, and a verdict from Llama 4 Scout using those sources only (supported, contradicted, mixed or unverified) with a short explanation, [n] citations and the sources. A model's reading of a few search results, not an editorial fact-check. Results are for immediate use only (Brave API terms). Use to screen a statement before an agent repeats or acts on it.","tags":["fact-check","claim-verification","verify","web-search","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"claim","in":"query","required":true,"description":"The claim to check, at most 400 characters","schema":{"type":"string"},"example":"The x402 protocol uses the HTTP 402 Payment Required status code."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string"},"verdict":{"type":"string"},"explanation":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"n":{"type":"number"},"title":{"type":"string"},"url":{"type":"string"}}}},"model":{"type":"string"},"terms":{"type":"string"}}},"example":{"claim":"The x402 protocol uses the HTTP 402 Payment Required status code.","verdict":"supported","explanation":"The protocol's own documentation describes servers answering 402 Payment Required with payment terms [1].","sources":[{"n":1,"title":"x402: an open payment protocol","url":"https://www.x402.org/"}],"model":"@cf/meta/llama-4-scout-17b-16e-instruct","terms":"Results are for the caller's immediate use…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/check/x402-seller":{"get":{"operationId":"check_x402_seller","summary":"x402 audit of a seller: vet a paid endpoint's terms, payTo and domain before buying","description":"Audit an x402 seller before an agent buys from it: decodes the endpoint's 402 terms without paying, OFAC-screens each payTo address, reads its account type and nonce on the payment network, checks the seller domain's age and trust flags, and flags non-USDC assets and high prices. One block, review or pass verdict with reasons. Never signs. Screening aid, not legal advice. Use before the first payment to an unfamiliar x402 seller.","tags":["x402","payee-screening","sanctions","payments","agents","compliance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public https URL of the paid endpoint, with any query it needs","schema":{"type":"string"},"example":"https://agent-data-tools.revmesh2074.workers.dev/btc-fees"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"verdict":{"type":"string"},"reasons":{"type":"array","items":{}},"terms":{"type":"object","properties":{"paywalled":{"type":"boolean"},"x402Version":{"type":"number"},"score":{"type":"number"},"accepts":{"type":"array","items":{"type":"object","properties":{"network":{"type":"string"},"payTo":{"type":"string"},"priceUsd":{"type":"number"},"assetIsNativeUsdc":{"type":"boolean"}}}}}},"payees":{"type":"array","items":{"type":"object","properties":{"payTo":{"type":"string"},"network":{"type":"string"},"sanctioned":{"type":"boolean"},"sanctionMatches":{"type":"array","items":{}},"accountType":{"type":"string"},"accountNonce":{"type":"number"}}}},"domain":{"type":"object","properties":{"name":{"type":"string"},"trust":{"type":"string"},"ageDays":{"type":"number"},"registeredAt":{"type":"string"},"flags":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}}}}}},"sanctionsListDate":{"type":"string"},"limitations":{"type":"array","items":{}},"note":{"type":"string"}}},"example":{"url":"https://agent-data-tools.revmesh2074.workers.dev/btc-fees","verdict":"pass","reasons":[],"terms":{"paywalled":true,"x402Version":2,"score":1,"accepts":[{"network":"eip155:8453","payTo":"0x2074c40346ae2a90e0e4a391bcee6f16bf5277f5","priceUsd":0.002,"assetIsNativeUsdc":true}]},"payees":[{"payTo":"0x2074c40346ae2a90e0e4a391bcee6f16bf5277f5","network":"eip155:8453","sanctioned":false,"sanctionMatches":[],"accountType":"eoa-delegated","accountNonce":1}],"domain":{"name":"agent-data-tools.revmesh2074.workers.dev","trust":"medium","ageDays":2812,"registeredAt":"2019-02-08T20:36:47.904Z","flags":[{"level":"medium","code":"few_nameservers","message":"Fewer than two nameservers."}]},"sanctionsListDate":"2026-10-17T20:15:00.000Z","limitations":[],"note":"Screening aid only: confirm any sanctions match against the official OFAC record; a pass is not a guarantee the seller delivers."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sanctions/check":{"get":{"operationId":"sanctions_check","summary":"Sanctions check (OFAC screening): SDN screening for a crypto wallet or name","description":"Check a crypto wallet address against the OFAC SDN sanctions list before you pay it or accept funds: EVM (Ethereum, Base, Arbitrum, Polygon), BTC, USDT, TRX and more, or a person or company name with aliases. Returns a verdict (block on a listed address, review on a name match, pass), each match with SDN ID, programs and strength, and the list date. A screening aid, not legal advice. Use before paying; with wallet risk: check_counterparty.","tags":["sanctions","ofac","compliance","kyc","aml","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":false,"description":"Crypto address to check (give address, name or both)","schema":{"type":"string"},"example":"0x098B716B8Aaf21512996dC57EB0615e2383E2f96"},{"name":"name","in":"query","required":false,"description":"Person or company name; matches when every word appears in a listed name or alias","schema":{"type":"string"},"example":"Lazarus Group"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}}},"verdict":{"type":"string"},"listed":{"type":"boolean"},"matches":{"type":"array","items":{"type":"object","properties":{"sdnId":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"programs":{"type":"array","items":{"type":"string"}},"matchedOn":{"type":"string"},"currency":{"type":"string"},"address":{"type":"string"}}}},"list":{"type":"string"},"listDate":{"type":"string"},"entries":{"type":"number"},"note":{"type":"string"}}},"example":{"query":{"address":"0x098B716B8Aaf21512996dC57EB0615e2383E2f96","name":"Lazarus Group"},"verdict":"block","listed":true,"matches":[{"sdnId":"…","name":"LAZARUS GROUP","type":"entity","programs":["DPRK3"],"matchedOn":"address","currency":"ETH","address":"0x098B716B8Aaf21512996dC57EB0615e2383E2f96"},{"sdnId":"…","name":"LAZARUS GROUP","type":"entity","programs":["DPRK3"],"matchedOn":"name","matchedName":"LAZARUS GROUP","score":1}],"list":"OFAC Specially Designated Nationals (SDN)","listDate":"2026-10-17T20:15:00.000Z","entries":18000,"note":"Screening aid only: confirm any match against the official OFAC record before acting."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/news-sentiment":{"get":{"operationId":"pack_news_sentiment","summary":"Brand sentiment, news sentiment: headlines with sentiment scores","description":"Brand sentiment from the news on a topic in one call: the latest headlines from the Brave News index (title, URL, publisher, age), each with a positive or negative score from a DistilBERT model, and the balance across them. Up to 10 articles from the past day, week or month. Not a market signal. Results are for the caller's immediate use only (Brave API terms). Use for a market mood check, brand monitoring or a news brief.","tags":["news-sentiment","sentiment-analysis","news","pack","crypto-news","market-sentiment"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"News topic, at most 400 characters","schema":{"type":"string"},"example":"bitcoin"},{"name":"count","in":"query","required":false,"description":"Number of articles (1-10, default 5)","schema":{"type":"integer"},"example":5},{"name":"freshness","in":"query","required":false,"description":"Only articles from the past day, week or month (default: week)","schema":{"type":"string"},"example":"week"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"query":{"type":"string"},"summary":{"type":"object","properties":{"articles":{"type":"number"},"positive":{"type":"number"},"negative":{"type":"number"},"averageScore":{"type":"number"},"tone":{"type":"string"}}},"articles":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"source":{"type":"string"},"age":{"type":"string"},"sentiment":{"type":"string"},"score":{"type":"number"}}}},"terms":{"type":"string"},"failed":{"type":"object","properties":{}}}},"example":{"pack":"news-sentiment","query":"bitcoin","summary":{"articles":5,"positive":3,"negative":2,"averageScore":0.21,"tone":"mixed, leaning positive"},"articles":[{"title":"Bitcoin ETFs see record inflows","url":"https://www.example-news.com/markets/bitcoin-etf-inflows","source":"example-news.com","age":"3 hours ago","sentiment":"POSITIVE","score":0.98}],"terms":"Results are for the caller's immediate use…","failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/url-safety":{"get":{"operationId":"pack_url_safety","summary":"URL safety check, scam signals: domain age, redirects and HTTPS","description":"Check a link before an agent opens or pays it: where it really leads (each redirect hop, the final URL), the destination domain's age, registrar and trust flags, HTTPS and security headers, and named risk signals (days-old domain, bare IP host, punycode look-alike, user@host trick, chains across many hosts). Heuristic signals from public facts, not a phishing blocklist. Use to vet links in emails, chats and scraped pages, or a payee's website.","tags":["url-safety","scam-check","phishing-check","link-checker","pack","security"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"The link to check (http or https)","schema":{"type":"string"},"example":"http://github.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"url":{"type":"string"},"finalUrl":{"type":"string"},"risk":{"type":"string"},"signals":{"type":"array","items":{}},"redirects":{"type":"object","properties":{"count":{"type":"number"},"hosts":{"type":"array","items":{"type":"string"}},"hops":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"number"}}}}}},"domain":{"type":"object","properties":{"domain":{"type":"string"},"trust":{"type":"string"},"ageDays":{"type":"number"},"registrar":{"type":"string"}}},"security":{"type":"object","properties":{"https":{"type":"boolean"},"score":{"type":"number"},"grade":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"url-safety","url":"http://github.com/","finalUrl":"https://github.com/","risk":"low","signals":[],"redirects":{"count":1,"hosts":["github.com"],"hops":[{"url":"http://github.com/","status":301}]},"domain":{"domain":"github.com","trust":"high","ageDays":6600,"registrar":"MarkMonitor Inc."},"security":{"https":true,"score":80,"grade":"B"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/token-report":{"get":{"operationId":"token_report","summary":"Honeypot token check, token risk: red flags plus live DEX liquidity for a Base token before a swap","description":"Check a Base token before you swap into it: a high/medium/low risk verdict with named red flags (paused transfers, blacklist, owner-set fees or tax, a mint selector with a live owner, upgradeable proxy, no or thin liquidity, a pair under 7 days old, buys but no sells as a honeypot sign) plus live DexScreener price, liquidity, volume and FDV. Heuristic screening, not a safety guarantee. Use before swapping into an unfamiliar Base token. Details: One call for a Base token: heuristic risk tier and flags, on-chain owner/paused/proxy facts and selector checks, plus live DEX price, 24h volume/change, liquidity, FDV, pair count, top-liquidity-pair age and 24h buys/sells. marketDataSource identifies DexScreener; marketRetrievedAt is the retrieval timestamp or null when market data is unavailable. Example market values and timestamp are illustrative. A mint selector is not proof of callable minting; mintability is reported only with a confirmed nonzero owner, otherwise unverified. Flags no-liquidity, thin liquidity, new top pairs and no-sell patterns. Not a guarantee.","tags":["token-risk","honeypot","rug-check","base","token","security","dex","due-diligence"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Token contract address on Base (0x...)","schema":{"type":"string"},"example":"0x4200000000000000000000000000000000000006"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"marketDataSource":{"type":"string"},"marketRetrievedAt":{"type":"string"},"risk":{"type":"string"},"summary":{"type":"string"},"flags":{"type":"array","items":{}},"token":{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"}}},"market":{"type":"object","properties":{"priceUsd":{"type":"number"},"priceChange24hPct":{"type":"number"},"volume24hUsd":{"type":"number"},"liquidityUsdTotal":{"type":"number"},"pairCount":{"type":"number"},"topPair":{"type":"object","properties":{"dex":{"type":"string"},"quote":{"type":"string"},"ageDays":{"type":"number"}}},"trades24h":{"type":"object","properties":{"buys":{"type":"number"},"sells":{"type":"number"}}}}}}},"example":{"chain":"base","address":"0x4200000000000000000000000000000000000006","marketDataSource":"DexScreener","marketRetrievedAt":"2026-10-14T12:00:00.000Z","risk":"low","summary":"low risk: 0 high and 0 medium flag(s). Heuristic screening, not a guarantee of safety.","flags":[],"token":{"name":"Wrapped Ether","symbol":"WETH","decimals":18},"market":{"priceUsd":2432.15,"priceChange24hPct":-3.05,"volume24hUsd":40100383,"liquidityUsdTotal":4904163,"pairCount":2,"topPair":{"dex":"pancakeswap","quote":"USDC","ageDays":1000},"trades24h":{"buys":32010,"sells":30694}}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/token":{"get":{"operationId":"token","summary":"Base ERC-20 token facts and risk flags: check a Base ERC-20 token's supply, owner and risk flags before buying","description":"Base only (other chains: <chain>_token_info). Live on-chain facts for an ERC-20 token on Base: name, symbol, decimals, total supply, owner and whether ownership is renounced, paused state, proxy detection (EIP-1967, minimal proxy) with implementation and admin, and bytecode heuristics for mint, pause, blacklist and fee-setter functions. Use for token due diligence and rug-pull or honeypot screening before a swap.","tags":["base","token","erc20","security","onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Token contract address on Base (0x...)","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupplyFormatted":{"type":"string"},"owner":{"type":"string"},"ownershipRenounced":{"type":"boolean"},"paused":{"type":"boolean"},"proxy":{"type":"object","properties":{"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"}}},"capabilities":{"type":"object","properties":{"mint":{"type":"boolean"},"burn":{"type":"boolean"},"pause":{"type":"boolean"},"blacklist":{"type":"boolean"},"feeSetter":{"type":"boolean"}}}}},"example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupplyFormatted":"4333612020.876957","owner":"0x3ABd6f64A422225E61E435baE41db12096106df7","ownershipRenounced":false,"paused":false,"proxy":{"isProxy":true,"kind":"zeppelinos-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x4fc7850364958d97b4d3f5a08f79db2493f8ca44"},"capabilities":{"mint":false,"burn":false,"pause":false,"blacklist":false,"feeSetter":false}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/wallet-audit":{"get":{"operationId":"wallet_audit","summary":"Wallet risk check: fresh-wallet risk tier, flags, balances and nonce for a Base address","description":"Screen a Base address for fresh or throwaway-wallet signals: a high/medium/low heuristic risk tier with named flags (no or one outgoing transaction, a near-empty balance with few transactions), plus ETH, USDC, WETH, cbBTC and DAI balances and the account nonce. Address type is reported separately and does not affect the tier; token contracts are not audited. Use to screen a Base address; OFAC and other chains: check_counterparty.","tags":["wallet-risk","wallet","due-diligence","base","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Base chain wallet address, 0x-prefixed 20-byte hex","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"type":{"type":"string"},"riskLevel":{"type":"string"},"riskFlags":{"type":"array","items":{}},"summary":{"type":"string"},"eth":{"type":"object","properties":{"wei":{"type":"string"},"formatted":{"type":"string"}}},"accountNonce":{"type":"number"},"tokenCount":{"type":"number"},"tokens":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"balance":{"type":"string"},"balanceFormatted":{"type":"string"},"riskLevel":{"type":"string"}}}},"labels":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}},"lastUpdatedBlock":{"type":"number"}}},"example":{"chain":"base","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","type":"eoa","riskLevel":"low","riskFlags":[],"summary":"low risk: 0 flag(s). 2 token(s) held. Account nonce: 42.","eth":{"wei":"1500000000000000000","formatted":"1.5"},"accountNonce":42,"tokenCount":2,"tokens":[{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6,"balance":"1000000000","balanceFormatted":"1000","riskLevel":"unknown"},{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18,"balance":"500000000000000000","balanceFormatted":"0.5","riskLevel":"unknown"}],"labels":[],"limitations":["accountNonce is the Base EVM account nonce; for EOAs it reflects outgoing transactions only, not full transaction, token-transfer, or trading history."],"lastUpdatedBlock":18650000}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/contract-risk":{"get":{"operationId":"contract_risk","summary":"Smart contract risk check: proxy, bytecode and supply red flags for a Base contract before approving it","description":"Check a Base contract before you approve or call it: a low to critical risk tier with named flags (proxy, proxy with no implementation, tiny bytecode, zero token supply), plus bytecode size, the EIP-1967 implementation slot and ERC-20 owner, renounced and paused reads. Unreadable reads are null; EOAs return not-applicable. Limited heuristics, not a full security audit. Use before approving a spender or calling an unfamiliar Base contract. Details: Base contract bytecode size and EIP-1967 slot check (a confirmed zero slot returns isProxy false; an empty/unreadable slot response returns null; RPC failures return 502). A nonzero slot with a zero implementation flags proxy-impl-unset. ERC-20 property reads run only for 500–50,000-byte contracts; individual unsupported/reverting reads are null, while multicall transport failures return 502. Zero supply requires a successful zero read; ownershipRenounced is true only for zero owner, false for nonzero, else null; paused is null if unsupported. Risk tiers are limited bytecode/proxy/zero-supply heuristics, not a full audit; empty slots cannot identify uninitialized proxies. EOAs return not-applicable.","tags":["contract-risk","approval-check","contract","proxy","bytecode","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Base chain contract address, 0x-prefixed 20-byte hex","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"type":{"type":"string"},"riskLevel":{"type":"string"},"riskFlags":{"type":"array","items":{}},"summary":{"type":"string"},"facts":{"type":"object","properties":{"bytecodeSize":{"type":"number"},"deployedAt":{},"hasCode":{"type":"boolean"},"isProxy":{"type":"boolean"},"proxyImplementation":{}}},"tokenProperties":{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"owner":{"type":"string"},"ownershipRenounced":{"type":"boolean"},"paused":{}}},"lastUpdatedBlock":{"type":"number"}}},"example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","type":"contract","riskLevel":"low","riskFlags":[],"summary":"low risk: 0 flag(s). Bytecode 8953 bytes.","facts":{"bytecodeSize":8953,"deployedAt":null,"hasCode":true,"isProxy":false,"proxyImplementation":null},"tokenProperties":{"name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"10000000000000","owner":"0x0000000000000000000000000000000000000001","ownershipRenounced":false,"paused":null},"lastUpdatedBlock":18650000}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/liquidity-pool-audit":{"get":{"operationId":"liquidity_pool_audit","summary":"Liquidity pool check: a Base DEX pair's liquidity, volume, trades and age before trading","description":"Check a Base DEX pool before you trade: give a pair address and get the verified DEX, both tokens, reported liquidity, 24h volume and trades, and pair age from DexScreener, or read on Base when it is unavailable, with source and retrieval time. Missing fields are null; an unknown pair returns 404. Market data only, no risk assessment. Use to confirm a pair is real and deep enough before trading; token red flags: token_report. Details: Looks up a pair address on Base through DexScreener and returns the verified DEX, pair URL, token details, liquidity, volume, 24-hour trades, and pair age when supplied by the source. source identifies DexScreener and retrievedAt is the retrieval timestamp. Missing source fields are null; this endpoint does not assess pool security or investment risk. When DexScreener is unavailable, source is Base on-chain: the tokens and DEX (by factory) are read from the pool contract, liquidityUsd is twice the balance of a USD-stablecoin side (null otherwise), and price, volume, trades and age are null. Returns 404 when no matching Base pair is found. Example market values and timestamp are illustrative snapshots, not live guarantees.","tags":["liquidity-check","defi","liquidity","pool","dex","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"DEX pair address on Base, 0x-prefixed 20-byte hex","schema":{"type":"string"},"example":"0x98c7A2338336d2d354663246F64676009c7bDa97"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"source":{"type":"string"},"retrievedAt":{"type":"string"},"pairAddress":{"type":"string"},"dex":{"type":"string"},"url":{"type":"string"},"baseToken":{"type":"object","properties":{"address":{},"name":{},"symbol":{"type":"string"}}},"quoteToken":{"type":"object","properties":{"address":{},"name":{},"symbol":{"type":"string"}}},"priceUsd":{"type":"string"},"priceChange24hPct":{"type":"number"},"liquidityUsd":{"type":"number"},"volume24hUsd":{"type":"number"},"trades24h":{"type":"object","properties":{"buys":{"type":"number"},"sells":{"type":"number"}}},"pairCreatedAt":{},"ageDays":{}}},"example":{"chain":"base","source":"DexScreener","retrievedAt":"2026-10-14T12:00:00.000Z","pairAddress":"0x98c7A2338336d2d354663246F64676009c7bDa97","dex":"aerodrome","url":"https://dexscreener.com/base/0x98c7a2338336d2d354663246f64676009c7bda97","baseToken":{"address":null,"name":null,"symbol":"USDC"},"quoteToken":{"address":null,"name":null,"symbol":"USDbC"},"priceUsd":"1.00","priceChange24hPct":0,"liquidityUsd":1000000,"volume24hUsd":500000,"trades24h":{"buys":1250,"sells":980},"pairCreatedAt":null,"ageDays":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/x402/check":{"get":{"operationId":"x402_check","summary":"x402 endpoint check: decode an endpoint's payment terms and listing quality without paying","description":"Check an x402 seller before you pay it: decode any public endpoint's 402 payment requirements without paying (v1 body or v2 header) into USD price for native USDC, network, asset, recipient, scheme and timeout, plus a listing-quality score for https resource URL, atomic amount, facilitator minimum, description, Bazaar metadata and output schema. Never signs. Use before buying from an unfamiliar seller or to audit your own x402 listing.","tags":["x402","payments","developer","validation","agents"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public https URL of the paid endpoint, with any query it needs","schema":{"type":"string"},"example":"https://agent-data-tools.revmesh2074.workers.dev/btc-fees"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"number"},"paywalled":{"type":"boolean"},"x402Version":{"type":"number"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"}}},"accepts":{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string"},"network":{"type":"string"},"asset":{"type":"string"},"payTo":{"type":"string"},"amountAtomic":{"type":"string"},"priceUsd":{"type":"number"},"assetIsNativeUsdc":{"type":"boolean"},"maxTimeoutSeconds":{"type":"number"}}}},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string"},"pass":{"type":"boolean"}}}},"score":{"type":"number"}}},"example":{"url":"https://agent-data-tools.revmesh2074.workers.dev/btc-fees","status":402,"paywalled":true,"x402Version":2,"resource":{"url":"https://agent-data-tools.revmesh2074.workers.dev/btc-fees","description":"Current Bitcoin network fee rates… Use before sending a Bitcoin transaction…","mimeType":"application/json"},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x…","amountAtomic":"2000","priceUsd":0.002,"assetIsNativeUsdc":true,"maxTimeoutSeconds":300}],"checks":[{"check":"x402 payment requirements present","pass":true}],"score":1}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/price/token":{"get":{"operationId":"price_token","summary":"Crypto price and token price: USD price of a token from Uniswap v3 pools","description":"Token price in USD for a crypto token by symbol (ETH, BTC, USDC, AERO, ARB, OP, LINK…), coin name, CoinGecko id or ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live. Returns the pool, fee tier, quote reserve and a thin-liquidity flag. Spot price, not a time average. No pool returns 404, uncharged. Use to value a token or check a quote before a swap or payment.","tags":["price","token","crypto","market-data","uniswap","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"symbol","in":"query","required":false,"description":"Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)","schema":{"type":"string"},"example":"ETH"},{"name":"address","in":"query","required":false,"description":"0x ERC-20 token contract address (instead of symbol)","schema":{"type":"string"},"example":"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb or op","schema":{"type":"string","enum":["base","eth","arb","op"]},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"}}},"priceUsd":{"type":"number"},"quotedIn":{"type":"string"},"pool":{"type":"object","properties":{"address":{"type":"string"},"feeTier":{"type":"number"},"quoteReserve":{"type":"number"},"quoteReserveUsd":{"type":"number"}}},"ethUsd":{"type":"number"},"thinLiquidity":{"type":"boolean"},"block":{"type":"number"},"method":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"token":{"address":"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf","symbol":"cbBTC","decimals":8},"priceUsd":104250.5,"quotedIn":"USDC","pool":{"address":"0x…","feeTier":500,"quoteReserve":2500000.25,"quoteReserveUsd":2500000.25},"ethUsd":3850.12,"thinLiquidity":false,"block":37000000,"method":"Uniswap v3 spot price from the pool with the largest USDC or WETH reserve"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/price/tokens":{"get":{"operationId":"price_tokens","summary":"Crypto prices in USD for up to 20 tokens in one call: get USD prices for several crypto tokens or coins in one call","description":"USD prices for up to 20 crypto tokens in one call, by ticker (ETH, BTC, USDC, AERO…) or ERC-20 0x address, on Base, Ethereum, Arbitrum or Optimism, each from its deepest Uniswap v3 pool against USDC or WETH, read live from the chain, with pool, reserve and a thin-liquidity flag. Tokens without a pool are listed under unpriced instead of failing the call. Spot prices. Use to value a basket of tokens or refresh a watchlist in one paid call.","tags":["price","token","batch","crypto","market-data","uniswap","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"symbols","in":"query","required":false,"description":"Comma-separated tickers such as ETH,BTC,AERO (with or instead of addresses; 1-20 tokens in all)","schema":{"type":"string"},"example":"ETH,BTC,AERO"},{"name":"addresses","in":"query","required":false,"description":"Comma-separated 0x ERC-20 token addresses (with or instead of symbols; 1-20 tokens in all)","schema":{"type":"string"},"example":"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf,0x4200000000000000000000000000000000000006"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb or op","schema":{"type":"string","enum":["base","eth","arb","op"]},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"ethUsd":{"type":"number"},"block":{"type":"number"},"prices":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"priceUsd":{"type":"number"},"quotedIn":{"type":"string"},"pool":{"type":"object","properties":{"address":{"type":"string"},"feeTier":{"type":"number"},"quoteReserve":{"type":"number"},"quoteReserveUsd":{"type":"number"}}},"thinLiquidity":{"type":"boolean"}}}},"unpriced":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"reason":{"type":"string"}}}},"method":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"ethUsd":3850.12,"block":37000000,"prices":[{"address":"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf","symbol":"cbBTC","decimals":8,"priceUsd":104250.5,"quotedIn":"USDC","pool":{"address":"0x…","feeTier":500,"quoteReserve":2500000.25,"quoteReserveUsd":2500000.25},"thinLiquidity":false}],"unpriced":[{"address":"0x…","reason":"no Uniswap v3 pool against USDC or WETH"}],"method":"Uniswap v3 spot price from the pool with the largest USDC or WETH reserve"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/wallet/portfolio":{"get":{"operationId":"wallet_portfolio","summary":"Wallet portfolio value: holdings valued in USD","description":"USD value of a wallet on Base, Ethereum, Arbitrum or Optimism: native ETH plus major tokens (USDC and WETH everywhere, the common Base tokens on Base) and up to 20 tokens you add, each priced from its deepest Uniswap v3 pool, read live from the chain. Returns holdings, total and anything that could not be priced. Not a full token inventory. Use to check what a wallet is worth before trading, lending or paying.","tags":["wallet","portfolio","balance","price","crypto","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb or op","schema":{"type":"string","enum":["base","eth","arb","op"]},"example":"base"},{"name":"tokens","in":"query","required":false,"description":"Optional extra comma-separated 0x token addresses (up to 20)","schema":{"type":"string"},"example":"0x940181a94A35A4569E4529A3CDfB74e38FD98631"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"totalUsd":{"type":"number"},"ethUsd":{"type":"number"},"block":{"type":"number"},"holdings":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string"},"symbol":{"type":"string"},"balance":{"type":"string"},"priceUsd":{"type":"number"},"valueUsd":{"type":"number"},"quotedIn":{"type":"string"}}}},"unpriced":{"type":"array","items":{}},"tokensChecked":{"type":"number"},"method":{"type":"string"},"note":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","totalUsd":1234.56,"ethUsd":3850.12,"block":37000000,"holdings":[{"token":"native","symbol":"ETH","balance":"0.25","priceUsd":3850.12,"valueUsd":962.53,"quotedIn":"USDC"},{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","balance":"272.03","priceUsd":1,"valueUsd":272.03,"quotedIn":"USDC"}],"unpriced":[],"tokensChecked":9,"method":"Uniswap v3 spot price from the pool with the largest USDC or WETH reserve","note":"Only native ETH, the listed major tokens and any tokens you pass are checked."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/wallet/balances":{"get":{"operationId":"wallet_balances","summary":"Wallet balance, USDC balance: native and USDC balances on 5 networks","description":"Read a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total. Use to find where a wallet's funds are before a payment or bridge; for one token on one network use <chain>_token_balance, for all tokens on Base use wallet_portfolio. A network whose nodes do not answer is listed with an error instead of failing the call.","tags":["wallet","balance","multichain","usdc","evm","blockchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"usdcTotal":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"native":{"type":"string"},"nativeSymbol":{"type":"string"},"usdc":{"type":"string"},"error":{}}}}}},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","usdcTotal":"12.5","networks":[{"chain":"Base","chainId":8453,"native":"0.0123","nativeSymbol":"ETH","usdc":"12.5","error":null}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/market":{"get":{"operationId":"hyperliquid_market","summary":"Hyperliquid funding rate, perps: open interest and price","description":"Live Hyperliquid perpetual futures data for a coin (BTC, ETH, SOL, HYPE…): mark, oracle and mid price, hourly funding rate and its APR, premium, open interest in coins and USD, 24-hour volume and price change, and max leverage. Without a coin, the 20 most traded markets by 24-hour volume. Read from Hyperliquid's public API. Use for funding-rate checks, basis trades, derivatives dashboards and market context.","tags":["hyperliquid","perps","funding-rate","derivatives","crypto","market-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default: the 20 most traded markets)","schema":{"type":"string"},"example":"BTC"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"markets":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"markPx":{"type":"number"},"oraclePx":{"type":"number"},"midPx":{"type":"number"},"fundingRateHourly":{"type":"number"},"fundingAprPct":{"type":"number"},"premium":{"type":"number"},"openInterest":{"type":"number"},"openInterestUsd":{"type":"number"},"dayVolumeUsd":{"type":"number"},"prevDayPx":{"type":"number"},"change24hPct":{"type":"number"},"maxLeverage":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"count":1,"markets":[{"coin":"BTC","markPx":82478,"oraclePx":82505,"midPx":82478.5,"fundingRateHourly":0.0000125,"fundingAprPct":10.95,"premium":-0.000315,"openInterest":41244.6,"openInterestUsd":3401847000,"dayVolumeUsd":2604051652,"prevDayPx":81939,"change24hPct":0.66,"maxLeverage":40}],"source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sec/filings":{"get":{"operationId":"sec_filings","summary":"SEC filings (EDGAR) by ticker: 10-K, 10-Q, 8-K and Form 4 for a US public company","description":"Latest SEC EDGAR filings for a US-listed company by stock ticker or CIK: form (10-K, 10-Q, 8-K, 4, S-1…), filing and report dates, accession number, document description and a direct link, newest first, optionally only one form type. Plus company name, CIK and industry (SIC). Public SEC data. Use to check a company's latest annual or quarterly report, insider trades (form 4) or material events (8-K).","tags":["sec","edgar","filings","stocks","company","compliance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ticker","in":"query","required":false,"description":"Stock ticker such as AAPL (or give cik)","schema":{"type":"string"},"example":"AAPL"},{"name":"cik","in":"query","required":false,"description":"SEC Central Index Key, e.g. 320193 (instead of ticker)","schema":{"type":"string"},"example":"320193"},{"name":"form","in":"query","required":false,"description":"Only this form type, e.g. 10-K, 10-Q, 8-K or 4 (default: all)","schema":{"type":"string"},"example":"10-K"},{"name":"limit","in":"query","required":false,"description":"Filings to return, 1-50 (default 10)","schema":{"type":"integer"},"example":10}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string"},"cik":{"type":"string"},"tickers":{"type":"array","items":{"type":"string"}},"sic":{"type":"string"},"industry":{"type":"string"},"count":{"type":"number"},"filings":{"type":"array","items":{"type":"object","properties":{"form":{"type":"string"},"filed":{"type":"string"},"reportDate":{"type":"string"},"accession":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"}}}},"source":{"type":"string"}}},"example":{"company":"Apple Inc.","cik":"0000320193","tickers":["AAPL"],"sic":"3571","industry":"Electronic Computers","count":1,"filings":[{"form":"10-K","filed":"2025-10-31","reportDate":"2025-09-27","accession":"0000320193-25-000079","description":"10-K","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm"}],"source":"SEC EDGAR (public information)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/contents":{"get":{"operationId":"contents","summary":"Get contents, web contents: clean text of up to five pages in one call","description":"Read one to five public web pages in one call and get each one's clean text (or Markdown), title, author and published date where the page declares them, in the request shape search APIs use (urls as a list). Pages are read in parallel; one that cannot be read is listed in statuses with its reason and the rest still answer. Static HTML, Markdown and plain text, up to 20,000 characters a page. Use to read search results in one call.","tags":["get-contents","web-contents","page-contents","web-scraping","read-url"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"urls","in":"query","required":true,"description":"One to five page URLs: comma-separated, one per line, or a JSON array","schema":{"type":"string"},"example":"https://example.com,https://www.iana.org/help/example-domains"},{"name":"maxChars","in":"query","required":false,"description":"Characters per page, 500 to 20000 (default 4000)","schema":{"type":"string"},"example":"3000"},{"name":"format","in":"query","required":false,"description":"text (default) or markdown","schema":{"type":"string"},"example":"text"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"author":{},"publishedDate":{},"text":{"type":"string"},"textLength":{"type":"number"},"truncated":{"type":"boolean"},"lang":{"type":"string"}}}},"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}}}},"requested":{"type":"number"},"read":{"type":"number"}}},"example":{"results":[{"id":"https://example.com","url":"https://example.com/","title":"Example Domain","author":null,"publishedDate":null,"text":"This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.","textLength":156,"truncated":false,"lang":"en"}],"statuses":[{"id":"https://example.com","status":"success"},{"id":"https://www.iana.org/help/example-domains","status":"success"}],"requested":2,"read":2}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/rerank":{"get":{"operationId":"ai_rerank","summary":"Rerank documents by relevance: reranker for RAG","description":"Order up to 50 documents by how well each answers a query, with a relevance score from 0 to 1 (BAAI bge-reranker-base, a cross-encoder). Send documents as a JSON array or one per line; each is read up to 2,000 characters, 40,000 in all. Returns the original index, score and text, best first; top_n keeps only the best. Also available in the Cohere-style shape at /v1/rerank. Use to pick what a model reads after search or vector retrieval.","tags":["rerank","reranker","rag","relevance","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"query","in":"query","required":true,"description":"What the documents should answer (up to 2,000 characters)","schema":{"type":"string"},"example":"What is the capital of France?"},{"name":"documents","in":"query","required":true,"description":"Up to 50 documents: a JSON array of strings, or one per line","schema":{"type":"string"},"example":"[\"France has hundreds of cheeses.\",\"Berlin is the capital of Germany.\",\"Paris is the capital and largest city of France.\"]"},{"name":"top_n","in":"query","required":false,"description":"Keep only the best N results (default all)","schema":{"type":"string"},"example":"2"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"relevance_score":{"type":"number"},"document":{"type":"string"}}}},"documents":{"type":"number"},"clippedDocuments":{"type":"number"},"model":{"type":"string"}}},"example":{"query":"What is the capital of France?","results":[{"index":2,"relevance_score":0.999785,"document":"Paris is the capital and largest city of France."},{"index":1,"relevance_score":0.025102,"document":"Berlin is the capital of Germany."}],"documents":3,"clippedDocuments":0,"model":"@cf/baai/bge-reranker-base"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/memory/set":{"get":{"operationId":"memory_set","summary":"Agent memory, save: key value store for agents","description":"Save a value (up to 8,000 characters of text or JSON) under a key in your own namespace, so an agent can remember facts, preferences or task state between runs. Overwrites an existing key; expires after 1 to 30 days (default 30). Values are kept until they expire (at most 30 days) or are deleted; reads anywhere may lag a write made elsewhere by up to a minute. Use to persist what an agent learned for a later call to memory_get.","tags":["agent-memory","key-value-store","kv-store","memory","storage"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"namespace","in":"query","required":true,"description":"Your namespace: a secret of 16 to 128 letters, digits, - or _ that you choose and reuse. Anyone who knows it can read and write it, so treat it like a password; send it in a POST body to keep it out of URLs.","schema":{"type":"string"},"example":"demo-agent-memory-7f3c9a21"},{"name":"key","in":"query","required":true,"description":"The key, up to 200 characters","schema":{"type":"string"},"example":"user-preferences"},{"name":"value","in":"query","required":true,"description":"The text or JSON to save, up to 8,000 characters","schema":{"type":"string"},"example":"{\"language\":\"en\",\"units\":\"metric\"}"},{"name":"days","in":"query","required":false,"description":"Days to keep it, 1 to 30 (default 30)","schema":{"type":"string"},"example":"30"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"saved":{"type":"boolean"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"size":{"type":"number"}}},"example":{"key":"user-preferences","saved":true,"updatedAt":"2026-10-25T15:00:00.000Z","expiresAt":"2026-11-24T15:00:00.000Z","size":34}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/memory/get":{"get":{"operationId":"memory_get","summary":"Agent memory, recall: read a saved value","description":"Read the value saved under a key in your namespace with /memory/set, with when it was saved and when it expires. A key that was never saved or has expired is a 404 and is not charged. Values are kept until they expire (at most 30 days) or are deleted; reads anywhere may lag a write made elsewhere by up to a minute. Use to recall what an agent saved in an earlier run.","tags":["agent-memory","memory-recall","key-value-store","kv-store","memory"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"namespace","in":"query","required":true,"description":"Your namespace: a secret of 16 to 128 letters, digits, - or _ that you choose and reuse. Anyone who knows it can read and write it, so treat it like a password; send it in a POST body to keep it out of URLs.","schema":{"type":"string"},"example":"demo-agent-memory-7f3c9a21"},{"name":"key","in":"query","required":true,"description":"The key, up to 200 characters","schema":{"type":"string"},"example":"user-preferences"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"size":{"type":"number"}}},"example":{"key":"user-preferences","value":"{\"language\":\"en\",\"units\":\"metric\"}","updatedAt":"2026-10-25T15:00:00.000Z","expiresAt":"2026-11-24T15:00:00.000Z","size":34}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/whale/transfers":{"get":{"operationId":"whale_transfers","summary":"Whale alert, large transfers: big USDC and USDT moves on 5 networks","description":"Large stablecoin transfers in the last minutes, read live from the network: every USDC and USDT transfer of at least min USD (default 100,000) on Ethereum, Base, Arbitrum, Optimism or Polygon, largest first, with sender, receiver, transaction and block, mints and burns marked. Covers up to 15 minutes on Ethereum and 3 on Base (busiest). Addresses are not labelled. Use to watch whale flows, treasury moves or stablecoin mints.","tags":["whale-alert","whale-tracking","large-transfers","stablecoin-flows","usdc"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"chain","in":"query","required":false,"description":"ethereum (default), base, arbitrum, optimism or polygon","schema":{"type":"string"},"example":"ethereum"},{"name":"token","in":"query","required":false,"description":"USDC, USDT or stablecoins (both, default)","schema":{"type":"string"},"example":"stablecoins"},{"name":"min","in":"query","required":false,"description":"Smallest transfer in USD, 10000 or more (default 100000)","schema":{"type":"string"},"example":"100000"},{"name":"minutes","in":"query","required":false,"description":"How far back, 1 to 15 minutes (default 5; Base covers at most 3)","schema":{"type":"string"},"example":"5"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"tokens":{"type":"array","items":{"type":"string"}},"minUsd":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"minutesCovered":{"type":"number"},"complete":{"type":"boolean"},"transfersScanned":{"type":"number"},"count":{"type":"number"},"totalUsd":{"type":"number"},"transfers":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string"},"amount":{"type":"number"},"from":{"type":"string"},"to":{"type":"string"},"kind":{"type":"string"},"txHash":{"type":"string"},"block":{"type":"number"}}}},"note":{"type":"string"}}},"example":{"chain":"Ethereum","tokens":["USDC","USDT"],"minUsd":100000,"fromBlock":23650001,"toBlock":23650025,"minutesCovered":5,"complete":true,"transfersScanned":2400,"count":3,"totalUsd":1850000,"transfers":[{"token":"USDC","amount":1000000,"from":"0x28c6c06298d514db089934071355e5743bf21d60","to":"0x3cd751e6b0078be393132286c442345e5dc49699","kind":"transfer","txHash":"0x…","block":23650020}],"note":"Amounts are token units of USD stablecoins (1 unit is about 1 USD). Addresses are not labelled; mints and burns are marked."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dex/new-pools":{"get":{"operationId":"dex_new_pools","summary":"New pools, new token pairs: Uniswap and Aerodrome","description":"Newest liquidity pools on Uniswap v3, Uniswap v2 and (on Base) Aerodrome, read live from the factories' PoolCreated and PairCreated events on Base, Ethereum, Arbitrum, Optimism or Polygon: pool address, both tokens with symbol and decimals, fee tier or stable flag, block, transaction and approximate age, newest first. Use to spot new token listings, watch pool launches or feed a new-pair screener; check token_report before trading.","tags":["new-pools","new-pairs","new-tokens","dex","uniswap","aerodrome","liquidity-pool","token-launch"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"50000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"50000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"chain","in":"query","required":false,"description":"base (default), ethereum, arbitrum, optimism or polygon","schema":{"type":"string"},"example":"base"},{"name":"dex","in":"query","required":false,"description":"all (default), uniswap-v3, uniswap-v2 or aerodrome (Base only)","schema":{"type":"string"},"example":"all"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan, 100 to 20000 (default 3000: about 100 minutes on Base, 10 hours on Ethereum)","schema":{"type":"string"},"example":"3000"},{"name":"limit","in":"query","required":false,"description":"Most pools to return, 1 to 30 (default 20)","schema":{"type":"string"},"example":"20"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"blocksScanned":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"pools":{"type":"array","items":{"type":"object","properties":{"dex":{"type":"string"},"pool":{"type":"string"},"token0":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"}}},"token1":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"}}},"feeTier":{"type":"number"},"stable":{},"block":{"type":"number"},"txHash":{"type":"string"},"approxAgeMinutes":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"chain":"Base","blocksScanned":3000,"fromBlock":37000000,"toBlock":37002999,"count":2,"pools":[{"dex":"uniswap-v2","pool":"0x1111111111111111111111111111111111111111","token0":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18},"token1":{"address":"0x2222222222222222222222222222222222222222","symbol":"NEW","decimals":18},"feeTier":3000,"stable":null,"block":37002990,"txHash":"0xabc","approxAgeMinutes":0.3}],"source":"Uniswap v3, Uniswap v2 and Aerodrome factory events, read live"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/recommend":{"get":{"operationId":"recommend","summary":"API recommendation: which API to call for a task","description":"Describe a task in plain words and get the best-matching paid API calls for it from a catalog of 320 tools (web search and page reading, LLM chat, token prices and chain reads on 5 networks, sanctions and company checks, weather, finance and utilities): each pick with the exact call URL, required inputs, price, MCP tool name and whether it is in the free calls. Use when an agent needs to find which API to call before paying for one.","tags":["api-recommendation","which-api","find-api","api-discovery","x402-discovery"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"need","in":"query","required":true,"description":"The task in plain words, up to 300 characters","schema":{"type":"string"},"example":"current gas price on Base"},{"name":"count","in":"query","required":false,"description":"How many picks, 1 to 5 (default 3)","schema":{"type":"string"},"example":"3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"need":{"type":"string"},"picks":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string"},"name":{"type":"string"},"what":{"type":"string"},"price":{"type":"string"},"mcpTool":{"type":"string"},"call":{"type":"object","properties":{"method":{"type":"string"},"url":{"type":"string"}}},"requiredInputs":{"type":"array","items":{}},"inFreeCalls":{"type":"boolean"},"score":{"type":"number"}}}},"howToPay":{"type":"string"},"mcp":{"type":"string"},"method":{"type":"string"}}},"example":{"need":"current gas price on Base","picks":[{"tool":"/base-gas","name":"Base gas price","what":"Base gas price: current fees for a transaction on Base","price":"$0.002","mcpTool":"base_gas","call":{"method":"GET","url":"https://agent-data-tools.revmesh2074.workers.dev/base-gas"},"requiredInputs":[],"inFreeCalls":true,"score":0.95}],"howToPay":"GET the call URL: unpaid it answers 402 with x402 terms…","mcp":"https://agent-data-tools.revmesh2074.workers.dev/mcp","method":"lexical+rerank"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/airport/status":{"get":{"operationId":"airport_status","summary":"Airport delays, US ground stops and closures: check live FAA delays, ground stops and closures at a US airport","description":"Live FAA National Airspace System status for US airports: ground stops, ground delay programs, arrival and departure delays (with minimum, maximum and trend) and closures, each with its reason. Give an IATA code such as LGA for one airport (normal when nothing is reported), or nothing for the whole country. Public FAA data, refreshed about every minute. Use before travel planning, logistics or customer notices.","tags":["airport","flights","travel","delays","faa","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"airport","in":"query","required":false,"description":"IATA airport code such as LGA, SFO or ORD (default: all US airports with events)","schema":{"type":"string"},"example":"LGA"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"updated":{"type":"string"},"airport":{"type":"string"},"status":{"type":"string"},"groundStops":{"type":"array","items":{"type":"object","properties":{"airport":{"type":"string"},"reason":{"type":"string"},"endTime":{"type":"string"}}}},"groundDelays":{"type":"array","items":{"type":"object","properties":{"airport":{"type":"string"},"reason":{"type":"string"},"average":{"type":"string"},"maximum":{"type":"string"}}}},"delays":{"type":"array","items":{"type":"object","properties":{"airport":{"type":"string"},"type":{"type":"string"},"reason":{"type":"string"},"minimum":{"type":"string"},"maximum":{"type":"string"},"trend":{"type":"string"}}}},"closures":{"type":"array","items":{}},"source":{"type":"string"}}},"example":{"updated":"Tue Oct 20 18:52:24 2026 GMT","airport":"LGA","status":"delayed","groundStops":[{"airport":"LGA","reason":"airport volume","endTime":"7:45 pm EDT"}],"groundDelays":[{"airport":"LGA","reason":"weather","average":"30 minutes","maximum":"54 minutes"}],"delays":[{"airport":"LGA","type":"Departure","reason":"volume","minimum":"16 minutes","maximum":"30 minutes","trend":"Increasing"}],"closures":[],"source":"FAA National Airspace System Status"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/token-analysis":{"get":{"operationId":"pack_token_analysis","summary":"Token analysis, token security: price, supply, proxy and risk checks","description":"One call to analyse an ERC-20 token: name, symbol, decimals and supply, USD price from the deepest Uniswap v3 pool, whether it is an upgradeable proxy and who can upgrade it, and on Base the honeypot and contract risk checks (paused transfers, blacklist, owner fees, mint rights, liquidity). Give a ticker or 0x address and the network (base, eth, arb, op or polygon). Use before buying, listing or accepting an unknown token.","tags":["token-analysis","token-research","token-security","erc20","pack","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or a 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x4200000000000000000000000000000000000006"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb, op or polygon","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"chain":{"type":"string"},"token":{"type":"string"},"info":{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"}}},"price":{"type":"object","properties":{"usd":{"type":"number"},"source":{"type":"string"}}},"proxy":{"type":"object","properties":{"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{}}},"risk":{"type":"object","properties":{"verdict":{"type":"string"},"flags":{"type":"array","items":{}}}},"contract":{"type":"object","properties":{"tier":{"type":"string"},"flags":{"type":"array","items":{}}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"token-analysis","chain":"base","token":"0x4200000000000000000000000000000000000006","info":{"name":"Wrapped Ether","symbol":"WETH","decimals":18,"totalSupply":"180000.5"},"price":{"usd":3920.15,"source":"Uniswap v3"},"proxy":{"isProxy":false,"kind":"none","implementation":null},"risk":{"verdict":"low","flags":[]},"contract":{"tier":"low","flags":[]},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/wallet-profile":{"get":{"operationId":"pack_wallet_profile","summary":"Wallet profile: balances, activity, contract check and sanctions","description":"One call to profile an EVM wallet: native and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon, transaction counts on Base and Ethereum, whether it is a contract or a plain wallet, its recent USDC transfers on Base, and an OFAC sanctions screen. Cheaper than the tools bought one by one. Use before paying, onboarding or trusting a counterparty wallet; for a single risk verdict use check_counterparty.","tags":["wallet-profile","wallet-analysis","wallet","pack","sanctions","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"address":{"type":"string"},"isContract":{"type":"boolean"},"balances":{"type":"object","properties":{"usdcTotal":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"native":{"type":"string"},"usdc":{"type":"string"}}}}}},"activity":{"type":"object","properties":{"baseNonce":{"type":"number"},"ethNonce":{"type":"number"}}},"recentUsdc":{"type":"object","properties":{"count":{"type":"number"},"transfers":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string"},"amount":{"type":"string"},"counterparty":{"type":"string"}}}}}},"sanctions":{"type":"object","properties":{"verdict":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"wallet-profile","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","isContract":false,"balances":{"usdcTotal":"12.5","networks":[{"chain":"Base","native":"0.0123","usdc":"12.5"}]},"activity":{"baseNonce":120,"ethNonce":1204},"recentUsdc":{"count":2,"transfers":[{"direction":"in","amount":"2.5","counterparty":"0x…"}]},"sanctions":{"verdict":"pass"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/crypto-market":{"get":{"operationId":"pack_crypto_market","summary":"Crypto market overview: sentiment, prices, funding and signals","description":"Market sentiment, prices and signals in one call: the Fear & Greed index with its 7-day change (alternative.me, attributed), the 10 most traded Hyperliquid perpetuals with price, 24-hour change, funding and open interest, technical readings (RSI, MACD, moving averages) for up to three coins, and Bitcoin fee rates. Cheaper than the five tools bought one by one. Use for a daily market brief, a trading agent's context or a dashboard.","tags":["crypto-market-overview","market-brief","crypto","pack","sentiment","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coins","in":"query","required":false,"description":"Up to 3 coins for technical readings, comma separated (default BTC,ETH,SOL)","schema":{"type":"string"},"example":"BTC,ETH,SOL"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"coins":{"type":"array","items":{"type":"string"}},"sentiment":{"type":"object","properties":{"value":{"type":"number"},"classification":{"type":"string"},"change7d":{"type":"number"},"attribution":{"type":"string"}}},"topMarkets":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"markPx":{"type":"number"},"change24hPct":{"type":"number"},"fundingAprPct":{"type":"number"},"openInterestUsd":{"type":"number"},"dayVolumeUsd":{"type":"number"}}}},"signals":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"close":{"type":"number"},"rsi14":{"type":"number"},"readings":{"type":"array","items":{"type":"string"}}}}},"bitcoinFees":{"type":"object","properties":{"nextBlock":{"type":"number"},"hour":{"type":"number"},"unit":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"crypto-market","coins":["BTC","ETH","SOL"],"sentiment":{"value":51,"classification":"Neutral","change7d":-4,"attribution":"Crypto Fear & Greed Index by alternative.me"},"topMarkets":[{"coin":"BTC","markPx":81870,"change24hPct":0.66,"fundingAprPct":10.95,"openInterestUsd":3401847000,"dayVolumeUsd":2604051652}],"signals":[{"coin":"BTC","close":81870,"rsi14":48.2,"readings":["RSI neutral (30-70)","price above SMA 200"]}],"bitcoinFees":{"nextBlock":3,"hour":2,"unit":"sat/vB"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/website-audit":{"get":{"operationId":"pack_website_audit","summary":"Website audit, security audit: uptime, SEO, security headers, redirects and DNS","description":"One call to audit a website: is it up and how fast, the redirect chain (including whether plain http moves to https), the on-page SEO audit with its score and issues, HTTP security headers and their grade, robots.txt for the page, and the domain's DNS, email authentication and registration age. Server-side HTML only, no JavaScript. Cheaper than the six tools bought one by one. Use before a launch, for a client report or to compare competitors.","tags":["website-audit","site-audit","security-audit","seo-audit","pack","web"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page","schema":{"type":"string"},"example":"https://www.wikipedia.org/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"url":{"type":"string"},"uptime":{"type":"object","properties":{"up":{"type":"boolean"},"status":{"type":"number"},"responseMs":{"type":"number"}}},"httpsRedirect":{"type":"boolean"},"redirects":{"type":"number"},"seo":{"type":"object","properties":{"score":{"type":"number"},"issues":{"type":"array","items":{"type":"string"}}}},"security":{"type":"object","properties":{"grade":{"type":"string"},"missing":{"type":"array","items":{"type":"string"}}}},"robots":{"type":"object","properties":{"allowed":{"type":"boolean"}}},"domain":{"type":"object","properties":{"registeredAt":{"type":"string"},"ageDays":{"type":"number"},"spfPolicy":{"type":"string"},"dmarcPolicy":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"website-audit","url":"https://www.wikipedia.org/","uptime":{"up":true,"status":200,"responseMs":135},"httpsRedirect":true,"redirects":0,"seo":{"score":73,"issues":["no canonical link"]},"security":{"grade":"B","missing":["permissions-policy"]},"robots":{"allowed":true},"domain":{"registeredAt":"2001-01-13T00:12:14Z","ageDays":9050,"spfPolicy":"~all","dmarcPolicy":"reject"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/email-deliverability":{"get":{"operationId":"pack_email_deliverability","summary":"Email deliverability check: MX, SPF, DMARC, DKIM and score","description":"Email deliverability check for a domain in one call: MX records, SPF and its all-policy, DMARC and its policy, DKIM keys at the common selectors (Google, Microsoft, Mailchimp and others), MTA-STS, TLS-RPT and BIMI, with a 0-100 score, a grade and a list of fixes; optionally also checks one address (syntax, MX, disposable domain). Uses public DNS only and sends no mail. Use before a campaign, when mail lands in spam, or to vet a sender domain.","tags":["email-deliverability","spf","dmarc","dkim","pack","email"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"domain","in":"query","required":true,"description":"The sending domain, such as example.com (or a URL; its host is used)","schema":{"type":"string"},"example":"github.com"},{"name":"email","in":"query","required":false,"description":"Optional address to check as well","schema":{"type":"string"},"example":"support@github.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"domain":{"type":"string"},"score":{"type":"number"},"grade":{"type":"string"},"issues":{"type":"array","items":{"type":"string"}},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"number"},"host":{"type":"string"}}}},"spf":{"type":"string"},"spfPolicy":{"type":"string"},"dmarc":{"type":"string"},"dmarcPolicy":{"type":"string"},"dkimSelectors":{"type":"array","items":{"type":"string"}},"mtaSts":{"type":"boolean"},"tlsRpt":{"type":"boolean"},"bimi":{"type":"boolean"},"address":{},"failed":{"type":"object","properties":{}}}},"example":{"pack":"email-deliverability","domain":"github.com","score":90,"grade":"A","issues":["no BIMI record"],"mx":[{"priority":1,"host":"aspmx.l.google.com"}],"spf":"v=spf1 ip4:… ~all","spfPolicy":"~all","dmarc":"v=DMARC1; p=reject; …","dmarcPolicy":"reject","dkimSelectors":["google"],"mtaSts":true,"tlsRpt":true,"bimi":false,"address":null,"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/ip-intelligence":{"get":{"operationId":"pack_ip_intelligence","summary":"IP intelligence: owner, network, reverse DNS and type","description":"One call for everything about an IP address: its type (public, private, loopback, carrier-grade NAT), the registry record (holding organisation, network name and range, registration country, abuse contact) and the reverse DNS name. IPv4 and IPv6. Registration country, not city geolocation. Cheaper than the tools bought one by one. Use to investigate an address in logs, a login or an abuse report.","tags":["ip-intelligence","ip-lookup","reverse-dns","pack","network","security"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ip","in":"query","required":true,"description":"IPv4 or IPv6 address","schema":{"type":"string"},"example":"8.8.8.8"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"ip":{"type":"string"},"type":{"type":"object","properties":{"version":{"type":"number"},"public":{"type":"boolean"},"private":{"type":"boolean"}}},"registry":{"type":"object","properties":{"holder":{"type":"string"},"network":{"type":"string"},"range":{"type":"string"},"country":{"type":"string"},"abuseEmail":{"type":"string"},"registry":{"type":"string"}}},"reverseDns":{"type":"array","items":{"type":"string"}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"ip-intelligence","ip":"8.8.8.8","type":{"version":4,"public":true,"private":false},"registry":{"holder":"Google LLC","network":"GOGL","range":"8.8.8.0 - 8.8.8.255","country":"US","abuseEmail":"network-abuse@google.com","registry":"ARIN"},"reverseDns":["dns.google"],"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/hash-toolbox":{"get":{"operationId":"pack_hash_toolbox","summary":"Hash generator, hash toolbox: MD5, SHA-256, SHA-512, Keccak, CRC32 and SRI","description":"Every common hash of one input in a single call: MD5, SHA-1, SHA-256, SHA-384, SHA-512, Keccak-256 (Ethereum), CRC-32, base64 SHA-256, and Subresource Integrity strings (sha256-, sha384-, sha512-) for <script integrity>. Hashes UTF-8 text, or 0x/hex bytes with hex=true. Cheaper than hashing one algorithm at a time. Use for checksums, cache keys, file integrity and comparing digests across systems.","tags":["hash","developer-tools","utility","dev","sha256","md5","checksum"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to hash (up to 100,000 characters), or hex bytes with hex=true","schema":{"type":"string"},"example":"hello world"},{"name":"hex","in":"query","required":false,"description":"true to treat text as hex bytes (0x prefix optional)","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"bytes":{"type":"number"},"md5":{"type":"string"},"sha1":{"type":"string"},"sha256":{"type":"string"},"sha384":{"type":"string"},"sha512":{"type":"string"},"keccak256":{"type":"string"},"crc32":{"type":"string"},"sri":{"type":"object","properties":{"sha256":{"type":"string"},"sha384":{"type":"string"},"sha512":{"type":"string"}}},"base64":{"type":"object","properties":{"sha256":{"type":"string"}}}}},"example":{"bytes":11,"md5":"5eb63bbbe01eeed093cb22bb8f5acdc3","sha1":"2aae6c35c94fcfb415dbe95f408b9ce91ee846ed","sha256":"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9","sha384":"fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd","sha512":"309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f","keccak256":"0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad","crc32":"0d4a1185","sri":{"sha256":"sha256-uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=","sha384":"sha384-/b2OdaZ/KfcBpOBAOF4uI5hjA+oQI5IRr5B/y7g1eLPkF8txzmRu/QgZ3YwIjeG9","sha512":"sha512-MJ7MSJwS1utMxA9QyQLytNDtd+5RGnx6m808qG1M2G+YndNbxf9JlnDaNCVbRbDP2DDoH2Bdz33FVC6TrpzXbw=="},"base64":{"sha256":"uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek="}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/json-toolbox":{"get":{"operationId":"pack_json_toolbox","summary":"JSON toolbox: validate, format, minify, schema and YAML","description":"Everything about one JSON document in a single call: valid or not with the error's line and column, pretty-printed (optionally with sorted keys), minified with the bytes saved, an inferred JSON Schema, structure statistics (depth, objects, arrays, keys, value types) and the same data as YAML. Up to 200 KB. Cheaper than the separate JSON tools. Use to inspect API responses, clean model output or document a payload.","tags":["json-toolbox","developer-tools","utility","dev","json","json-schema"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"json","in":"query","required":true,"description":"The JSON text (up to 200 KB)","schema":{"type":"string"},"example":"{\"name\":\"agent\",\"tools\":[\"weather\",\"search\"],\"active\":true,\"limits\":{\"daily\":100}}"},{"name":"sortKeys","in":"query","required":false,"description":"true to sort object keys in the formatted output","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"error":{},"type":{"type":"string"},"bytes":{"type":"number"},"minifiedBytes":{"type":"number"},"formattedBytes":{"type":"number"},"saved":{"type":"number"},"formatted":{"type":"string"},"minified":{"type":"string"},"schema":{"type":"object","properties":{"type":{"type":"string"},"properties":{"type":"object","properties":{"name":{"type":"object","properties":{"type":{"type":"string"}}}}},"required":{"type":"array","items":{"type":"string"}}}},"stats":{"type":"object","properties":{"depth":{"type":"number"},"objects":{"type":"number"},"arrays":{"type":"number"},"keys":{"type":"number"},"strings":{"type":"number"},"numbers":{"type":"number"},"booleans":{"type":"number"},"nulls":{"type":"number"}}},"yaml":{"type":"string"}}},"example":{"valid":true,"error":null,"type":"object","bytes":82,"minifiedBytes":82,"formattedBytes":121,"saved":0,"formatted":"{\n  \"name\": \"agent\"\n}","minified":"{\"name\":\"agent\"}","schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"stats":{"depth":2,"objects":2,"arrays":1,"keys":5,"strings":3,"numbers":1,"booleans":1,"nulls":0},"yaml":"name: agent\n"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/encoding-toolbox":{"get":{"operationId":"pack_encoding_toolbox","summary":"Encoding toolbox: Base64, hex, URL, HTML and Unicode","description":"Every common encoding of one text in a single call: Base64 and Base64url, hex, URL component and full-URL encoding, HTML-escaped, ROT13, Unicode code points, UTF-8 byte count and Punycode for international domain names, plus automatic decoding when the input already looks like Base64, hex, URL or HTML encoding. Use to prepare data for headers, URLs and markup, or to work out what an encoded string says.","tags":["encoding","developer-tools","utility","dev","base64","url-encode","hex"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text (up to 20,000 characters)","schema":{"type":"string"},"example":"Café & <tags>"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"characters":{"type":"number"},"utf8Bytes":{"type":"number"},"base64":{"type":"string"},"base64url":{"type":"string"},"hex":{"type":"string"},"urlComponent":{"type":"string"},"url":{"type":"string"},"html":{"type":"string"},"rot13":{"type":"string"},"codePoints":{"type":"array","items":{"type":"string"}},"punycode":{},"decoded":{"type":"object","properties":{}}}},"example":{"characters":13,"utf8Bytes":14,"base64":"Q2Fmw6kgJiA8dGFncz4=","base64url":"Q2Fmw6kgJiA8dGFncz4","hex":"436166c3a92026203c746167733e","urlComponent":"Caf%C3%A9%20%26%20%3Ctags%3E","url":"Caf%C3%A9%20&%20%3Ctags%3E","html":"Café &amp; &lt;tags&gt;","rot13":"Pnsé & <gntf>","codePoints":["U+0043","U+0061"],"punycode":null,"decoded":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/tx-explain":{"get":{"operationId":"pack_tx_explain","summary":"Explain transaction, decoded: what an EVM transaction did","description":"Explain an EVM transaction in plain words: success or revert, sender and contract, ETH value, fee, the function called (decoded for common ERC-20, ERC-721, WETH, permit and multicall calls), and every token transfer, mint, burn and approval it emitted with amounts and symbols, plus one-line summaries. Base, Ethereum, Arbitrum, Optimism or Polygon. Use to check what a payment or contract call really did before trusting it or reporting it.","tags":["transaction-decoder","explain-transaction","transaction","pack","evm","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x transaction hash","schema":{"type":"string"},"example":"0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0"},{"name":"chain","in":"query","required":false,"description":"Network: base (default), eth, arb, op or polygon","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"chain":{"type":"string"},"hash":{"type":"string"},"status":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"valueEth":{"type":"string"},"feeEth":{"type":"string"},"gasUsed":{"type":"string"},"call":{"type":"object","properties":{"function":{"type":"string"},"args":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}}}}}},"events":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"amount":{"type":"string"}}}},"summary":{"type":"array","items":{"type":"string"}},"block":{"type":"number"}}},"example":{"pack":"tx-explain","chain":"Base","hash":"0x7d10…","status":"success","from":"0x…","to":"0x…","valueEth":"0","feeEth":"0.0000012","gasUsed":"52000","call":{"function":"transfer(address,uint256)","args":[{"type":"address","value":"0x…"},{"type":"uint256","value":"10000000"}]},"events":[{"kind":"transfer","token":"0x8335…","symbol":"USDC","from":"0x…","to":"0x…","amount":"10"}],"summary":["10 USDC sent from 0x1234…abcd to 0x5678…ef01"],"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/nft-analysis":{"get":{"operationId":"pack_nft_analysis","summary":"NFT analysis: owner, metadata, holdings and collection","description":"One call to analyse an NFT: its current owner, its metadata (name, description, image, traits from data:, https or ipfs), how many NFTs of the collection that owner holds, and the collection contract (name, symbol, whether it is an upgradeable proxy). ERC-721 on Base, Ethereum, Arbitrum, Optimism or Polygon. Cheaper than the tools bought one by one. Use before buying, listing or verifying an NFT.","tags":["nft-analysis","nft","nft-metadata","pack","erc721","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"},{"name":"chain","in":"query","required":false,"description":"Network: eth (default), base, arb, op or polygon","schema":{"type":"string"},"example":"eth"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"chain":{"type":"string"},"contract":{"type":"string"},"tokenId":{"type":"string"},"collection":{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"}}},"owner":{"type":"string"},"ownerHoldings":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}},"proxy":{"type":"object","properties":{"isProxy":{"type":"boolean"},"kind":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"nft-analysis","chain":"eth","contract":"0xc36442b4a4522e871399cd717abdd847ab11fe88","tokenId":"1","collection":{"name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"},"owner":"0x50ec05ade8280758e2077fcbc08d878d4aef79c3","ownerHoldings":"4","metadata":{"name":"Uniswap - 0.3% - UNI/WETH - 39.323<>157.24","description":"This NFT represents a liquidity position…"},"proxy":{"isProxy":false,"kind":"none"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/text-analysis":{"get":{"operationId":"pack_text_analysis","summary":"Text analysis: readability, keywords, entities and safety","description":"One call to analyse a text: length, reading time and readability grade, the top keywords and repeated phrases with their density, the emails, links, phone numbers, hashtags and mentions it contains, and a prompt-injection scan for text an agent is about to act on. Up to 20,000 characters, local processing. Cheaper than the four tools bought one by one. Use to review drafts, triage inbound messages or vet scraped content.","tags":["text-analysis","readability","keywords","pack","text","nlp"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text (up to 20,000 characters)","schema":{"type":"string"},"example":"Agents pay per call with USDC. Contact sales@example.com or visit https://example.com for #x402 tools. Pricing starts at one cent per call."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"stats":{"type":"object","properties":{"words":{"type":"number"},"sentences":{"type":"number"},"readingSeconds":{"type":"number"},"fleschReadingEase":{"type":"number"}}},"keywords":{"type":"array","items":{"type":"object","properties":{"word":{"type":"string"},"count":{"type":"number"},"densityPct":{"type":"number"}}}},"extracted":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"}},"urls":{"type":"array","items":{"type":"string"}},"hashtags":{"type":"array","items":{"type":"string"}}}},"injection":{"type":"object","properties":{"risk":{"type":"string"},"score":{"type":"number"},"findings":{"type":"array","items":{}}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"text-analysis","stats":{"words":25,"sentences":3,"readingSeconds":6,"fleschReadingEase":83.3},"keywords":[{"word":"call","count":2,"densityPct":10.53}],"extracted":{"emails":["sales@example.com"],"urls":["https://example.com"],"hashtags":["#x402"]},"injection":{"risk":"none","score":0,"findings":[]},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/location-brief":{"get":{"operationId":"pack_location_brief","summary":"Location data, place brief: weather, sunrise and country facts","description":"One call for a place by name: its coordinates, country, region, population and elevation (Wikidata), the current weather and a short hourly forecast (MET Norway, CC BY 4.0), today's sunrise, sunset and day length, and facts about its country (capital, region, income level, population). Cheaper than the tools bought one by one. Use for travel planning, event and delivery context, or enriching a city name in a record.","tags":["location-data","place-information","weather","pack","geo","travel"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"place","in":"query","required":true,"description":"Place name, such as Stockholm or Lyon, France","schema":{"type":"string"},"example":"Stockholm"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"place":{"type":"object","properties":{"name":{"type":"string"},"country":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"population":{"type":"number"}}},"weather":{"type":"object","properties":{"temperatureC":{"type":"number"},"conditions":{"type":"string"},"windMs":{"type":"number"}}},"sun":{"type":"object","properties":{"sunrise":{"type":"string"},"sunset":{"type":"string"},"dayLength":{"type":"string"}}},"country":{"type":"object","properties":{"name":{"type":"string"},"capital":{"type":"string"},"region":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"location-brief","place":{"name":"Stockholm","country":"Sweden","lat":59.3294,"lon":18.0686,"population":984748},"weather":{"temperatureC":8.1,"conditions":"cloudy","windMs":4.2},"sun":{"sunrise":"05:43","sunset":"15:12","dayLength":"9h 29m"},"country":{"name":"Sweden","capital":"Stockholm","region":"Europe & Central Asia"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/id-toolbox":{"get":{"operationId":"pack_id_toolbox","summary":"ID generator, UUID, ULID: UUID v4, UUID v7, ULID, NanoID","description":"Generate unique IDs of every common kind in one call: UUID v4 (random), UUID v7 and ULID (time-ordered, sort by creation), NanoID (21 URL-safe characters) and random base62 and hex strings, up to 20 of each, from the platform's cryptographic random source; and decode the creation time hidden in a ULID or UUID v7. Use for database keys, request and trace IDs, file names or test data.","tags":["id-generator","uuid","ulid","nanoid","developer-tools","utility","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"count","in":"query","required":false,"description":"How many of each kind, 1-20 (default 3)","schema":{"type":"integer"},"example":3},{"name":"length","in":"query","required":false,"description":"Length of the random strings, 8-128 (default 24)","schema":{"type":"integer"},"example":24},{"name":"decode","in":"query","required":false,"description":"Optional ULID or UUID to read the timestamp from","schema":{"type":"string"},"example":"01JB8ZQ3N4X6Q2W8E5R7T9Y1VZ"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"uuidV4":{"type":"array","items":{"type":"string"}},"uuidV7":{"type":"array","items":{"type":"string"}},"ulid":{"type":"array","items":{"type":"string"}},"nanoid":{"type":"array","items":{"type":"string"}},"base62":{"type":"array","items":{"type":"string"}},"hex":{"type":"array","items":{"type":"string"}},"decoded":{"type":"object","properties":{"input":{"type":"string"},"kind":{"type":"string"},"timestamp":{"type":"string"},"ms":{"type":"number"}}}}},"example":{"uuidV4":["0f8f3c4e-1a2b-4c3d-9e8f-1a2b3c4d5e6f"],"uuidV7":["01929d3c-4b5a-7c6d-8e9f-0a1b2c3d4e5f"],"ulid":["01JB8ZQ3N4X6Q2W8E5R7T9Y1VZ"],"nanoid":["V1StGXR8_Z5jdHi6B-myT"],"base62":["4fRz8Q2mXc1LpK9vT3aWbN7e"],"hex":["9f86d081884c7d659a2feaa0"],"decoded":{"input":"01JB8ZQ3N4X6Q2W8E5R7T9Y1VZ","kind":"ulid","timestamp":"2024-10-25T09:30:00.000Z","ms":1729848600000}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/string-toolbox":{"get":{"operationId":"pack_string_toolbox","summary":"String utilities: every case, slug, counts and more","description":"Transform one string every common way at once: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Title Case, Sentence case, upper and lower; a URL slug (accents removed); reversed; trimmed and whitespace-collapsed; and counts of characters, letters, digits, words and lines. Splits identifiers like userIDValue or XMLHttpRequest correctly. Use when naming fields, files and routes or cleaning user input.","tags":["string-utilities","case-converter","slugify","text","developer-tools","utility","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The string (up to 10,000 characters)","schema":{"type":"string"},"example":"Hello World, user profile ID 42"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"cases":{"type":"object","properties":{"camel":{"type":"string"},"pascal":{"type":"string"},"snake":{"type":"string"},"kebab":{"type":"string"},"constant":{"type":"string"},"dot":{"type":"string"},"path":{"type":"string"},"title":{"type":"string"},"sentence":{"type":"string"},"upper":{"type":"string"},"lower":{"type":"string"}}},"slug":{"type":"string"},"reversed":{"type":"string"},"collapsed":{"type":"string"},"counts":{"type":"object","properties":{"characters":{"type":"number"},"letters":{"type":"number"},"digits":{"type":"number"},"words":{"type":"number"},"lines":{"type":"number"}}}}},"example":{"cases":{"camel":"helloWorldUserProfileId42","pascal":"HelloWorldUserProfileId42","snake":"hello_world_user_profile_id_42","kebab":"hello-world-user-profile-id-42","constant":"HELLO_WORLD_USER_PROFILE_ID_42","dot":"hello.world.user.profile.id.42","path":"hello/world/user/profile/id/42","title":"Hello World User Profile Id 42","sentence":"Hello world user profile id 42","upper":"HELLO WORLD, USER PROFILE ID 42","lower":"hello world, user profile id 42"},"slug":"hello-world-user-profile-id-42","reversed":"24 DI eliforp resu ,dlroW olleH","collapsed":"Hello World, user profile ID 42","counts":{"characters":31,"letters":23,"digits":2,"words":6,"lines":1}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/coin-research":{"get":{"operationId":"pack_coin_research","summary":"Coin research, crypto research: price, funding, depth, signals","description":"One call to research a single coin traded on Hyperliquid (BTC, ETH, SOL, HYPE and about 200 more): price, 24-hour change, volume and open interest, the funding rate now and over the last 3 days, order-book depth and spread, technical readings on the 4-hour and daily charts (RSI, MACD, moving averages, Bollinger, volatility), and market-wide sentiment (Fear & Greed, attributed). Use before a trade or for a coin brief.","tags":["crypto-research","token-research","coin","pack","crypto","trading"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default BTC)","schema":{"type":"string"},"example":"ETH"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"coin":{"type":"string"},"market":{"type":"object","properties":{"markPx":{"type":"number"},"change24hPct":{"type":"number"},"dayVolumeUsd":{"type":"number"},"openInterestUsd":{"type":"number"},"fundingAprPct":{"type":"number"}}},"funding3d":{"type":"object","properties":{"averageAprPct":{"type":"number"}}},"depth":{"type":"object","properties":{"spreadBps":{"type":"number"},"bidDepthUsd":{"type":"number"},"askDepthUsd":{"type":"number"}}},"signals":{"type":"object","properties":{"4h":{"type":"object","properties":{"rsi14":{"type":"number"},"readings":{"type":"array","items":{"type":"string"}}}},"1d":{"type":"object","properties":{"rsi14":{"type":"number"},"readings":{"type":"array","items":{"type":"string"}}}}}},"sentiment":{"type":"object","properties":{"value":{"type":"number"},"classification":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"coin-research","coin":"ETH","market":{"markPx":2380.5,"change24hPct":-0.9,"dayVolumeUsd":531266943,"openInterestUsd":2562637002,"fundingAprPct":3.38},"funding3d":{"averageAprPct":8.15},"depth":{"spreadBps":0.42,"bidDepthUsd":1200000,"askDepthUsd":980000},"signals":{"4h":{"rsi14":40.8,"readings":["RSI neutral (30-70)"]},"1d":{"rsi14":45.1,"readings":["price below SMA 200"]}},"sentiment":{"value":51,"classification":"Neutral"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/api-health":{"get":{"operationId":"pack_api_health","summary":"API health check: uptime, latency, headers, x402","description":"One call to health-check an API endpoint: up or down with status and response time over three requests (min, median, max), the redirect chain, HTTP security headers, whether it is a paid x402 endpoint and what its payment terms are, and the API's OpenAPI document when one is found at the usual places. Cheaper than the tools bought one by one. Use for API monitoring, before integrating a third-party API, or to check your own after a deploy.","tags":["api-health","api-check","x402-endpoint","pack","monitoring","developer-tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"The API endpoint URL","schema":{"type":"string"},"example":"https://petstore3.swagger.io/api/v3/pet/findByStatus?status=available"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"url":{"type":"string"},"up":{"type":"boolean"},"status":{"type":"number"},"latencyMs":{"type":"object","properties":{"min":{"type":"number"},"median":{"type":"number"},"max":{"type":"number"}}},"redirects":{"type":"number"},"security":{"type":"object","properties":{"grade":{"type":"string"}}},"x402":{"type":"object","properties":{"paid":{"type":"boolean"}}},"openapi":{"type":"object","properties":{"found":{"type":"boolean"},"specUrl":{"type":"string"},"title":{"type":"string"},"operationCount":{"type":"number"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"api-health","url":"https://petstore3.swagger.io/api/v3/pet/findByStatus?status=available","up":true,"status":200,"latencyMs":{"min":180,"median":210,"max":260},"redirects":0,"security":{"grade":"C"},"x402":{"paid":false},"openapi":{"found":true,"specUrl":"https://petstore3.swagger.io/api/v3/openapi.json","title":"Swagger Petstore - OpenAPI 3.0","operationCount":19},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/openapi/summary":{"get":{"operationId":"openapi_summary","summary":"OpenAPI spec summary: operations, auth and servers","description":"Read an OpenAPI 3 or Swagger 2 document (JSON or YAML, up to 2 MB) from a URL and summarise it for an agent: title, version, description, servers, auth schemes, operation count by method, tags, which operations are paid (402 or x-payment-info) or deprecated, and up to 150 operations with method, path, summary and operationId. Use before calling an unfamiliar API, to pick an endpoint, or to compare APIs.","tags":["openapi","swagger","api-documentation","api","developer-tools","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"URL of the OpenAPI or Swagger document","schema":{"type":"string"},"example":"https://petstore3.swagger.io/api/v3/openapi.json"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"servers":{"type":"array","items":{"type":"string"}},"auth":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"scheme":{},"in":{}}}},"operationCount":{"type":"number"},"byMethod":{"type":"object","properties":{"GET":{"type":"number"},"POST":{"type":"number"}}},"tags":{"type":"array","items":{"type":"string"}},"paidOperations":{"type":"number"},"deprecatedOperations":{"type":"number"},"operations":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string"},"path":{"type":"string"},"summary":{"type":"string"},"operationId":{"type":"string"},"deprecated":{"type":"boolean"},"paid":{"type":"boolean"}}}},"truncated":{"type":"boolean"}}},"example":{"url":"https://petstore3.swagger.io/api/v3/openapi.json","format":"OpenAPI 3.0.4","title":"Swagger Petstore - OpenAPI 3.0","version":"1.0.27","description":"This is a sample Pet Store Server…","servers":["/api/v3"],"auth":[{"name":"petstore_auth","type":"oauth2","scheme":null,"in":null}],"operationCount":19,"byMethod":{"GET":8,"POST":5},"tags":["pet","store","user"],"paidOperations":0,"deprecatedOperations":0,"operations":[{"method":"PUT","path":"/pet","summary":"Update an existing pet.","operationId":"updatePet","deprecated":false,"paid":false}],"truncated":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mcp/inspect":{"get":{"operationId":"mcp_inspect","summary":"MCP server check, inspector: tools, auth and protocol","description":"MCP server check over streamable HTTP: whether it answers initialize, its name, version, protocol version and capabilities, whether it needs sign-in (OAuth or another 401 challenge), and its tools with names, titles, descriptions and input parameters, plus prompt and resource counts. Read-only: it lists, never calls a tool. Use to vet an MCP server before adding it to an agent, or to check your own after a deploy.","tags":["mcp-server-check","mcp","mcp-inspector","agents","developer-tools","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"The MCP server's streamable-HTTP URL","schema":{"type":"string"},"example":"https://mcp.deepwiki.com/mcp"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"reachable":{"type":"boolean"},"status":{"type":"number"},"authRequired":{"type":"boolean"},"server":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}}},"protocolVersion":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"transport":{"type":"string"},"toolCount":{"type":"number"},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{},"description":{"type":"string"},"params":{"type":"array","items":{"type":"string"}},"required":{"type":"array","items":{"type":"string"}}}}},"promptCount":{"type":"number"},"resourceCount":{"type":"number"}}},"example":{"url":"https://mcp.deepwiki.com/mcp","reachable":true,"status":200,"authRequired":false,"server":{"name":"DeepWiki","version":"2.14.3"},"protocolVersion":"2025-06-18","capabilities":["prompts","resources","tools"],"transport":"sse","toolCount":3,"tools":[{"name":"read_wiki_structure","title":null,"description":"Get a list of documentation topics for a GitHub repository","params":["repoName"],"required":["repoName"]}],"promptCount":0,"resourceCount":0}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/language":{"get":{"operationId":"text_language","summary":"Language detection: detect the language of a text","description":"Language detection for a text: the most likely language with its ISO 639-3 and 639-1 codes and English name, plus the next candidates with relative scores, using trigram statistics for 82 major languages (franc-min). Works best above about 20 characters; very short or mixed text returns und (undetermined). Local, no outside service. Use to route messages, pick a translation target or filter content by language.","tags":["language-detection","detect-language","language","text","nlp","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text (up to 10,000 characters)","schema":{"type":"string"},"example":"Det här är en mening skriven på svenska om väder och resor."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"language":{"type":"object","properties":{"iso6393":{"type":"string"},"iso6391":{"type":"string"},"name":{"type":"string"}}},"confident":{"type":"boolean"},"candidates":{"type":"array","items":{"type":"object","properties":{"iso6393":{"type":"string"},"name":{"type":"string"},"score":{"type":"number"}}}},"characters":{"type":"number"}}},"example":{"language":{"iso6393":"swe","iso6391":"sv","name":"Swedish"},"confident":true,"candidates":[{"iso6393":"swe","name":"Swedish","score":1},{"iso6393":"nld","name":"Dutch","score":0.726}],"characters":59}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/image/metadata":{"get":{"operationId":"image_metadata","summary":"EXIF, image metadata: camera, date, GPS and size","description":"Read an image's metadata from its URL: format (JPEG, PNG, GIF or WebP), width and height, and for JPEG photos the EXIF data: camera make and model, lens, date taken, exposure, aperture, ISO, focal length, orientation, software and the GPS position (latitude, longitude, altitude) when it was recorded. Up to 15 MB. Use to check where and when a photo was taken, verify an upload, or strip-check images before publishing.","tags":["exif","image-metadata","gps","photo","image","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Public URL of the image","schema":{"type":"string"},"example":"https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"format":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"bytes":{"type":"number"},"exif":{"type":"object","properties":{"make":{"type":"string"},"model":{"type":"string"},"takenAt":{"type":"string"},"orientation":{"type":"number"},"software":{"type":"string"}}},"gps":{"type":"object","properties":{"lat":{"type":"number"},"lon":{"type":"number"},"altitudeM":{}}}}},"example":{"url":"https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/gps/DSCN0010.jpg","format":"jpeg","width":640,"height":480,"bytes":161713,"exif":{"make":"NIKON","model":"COOLPIX P6000","takenAt":"2008:10:22 16:28:39","orientation":1,"software":"Nikon Transfer 1.1 W"},"gps":{"lat":43.467448,"lon":11.885127,"altitudeM":null}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/favicon":{"get":{"operationId":"url_favicon","summary":"Favicon finder: a site's icons and their sizes","description":"Find a website's icons: every <link rel=icon>, shortcut icon, apple-touch-icon and mask-icon on the page with its size and type, the web app manifest link, and whether /favicon.ico exists, all as absolute URLs, with the best icon picked (SVG, then the largest size; mask icons never). Use to show a site's logo next to a link, build bookmarks or enrich a company record.","tags":["favicon","icon","logo","web","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Page or site URL","schema":{"type":"string"},"example":"https://github.com/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"best":{"type":"string"},"icons":{"type":"array","items":{"type":"object","properties":{"href":{"type":"string"},"rel":{"type":"string"},"sizes":{},"type":{"type":"string"}}}},"manifest":{"type":"string"},"faviconIco":{"type":"boolean"}}},"example":{"url":"https://github.com/","best":"https://github.githubassets.com/favicons/favicon.svg","icons":[{"href":"https://github.githubassets.com/favicons/favicon.svg","rel":"icon","sizes":null,"type":"image/svg+xml"}],"manifest":"https://github.com/manifest.json","faviconIco":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/useragent/parse":{"get":{"operationId":"useragent_parse","summary":"User agent parser: browser, OS, device and bots","description":"Parse a User-Agent string into browser and version, operating system and version, device type (desktop, mobile, tablet or bot) and, for crawlers, which bot it is: Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, social previewers, SEO crawlers and HTTP libraries such as curl or python-requests. Local rules, no outside service. Use to read access logs, segment traffic or spot AI crawlers.","tags":["user-agent-parser","user-agent","bot-detection","web","analytics","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ua","in":"query","required":true,"description":"The User-Agent string","schema":{"type":"string"},"example":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"userAgent":{"type":"string"},"browser":{"type":"string"},"browserVersion":{"type":"string"},"majorVersion":{"type":"number"},"os":{"type":"string"},"osVersion":{"type":"string"},"device":{"type":"string"},"isBot":{"type":"boolean"},"bot":{}}},"example":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/130.0.0.0 Safari/537.36","browser":"Chrome","browserVersion":"130.0.0.0","majorVersion":130,"os":"Windows","osVersion":"10 or 11","device":"desktop","isBot":false,"bot":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/evm-toolbox":{"get":{"operationId":"pack_evm_toolbox","summary":"EVM developer utilities toolbox: checksum, keccak, selectors, units","description":"One call that works out what an EVM value is and converts it every useful way: an address gets its EIP-55 checksum and bytes32 form; a signature its 4-byte selector and event topic; calldata is decoded (ERC-20, NFT, permit, EIP-3009); a bytes32 becomes uint256, address and units; a number converts between wei, gwei, ether (or any decimals) and hex; text gets keccak256. Local, no network. Use for building or debugging contracts and agents.","tags":["evm-developer-utilities","developer-utilities","keccak256","function-selector","pack","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"input","in":"query","required":true,"description":"An address, signature, calldata, hex value, number or text","schema":{"type":"string"},"example":"transfer(address,uint256)"},{"name":"decimals","in":"query","required":false,"description":"Token decimals for unit conversions (default 18)","schema":{"type":"string"},"example":"6"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"input":{"type":"string"},"kind":{"type":"string"},"canonical":{"type":"string"},"functionSelector":{"type":"string"},"eventTopic":{"type":"string"}}},"example":{"pack":"evm-toolbox","input":"transfer(address,uint256)","kind":"signature","canonical":"transfer(address,uint256)","functionSelector":"0xa9059cbb","eventTopic":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/seo-toolkit":{"get":{"operationId":"pack_seo_toolkit","summary":"SEO analysis, SEO toolkit: audit, keywords, social preview","description":"One call for an on-page SEO analysis of a URL: the SEO audit (title and description lengths, canonical, headings, alt text, structured data, score, issues), the top keywords and two-word phrases with their density, the social preview (OpenGraph, Twitter card), the favicon, and robots.txt access with its sitemaps. Server HTML only. Cheaper than the tools one by one. Use before publishing, for an SEO report or to compare a competitor's page.","tags":["seo-analysis","seo-toolkit","seo-audit","keyword-density","pack","web"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page","schema":{"type":"string"},"example":"https://www.wikipedia.org/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"url":{"type":"string"},"audit":{"type":"object","properties":{"score":{"type":"number"},"issues":{"type":"array","items":{"type":"string"}},"title":{"type":"string"},"titleLength":{"type":"number"},"h1":{"type":"array","items":{"type":"string"}},"wordCount":{"type":"number"}}},"keywords":{"type":"array","items":{"type":"object","properties":{"word":{"type":"string"},"count":{"type":"number"},"densityPct":{"type":"number"}}}},"phrases":{"type":"array","items":{"type":"object","properties":{"phrase":{"type":"string"},"count":{"type":"number"},"densityPct":{"type":"number"}}}},"social":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"image":{}}},"favicon":{"type":"string"},"robots":{"type":"object","properties":{"allowed":{"type":"boolean"},"sitemaps":{"type":"array","items":{}}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"seo-toolkit","url":"https://www.wikipedia.org/","audit":{"score":64,"issues":["no canonical link"],"title":"Wikipedia","titleLength":9,"h1":["Wikipedia"],"wordCount":1500},"keywords":[{"word":"wikipedia","count":23,"densityPct":1.75}],"phrases":[{"phrase":"free encyclopedia","count":3,"densityPct":0.23}],"social":{"title":"Wikipedia","description":"Wikipedia is a free online encyclopedia…","image":null},"favicon":"https://www.wikipedia.org/static/favicon/wikipedia.ico","robots":{"allowed":true,"sitemaps":[]},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/gas-tracker":{"get":{"operationId":"pack_gas_tracker","summary":"Gas tracker, multichain gas: 5 EVM chains and Bitcoin fees","description":"One call for current gas prices on Base, Ethereum, Arbitrum, Optimism and Polygon: gas price, base fee and priority fee in gwei and what a plain transfer costs in the native coin and, for the ETH chains, in US dollars (Uniswap ETH price), sorted cheapest first, plus Bitcoin fee rates in sat/vB. Cheaper than the tools bought one by one. Use to pick the cheapest chain, time a transaction or show fees in a wallet.","tags":["gas-tracker","multichain-gas","gas-price","gas-fees","pack","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"ethUsd":{"type":"number"},"chains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"transferUsd":{"type":"number"}}}},"cheapest":{"type":"string"},"bitcoin":{"type":"object","properties":{"nextBlock":{"type":"number"},"hour":{"type":"number"},"unit":{"type":"string"}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"gas-tracker","ethUsd":2371.36,"chains":[{"chain":"Optimism","gasPriceGwei":"0.001000292","baseFeeGwei":"0.000000292","priorityFeeGwei":"0.001","transferCost":"0.000000021006132","symbol":"ETH","transferUsd":0.00005}],"cheapest":"Optimism","bitcoin":{"nextBlock":3,"hour":2,"unit":"sat/vB"},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pack/domain-intel":{"get":{"operationId":"pack_domain_intel","summary":"Domain intelligence, enrichment: who runs a domain and on what","description":"Company enrichment in one call for any domain: the site's name, description and logo, its tech stack (CMS, frameworks, analytics, hosting), email provider and email security (SPF, DMARC), who hosts the server (IP registry holder), DNS records, and the domain's registrar, age and expiry. Public DNS, RDAP and the home page only. Use for lead enrichment, company research, vendor checks or sales prospecting.","tags":["domain-intelligence","company-enrichment","lead-enrichment","company-research","pack","web"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"30000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"domain","in":"query","required":true,"description":"Company domain such as stripe.com (or a URL; its host is used)","schema":{"type":"string"},"example":"stripe.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pack":{"type":"string"},"domain":{"type":"string"},"site":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"siteName":{"type":"string"},"logo":{"type":"string"},"twitter":{"type":"string"}}},"tech":{"type":"object","properties":{"JavaScript frameworks":{"type":"array","items":{"type":"string"}},"Web servers":{"type":"array","items":{"type":"string"}}}},"email":{"type":"object","properties":{"provider":{"type":"string"},"spfPolicy":{"type":"string"},"dmarcPolicy":{"type":"string"}}},"hosting":{"type":"object","properties":{"ip":{"type":"string"},"holder":{"type":"string"},"country":{}}},"registration":{"type":"object","properties":{"registrar":{"type":"string"},"registeredAt":{"type":"string"},"ageDays":{"type":"number"},"expiresAt":{"type":"string"}}},"dns":{"type":"object","properties":{"a":{"type":"array","items":{"type":"string"}},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"number"},"host":{"type":"string"}}}},"ns":{"type":"array","items":{"type":"string"}}}},"failed":{"type":"object","properties":{}}}},"example":{"pack":"domain-intel","domain":"stripe.com","site":{"title":"Stripe | Financial Infrastructure to Grow Your Revenue","description":"Stripe is a suite of APIs…","siteName":"Stripe","logo":"https://images.stripeassets.com/…/favicon.svg","twitter":"@stripe"},"tech":{"JavaScript frameworks":["Next.js"],"Web servers":["Nginx"]},"email":{"provider":"Google Workspace","spfPolicy":"~all","dmarcPolicy":"reject"},"hosting":{"ip":"52.49.17.168","holder":"Amazon Data Services Ireland Limited","country":null},"registration":{"registrar":"SafeNames Ltd.","registeredAt":"1995-09-12T04:00:00Z","ageDays":11000,"expiresAt":"2027-09-11T04:00:00Z"},"dns":{"a":["52.49.17.168"],"mx":[{"priority":10,"host":"aspmx.l.google.com"}],"ns":["ns-1087.awsdns-07.org"]},"failed":{}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/tech/stack":{"get":{"operationId":"tech_stack","summary":"Tech stack detection: CMS, frameworks, analytics and hosting","description":"Detect the technologies behind a website from its home page HTML and response headers: CMS or site builder (WordPress, Shopify, Webflow…), JavaScript framework (Next.js, Nuxt, React…), analytics and ad pixels, support widgets, payments, captcha, CDN and hosting, web server and backend language, each with the evidence that matched. About 110 public fingerprints, server HTML only. Use for lead research, competitor analysis or sales prospecting.","tags":["tech-stack","technology-detection","website-technology","competitor-analysis","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Website or page URL","schema":{"type":"string"},"example":"https://vercel.com/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"technologies":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"category":{"type":"string"},"evidence":{"type":"string"}}}},"byCategory":{"type":"object","properties":{"JavaScript frameworks":{"type":"array","items":{"type":"string"}},"CDN and hosting":{"type":"array","items":{"type":"string"}}}},"generator":{},"server":{"type":"string"},"poweredBy":{},"count":{"type":"number"}}},"example":{"url":"https://vercel.com/","technologies":[{"name":"Next.js","category":"JavaScript frameworks","evidence":"page /_next/static/"},{"name":"Vercel","category":"CDN and hosting","evidence":"header x-vercel-id"}],"byCategory":{"JavaScript frameworks":["Next.js"],"CDN and hosting":["Vercel"]},"generator":null,"server":"Vercel","poweredBy":null,"count":2}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/btc-fees":{"get":{"operationId":"btc_fees","summary":"Bitcoin fee rates and mempool status: Bitcoin fee estimate in sat/vB for the next block, half hour and hour, with mempool size","description":"Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees.","tags":["bitcoin","fees","mempool","btc","onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["network","unit","fees","typicalPaymentSats","typicalPaymentVbytes","source","limitations","mempool","blockHeight","checkedAt"],"properties":{"network":{"const":"bitcoin"},"unit":{"const":"sat/vB"},"fees":{"type":"object","required":["nextBlock","halfHour","hour","economy","minimum"],"properties":{"nextBlock":{"type":"number","minimum":0},"halfHour":{"type":"number","minimum":0},"hour":{"type":"number","minimum":0},"economy":{"type":"number","minimum":0},"minimum":{"type":"number","minimum":0}}},"typicalPaymentSats":{"type":"object","required":["nextBlock","hour"],"properties":{"nextBlock":{"type":"number","minimum":0},"hour":{"type":"number","minimum":0}}},"typicalPaymentVbytes":{"const":141,"description":"Illustrative transaction-size assumption; not the buyer's transaction size."},"source":{"const":"https://mempool.space/api"},"limitations":{"type":"array","minItems":1,"items":{"type":"string"}},"mempool":{"type":"object","required":["transactions","vsize","totalFeesBtc"],"properties":{"transactions":{"type":"integer","minimum":0},"vsize":{"type":"integer","minimum":0},"totalFeesBtc":{"type":"number","minimum":0}}},"blockHeight":{"type":"integer","minimum":0},"checkedAt":{"type":"string","description":"Server retrieval time in UTC. Upstream endpoints are not an atomic snapshot."}}},"example":{"network":"bitcoin","unit":"sat/vB","fees":{"nextBlock":4,"halfHour":3,"hour":1,"economy":1,"minimum":1},"typicalPaymentSats":{"nextBlock":564,"hour":141},"typicalPaymentVbytes":141,"source":"https://mempool.space/api","limitations":["Estimates do not guarantee confirmation time","141 vB is an illustrative one-input/two-output SegWit size; actual transaction size varies","Source endpoints are fetched concurrently, not as an atomic snapshot"],"mempool":{"transactions":83832,"vsize":42066150,"totalFeesBtc":0.1093664},"blockHeight":970000,"checkedAt":"2026-10-01T00:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/btc-price":{"get":{"operationId":"btc_price","summary":"Bitcoin (BTC) price in USD, EUR and other major currencies: current Bitcoin price in USD, EUR, GBP and other currencies","description":"Current Bitcoin (BTC) spot price in USD, EUR, GBP, CAD, CHF, AUD and JPY, averaged across major exchanges, with the number of satoshis per US dollar and the time of the price. Use to convert between sats and fiat, to value a Bitcoin or Lightning payment, or to check the BTC price before a trade.","tags":["bitcoin","price","btc","crypto","market"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"currency","in":"query","required":false,"description":"Optional: also price BTC in this currency; the seven listed ones come from the source, others (SEK, NOK, INR, BRL and about 25 more) are converted from USD at the ECB reference rate","schema":{"type":"string"},"example":"SEK"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"string"},"prices":{"type":"object","properties":{"USD":{"type":"number"},"EUR":{"type":"number"},"GBP":{"type":"number"},"CAD":{"type":"number"},"CHF":{"type":"number"},"AUD":{"type":"number"},"JPY":{"type":"number"}}},"satsPerUsd":{"type":"number"},"usdPerSat":{"type":"number"},"priceTime":{"type":"string"},"source":{"type":"string"},"checkedAt":{"type":"string"}}},"example":{"asset":"BTC","prices":{"USD":83463,"EUR":74624,"GBP":63152,"CAD":118855,"CHF":69423,"AUD":119532,"JPY":13210661},"satsPerUsd":1198,"usdPerSat":0.00083463,"priceTime":"2026-10-13T09:10:05.000Z","source":"mempool.space (average of major exchanges)","checkedAt":"2026-10-13T09:12:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/balance":{"get":{"operationId":"eth_balance","summary":"Ethereum native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["ethereum","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/gas":{"get":{"operationId":"eth_gas","summary":"Ethereum gas price","description":"Current gas price on Ethereum (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use eth_receipt.","tags":["ethereum","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base-gas":{"get":{"operationId":"base_gas","summary":"Base gas price and fee estimate: current gas price and transaction fee estimate on Base","description":"Live gas prices on Base (chain 8453) read from the latest block: base fee and priority fee in gwei, suggested maxFeePerGas and maxPriorityFeePerGas in wei for an EIP-1559 transaction, how full the latest block is, and the estimated execution fee in ETH for an ETH transfer and an ERC-20 transfer. Use before sending a transaction on Base or to decide whether to wait for lower fees.","tags":["base","gas","fees","ethereum","onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"blockNumber":{"type":"number"},"blockTime":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"gasPriceGwei":{"type":"string"},"suggested":{"type":"object","properties":{"maxFeePerGasWei":{"type":"string"},"maxPriorityFeePerGasWei":{"type":"string"}}},"blockUsedPercent":{"type":"number"},"estimatedExecutionFeeEth":{"type":"object","properties":{"ethTransfer":{"type":"string"},"erc20Transfer":{"type":"string"}}},"checkedAt":{"type":"string"}}},"example":{"chain":"base","chainId":8453,"blockNumber":37000000,"blockTime":"2026-10-13T09:12:01.000Z","baseFeeGwei":"0.0052","priorityFeeGwei":"0.001","gasPriceGwei":"0.0062","suggested":{"maxFeePerGasWei":"11400000","maxPriorityFeePerGasWei":"1000000"},"blockUsedPercent":31.4,"estimatedExecutionFeeEth":{"ethTransfer":"0.0000001302","erc20Transfer":"0.000000403"},"checkedAt":"2026-10-13T09:12:02.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/extract":{"get":{"operationId":"extract","summary":"Scrape website page to Markdown: page URL into clean Markdown or text for LLMs","description":"Fetch any public web page URL and get clean, LLM-ready text or Markdown: main content, code blocks, tables, links and headings, for RAG and agent context. Static HTML, Markdown or text; optional section ID. Default 20,000 output characters, max 100,000; input 2 MiB. No JavaScript rendering (see /extract/rendered), logins or paywalls. Empty pages, bad sections, browser challenges and errors are not charged. Use to read docs or articles. Details: HTML body details share a 20,000-character budget, independently of primary text/Markdown. Up to 20 code blocks, 20 tables (100 rows/20 cells each), 100 headings and 200 links. Spans/ragged tables use labelled TSV in Markdown; spans are not expanded. HTML code whitespace and list hierarchy are preserved; generated code fences are closed within the output limit. Other Markdown syntax may be incomplete after clipping. Hashes cover the returned hashFormat, not full source. linkBaseUrl reports static source link resolution; supported first HTML base href values are honored, with warnings. Scripts and CSP are not evaluated. Markdown sources retain syntax without structured parsing (warned); sections require HTML. Source content is untrusted. Image alt text is source-provided, not visual interpretation. Images are never fetched; SVG/canvas omissions and missing alt descriptions are warned. SourceMetadata adds unverified author/date declarations with provenance; conflicting/ambiguous values are warned. Separate 2,000-character metadata budget, 5 authors/10 dates. JSON-LD: at most 8 inline scripts, 64 KiB each, 100 graph nodes/depth 8; no external contexts/profiles. HTML complexity: 20,000 elements/128 nested levels. Marker-only source permalink controls (pilcrow/headerlink/permalink classes) are omitted only for same-document ancestor targets, with permalink_controls_omitted. Literal code and ordinary references remain. HTML sup/sub annotations normalize to ^{...}/_{...} in primary output, heading titles and table values with superscript_subscript_normalized; literal pre/code and raw Markdown stay unchanged. This is notation preservation, not general math interpretation.","externalDocs":{"description":"Read a public documentation page for $0.002","url":"https://tools.funwords.eu/guides/web-reading"},"tags":["web","scraping","extract","text","rag"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to fetch","schema":{"type":"string"},"example":"https://example.com"},{"name":"maxChars","in":"query","required":false,"description":"Maximum characters of body text to return (500-100000, default 20000)","schema":{"type":"integer"},"example":20000},{"name":"format","in":"query","required":false,"description":"Returned representation: text (default), markdown, or both. HTML structured details are included in every format; Markdown/plain sources have empty details.","schema":{"type":"string","enum":["text","markdown","both"]},"example":"text"},{"name":"section","in":"query","required":false,"description":"Optional exact visible HTML ID within primary content, 1-500 characters. Heading scope includes subsections until next same/higher-level heading; section/article/main/div scope is its subtree. Missing/ambiguous/unsupported targets fail uncharged. URL fragments alone do not select a section.","schema":{"type":"string"},"example":"retry-policy"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["url","finalUrl","status","contentType","sourceFormat","linkBaseUrl","sourceMetadata","title","description","lang","canonical","headings","section","links","codeBlocks","tables","contentSelection","warnings","format","textLength","truncated","contentHash","hashFormat","fetchedAt"],"properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"integer"},"contentType":{"type":"string"},"sourceMetadata":{"type":"object","required":["verification","authors","dates","truncated"],"description":"Page-level source declarations, not verified authorship or freshness. Head author/Open Graph date tags and bounded direct Schema.org JSON-LD Article/WebPage-like nodes only; exact-URL matches preferred, otherwise only one identity-free candidate. Author @id references resolve only to unambiguous local Person/Organization names, with both paths recorded. No external context/reference fetching or general JSON-LD expansion. Separate 2000-character value+provenance budget; 5 authors/10 dates. Original date strings are not normalized. Empty for Markdown/plain sources; unrelated entities and ambiguous nodes are omitted with warnings.","properties":{"verification":{"const":"not_verified"},"truncated":{"type":"boolean"},"authors":{"type":"array","maxItems":5,"items":{"type":"object","required":["value","source"],"properties":{"value":{"type":"string","maxLength":256},"source":{"type":"string","maxLength":256}}}},"dates":{"type":"array","maxItems":10,"items":{"type":"object","required":["value","source","kind"],"properties":{"value":{"type":"string","maxLength":128},"source":{"type":"string","maxLength":256},"kind":{"enum":["published","modified"]}}}}}},"linkBaseUrl":{"type":"string","description":"Effective source-derived HTTP(S) base for links: the first supported HTML base href outside inert/foreign subtrees, otherwise finalUrl. Credentials and non-HTTP(S) base values are ignored with a warning. HTML links/canonical use this base; raw Markdown keeps relative syntax and can be resolved using this field. No linked resource is fetched. This static interpretation does not evaluate scripts or Content Security Policy."},"sourceFormat":{"enum":["html","markdown","plain"],"description":"Source interpretation. Markdown is identified by text/markdown, or a .md/.markdown final path served as text/plain (warned). Markdown syntax is retained verbatim within the cap, not converted to HTML or parsed for structured details; text also retains that syntax. HTML section IDs are unsupported for Markdown/plain text."},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"lang":{"type":["string","null"]},"canonical":{"type":["string","null"]},"format":{"enum":["text","markdown","both"]},"text":{"type":"string","maxLength":100000},"markdown":{"type":"string","maxLength":100000},"textLength":{"type":"integer","minimum":0,"description":"Full extracted text length before the character cap, within the input limit."},"truncated":{"type":"boolean","description":"Input or requested primary representation is incomplete. Structured detail limits are reported separately in warnings."},"contentSelection":{"enum":["main","article","body","plain"]},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"hashFormat":{"enum":["text","markdown"]},"fetchedAt":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}},"headings":{"type":"array","maxItems":100,"items":{"type":"object","required":["level","text","id"],"properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string"},"id":{"type":["string","null"],"maxLength":500,"description":"Source HTML heading ID or direct child anchor ID, when present and supported; not a generated slug."}}}},"section":{"description":"Null for full primary-content reading. Otherwise the explicitly requested scope; title/description/canonical remain page-level metadata. Heading scope ends before the next same/higher-level heading, including nested subsections; container scope is its subtree.","anyOf":[{"type":"null"},{"type":"object","required":["id","title","kind","headingLevel"],"properties":{"id":{"type":"string","maxLength":500},"title":{"type":["string","null"]},"kind":{"enum":["heading","container"]},"headingLevel":{"type":["integer","null"],"minimum":1,"maximum":6}}}]},"links":{"type":"array","maxItems":200,"items":{"type":"object","required":["href","text"],"properties":{"href":{"type":"string"},"text":{"type":"string"}}}},"codeBlocks":{"type":"array","maxItems":20,"items":{"type":"object","required":["language","text","truncated"],"properties":{"language":{"type":["string","null"]},"text":{"type":"string","maxLength":20000},"truncated":{"type":"boolean"}}}},"tables":{"type":"array","maxItems":20,"items":{"type":"object","required":["caption","rows","headerRows","hasSpans","truncated"],"properties":{"caption":{"type":["string","null"]},"rows":{"type":"array","maxItems":100,"items":{"type":"array","maxItems":20,"items":{"type":"string"}}},"headerRows":{"type":"array","items":{"type":"integer","minimum":0,"maximum":99}},"hasSpans":{"type":"boolean"},"truncated":{"type":"boolean"}}}}},"oneOf":[{"properties":{"format":{"const":"text"},"hashFormat":{"const":"text"}},"required":["text"],"not":{"required":["markdown"]}},{"properties":{"format":{"const":"markdown"},"hashFormat":{"const":"markdown"}},"required":["markdown"],"not":{"required":["text"]}},{"properties":{"format":{"const":"both"},"hashFormat":{"const":"text"}},"required":["text","markdown"]}]},"example":{"url":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","finalUrl":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","status":200,"contentType":"text/html;charset=utf-8","sourceFormat":"html","linkBaseUrl":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","sourceMetadata":{"verification":"not_verified","authors":[],"dates":[],"truncated":false},"title":"Owned sample: short article","description":null,"lang":"en","canonical":null,"headings":[{"level":1,"text":"A short release note","id":null}],"section":null,"links":[],"tables":[],"codeBlocks":[],"contentSelection":"main","warnings":[],"format":"both","text":"A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.","markdown":"# A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.","textLength":198,"truncated":false,"contentHash":"sha256:6cd3137dc4735c9ab317c764c78b47712dc9ca8eabe435dd0db9142bdaacbe2c","hashFormat":"text","fetchedAt":"2026-10-16T11:06:01.780Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/extract/rendered":{"get":{"operationId":"extract_rendered","summary":"Web page to Markdown, rendered: a JavaScript-rendered page as text or Markdown","description":"Same output as /extract, but the page is first rendered in a real browser, so single-page apps and pages that build their content with JavaScript come back with their text instead of an empty shell. Waits for the network to settle (up to 15 seconds). Public pages only; no login. Use when /extract returns EXTRACTION_EMPTY or too little text for a page you can read in a browser.","tags":["web","extract","javascript","rendering","markdown","scraping"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public http(s) URL of the page","schema":{"type":"string"},"example":"https://example.com/"},{"name":"format","in":"query","required":false,"description":"text (default), markdown or both","schema":{"type":"string","enum":["text","markdown","both"]},"example":"markdown"},{"name":"maxChars","in":"query","required":false,"description":"Output limit, 500-100000 characters (default 20000)","schema":{"type":"integer"},"example":20000},{"name":"section","in":"query","required":false,"description":"Optional exact HTML id to read only that element","schema":{"type":"string"},"example":"main"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"number"},"contentType":{"type":"string"},"sourceFormat":{"type":"string"},"linkBaseUrl":{"type":"string"},"sourceMetadata":{"type":"object","properties":{"verification":{"type":"string"},"authors":{"type":"array","items":{}},"dates":{"type":"array","items":{}},"truncated":{"type":"boolean"}}},"title":{"type":"string"},"description":{},"lang":{"type":"string"},"canonical":{},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"number"},"text":{"type":"string"},"id":{}}}},"section":{},"links":{"type":"array","items":{}},"tables":{"type":"array","items":{}},"codeBlocks":{"type":"array","items":{}},"contentSelection":{"type":"string"},"warnings":{"type":"array","items":{}},"format":{"type":"string"},"text":{"type":"string"},"markdown":{"type":"string"},"textLength":{"type":"number"},"truncated":{"type":"boolean"},"contentHash":{"type":"string"},"hashFormat":{"type":"string"},"fetchedAt":{"type":"string"},"rendered":{"type":"boolean"}}},"example":{"url":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","finalUrl":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","status":200,"contentType":"text/html;charset=utf-8","sourceFormat":"html","linkBaseUrl":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","sourceMetadata":{"verification":"not_verified","authors":[],"dates":[],"truncated":false},"title":"Owned sample: short article","description":null,"lang":"en","canonical":null,"headings":[{"level":1,"text":"A short release note","id":null}],"section":null,"links":[],"tables":[],"codeBlocks":[],"contentSelection":"main","warnings":[],"format":"both","text":"A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.","markdown":"# A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.","textLength":198,"truncated":false,"contentHash":"sha256:6cd3137dc4735c9ab317c764c78b47712dc9ca8eabe435dd0db9142bdaacbe2c","hashFormat":"text","fetchedAt":"2026-10-16T11:06:01.780Z","rendered":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/email":{"get":{"operationId":"email","summary":"Email verification, validation: verify an address with syntax, MX and disposable-address checks, no mail sent","description":"Check email syntax, DNS and MX records, disposable providers, role addresses, free providers and SPF/DMARC presence. Returns likely-deliverable, risky, undeliverable or invalid with reasons. No message is sent and the mail server is not contacted. These are DNS and syntax signals, not proof that a mailbox exists or accepts delivery. Use before sending mail or saving a signup.","tags":["email","validation","verification","leads","deliverability"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"The email address to check","schema":{"type":"string"},"example":"support@cloudflare.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"validSyntax":{"type":"boolean"},"domain":{"type":"string"},"domainExists":{"type":"boolean"},"acceptsMail":{"type":"boolean"},"disposable":{"type":"boolean"},"roleAddress":{"type":"boolean"},"freeProvider":{"type":"boolean"},"hasSpf":{"type":"boolean"},"hasDmarc":{"type":"boolean"},"verdict":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}}},"example":{"address":"support@cloudflare.com","validSyntax":true,"domain":"cloudflare.com","domainExists":true,"acceptsMail":true,"disposable":false,"roleAddress":true,"freeProvider":false,"hasSpf":true,"hasDmarc":true,"verdict":"likely-deliverable","reasons":["role address, not a person"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/company":{"get":{"operationId":"company","summary":"Company data lookup: profile, identifiers and website from Wikidata","description":"Facts about a company by name or Wikidata ID: official website, founding date, country, headquarters, industries, CEO, founders, parent, employee count, stock tickers and exchanges, and LEI, with Wikidata and Wikipedia links. Public domain data (CC0), best for established and listed companies. No match returns 404, uncharged. Use to enrich leads, vendors and counterparties or ground an answer about a company.","tags":["company","enrichment","business","kyb","wikidata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":false,"description":"Company name to search for (give name or id)","schema":{"type":"string"},"example":"Spotify"},{"name":"id","in":"query","required":false,"description":"Wikidata item ID such as Q689141, instead of name","schema":{"type":"string"},"example":"Q689141"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"website":{"type":"string"},"founded":{"type":"string"},"dissolved":{},"country":{"type":"string"},"headquarters":{"type":"string"},"industries":{"type":"array","items":{"type":"string"}},"ceo":{},"founders":{"type":"array","items":{"type":"string"}},"parent":{},"employees":{"type":"number"},"stockListings":{"type":"array","items":{"type":"object","properties":{"exchange":{"type":"string"},"ticker":{"type":"string"}}}},"lei":{},"wikidataId":{"type":"string"},"wikidataUrl":{"type":"string"},"wikipediaUrl":{"type":"string"},"source":{"type":"string"}}},"example":{"name":"Spotify","description":"Swedish audio streaming service","website":"https://www.spotify.com/","founded":"2006-04-23","dissolved":null,"country":"Sweden","headquarters":"Stockholm","industries":["music streaming"],"ceo":null,"founders":["Daniel Ek","Martin Lorentzon"],"parent":null,"employees":7000,"stockListings":[{"exchange":"New York Stock Exchange","ticker":"SPOT"}],"lei":null,"wikidataId":"Q689141","wikidataUrl":"https://www.wikidata.org/wiki/Q689141","wikipediaUrl":"https://en.wikipedia.org/wiki/Spotify","source":"Wikidata (CC0 public domain)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/domain":{"get":{"operationId":"domain","summary":"DNS lookup, WHOIS lookup: DNS, RDAP registration age and email authentication","description":"Domain intelligence in one call: DNS records (A, AAAA, CNAME, MX, NS, TXT, CAA), DNSSEC status, registrar, registration and expiry dates with domain age in days (RDAP/WHOIS), and email authentication (SPF and DMARC records and policies, whether the domain accepts mail). Use for lead qualification, phishing and trust checks, and deliverability audits. For a trust verdict with named flags use domain_report.","tags":["domain","dns","whois","email","security"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"Domain name, e.g. cloudflare.com","schema":{"type":"string"},"example":"cloudflare.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"},"exists":{"type":"boolean"},"dns":{"type":"object","properties":{"a":{"type":"array","items":{"type":"string"}},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"number"},"host":{"type":"string"}}}},"ns":{"type":"array","items":{"type":"string"}},"dnssecValidated":{"type":"boolean"}}},"email":{"type":"object","properties":{"acceptsMail":{"type":"boolean"},"spfPolicy":{"type":"string"},"dmarcPolicy":{"type":"string"}}},"registration":{"type":"object","properties":{"registrableDomain":{"type":"string"},"registrar":{"type":"string"},"registeredAt":{"type":"string"},"expiresAt":{"type":"string"},"ageDays":{"type":"number"},"dnssecSigned":{"type":"boolean"}}}}},"example":{"domain":"cloudflare.com","exists":true,"dns":{"a":["104.16.132.229","104.16.133.229"],"mx":[{"priority":5,"host":"mxa-canary.global.inbound.cf-emailsecurity.net"}],"ns":["ns3.cloudflare.com","ns4.cloudflare.com"],"dnssecValidated":true},"email":{"acceptsMail":true,"spfPolicy":"-all","dmarcPolicy":"reject"},"registration":{"registrableDomain":"cloudflare.com","registrar":"Cloudflare, Inc.","registeredAt":"2009-02-17T22:07:54Z","expiresAt":"2033-02-17T22:07:54Z","ageDays":6441,"dnssecSigned":true}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/domain-report":{"get":{"operationId":"domain_report","summary":"Domain lookup, trust verdict: age, DNS and email-auth flags","description":"A trust verdict for any domain in one call: high/medium/low trust with named flags for very new registrations, expiry, missing or weak SPF and DMARC, too few nameservers, no web host and non-resolving domains, plus the key facts (registrar, age, nameservers, DNSSEC). Use for lead qualification, phishing and vendor checks, and before an agent sends mail to or trusts a domain. Signals only, not a guarantee. Raw DNS records: domain.","tags":["domain","security","trust","phishing","email"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"Domain name, e.g. cloudflare.com","schema":{"type":"string"},"example":"cloudflare.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"},"trust":{"type":"string"},"summary":{"type":"string"},"flags":{"type":"array","items":{}},"facts":{"type":"object","properties":{"exists":{"type":"boolean"},"registrar":{"type":"string"},"registeredAt":{"type":"string"},"expiresAt":{"type":"string"},"ageDays":{"type":"number"},"nameservers":{"type":"array","items":{"type":"string"}},"acceptsMail":{"type":"boolean"},"spfPolicy":{"type":"string"},"dmarcPolicy":{"type":"string"},"dnssecValidated":{"type":"boolean"}}},"checkedAt":{"type":"string"}}},"example":{"domain":"cloudflare.com","trust":"high","summary":"high trust: 0 high and 0 medium flag(s). Based on DNS, registration and email-authentication signals only.","flags":[],"facts":{"exists":true,"registrar":"Cloudflare, Inc.","registeredAt":"2009-02-17T22:07:54Z","expiresAt":"2033-02-17T22:07:54Z","ageDays":6447,"nameservers":["ns3.cloudflare.com","ns4.cloudflare.com"],"acceptsMail":true,"spfPolicy":"-all","dmarcPolicy":"reject","dnssecValidated":true},"checkedAt":"2026-10-14T19:25:28.425Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/weather":{"get":{"operationId":"weather","summary":"Weather forecast: current weather and 48-hour hourly forecast for any city or coordinates","description":"Current weather by city name, or by latitude and longitude, for any place on Earth: temperature in Celsius, conditions (clear, cloudy, rain, snow), precipitation in mm, wind, humidity, cloud cover and air pressure, plus an hourly forecast for up to 48 hours. Data from the Norwegian Meteorological Institute; city names resolve via Wikidata. Use for travel and event planning, logistics, agriculture and any agent that needs the weather.","tags":["weather","forecast","temperature","climate","geo"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"city","in":"query","required":false,"description":"City or place name, e.g. London or Uppsala (used when lat and lon are not given)","schema":{"type":"string"},"example":"London"},{"name":"lat","in":"query","required":false,"description":"Latitude in decimal degrees, -90 to 90 (with lon, instead of city)","schema":{"type":"number"},"example":59.33},{"name":"lon","in":"query","required":false,"description":"Longitude in decimal degrees, -180 to 180 (with lat, instead of city)","schema":{"type":"number"},"example":18.07},{"name":"hours","in":"query","required":false,"description":"Hours of hourly forecast to return, 1-48 (default 12; 48 covers tomorrow)","schema":{"type":"integer"},"example":12}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"elevationM":{"type":"number"},"current":{"type":"object","properties":{"time":{"type":"string"},"temperatureC":{"type":"number"},"conditions":{"type":"string"},"precipitationMm":{"type":"number"},"windSpeedMs":{"type":"number"},"windFromDegrees":{"type":"number"},"humidityPercent":{"type":"number"},"cloudCoverPercent":{"type":"number"},"pressureHpa":{"type":"number"}}},"forecast":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string"},"temperatureC":{"type":"number"},"conditions":{"type":"string"},"precipitationMm":{"type":"number"},"windSpeedMs":{"type":"number"},"windFromDegrees":{"type":"number"},"humidityPercent":{"type":"number"},"cloudCoverPercent":{"type":"number"},"pressureHpa":{"type":"number"}}}},"forecastUpdatedAt":{"type":"string"},"source":{"type":"string"},"checkedAt":{"type":"string"}}},"example":{"latitude":59.33,"longitude":18.07,"elevationM":23,"current":{"time":"2026-10-13T09:00:00Z","temperatureC":7.5,"conditions":"cloudy","precipitationMm":0,"windSpeedMs":1.1,"windFromDegrees":317,"humidityPercent":85.9,"cloudCoverPercent":94.6,"pressureHpa":1024.2},"forecast":[{"time":"2026-10-13T10:00:00Z","temperatureC":8.5,"conditions":"partlycloudy_day","precipitationMm":0,"windSpeedMs":1.2,"windFromDegrees":335,"humidityPercent":83.9,"cloudCoverPercent":73,"pressureHpa":1023.8}],"forecastUpdatedAt":"2026-10-13T08:30:57Z","source":"MET Norway (api.met.no), licensed CC BY 4.0","checkedAt":"2026-10-13T09:12:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/econ/gdp":{"get":{"operationId":"econ_gdp","summary":"GDP by country, World Bank data: current US$, real growth and per capita","description":"GDP of any country from World Bank data: GDP in current US dollars, annual real GDP growth in % and GDP per capita in US dollars, for the last 1-10 years with the newest year first. Country by ISO code (SE, SWE) or English name. Read from a committed World Bank Open Data snapshot (CC BY 4.0), so every call answers at once; the snapshot date is in the answer. Use for country comparisons, market sizing and macro context.","tags":["gdp","economy","world-bank","macro","statistics","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166 code (SE, SWE) or English country name (Sweden)","schema":{"type":"string"},"example":"SE"},{"name":"years","in":"query","required":false,"description":"Years of history to return, 1-10 (default 5)","schema":{"type":"integer"},"example":5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"iso2":{"type":"string"},"region":{"type":"string"},"incomeLevel":{"type":"string"},"capital":{"type":"string"}}},"gdp":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"gdpGrowth":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"gdpPerCapita":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"source":{"type":"string"}}},"example":{"country":{"code":"SWE","name":"Sweden","iso2":"SE","region":"Europe & Central Asia","incomeLevel":"High income","capital":"Stockholm"},"gdp":{"indicator":"GDP (current US$)","latest":{"year":2025,"value":668998664082.08},"values":[{"year":2025,"value":668998664082.08}]},"gdpGrowth":{"indicator":"GDP growth (annual %)","latest":{"year":2025,"value":1.2},"values":[{"year":2025,"value":1.2}]},"gdpPerCapita":{"indicator":"GDP per capita (current US$)","latest":{"year":2025,"value":63133.5},"values":[{"year":2025,"value":63133.5}]},"source":"World Bank Open Data (CC BY 4.0), snapshot 2026-10-22"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/econ/inflation":{"get":{"operationId":"econ_inflation","summary":"Inflation rate by country: consumer prices, annual % (World Bank)","description":"Inflation rate of any country: annual % change in consumer prices (CPI) from World Bank data, for the last 1-10 years with the newest year first. Country by ISO code (SE, SWE) or English name. Read from a committed World Bank Open Data snapshot (CC BY 4.0), so every call answers at once; the snapshot date is in the answer. Use for real-return, pricing and macro questions.","tags":["inflation","cpi","economy","world-bank","macro","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166 code (SE, SWE) or English country name (Sweden)","schema":{"type":"string"},"example":"SE"},{"name":"years","in":"query","required":false,"description":"Years of history to return, 1-10 (default 5)","schema":{"type":"integer"},"example":5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"iso2":{"type":"string"},"region":{"type":"string"},"incomeLevel":{"type":"string"},"capital":{"type":"string"}}},"inflation":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"source":{"type":"string"}}},"example":{"country":{"code":"SWE","name":"Sweden","iso2":"SE","region":"Europe & Central Asia","incomeLevel":"High income","capital":"Stockholm"},"inflation":{"indicator":"Inflation, consumer prices (annual %)","latest":{"year":2025,"value":0.68},"values":[{"year":2025,"value":0.68},{"year":2024,"value":2.84}]},"source":"World Bank Open Data (CC BY 4.0), snapshot 2026-10-22"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/econ/population":{"get":{"operationId":"econ_population","summary":"Population by country: total, growth and urban share (World Bank)","description":"Population of any country from World Bank data: total population, annual population growth in % and the urban share of the population in %, for the last 1-10 years with the newest year first. Country by ISO code (SE, SWE) or English name. Read from a committed World Bank Open Data snapshot (CC BY 4.0), so every call answers at once; the snapshot date is in the answer. Use for market sizing, per-capita figures and demographics.","tags":["population","demographics","world-bank","statistics","country","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166 code (SE, SWE) or English country name (Sweden)","schema":{"type":"string"},"example":"SE"},{"name":"years","in":"query","required":false,"description":"Years of history to return, 1-10 (default 5)","schema":{"type":"integer"},"example":5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"iso2":{"type":"string"},"region":{"type":"string"},"incomeLevel":{"type":"string"},"capital":{"type":"string"}}},"population":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"populationGrowth":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"urbanShare":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"source":{"type":"string"}}},"example":{"country":{"code":"SWE","name":"Sweden","iso2":"SE","region":"Europe & Central Asia","incomeLevel":"High income","capital":"Stockholm"},"population":{"indicator":"Population, total","latest":{"year":2025,"value":10596620},"values":[{"year":2025,"value":10596620}]},"populationGrowth":{"indicator":"Population growth (annual %)","latest":{"year":2025,"value":0.25},"values":[{"year":2025,"value":0.25}]},"urbanShare":{"indicator":"Urban population (% of total population)","latest":{"year":2025,"value":89},"values":[{"year":2025,"value":89}]},"source":"World Bank Open Data (CC BY 4.0), snapshot 2026-10-22"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/econ/unemployment":{"get":{"operationId":"econ_unemployment","summary":"Unemployment rate by country: total and youth, % of labour force (World Bank)","description":"Unemployment rate of any country from World Bank data (ILO modelled estimates): total unemployment and youth unemployment (ages 15-24) as % of the labour force, for the last 1-10 years with the newest year first. Country by ISO code (SE, SWE) or English name. Read from a committed World Bank Open Data snapshot (CC BY 4.0), so every call answers at once; the snapshot date is in the answer. Use for labour-market and macro questions.","tags":["unemployment","labour","economy","world-bank","macro","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166 code (SE, SWE) or English country name (Sweden)","schema":{"type":"string"},"example":"SE"},{"name":"years","in":"query","required":false,"description":"Years of history to return, 1-10 (default 5)","schema":{"type":"integer"},"example":5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"iso2":{"type":"string"},"region":{"type":"string"},"incomeLevel":{"type":"string"},"capital":{"type":"string"}}},"unemployment":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"youthUnemployment":{"type":"object","properties":{"indicator":{"type":"string"},"latest":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}},"values":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"value":{"type":"number"}}}}}},"source":{"type":"string"}}},"example":{"country":{"code":"SWE","name":"Sweden","iso2":"SE","region":"Europe & Central Asia","incomeLevel":"High income","capital":"Stockholm"},"unemployment":{"indicator":"Unemployment, total (% of total labor force) (modeled ILO estimate)","latest":{"year":2025,"value":8.69},"values":[{"year":2025,"value":8.69}]},"youthUnemployment":{"indicator":"Unemployment, youth total (% of total labor force ages 15-24) (modeled ILO estimate)","latest":{"year":2025,"value":24.1},"values":[{"year":2025,"value":24.1}]},"source":"World Bank Open Data (CC BY 4.0), snapshot 2026-10-22"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pdf/text":{"get":{"operationId":"pdf_text","summary":"PDF to text, page by page: extract the text of a PDF document from a URL, page by page","description":"Extract the text of a PDF from its URL: downloads a public PDF (up to 10 MB) and returns the text page by page, with title, author, page count and character counts. Choose a first page and how many pages to read (up to 200); cap the output with maxChars. arXiv abstract links are read as the PDF. Scanned PDFs without a text layer, encrypted files and non-PDF URLs fail uncharged. Use to read papers, invoices, reports and manuals into an agent.","tags":["pdf","documents","text","extract","rag"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public http(s) URL of the PDF","schema":{"type":"string"},"example":"https://bitcoin.org/bitcoin.pdf"},{"name":"firstPage","in":"query","required":false,"description":"First page to read (default 1)","schema":{"type":"integer"},"example":1},{"name":"pages","in":"query","required":false,"description":"How many pages to read (1-200, default 20)","schema":{"type":"integer"},"example":1},{"name":"maxChars","in":"query","required":false,"description":"Maximum characters of text returned across all pages (1000-200000, default 50000)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{},"author":{},"totalPages":{"type":"number"},"firstPage":{"type":"number"},"pagesRead":{"type":"number"},"chars":{"type":"number"},"truncated":{"type":"boolean"},"pages":{"type":"array","items":{"type":"object","properties":{"page":{"type":"number"},"chars":{"type":"number"},"text":{"type":"string"}}}}}},"example":{"url":"https://bitcoin.org/bitcoin.pdf","title":null,"author":null,"totalPages":9,"firstPage":1,"pagesRead":1,"chars":46,"truncated":true,"pages":[{"page":1,"chars":46,"text":"Bitcoin: A Peer-to-Peer Electronic Cash System"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/package":{"get":{"operationId":"package","summary":"Package risk check: npm, PyPI, Cargo, Go, Maven or NuGet metadata and dependency-risk signals, latest or pinned version","description":"Reports package existence, latest version and release, age, version count, npm weekly downloads, licenses, deprecation and known advisory severity. ok means no listed flags, not a safety guarantee. Supports npm, PyPI, Cargo, Go, Maven and NuGet. Optional exact version adds pinned-version metadata and uses deps.dev advisories; use /package-audit for OSV affected ranges and dated FIRST EPSS CVE estimates. Use before adding a dependency.","tags":["package","npm","pypi","security","dependencies"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ecosystem","in":"query","required":true,"description":"One of npm, pypi, cargo, go, maven, nuget","schema":{"type":"string"},"example":"npm"},{"name":"name","in":"query","required":true,"description":"Exact package name, e.g. lodash or @scope/name","schema":{"type":"string"},"example":"lodash"},{"name":"version","in":"query","required":false,"description":"Optional exact version to inspect; ranges and tags are not accepted","schema":{"type":"string"},"example":"4.17.20"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"ecosystem":{"type":"string"},"name":{"type":"string"},"exists":{"type":"boolean"},"verdict":{"type":"string"},"flags":{"type":"array","items":{}},"latestVersion":{"type":"string"},"ageDays":{"type":"number"},"versionCount":{"type":"number"},"weeklyDownloads":{"type":"number"},"licenses":{"type":"array","items":{"type":"string"}},"deprecated":{"type":"boolean"},"knownVulnerabilities":{"type":"number"},"advisories":{"type":"array","items":{}},"repository":{"type":"string"}}},"example":{"ecosystem":"npm","name":"lodash","exists":true,"verdict":"ok","flags":[],"latestVersion":"4.18.1","ageDays":5282,"versionCount":117,"weeklyDownloads":162476177,"licenses":["MIT"],"deprecated":false,"knownVulnerabilities":0,"advisories":[],"repository":"git+https://github.com/lodash/lodash.git"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/package-audit":{"get":{"operationId":"package_audit","summary":"Dependency audit: up to 10 packages, exact-version advisories and fixes","description":"Check up to 10 public dependencies, optionally pinned to exact versions, for advisory IDs, OSV affected/fixed ranges and dated FIRST EPSS CVE estimates. Scoped npm names supported. Detail and subrequest caps apply; omitted details and incomplete coverage are explicit. Missing evidence is unknown, not zero risk. Automated signals, not a safety guarantee. See the buying guide for limits. Use before installing or upgrading dependencies. Details: Audit up to 10 ecosystem:name items, optionally pinned to exact versions; scoped npm names are supported. npm downloads are not queried, unversioned deps.dev detail is capped at one advisory per package, pinned deps.dev detail is skipped, and OSV detail is capped at 15 per request. Batch advisory IDs/counts remain available; omitted details and EPSS coverage are reported. Exact versions add OSV ranges and dated FIRST EPSS estimates for CVE aliases (up to 50 CVEs). EPSS is not a safety guarantee; missing scores are unknown, not zero. Verdicts are bounded signals. Example timestamps are illustrative; bad input is not charged.","externalDocs":{"description":"Dependency audit buying guide and capped client","url":"https://tools.funwords.eu/guides/dependency-audit"},"tags":["package","security","supply-chain","npm","pypi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"packages","in":"query","required":true,"description":"Comma-separated ecosystem:name items, optionally name@exact-version; max 10. For scoped npm, use npm:@scope/name@version.","schema":{"type":"string"},"example":"npm:lodash@4.17.20,pypi:requests@2.31.0,npm:@types/node@22.0.0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"checked":{"type":"number"},"notFound":{"type":"number"},"lookupFailed":{"type":"number"},"versionNotFound":{"type":"number"},"versionAdvisoryLookupIncomplete":{"type":"number"},"epssLookup":{"type":"object","properties":{"source":{"type":"string"},"status":{"type":"string"},"sourceStatus":{"type":"string"},"retrievedAt":{"type":"string"},"requestedCves":{"type":"number"},"queriedCves":{"type":"number"},"returnedScores":{"type":"number"},"omittedCves":{"type":"number"},"uninspectedAdvisoryDetails":{"type":"number"},"malformedRows":{"type":"number"},"note":{"type":"string"}}},"summary":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"ecosystem":{"type":"string"},"name":{"type":"string"},"exists":{"type":"boolean"},"version":{"type":"string"},"versionExists":{"type":"boolean"},"verdict":{"type":"string"},"flags":{"type":"array","items":{"type":"string"}},"weeklyDownloads":{},"weeklyDownloadsStatus":{"type":"string"},"knownVulnerabilities":{"type":"number"},"advisoryIds":{"type":"array","items":{"type":"string"}},"knownVulnerabilityCountSources":{"type":"array","items":{"type":"string"}},"advisoryDetailsStatus":{"type":"string"},"advisoryDetailsOmitted":{"type":"number"},"advisoryDetailsUnavailable":{"type":"number"},"advisories":{"type":"array","items":{}},"source":{"type":"string"},"retrievedAt":{"type":"string"},"versionAdvisories":{"type":"object","properties":{"source":{"type":"string"},"status":{"type":"string"},"retrievedAt":{"type":"string"},"advisoryCount":{"type":"number"},"vulnerabilities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"sourceUrl":{"type":"string"},"retrievedAt":{"type":"string"},"detailStatus":{"type":"string"},"modified":{"type":"string"},"published":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"},"rangeStatus":{"type":"string"},"fixedVersionRanges":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"events":{"type":"array","items":{"type":"object","properties":{"introduced":{"type":"string"}}}},"fixedVersions":{"type":"array","items":{"type":"string"}}}}},"epss":{"type":"object","properties":{"source":{"type":"string"},"status":{"type":"string"},"sourceStatus":{"type":"string"},"retrievedAt":{"type":"string"},"scores":{"type":"array","items":{"type":"object","properties":{"cve":{"type":"string"},"status":{"type":"string"},"score":{"type":"number"},"percentile":{"type":"number"},"date":{"type":"string"}}}},"note":{"type":"string"}}}}}},"note":{"type":"string"}}}}}},"source":{"type":"string"}}},"example":{"checked":1,"notFound":0,"lookupFailed":0,"versionNotFound":0,"versionAdvisoryLookupIncomplete":0,"epssLookup":{"source":"FIRST EPSS","status":"complete","sourceStatus":"available","retrievedAt":"2026-10-14T12:00:00.000Z","requestedCves":1,"queriedCves":1,"returnedScores":1,"omittedCves":0,"uninspectedAdvisoryDetails":0,"malformedRows":0,"note":"FIRST EPSS estimates 30-day exploitation probability, not package safety."},"summary":"All 1 package(s) exist. Review each verdict and flags before installing.","results":[{"ecosystem":"npm","name":"minimist","exists":true,"version":"1.2.5","versionExists":true,"verdict":"caution","flags":["known-vulnerabilities"],"weeklyDownloads":null,"weeklyDownloadsStatus":"not-fetched-subrequest-budget","knownVulnerabilities":1,"advisoryIds":["GHSA-xvch-5gv4-984h"],"knownVulnerabilityCountSources":["deps.dev","OSV"],"advisoryDetailsStatus":"not-fetched-subrequest-budget","advisoryDetailsOmitted":1,"advisoryDetailsUnavailable":0,"advisories":[],"source":"deps.dev","retrievedAt":"2026-10-14T12:00:00.000Z","versionAdvisories":{"source":"OSV","status":"complete","retrievedAt":"2026-10-14T12:00:00.000Z","advisoryCount":1,"vulnerabilities":[{"id":"GHSA-xvch-5gv4-984h","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-xvch-5gv4-984h","retrievedAt":"2026-10-14T12:00:00.000Z","detailStatus":"available","modified":"2026-03-13T22:11:59.523514Z","published":"2022-03-18T00:01:09Z","aliases":["CVE-2021-44906"],"summary":"Prototype Pollution in minimist","rangeStatus":"reported","fixedVersionRanges":[{"type":"SEMVER","events":[{"introduced":"1.0.0"},{"fixed":"1.2.6"}],"fixedVersions":["1.2.6"]},{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.4"}],"fixedVersions":["0.2.4"]}],"epss":{"source":"FIRST EPSS","status":"complete","sourceStatus":"available","retrievedAt":"2026-10-14T12:00:00.000Z","scores":[{"cve":"CVE-2021-44906","status":"available","score":0.04581,"percentile":0.91484,"date":"2026-10-14"}],"note":"EPSS estimates 30-day exploitation probability for CVE aliases; it is not a package-safety guarantee. Null scores are unknown, not zero."}}],"note":"OSV advisories are matched to this exact package version."}}],"source":"deps.dev"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sitemap":{"get":{"operationId":"sitemap","summary":"Sitemap parser, URL extractor: documentation URLs from a bounded XML sitemap","description":"Sitemap parser: reads one public XML sitemap or sitemap index as structured URLs and source-reported dates. Supports gzip, substring filtering and pagination. Large sitemaps are read from the start (512 KiB, 1000 entries at most, with a warning). Does not crawl pages or follow child sitemaps. Invalid XML and execution errors are not charged; a valid empty match is charged. Use to find which pages of a docs site to read before calling /extract. Details: XML only: the first 512 KiB (a compressed file must itself be under 512 KiB) and at most 1000 entries are read, 60000 XML elements, depth 16, locations up to 2048 characters. DTD declarations are rejected. contains is a case-insensitive substring of source-reported URLs, not semantic search. Pagination counts distinct reported loc values before public-URL validation of the selected page. Returned URLs are not probed; dates are not verified. Index entries are child sitemaps, not pages. DNS-resolution limitations of the public-fetch guard remain.","externalDocs":{"description":"Discover documentation URLs before choosing pages to read","url":"https://tools.funwords.eu/guides/sitemap"},"tags":["web","sitemap","discovery","research"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public HTTP(S) XML sitemap URL; child sitemaps are not fetched automatically","schema":{"type":"string"},"example":"https://www.sitemaps.org/sitemap.xml"},{"name":"contains","in":"query","required":false,"description":"Optional case-insensitive URL substring, at most 200 characters","schema":{"type":"string"},"example":"/protocol"},{"name":"maxUrls","in":"query","required":false,"description":"Reported matching locations examined in one page (1-100, default 25); invalid/nonpublic locations may reduce returned entries","schema":{"type":"integer"},"example":25},{"name":"offset","in":"query","required":false,"description":"Offset into distinct reported matching locations (0-1000, default 0); use nextOffset to continue","schema":{"type":"integer"},"example":0}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["url","finalUrl","kind","entries","reportedEntries","uniqueReportedLocations","missingOrInvalidLocations","duplicateReportedLocations","rejectedLocationsInPage","matchingReportedLocations","contains","offset","nextOffset","hasMore","warnings","text","format","hashFormat","contentHash","sourceHash","fetchedAt"],"properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"kind":{"enum":["urlset","sitemapindex"]},"entries":{"type":"array","maxItems":100,"items":{"type":"object","required":["url","lastModified"],"properties":{"url":{"type":"string","maxLength":2048},"lastModified":{"type":["string","null"],"maxLength":80,"description":"Source-reported value; not a verified modification time."}}}},"reportedEntries":{"type":"integer","minimum":0,"maximum":1000},"uniqueReportedLocations":{"type":"integer","minimum":0,"maximum":1000},"missingOrInvalidLocations":{"type":"integer","minimum":0},"duplicateReportedLocations":{"type":"integer","minimum":0},"rejectedLocationsInPage":{"type":"integer","minimum":0},"matchingReportedLocations":{"type":"integer","minimum":0,"description":"Distinct reported locations matching contains, before public-URL validation of the selected page."},"contains":{"type":"string","maxLength":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":["integer","null"],"minimum":0},"hasMore":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"text":{"type":"string"},"format":{"const":"text"},"hashFormat":{"const":"text"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"sourceHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"fetchedAt":{"type":"string"}}},"example":{"url":"https://agent-data-tools.revmesh2074.workers.dev/examples/sitemap/source.xml","finalUrl":"https://agent-data-tools.revmesh2074.workers.dev/examples/sitemap/source.xml","kind":"urlset","entries":[{"url":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/technical-guide.html","lastModified":"2026-10-15"},{"url":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","lastModified":"2026-10-15"}],"reportedEntries":3,"uniqueReportedLocations":3,"missingOrInvalidLocations":0,"duplicateReportedLocations":0,"rejectedLocationsInPage":0,"matchingReportedLocations":3,"contains":"","offset":0,"nextOffset":2,"hasMore":true,"warnings":["counts_describe_reported_locations_before_public_url_validation","locations_and_dates_are_source_reported_not_probed"],"text":"https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/technical-guide.html\nhttps://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html","format":"text","hashFormat":"text","contentHash":"sha256:8055b8b5ced205885a181b4fa7145008ac8d5dc3fb3286007c4cf679f886b750","sourceHash":"sha256:c24148c4774690472856c116012988bb52e992c6a3bbba156947be1dac6eba03","fetchedAt":"2026-10-15T21:48:20.943Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/wallet":{"get":{"operationId":"wallet","summary":"Base wallet balances and account nonce snapshot: see a Base wallet's ETH and token balances and its transaction count","description":"Base only (all 5 chains: wallet_balances; USD values: wallet_portfolio). An address on Base: ETH and major token balances (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC) plus up to 20 token addresses you pass, the account nonce, and whether it is an EOA, a contract or an EIP-7702 account. The nonce counts outgoing transactions only; not transfer or trading history. Use to check a counterparty's holdings.","tags":["base","wallet","balance","portfolio","onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Wallet or contract address on Base (0x...)","schema":{"type":"string"},"example":"0x4200000000000000000000000000000000000006"},{"name":"tokens","in":"query","required":false,"description":"Optional comma-separated extra ERC-20 addresses to check (max 20)","schema":{"type":"string"},"example":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"type":{"type":"string"},"eth":{"type":"object","properties":{"wei":{"type":"string"},"formatted":{"type":"string"}}},"accountNonce":{"type":"number"},"limitations":{"type":"array","items":{"type":"string"}},"tokens":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"balance":{"type":"string"},"balanceFormatted":{"type":"string"}}}}}},"example":{"chain":"base","address":"0x4200000000000000000000000000000000000006","type":"contract","eth":{"wei":"286016330790748434767802","formatted":"286016.330790748434767802"},"accountNonce":0,"limitations":["accountNonce is the Base EVM account nonce; for EOAs it reflects outgoing transactions only, not full transaction, token-transfer, or trading history."],"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"balance":"167551481","balanceFormatted":"167.551481"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/summarize":{"get":{"operationId":"summarize","summary":"Summarize a web page from its URL: fetch a web page by URL and summarize what it says","description":"Give a URL, get a short summary of the page plus three to six key points, ready to drop into an agent's context. Fetches the page, strips navigation and boilerplate, and summarizes the main text with an LLM. HTML pages only; for a PDF use pdf_text, then ai_summarize_text. Use for research, news triage, link previews and deciding whether a page is worth reading in full. For the full text use extract.","tags":["summary","web","llm","research","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to summarize","schema":{"type":"string"},"example":"https://en.wikipedia.org/wiki/HTTP_402"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"lang":{"type":"string"},"summary":{"type":"string"},"keyPoints":{"type":"array","items":{"type":"string"}},"sourceChars":{"type":"number"},"sourceTruncated":{"type":"boolean"}}},"example":{"url":"https://en.wikipedia.org/wiki/List_of_HTTP_status_codes","title":"List of HTTP status codes - Wikipedia","lang":"en","summary":"The page lists HTTP response status codes and what each one means, grouped into five classes.","keyPoints":["1xx codes are informational","402 Payment Required is reserved for future use"],"sourceChars":12000,"sourceTruncated":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/screenshot":{"get":{"operationId":"screenshot","summary":"Website screenshot: capture a web page as an image","description":"Render any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page title. Set fullPage=true to capture up to 4000 px of page height. Use for visual checks, page previews, monitoring and feeding pages to vision models.","tags":["screenshot","browser","render","web","image"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to capture","schema":{"type":"string"},"example":"https://example.com"},{"name":"fullPage","in":"query","required":false,"description":"Set to true to capture the full page height (max 4000 px) instead of the 1280x800 viewport","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"number"},"title":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"contentType":{"type":"string"},"imageBase64":{"type":"string"}}},"example":{"url":"https://example.com/","finalUrl":"https://example.com/","status":200,"title":"Example Domain","width":1280,"height":800,"contentType":"image/jpeg","imageBase64":"/9j/4AAQSkZJRgABAQAAAQABAAD..."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/btc-address":{"get":{"operationId":"btc_address","summary":"Bitcoin address balance and activity: check the balance and transactions of a Bitcoin address","description":"Bitcoin address balance and activity for any mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transaction counts. Use for payment verification, checking whether a deposit arrived, and wallet monitoring.","tags":["bitcoin","address","balance","btc","onchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Bitcoin mainnet address (1..., 3... or bc1...)","schema":{"type":"string"},"example":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string"},"address":{"type":"string"},"balanceSats":{"type":"number"},"balanceBtc":{"type":"number"},"pendingSats":{"type":"number"},"totalReceivedBtc":{"type":"number"},"totalSentBtc":{"type":"number"},"transactions":{"type":"number"},"pendingTransactions":{"type":"number"}}},"example":{"network":"bitcoin","address":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","balanceSats":392247777,"balanceBtc":3.92247777,"pendingSats":0,"totalReceivedBtc":16.79253616,"totalSentBtc":12.87005839,"transactions":1138,"pendingTransactions":0}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ln-invoice":{"get":{"operationId":"ln_invoice","summary":"Decode a Lightning invoice: decode a BOLT11 Lightning invoice: amount, description, expiry and payment hash","description":"Decode a BOLT11 Lightning Network invoice without paying it: network, amount in sats and BTC, description, payment hash, creation time, expiry time and whether it has already expired. Use to check what an invoice asks for before an agent pays it.","tags":["lightning","bitcoin","invoice","bolt11","decode"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"invoice","in":"query","required":true,"description":"BOLT11 invoice string starting with ln (lnbc... for mainnet)","schema":{"type":"string"},"example":"lnbc2500u1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5xysxxatsyp3k7enxv4jsxqzpu9qrsgquk0rl77nj30yxdy8j9vdx85fkpmdla2087ne0xh8nhedh8w27kyke0lp53ut353s06fv3qfegext0eh0ymjpf39tuven09sam30g4vgpfna3rh"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string"},"amountSats":{"type":"number"},"amountBtc":{"type":"number"},"description":{"type":"string"},"paymentHash":{"type":"string"},"createdAt":{"type":"string"},"expiresAt":{"type":"string"},"expired":{"type":"boolean"},"expirySeconds":{"type":"number"}}},"example":{"network":"bitcoin","amountSats":250000,"amountBtc":0.0025,"description":"1 cup coffee","paymentHash":"0001020304050607080900010203040506070809000102030405060708090102","createdAt":"2017-06-01T10:57:38.000Z","expiresAt":"2017-06-01T10:58:38.000Z","expired":true,"expirySeconds":60}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/trade-insight":{"get":{"operationId":"trade_insight","summary":"Sourced token and wallet risk indicators with market facts: sourced risk indicators and market facts for a token or wallet before a trade","description":"Combines the Base token-report risk tier and flags, available DEX market data, and wallet-audit risk tier, flags, account nonce, and native balance. Returns the underlying indicators separately; it does not generate buy/sell recommendations or calibrated confidence, and does not evaluate holder concentration. The account nonce is not full transaction, token-transfer, or trading history. Use as one input before a Base trade.","tags":["trading","risk","base","market"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token contract address on Base, 0x-prefixed 20-byte hex","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"wallet","in":"query","required":true,"description":"Wallet address to evaluate, 0x-prefixed 20-byte hex","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"tokenRisk":{"type":"string"},"tokenRiskFlags":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}}}},"tokenMarket":{},"walletRisk":{"type":"string"},"walletRiskFlags":{"type":"array","items":{}},"walletFacts":{"type":"object","properties":{"accountNonce":{"type":"number"},"ethBalance":{"type":"string"}}},"limitations":{"type":"array","items":{"type":"string"}}}},"example":{"tokenRisk":"high","tokenRiskFlags":[{"level":"high","code":"no_liquidity","message":"No DEX trading pair found on Base."}],"tokenMarket":null,"walletRisk":"low","walletRiskFlags":[],"walletFacts":{"accountNonce":42,"ethBalance":"0.5"},"limitations":["Rule-based risk indicators only; this response is not a buy/sell recommendation and has no calibrated confidence score.","Holder concentration is not evaluated.","walletFacts.accountNonce is the Base EVM account nonce; for EOAs it reflects outgoing transactions only, not full transaction, token-transfer, or trading history."]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mev-simulator":{"get":{"operationId":"mev_simulator","summary":"Base gas-cost estimates under priority-fee scenarios: estimate Base transaction gas costs under different priority-fee scenarios","description":"Estimates Base gas costs from current fees and priority-fee presets. Fixed gas units (100k simple, 250k complex, 180k liquidity) are typical assumptions, not transaction-specific estimates or quotes. Valid values: standard, high-mev (3x priority fee), low-gas (half); invalid values return HTTP 400 without charge. No transaction simulation, mempool observation, or MEV/sandwich-risk measurement. Use to budget gas for a Base transaction.","tags":["gas","defi","transaction-cost","scenario-estimate","base"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"scenario","in":"query","required":false,"description":"One of standard, high-mev, low-gas (default: standard)","schema":{"type":"string","enum":["standard","high-mev","low-gas"]},"example":"standard"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"scenario":{"type":"string"},"gasPrice":{"type":"object","properties":{"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"maxFeeGwei":{"type":"string"}}},"estimatedCosts":{"type":"object","properties":{"simpleSwap":{"type":"object","properties":{"gasUnits":{"type":"number"},"costEth":{"type":"string"},"costUsd":{"type":"string"}}},"complexSwap":{"type":"object","properties":{"gasUnits":{"type":"number"},"costEth":{"type":"string"},"costUsd":{"type":"string"}}},"addLiquidity":{"type":"object","properties":{"gasUnits":{"type":"number"},"costEth":{"type":"string"},"costUsd":{"type":"string"}}}}},"scenarioNotes":{"type":"array","items":{"type":"string"}},"blockNumber":{"type":"number"}}},"example":{"chain":"base","scenario":"standard","gasPrice":{"baseFeeGwei":"0.05","priorityFeeGwei":"0.1","maxFeeGwei":"0.15"},"estimatedCosts":{"simpleSwap":{"gasUnits":100000,"costEth":"0.000015","costUsd":"0.06"},"complexSwap":{"gasUnits":250000,"costEth":"0.0000375","costUsd":"0.16"},"addLiquidity":{"gasUnits":180000,"costEth":"0.000027","costUsd":"0.11"}},"scenarioNotes":["Gas units use typical fixed assumptions (100,000 simple swap, 250,000 complex swap, 180,000 add-liquidity), not a transaction-specific estimate or quote.","This preset uses the current priority fee without adjustment."],"blockNumber":18650000}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/papers":{"get":{"operationId":"papers","summary":"Research papers, Crossref: academic papers search","description":"Research papers search across journals, conferences, preprints and books (Crossref): title, authors, year, venue, citation count, DOI link and abstract where available. Optional fromYear filter and up to 20 results per call. Use for research agents, literature reviews, fact-checking a claim against published work, and finding the DOI for a citation.","tags":["research","papers","academic","search","citations"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"query","in":"query","required":true,"description":"Search terms, a title or a research question (3-300 characters)","schema":{"type":"string"},"example":"CRISPR off-target effects"},{"name":"limit","in":"query","required":false,"description":"Number of results, 1-20 (default 5)","schema":{"type":"integer"},"example":5},{"name":"fromYear","in":"query","required":false,"description":"Only works published in or after this year","schema":{"type":"integer"},"example":2020}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"totalMatches":{"type":"number"},"returned":{"type":"number"},"results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"authors":{"type":"array","items":{"type":"string"}},"year":{"type":"number"},"venue":{"type":"string"},"type":{"type":"string"},"citations":{"type":"number"},"doi":{"type":"string"},"url":{"type":"string"}}}}}},"example":{"query":"CRISPR off-target effects","totalMatches":819818,"returned":1,"results":[{"title":"Off-target effects in CRISPR/Cas9 gene editing","authors":["Congting Guo","Xiaoteng Ma"],"year":2023,"venue":"Frontiers in Bioengineering and Biotechnology","type":"journal-article","citations":632,"doi":"10.3389/fbioe.2023.1143157","url":"https://doi.org/10.3389/fbioe.2023.1143157"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/fx":{"get":{"operationId":"fx","summary":"Currency exchange rates, forex: currency converter and conversion","description":"Foreign exchange rates from the European Central Bank for about 30 major currencies (USD, EUR, GBP, JPY, CHF, SEK, CAD, AUD, CNY, INR, BRL and more). Give a base currency, optionally the target currencies and an amount, and get the rates, the converted amounts and the date the rates apply to. Use for currency conversion, invoice and price calculations, and reporting in another currency.","tags":["currency","exchange-rate","forex","finance","conversion"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"from","in":"query","required":true,"description":"Base currency as a three-letter ISO 4217 code, e.g. USD","schema":{"type":"string"},"example":"USD"},{"name":"to","in":"query","required":false,"description":"Optional comma-separated target currency codes, e.g. EUR,GBP; default is all available currencies","schema":{"type":"string"},"example":"EUR,GBP,SEK"},{"name":"amount","in":"query","required":false,"description":"Optional amount of the base currency to convert (default 1)","schema":{"type":"number"},"example":100}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string"},"amount":{"type":"number"},"rateDate":{"type":"string"},"rates":{"type":"object","properties":{"EUR":{"type":"number"},"GBP":{"type":"number"},"SEK":{"type":"number"}}},"converted":{"type":"object","properties":{"EUR":{"type":"number"},"GBP":{"type":"number"},"SEK":{"type":"number"}}},"source":{"type":"string"},"checkedAt":{"type":"string"}}},"example":{"from":"USD","amount":100,"rateDate":"2026-10-12","rates":{"EUR":0.89437,"GBP":0.75555,"SEK":10.0139},"converted":{"EUR":89.437,"GBP":75.555,"SEK":1001.39},"source":"European Central Bank reference rates (one rate per working day, published around 16:00 CET)","checkedAt":"2026-10-13T09:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base-tx":{"get":{"operationId":"base_tx","summary":"Base transaction status and details: check whether a Base transaction succeeded, its sender, value and fee","description":"Look up any transaction on Base by hash: whether it succeeded, reverted or is still pending, sender and receiver, ETH value, called method id, block number and time, number of confirmations, gas used, gas price and the execution fee paid, and whether it created a contract. Use to confirm that a payment or contract call went through before acting on it.","tags":["base","transaction","receipt","onchain","payment-verification"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"3000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"3000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"Transaction hash on Base: 0x followed by 64 hex characters","schema":{"type":"string"},"example":"0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"hash":{"type":"string"},"status":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"contractCreated":{},"valueEth":{"type":"string"},"nonce":{"type":"number"},"methodId":{"type":"string"},"blockNumber":{"type":"number"},"blockTime":{"type":"string"},"confirmations":{"type":"number"},"gasUsed":{"type":"number"},"gasPriceGwei":{"type":"string"},"executionFeeEth":{"type":"string"},"logCount":{"type":"number"}}},"example":{"chain":"base","hash":"0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0","status":"success","from":"0x97acce27d5069544480bde0f04d9f47d7422a016","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","contractCreated":null,"valueEth":"0","nonce":3363755,"methodId":"0xe3ee160e","blockNumber":52508570,"blockTime":"2026-10-12T12:01:27.000Z","confirmations":38598,"gasUsed":103410,"gasPriceGwei":"0.00688587","executionFeeEth":"0.0000007120678167","logCount":2}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base-allowance":{"get":{"operationId":"base_allowance","summary":"ERC-20 token approval check on Base: check how much of a token a spender is approved to move on Base","description":"Check how much of a wallet's ERC-20 token a spender contract is approved to move on Base: the raw and formatted allowance, the token symbol and decimals, and whether the approval is unlimited. Use before a swap or deposit to see if an approve transaction is needed, and to audit a wallet for risky unlimited approvals.","tags":["base","erc20","allowance","approval","security"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"ERC-20 token contract address on Base (0x...)","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"owner","in":"query","required":true,"description":"Wallet address that holds the token (0x...)","schema":{"type":"string"},"example":"0x4200000000000000000000000000000000000006"},{"name":"spender","in":"query","required":true,"description":"Address allowed to spend, usually a router or protocol contract (0x...)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"allowance":{"type":"string"},"allowanceFormatted":{"type":"string"},"unlimited":{"type":"boolean"},"approved":{"type":"boolean"}}},"example":{"chain":"base","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6,"owner":"0x4200000000000000000000000000000000000006","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","allowance":"0","allowanceFormatted":"0","unlimited":false,"approved":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ens":{"get":{"operationId":"ens","summary":"ENS name resolver, reverse ENS: ENS name to address and address to ENS name","description":"Resolve an Ethereum Name Service name such as vitalik.eth to its wallet address and avatar, or look up the primary ENS name of an address (reverse resolution). Read live from Ethereum mainnet. Use to turn a human-readable name into a payable address, or to show a readable name for a counterparty address.","tags":["ens","ethereum","identity","address","resolve"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"An ENS name such as vitalik.eth, or an address (0x...) for reverse lookup","schema":{"type":"string"},"example":"vitalik.eth"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"avatar":{"type":"string"},"checkedAt":{"type":"string"}}},"example":{"query":"vitalik.eth","type":"name","name":"vitalik.eth","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","avatar":"https://euc.li/vitalik.eth","checkedAt":"2026-10-13T09:40:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/time":{"get":{"operationId":"time","summary":"Timezone converter, current time: time zone conversion","description":"The exact current date and time in any IANA time zone (UTC when none is given), with UTC offset, weekday, abbreviation and Unix timestamp, daylight saving time handled. Optionally convert a given moment into up to 10 other time zones in the same call. Use when an agent needs to know what time it is, to schedule across time zones or to turn a timestamp into local time. A bare GET is the smallest paid end-to-end test of an x402 or MPP client.","tags":["time","timezone","clock","date","scheduling"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"zone","in":"query","required":false,"description":"IANA time zone name, e.g. Europe/Stockholm or America/New_York (default UTC)","schema":{"type":"string"},"example":"Europe/Stockholm"},{"name":"at","in":"query","required":false,"description":"Optional moment to convert, as ISO 8601 with an offset (default: now)","schema":{"type":"string"},"example":"2026-03-01T09:00:00+01:00"},{"name":"to","in":"query","required":false,"description":"Optional comma-separated time zones to convert the same moment into (max 10)","schema":{"type":"string"},"example":"America/New_York,Asia/Tokyo"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"utc":{"type":"string"},"unixSeconds":{"type":"number"},"zone":{"type":"string"},"localTime":{"type":"string"},"isoWithOffset":{"type":"string"},"utcOffset":{"type":"string"},"weekday":{"type":"string"},"abbreviation":{"type":"string"},"converted":{"type":"array","items":{"type":"object","properties":{"zone":{"type":"string"},"localTime":{"type":"string"},"isoWithOffset":{"type":"string"},"utcOffset":{"type":"string"},"weekday":{"type":"string"},"abbreviation":{"type":"string"}}}}}},"example":{"utc":"2026-10-13T09:12:00.000Z","unixSeconds":1791882720,"zone":"Europe/Stockholm","localTime":"2026-10-13T11:12:00","isoWithOffset":"2026-10-13T11:12:00+02:00","utcOffset":"+02:00","weekday":"Tuesday","abbreviation":"CEST","converted":[{"zone":"America/New_York","localTime":"2026-10-13T05:12:00","isoWithOffset":"2026-10-13T05:12:00-04:00","utcOffset":"-04:00","weekday":"Tuesday","abbreviation":"EDT"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/balance":{"get":{"operationId":"base_balance","summary":"Base native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use base_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["base","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Base","chainId":8453,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/token-balance":{"get":{"operationId":"base_token_balance","summary":"Base ERC-20 balance","description":"ERC-20 token balance of a wallet on Base (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use base_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["base","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/token-info":{"get":{"operationId":"base_token_info","summary":"Base ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use base_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["base","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/block":{"get":{"operationId":"base_block","summary":"Block number, Base","description":"Latest block number and block details on Base, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use base_gas. A block that does not exist yet returns 404, uncharged.","tags":["base","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/receipt":{"get":{"operationId":"base_receipt","summary":"Base transaction receipt","description":"Transaction receipt on Base (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use base_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["base","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Base","chainId":8453,"hash":"0x7d108fa131ed949c76d50caf2e7dfe25fc9903b9d276c40a0446d8afbdfe86b0","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/nonce":{"get":{"operationId":"base_nonce","summary":"Base account nonce","description":"Read the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use base_balance. A malformed address is rejected with 400, uncharged.","tags":["base","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Base","chainId":8453,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/is-contract":{"get":{"operationId":"base_is_contract","summary":"Base contract check","description":"Check whether a 0x address on Base is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["base","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/logs":{"get":{"operationId":"base_logs","summary":"Base recent event logs","description":"Recent contract event logs on Base (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use base_receipt.","tags":["base","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/token-transfers":{"get":{"operationId":"base_token_transfers","summary":"Token transfers, Base","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Base, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use base_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["base","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Base)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Base","chainId":8453,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/nft-owner":{"get":{"operationId":"base_nft_owner","summary":"NFT owner, Base","description":"Owner of an NFT on Base: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use base_nft_balance, for the token's metadata base_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["base","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"contract":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/nft-balance":{"get":{"operationId":"base_nft_balance","summary":"NFT balance, Base","description":"How many NFTs of one ERC-721 collection a wallet holds on Base (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use base_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["base","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Base","chainId":8453,"contract":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/nft-metadata":{"get":{"operationId":"base_nft_metadata","summary":"NFT metadata, Base","description":"NFT metadata on Base: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use base_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["base","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Base","chainId":8453,"contract":"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/storage":{"get":{"operationId":"base_storage","summary":"Storage slot read, Base","description":"Read one raw storage slot of a contract on Base (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use base_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["base","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/proxy":{"get":{"operationId":"base_proxy","summary":"Proxy implementation, Base","description":"Find the implementation behind a proxy contract on Base: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["base","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Base","chainId":8453,"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/call":{"get":{"operationId":"base_call","summary":"Eth call, Base contract call","description":"Read-only contract call on Base (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["base","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Base","chainId":8453,"to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/estimate-gas":{"get":{"operationId":"base_estimate_gas","summary":"Estimate gas, Base","description":"Estimate the gas a transaction would use on Base (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use base_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["base","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Base","chainId":8453,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base/gas-history":{"get":{"operationId":"base_gas_history","summary":"Gas history, Base gas price","description":"Gas price history on Base (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use base_gas.","tags":["base","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Base","chainId":8453,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/token-balance":{"get":{"operationId":"eth_token_balance","summary":"Ethereum ERC-20 balance","description":"ERC-20 token balance of a wallet on Ethereum (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use eth_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["ethereum","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Ethereum","chainId":1,"token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/token-info":{"get":{"operationId":"eth_token_info","summary":"Ethereum ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use eth_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["ethereum","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Ethereum","chainId":1,"token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/block":{"get":{"operationId":"eth_block","summary":"Block number, Ethereum","description":"Latest block number and block details on Ethereum, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use eth_gas. A block that does not exist yet returns 404, uncharged.","tags":["ethereum","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Ethereum","chainId":1,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/tx":{"get":{"operationId":"eth_tx","summary":"Ethereum transaction","description":"Look up an Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use eth_receipt, for emitted events eth_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["ethereum","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"hash":"0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/receipt":{"get":{"operationId":"eth_receipt","summary":"Ethereum transaction receipt","description":"Transaction receipt on Ethereum (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use eth_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["ethereum","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Ethereum","chainId":1,"hash":"0x9531467e03a57bbb5cd080439ac3b10c0cefed147282eb2ff709b02c897afcbf","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/nonce":{"get":{"operationId":"eth_nonce","summary":"Ethereum account nonce","description":"Read the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use eth_balance. A malformed address is rejected with 400, uncharged.","tags":["ethereum","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/is-contract":{"get":{"operationId":"eth_is_contract","summary":"Ethereum contract check","description":"Check whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["ethereum","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/logs":{"get":{"operationId":"eth_logs","summary":"Ethereum recent event logs","description":"Recent contract event logs on Ethereum (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use eth_receipt.","tags":["ethereum","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/token-transfers":{"get":{"operationId":"eth_token_transfers","summary":"Token transfers, Ethereum","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Ethereum, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use eth_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["ethereum","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 6.7 hours on Ethereum)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/nft-owner":{"get":{"operationId":"eth_nft_owner","summary":"NFT owner, Ethereum","description":"Owner of an NFT on Ethereum: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use eth_nft_balance, for the token's metadata eth_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["ethereum","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Ethereum","chainId":1,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/nft-balance":{"get":{"operationId":"eth_nft_balance","summary":"NFT balance, Ethereum","description":"How many NFTs of one ERC-721 collection a wallet holds on Ethereum (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use eth_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["ethereum","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Ethereum","chainId":1,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/nft-metadata":{"get":{"operationId":"eth_nft_metadata","summary":"NFT metadata, Ethereum","description":"NFT metadata on Ethereum: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use eth_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["ethereum","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Ethereum","chainId":1,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/storage":{"get":{"operationId":"eth_storage","summary":"Storage slot read, Ethereum","description":"Read one raw storage slot of a contract on Ethereum (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use eth_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["ethereum","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/proxy":{"get":{"operationId":"eth_proxy","summary":"Proxy implementation, Ethereum","description":"Find the implementation behind a proxy contract on Ethereum: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["ethereum","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Ethereum","chainId":1,"address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/call":{"get":{"operationId":"eth_call","summary":"Eth call, Ethereum contract call","description":"Read-only contract call on Ethereum (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["ethereum","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"to":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/estimate-gas":{"get":{"operationId":"eth_estimate_gas","summary":"Estimate gas, Ethereum","description":"Estimate the gas a transaction would use on Ethereum (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use eth_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["ethereum","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ethereum","chainId":1,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/gas-history":{"get":{"operationId":"eth_gas_history","summary":"Gas history, Ethereum gas price","description":"Gas price history on Ethereum (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use eth_gas.","tags":["ethereum","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Ethereum","chainId":1,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/eth/allowance":{"get":{"operationId":"eth_allowance","summary":"Token allowance, Ethereum ERC-20","description":"ERC-20 token allowance on Ethereum: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use eth_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["ethereum","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Ethereum","chainId":1,"token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/balance":{"get":{"operationId":"arb_balance","summary":"Arbitrum One native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use arb_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["arbitrum","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/token-balance":{"get":{"operationId":"arb_token_balance","summary":"Arbitrum One ERC-20 balance","description":"ERC-20 token balance of a wallet on Arbitrum One (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use arb_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["arbitrum","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Arbitrum One","chainId":42161,"token":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/token-info":{"get":{"operationId":"arb_token_info","summary":"Arbitrum One ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use arb_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["arbitrum","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Arbitrum One","chainId":42161,"token":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/block":{"get":{"operationId":"arb_block","summary":"Block number, Arbitrum One","description":"Latest block number and block details on Arbitrum One, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use arb_gas. A block that does not exist yet returns 404, uncharged.","tags":["arbitrum","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Arbitrum One","chainId":42161,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/gas":{"get":{"operationId":"arb_gas","summary":"Arbitrum One gas price","description":"Current gas price on Arbitrum One (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use arb_receipt.","tags":["arbitrum","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/tx":{"get":{"operationId":"arb_tx","summary":"Arbitrum One transaction","description":"Look up an Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use arb_receipt, for emitted events arb_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["arbitrum","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"hash":"0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/receipt":{"get":{"operationId":"arb_receipt","summary":"Arbitrum One transaction receipt","description":"Transaction receipt on Arbitrum One (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use arb_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["arbitrum","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Arbitrum One","chainId":42161,"hash":"0xf03682db039f7b1b72ddf4d17572738f142cf63ecb36c90afa570430ea9774c4","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/nonce":{"get":{"operationId":"arb_nonce","summary":"Arbitrum One account nonce","description":"Read the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use arb_balance. A malformed address is rejected with 400, uncharged.","tags":["arbitrum","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/is-contract":{"get":{"operationId":"arb_is_contract","summary":"Arbitrum One contract check","description":"Check whether a 0x address on Arbitrum One is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["arbitrum","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/logs":{"get":{"operationId":"arb_logs","summary":"Arbitrum One recent event logs","description":"Recent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use arb_receipt.","tags":["arbitrum","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/token-transfers":{"get":{"operationId":"arb_token_transfers","summary":"Token transfers, Arbitrum One","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Arbitrum One, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use arb_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["arbitrum","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 8 minutes on Arbitrum One)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/nft-owner":{"get":{"operationId":"arb_nft_owner","summary":"NFT owner, Arbitrum","description":"Owner of an NFT on Arbitrum One: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use arb_nft_balance, for the token's metadata arb_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["arbitrum","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Arbitrum One","chainId":42161,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/nft-balance":{"get":{"operationId":"arb_nft_balance","summary":"NFT balance, Arbitrum","description":"How many NFTs of one ERC-721 collection a wallet holds on Arbitrum One (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use arb_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["arbitrum","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Arbitrum One","chainId":42161,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/nft-metadata":{"get":{"operationId":"arb_nft_metadata","summary":"NFT metadata, Arbitrum","description":"NFT metadata on Arbitrum One: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use arb_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["arbitrum","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Arbitrum One","chainId":42161,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/storage":{"get":{"operationId":"arb_storage","summary":"Storage slot read, Arbitrum","description":"Read one raw storage slot of a contract on Arbitrum One (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use arb_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["arbitrum","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/proxy":{"get":{"operationId":"arb_proxy","summary":"Proxy implementation, Arbitrum","description":"Find the implementation behind a proxy contract on Arbitrum One: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["arbitrum","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Arbitrum One","chainId":42161,"address":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/call":{"get":{"operationId":"arb_call","summary":"Eth call, Arbitrum contract call","description":"Read-only contract call on Arbitrum One (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["arbitrum","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"to":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/estimate-gas":{"get":{"operationId":"arb_estimate_gas","summary":"Estimate gas, Arbitrum","description":"Estimate the gas a transaction would use on Arbitrum One (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use arb_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["arbitrum","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Arbitrum One","chainId":42161,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/gas-history":{"get":{"operationId":"arb_gas_history","summary":"Gas history, Arbitrum gas price","description":"Gas price history on Arbitrum One (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use arb_gas.","tags":["arbitrum","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Arbitrum One","chainId":42161,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/arb/allowance":{"get":{"operationId":"arb_allowance","summary":"Token allowance, Arbitrum ERC-20","description":"ERC-20 token allowance on Arbitrum One: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use arb_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["arbitrum","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Arbitrum One","chainId":42161,"token":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/balance":{"get":{"operationId":"op_balance","summary":"Optimism native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use op_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["optimism","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/token-balance":{"get":{"operationId":"op_token_balance","summary":"Optimism ERC-20 balance","description":"ERC-20 token balance of a wallet on Optimism (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use op_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["optimism","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Optimism","chainId":10,"token":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/token-info":{"get":{"operationId":"op_token_info","summary":"Optimism ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use op_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["optimism","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Optimism","chainId":10,"token":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/block":{"get":{"operationId":"op_block","summary":"Block number, Optimism","description":"Latest block number and block details on Optimism, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use op_gas. A block that does not exist yet returns 404, uncharged.","tags":["optimism","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Optimism","chainId":10,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/gas":{"get":{"operationId":"op_gas","summary":"Optimism gas price","description":"Current gas price on Optimism (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use op_receipt.","tags":["optimism","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/tx":{"get":{"operationId":"op_tx","summary":"Optimism transaction","description":"Look up an Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use op_receipt, for emitted events op_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["optimism","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"hash":"0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/receipt":{"get":{"operationId":"op_receipt","summary":"Optimism transaction receipt","description":"Transaction receipt on Optimism (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use op_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["optimism","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Optimism","chainId":10,"hash":"0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7bc3328fda349cdfae89","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/nonce":{"get":{"operationId":"op_nonce","summary":"Optimism account nonce","description":"Read the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use op_balance. A malformed address is rejected with 400, uncharged.","tags":["optimism","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Optimism","chainId":10,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/is-contract":{"get":{"operationId":"op_is_contract","summary":"Optimism contract check","description":"Check whether a 0x address on Optimism is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["optimism","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Optimism","chainId":10,"address":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/logs":{"get":{"operationId":"op_logs","summary":"Optimism recent event logs","description":"Recent contract event logs on Optimism (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use op_receipt.","tags":["optimism","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Optimism","chainId":10,"address":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/token-transfers":{"get":{"operationId":"op_token_transfers","summary":"Token transfers, Optimism","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Optimism, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use op_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["optimism","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Optimism)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Optimism","chainId":10,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/nft-owner":{"get":{"operationId":"op_nft_owner","summary":"NFT owner, Optimism","description":"Owner of an NFT on Optimism: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use op_nft_balance, for the token's metadata op_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["optimism","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Optimism","chainId":10,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/nft-balance":{"get":{"operationId":"op_nft_balance","summary":"NFT balance, Optimism","description":"How many NFTs of one ERC-721 collection a wallet holds on Optimism (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use op_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["optimism","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Optimism","chainId":10,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/nft-metadata":{"get":{"operationId":"op_nft_metadata","summary":"NFT metadata, Optimism","description":"NFT metadata on Optimism: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use op_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["optimism","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Optimism","chainId":10,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/storage":{"get":{"operationId":"op_storage","summary":"Storage slot read, Optimism","description":"Read one raw storage slot of a contract on Optimism (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use op_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["optimism","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"address":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/proxy":{"get":{"operationId":"op_proxy","summary":"Proxy implementation, Optimism","description":"Find the implementation behind a proxy contract on Optimism: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["optimism","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Optimism","chainId":10,"address":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/call":{"get":{"operationId":"op_call","summary":"Eth call, Optimism contract call","description":"Read-only contract call on Optimism (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["optimism","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"to":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/estimate-gas":{"get":{"operationId":"op_estimate_gas","summary":"Estimate gas, Optimism","description":"Estimate the gas a transaction would use on Optimism (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use op_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["optimism","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Optimism","chainId":10,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/gas-history":{"get":{"operationId":"op_gas_history","summary":"Gas history, Optimism gas price","description":"Gas price history on Optimism (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use op_gas.","tags":["optimism","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Optimism","chainId":10,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/op/allowance":{"get":{"operationId":"op_allowance","summary":"Token allowance, Optimism ERC-20","description":"ERC-20 token allowance on Optimism: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use op_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["optimism","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Optimism","chainId":10,"token":"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/balance":{"get":{"operationId":"polygon_balance","summary":"Polygon PoS native balance","description":"Native POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use polygon_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["polygon","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"POL","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/token-balance":{"get":{"operationId":"polygon_token_balance","summary":"Polygon PoS ERC-20 balance","description":"ERC-20 token balance of a wallet on Polygon PoS (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use polygon_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["polygon","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Polygon PoS","chainId":137,"token":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/token-info":{"get":{"operationId":"polygon_token_info","summary":"Polygon PoS ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use polygon_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["polygon","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Polygon PoS","chainId":137,"token":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/block":{"get":{"operationId":"polygon_block","summary":"Block number, Polygon PoS","description":"Latest block number and block details on Polygon PoS, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use polygon_gas. A block that does not exist yet returns 404, uncharged.","tags":["polygon","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Polygon PoS","chainId":137,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/gas":{"get":{"operationId":"polygon_gas","summary":"Polygon PoS gas price","description":"Current gas price on Polygon PoS (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain POL transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use polygon_receipt.","tags":["polygon","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"POL","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/tx":{"get":{"operationId":"polygon_tx","summary":"Polygon PoS transaction","description":"Look up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use polygon_receipt, for emitted events polygon_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["polygon","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"hash":"0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/receipt":{"get":{"operationId":"polygon_receipt","summary":"Polygon PoS transaction receipt","description":"Transaction receipt on Polygon PoS (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in POL, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use polygon_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["polygon","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Polygon PoS","chainId":137,"hash":"0x23e86c30c46638b2e9798692fe89327a66aa8569a5d4a566125f655aeb8f80c7","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/nonce":{"get":{"operationId":"polygon_nonce","summary":"Polygon PoS account nonce","description":"Read the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use polygon_balance. A malformed address is rejected with 400, uncharged.","tags":["polygon","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/is-contract":{"get":{"operationId":"polygon_is_contract","summary":"Polygon PoS contract check","description":"Check whether a 0x address on Polygon PoS is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["polygon","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/logs":{"get":{"operationId":"polygon_logs","summary":"Polygon PoS recent event logs","description":"Recent contract event logs on Polygon PoS (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use polygon_receipt.","tags":["polygon","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/token-transfers":{"get":{"operationId":"polygon_token_transfers","summary":"Token transfers, Polygon PoS","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Polygon PoS, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use polygon_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["polygon","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Polygon PoS)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/nft-owner":{"get":{"operationId":"polygon_nft_owner","summary":"NFT owner, Polygon","description":"Owner of an NFT on Polygon PoS: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use polygon_nft_balance, for the token's metadata polygon_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["polygon","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Polygon PoS","chainId":137,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/nft-balance":{"get":{"operationId":"polygon_nft_balance","summary":"NFT balance, Polygon","description":"How many NFTs of one ERC-721 collection a wallet holds on Polygon PoS (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use polygon_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["polygon","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Polygon PoS","chainId":137,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/nft-metadata":{"get":{"operationId":"polygon_nft_metadata","summary":"NFT metadata, Polygon","description":"NFT metadata on Polygon PoS: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use polygon_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["polygon","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Polygon PoS","chainId":137,"contract":"0xC36442b4a4522E871399CD717aBDD847Ab11FE88","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/storage":{"get":{"operationId":"polygon_storage","summary":"Storage slot read, Polygon","description":"Read one raw storage slot of a contract on Polygon PoS (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use polygon_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["polygon","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/proxy":{"get":{"operationId":"polygon_proxy","summary":"Proxy implementation, Polygon","description":"Find the implementation behind a proxy contract on Polygon PoS: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["polygon","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Polygon PoS","chainId":137,"address":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/call":{"get":{"operationId":"polygon_call","summary":"Eth call, Polygon contract call","description":"Read-only contract call on Polygon PoS (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["polygon","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"to":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/estimate-gas":{"get":{"operationId":"polygon_estimate_gas","summary":"Estimate gas, Polygon","description":"Estimate the gas a transaction would use on Polygon PoS (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and POL. Give to, plus value in POL and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use polygon_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["polygon","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of POL to send, in POL (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Polygon PoS","chainId":137,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"POL","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/gas-history":{"get":{"operationId":"polygon_gas_history","summary":"Gas history, Polygon gas price","description":"Gas price history on Polygon PoS (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use polygon_gas.","tags":["polygon","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Polygon PoS","chainId":137,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/polygon/allowance":{"get":{"operationId":"polygon_allowance","summary":"Token allowance, Polygon ERC-20","description":"ERC-20 token allowance on Polygon PoS: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use polygon_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["polygon","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Polygon PoS","chainId":137,"token":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/balance":{"get":{"operationId":"avax_balance","summary":"Avalanche native balance","description":"Native AVAX balance (eth_getBalance) of any 0x wallet address on Avalanche at the latest block, in wei and in AVAX. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use avax_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["avalanche","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"AVAX","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/token-balance":{"get":{"operationId":"avax_token_balance","summary":"Avalanche ERC-20 balance","description":"ERC-20 token balance of a wallet on Avalanche (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use avax_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["avalanche","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Avalanche","chainId":43114,"token":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/token-info":{"get":{"operationId":"avax_token_info","summary":"Avalanche ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Avalanche, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use avax_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["avalanche","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Avalanche","chainId":43114,"token":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/block":{"get":{"operationId":"avax_block","summary":"Block number, Avalanche","description":"Latest block number and block details on Avalanche, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use avax_gas. A block that does not exist yet returns 404, uncharged.","tags":["avalanche","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Avalanche","chainId":43114,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/gas":{"get":{"operationId":"avax_gas","summary":"Avalanche gas price","description":"Current gas price on Avalanche (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain AVAX transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use avax_receipt.","tags":["avalanche","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"AVAX","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/tx":{"get":{"operationId":"avax_tx","summary":"Avalanche transaction","description":"Look up an Avalanche transaction by hash: sender, recipient, value in AVAX, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use avax_receipt, for emitted events avax_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["avalanche","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x186570f66bdbd9565ee4f5fe7ef9fc110ec5417f5838c3e7e322967cd1a7d3e2"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"hash":"0x186570f66bdbd9565ee4f5fe7ef9fc110ec5417f5838c3e7e322967cd1a7d3e2","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/receipt":{"get":{"operationId":"avax_receipt","summary":"Avalanche transaction receipt","description":"Transaction receipt on Avalanche (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in AVAX, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use avax_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["avalanche","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x186570f66bdbd9565ee4f5fe7ef9fc110ec5417f5838c3e7e322967cd1a7d3e2"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Avalanche","chainId":43114,"hash":"0x186570f66bdbd9565ee4f5fe7ef9fc110ec5417f5838c3e7e322967cd1a7d3e2","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/nonce":{"get":{"operationId":"avax_nonce","summary":"Avalanche account nonce","description":"Read the transaction count (nonce) of a 0x address on Avalanche, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use avax_balance. A malformed address is rejected with 400, uncharged.","tags":["avalanche","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/is-contract":{"get":{"operationId":"avax_is_contract","summary":"Avalanche contract check","description":"Check whether a 0x address on Avalanche is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["avalanche","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/logs":{"get":{"operationId":"avax_logs","summary":"Avalanche recent event logs","description":"Recent contract event logs on Avalanche (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use avax_receipt.","tags":["avalanche","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/token-transfers":{"get":{"operationId":"avax_token_transfers","summary":"Token transfers, Avalanche","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Avalanche, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use avax_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["avalanche","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 32 minutes on Avalanche)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/nft-owner":{"get":{"operationId":"avax_nft_owner","summary":"NFT owner, Avalanche","description":"Owner of an NFT on Avalanche: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use avax_nft_balance, for the token's metadata avax_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["avalanche","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x655C406EBFa14EE2006250925e54ec43AD184f8B"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Avalanche","chainId":43114,"contract":"0x655C406EBFa14EE2006250925e54ec43AD184f8B","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/nft-balance":{"get":{"operationId":"avax_nft_balance","summary":"NFT balance, Avalanche","description":"How many NFTs of one ERC-721 collection a wallet holds on Avalanche (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use avax_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["avalanche","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x655C406EBFa14EE2006250925e54ec43AD184f8B"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Avalanche","chainId":43114,"contract":"0x655C406EBFa14EE2006250925e54ec43AD184f8B","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/nft-metadata":{"get":{"operationId":"avax_nft_metadata","summary":"NFT metadata, Avalanche","description":"NFT metadata on Avalanche: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use avax_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["avalanche","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x655C406EBFa14EE2006250925e54ec43AD184f8B"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Avalanche","chainId":43114,"contract":"0x655C406EBFa14EE2006250925e54ec43AD184f8B","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/storage":{"get":{"operationId":"avax_storage","summary":"Storage slot read, Avalanche","description":"Read one raw storage slot of a contract on Avalanche (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use avax_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["avalanche","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/proxy":{"get":{"operationId":"avax_proxy","summary":"Proxy implementation, Avalanche","description":"Find the implementation behind a proxy contract on Avalanche: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["avalanche","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Avalanche","chainId":43114,"address":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/call":{"get":{"operationId":"avax_call","summary":"Eth call, Avalanche","description":"Read-only contract call on Avalanche (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["avalanche","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"to":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/estimate-gas":{"get":{"operationId":"avax_estimate_gas","summary":"Estimate gas, Avalanche","description":"Estimate the gas a transaction would use on Avalanche (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and AVAX. Give to, plus value in AVAX and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use avax_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["avalanche","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of AVAX to send, in AVAX (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Avalanche","chainId":43114,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"AVAX","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/gas-history":{"get":{"operationId":"avax_gas_history","summary":"Gas history, Avalanche gas price","description":"Gas price history on Avalanche (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use avax_gas.","tags":["avalanche","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Avalanche","chainId":43114,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/avax/allowance":{"get":{"operationId":"avax_allowance","summary":"Token allowance, Avalanche","description":"ERC-20 token allowance on Avalanche: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use avax_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["avalanche","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Avalanche","chainId":43114,"token":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/balance":{"get":{"operationId":"gnosis_balance","summary":"Gnosis native balance","description":"Native xDAI balance (eth_getBalance) of any 0x wallet address on Gnosis at the latest block, in wei and in xDAI. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use gnosis_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["gnosis","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"xDAI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/token-balance":{"get":{"operationId":"gnosis_token_balance","summary":"Gnosis ERC-20 balance","description":"ERC-20 token balance of a wallet on Gnosis (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use gnosis_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["gnosis","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Gnosis","chainId":100,"token":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/token-info":{"get":{"operationId":"gnosis_token_info","summary":"Gnosis ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Gnosis, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use gnosis_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["gnosis","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Gnosis","chainId":100,"token":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/block":{"get":{"operationId":"gnosis_block","summary":"Block number, Gnosis","description":"Latest block number and block details on Gnosis, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use gnosis_gas. A block that does not exist yet returns 404, uncharged.","tags":["gnosis","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Gnosis","chainId":100,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/gas":{"get":{"operationId":"gnosis_gas","summary":"Gnosis gas price","description":"Current gas price on Gnosis (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain xDAI transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use gnosis_receipt.","tags":["gnosis","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"xDAI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/tx":{"get":{"operationId":"gnosis_tx","summary":"Gnosis transaction","description":"Look up a Gnosis transaction by hash: sender, recipient, value in xDAI, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use gnosis_receipt, for emitted events gnosis_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["gnosis","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x2b56c1dabbef9c9a07d0f94c6ff931c3e1f93cc398fa06296ff79770d4a4487f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"hash":"0x2b56c1dabbef9c9a07d0f94c6ff931c3e1f93cc398fa06296ff79770d4a4487f","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/receipt":{"get":{"operationId":"gnosis_receipt","summary":"Gnosis transaction receipt","description":"Transaction receipt on Gnosis (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in xDAI, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use gnosis_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["gnosis","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x2b56c1dabbef9c9a07d0f94c6ff931c3e1f93cc398fa06296ff79770d4a4487f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Gnosis","chainId":100,"hash":"0x2b56c1dabbef9c9a07d0f94c6ff931c3e1f93cc398fa06296ff79770d4a4487f","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/nonce":{"get":{"operationId":"gnosis_nonce","summary":"Gnosis account nonce","description":"Read the transaction count (nonce) of a 0x address on Gnosis, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use gnosis_balance. A malformed address is rejected with 400, uncharged.","tags":["gnosis","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Gnosis","chainId":100,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/is-contract":{"get":{"operationId":"gnosis_is_contract","summary":"Gnosis contract check","description":"Check whether a 0x address on Gnosis is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["gnosis","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Gnosis","chainId":100,"address":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/logs":{"get":{"operationId":"gnosis_logs","summary":"Gnosis recent event logs","description":"Recent contract event logs on Gnosis (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use gnosis_receipt.","tags":["gnosis","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Gnosis","chainId":100,"address":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/token-transfers":{"get":{"operationId":"gnosis_token_transfers","summary":"Token transfers, Gnosis","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Gnosis, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use gnosis_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["gnosis","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 2.8 hours on Gnosis)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Gnosis","chainId":100,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/storage":{"get":{"operationId":"gnosis_storage","summary":"Storage slot read, Gnosis","description":"Read one raw storage slot of a contract on Gnosis (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use gnosis_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["gnosis","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"address":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/proxy":{"get":{"operationId":"gnosis_proxy","summary":"Proxy implementation, Gnosis","description":"Find the implementation behind a proxy contract on Gnosis: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["gnosis","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Gnosis","chainId":100,"address":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/call":{"get":{"operationId":"gnosis_call","summary":"Eth call, Gnosis contract call","description":"Read-only contract call on Gnosis (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["gnosis","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"to":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/estimate-gas":{"get":{"operationId":"gnosis_estimate_gas","summary":"Estimate gas, Gnosis","description":"Estimate the gas a transaction would use on Gnosis (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and xDAI. Give to, plus value in xDAI and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use gnosis_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["gnosis","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of xDAI to send, in xDAI (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Gnosis","chainId":100,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"xDAI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/gas-history":{"get":{"operationId":"gnosis_gas_history","summary":"Gas history, Gnosis gas price","description":"Gas price history on Gnosis (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use gnosis_gas.","tags":["gnosis","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Gnosis","chainId":100,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gnosis/allowance":{"get":{"operationId":"gnosis_allowance","summary":"Token allowance, Gnosis ERC-20","description":"ERC-20 token allowance on Gnosis: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use gnosis_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["gnosis","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Gnosis","chainId":100,"token":"0x2a22f9c3b484c3629090FeED35F17Ff8F88f76F0","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/balance":{"get":{"operationId":"linea_balance","summary":"Linea native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Linea at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use linea_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["linea","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/token-balance":{"get":{"operationId":"linea_token_balance","summary":"Linea ERC-20 balance","description":"ERC-20 token balance of a wallet on Linea (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use linea_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["linea","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Linea","chainId":59144,"token":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/token-info":{"get":{"operationId":"linea_token_info","summary":"Linea ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Linea, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use linea_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["linea","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Linea","chainId":59144,"token":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/block":{"get":{"operationId":"linea_block","summary":"Block number, Linea","description":"Latest block number and block details on Linea, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use linea_gas. A block that does not exist yet returns 404, uncharged.","tags":["linea","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Linea","chainId":59144,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/gas":{"get":{"operationId":"linea_gas","summary":"Linea gas price","description":"Current gas price on Linea (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use linea_receipt.","tags":["linea","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/tx":{"get":{"operationId":"linea_tx","summary":"Linea transaction","description":"Look up a Linea transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use linea_receipt, for emitted events linea_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["linea","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x638169f15ccab7f5491b46b3a883fa1aa5b5399ba5c56fa0110355d47a526a93"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"hash":"0x638169f15ccab7f5491b46b3a883fa1aa5b5399ba5c56fa0110355d47a526a93","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/receipt":{"get":{"operationId":"linea_receipt","summary":"Linea transaction receipt","description":"Transaction receipt on Linea (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use linea_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["linea","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x638169f15ccab7f5491b46b3a883fa1aa5b5399ba5c56fa0110355d47a526a93"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Linea","chainId":59144,"hash":"0x638169f15ccab7f5491b46b3a883fa1aa5b5399ba5c56fa0110355d47a526a93","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/nonce":{"get":{"operationId":"linea_nonce","summary":"Linea account nonce","description":"Read the transaction count (nonce) of a 0x address on Linea, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use linea_balance. A malformed address is rejected with 400, uncharged.","tags":["linea","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Linea","chainId":59144,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/is-contract":{"get":{"operationId":"linea_is_contract","summary":"Linea contract check","description":"Check whether a 0x address on Linea is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["linea","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Linea","chainId":59144,"address":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/logs":{"get":{"operationId":"linea_logs","summary":"Linea recent event logs","description":"Recent contract event logs on Linea (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use linea_receipt.","tags":["linea","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Linea","chainId":59144,"address":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/token-transfers":{"get":{"operationId":"linea_token_transfers","summary":"Token transfers, Linea","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Linea, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use linea_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["linea","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 2.4 hours on Linea)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Linea","chainId":59144,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/storage":{"get":{"operationId":"linea_storage","summary":"Storage slot read, Linea","description":"Read one raw storage slot of a contract on Linea (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use linea_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["linea","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"address":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/proxy":{"get":{"operationId":"linea_proxy","summary":"Proxy implementation, Linea","description":"Find the implementation behind a proxy contract on Linea: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["linea","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Linea","chainId":59144,"address":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/call":{"get":{"operationId":"linea_call","summary":"Eth call, Linea contract call","description":"Read-only contract call on Linea (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["linea","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"to":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/estimate-gas":{"get":{"operationId":"linea_estimate_gas","summary":"Estimate gas, Linea","description":"Estimate the gas a transaction would use on Linea (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use linea_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["linea","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Linea","chainId":59144,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/gas-history":{"get":{"operationId":"linea_gas_history","summary":"Gas history, Linea gas price","description":"Gas price history on Linea (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use linea_gas.","tags":["linea","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Linea","chainId":59144,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/linea/allowance":{"get":{"operationId":"linea_allowance","summary":"Token allowance, Linea ERC-20","description":"ERC-20 token allowance on Linea: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use linea_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["linea","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Linea","chainId":59144,"token":"0x176211869cA2b568f2A7D4EE941E073a821EE1ff","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/balance":{"get":{"operationId":"zksync_balance","summary":"zkSync Era native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on zkSync Era at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use zksync_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["zksync","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/token-balance":{"get":{"operationId":"zksync_token_balance","summary":"zkSync Era ERC-20 balance","description":"ERC-20 token balance of a wallet on zkSync Era (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use zksync_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["zksync","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"zkSync Era","chainId":324,"token":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/token-info":{"get":{"operationId":"zksync_token_info","summary":"zkSync Era ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on zkSync Era, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use zksync_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["zksync","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"zkSync Era","chainId":324,"token":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/block":{"get":{"operationId":"zksync_block","summary":"Block number, zkSync Era","description":"Latest block number and block details on zkSync Era, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use zksync_gas. A block that does not exist yet returns 404, uncharged.","tags":["zksync","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"zkSync Era","chainId":324,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/gas":{"get":{"operationId":"zksync_gas","summary":"zkSync Era gas price","description":"Current gas price on zkSync Era (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use zksync_receipt.","tags":["zksync","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"zkSync Era","chainId":324,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/tx":{"get":{"operationId":"zksync_tx","summary":"zkSync Era transaction","description":"Look up a zkSync Era transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use zksync_receipt, for emitted events zksync_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["zksync","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xc0003ffe194dfc1be40e1b1e6dfdf7609f89cc1393ff774dcd657f226558c5b3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"zkSync Era","chainId":324,"hash":"0xc0003ffe194dfc1be40e1b1e6dfdf7609f89cc1393ff774dcd657f226558c5b3","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/receipt":{"get":{"operationId":"zksync_receipt","summary":"zkSync Era transaction receipt","description":"Transaction receipt on zkSync Era (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use zksync_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["zksync","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xc0003ffe194dfc1be40e1b1e6dfdf7609f89cc1393ff774dcd657f226558c5b3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"zkSync Era","chainId":324,"hash":"0xc0003ffe194dfc1be40e1b1e6dfdf7609f89cc1393ff774dcd657f226558c5b3","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/nonce":{"get":{"operationId":"zksync_nonce","summary":"zkSync Era account nonce","description":"Read the transaction count (nonce) of a 0x address on zkSync Era, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use zksync_balance. A malformed address is rejected with 400, uncharged.","tags":["zksync","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/is-contract":{"get":{"operationId":"zksync_is_contract","summary":"zkSync Era contract check","description":"Check whether a 0x address on zkSync Era is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["zksync","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/logs":{"get":{"operationId":"zksync_logs","summary":"zkSync Era recent event logs","description":"Recent contract event logs on zkSync Era (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use zksync_receipt.","tags":["zksync","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/token-transfers":{"get":{"operationId":"zksync_token_transfers","summary":"Token transfers, zkSync Era","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on zkSync Era, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use zksync_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["zksync","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 33 minutes on zkSync Era)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/nft-owner":{"get":{"operationId":"zksync_nft_owner","summary":"NFT owner, zkSync","description":"Owner of an NFT on zkSync Era: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use zksync_nft_balance, for the token's metadata zksync_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["zksync","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"zkSync Era","chainId":324,"contract":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/nft-balance":{"get":{"operationId":"zksync_nft_balance","summary":"NFT balance, zkSync","description":"How many NFTs of one ERC-721 collection a wallet holds on zkSync Era (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use zksync_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["zksync","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"zkSync Era","chainId":324,"contract":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/nft-metadata":{"get":{"operationId":"zksync_nft_metadata","summary":"NFT metadata, zkSync","description":"NFT metadata on zkSync Era: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use zksync_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["zksync","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"zkSync Era","chainId":324,"contract":"0x0616e5762c1E7Dc3723c50663dF10a162D690a86","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/storage":{"get":{"operationId":"zksync_storage","summary":"Storage slot read, zkSync","description":"Read one raw storage slot of a contract on zkSync Era (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use zksync_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["zksync","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/proxy":{"get":{"operationId":"zksync_proxy","summary":"Proxy implementation, zkSync","description":"Find the implementation behind a proxy contract on zkSync Era: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["zksync","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"zkSync Era","chainId":324,"address":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/call":{"get":{"operationId":"zksync_call","summary":"Eth call, zkSync contract call","description":"Read-only contract call on zkSync Era (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["zksync","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"zkSync Era","chainId":324,"to":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/gas-history":{"get":{"operationId":"zksync_gas_history","summary":"Gas history, zkSync gas price","description":"Gas price history on zkSync Era (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use zksync_gas.","tags":["zksync","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"zkSync Era","chainId":324,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/zksync/allowance":{"get":{"operationId":"zksync_allowance","summary":"Token allowance, zkSync ERC-20","description":"ERC-20 token allowance on zkSync Era: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use zksync_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["zksync","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"zkSync Era","chainId":324,"token":"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/balance":{"get":{"operationId":"scroll_balance","summary":"Scroll native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Scroll at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use scroll_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["scroll","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/token-balance":{"get":{"operationId":"scroll_token_balance","summary":"Scroll ERC-20 balance","description":"ERC-20 token balance of a wallet on Scroll (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use scroll_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["scroll","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Scroll","chainId":534352,"token":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/token-info":{"get":{"operationId":"scroll_token_info","summary":"Scroll ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Scroll, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use scroll_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["scroll","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Scroll","chainId":534352,"token":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/block":{"get":{"operationId":"scroll_block","summary":"Block number, Scroll","description":"Latest block number and block details on Scroll, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use scroll_gas. A block that does not exist yet returns 404, uncharged.","tags":["scroll","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Scroll","chainId":534352,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/gas":{"get":{"operationId":"scroll_gas","summary":"Scroll gas price","description":"Current gas price on Scroll (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use scroll_receipt.","tags":["scroll","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/tx":{"get":{"operationId":"scroll_tx","summary":"Scroll transaction","description":"Look up a Scroll transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use scroll_receipt, for emitted events scroll_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["scroll","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x0176fb42be8ea0058d1ac56cb253f0df883ba4b564489e71b83fb7e27e912abd"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"hash":"0x0176fb42be8ea0058d1ac56cb253f0df883ba4b564489e71b83fb7e27e912abd","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/receipt":{"get":{"operationId":"scroll_receipt","summary":"Scroll transaction receipt","description":"Transaction receipt on Scroll (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use scroll_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["scroll","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x0176fb42be8ea0058d1ac56cb253f0df883ba4b564489e71b83fb7e27e912abd"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Scroll","chainId":534352,"hash":"0x0176fb42be8ea0058d1ac56cb253f0df883ba4b564489e71b83fb7e27e912abd","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/nonce":{"get":{"operationId":"scroll_nonce","summary":"Scroll account nonce","description":"Read the transaction count (nonce) of a 0x address on Scroll, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use scroll_balance. A malformed address is rejected with 400, uncharged.","tags":["scroll","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Scroll","chainId":534352,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/is-contract":{"get":{"operationId":"scroll_is_contract","summary":"Scroll contract check","description":"Check whether a 0x address on Scroll is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["scroll","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Scroll","chainId":534352,"address":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/logs":{"get":{"operationId":"scroll_logs","summary":"Scroll recent event logs","description":"Recent contract event logs on Scroll (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use scroll_receipt.","tags":["scroll","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Scroll","chainId":534352,"address":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/token-transfers":{"get":{"operationId":"scroll_token_transfers","summary":"Token transfers, Scroll","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Scroll, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use scroll_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["scroll","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 4.3 hours on Scroll)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Scroll","chainId":534352,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/storage":{"get":{"operationId":"scroll_storage","summary":"Storage slot read, Scroll","description":"Read one raw storage slot of a contract on Scroll (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use scroll_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["scroll","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"address":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/proxy":{"get":{"operationId":"scroll_proxy","summary":"Proxy implementation, Scroll","description":"Find the implementation behind a proxy contract on Scroll: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["scroll","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Scroll","chainId":534352,"address":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/call":{"get":{"operationId":"scroll_call","summary":"Eth call, Scroll contract call","description":"Read-only contract call on Scroll (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["scroll","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"to":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/estimate-gas":{"get":{"operationId":"scroll_estimate_gas","summary":"Estimate gas, Scroll","description":"Estimate the gas a transaction would use on Scroll (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use scroll_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["scroll","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Scroll","chainId":534352,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/gas-history":{"get":{"operationId":"scroll_gas_history","summary":"Gas history, Scroll gas price","description":"Gas price history on Scroll (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use scroll_gas.","tags":["scroll","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Scroll","chainId":534352,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/scroll/allowance":{"get":{"operationId":"scroll_allowance","summary":"Token allowance, Scroll ERC-20","description":"ERC-20 token allowance on Scroll: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use scroll_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["scroll","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Scroll","chainId":534352,"token":"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/balance":{"get":{"operationId":"mantle_balance","summary":"Mantle native balance","description":"Native MNT balance (eth_getBalance) of any 0x wallet address on Mantle at the latest block, in wei and in MNT. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use mantle_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["mantle","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"MNT","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/token-balance":{"get":{"operationId":"mantle_token_balance","summary":"Mantle ERC-20 balance","description":"ERC-20 token balance of a wallet on Mantle (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use mantle_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["mantle","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Mantle","chainId":5000,"token":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/token-info":{"get":{"operationId":"mantle_token_info","summary":"Mantle ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Mantle, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use mantle_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["mantle","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Mantle","chainId":5000,"token":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/block":{"get":{"operationId":"mantle_block","summary":"Block number, Mantle","description":"Latest block number and block details on Mantle, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use mantle_gas. A block that does not exist yet returns 404, uncharged.","tags":["mantle","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Mantle","chainId":5000,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/gas":{"get":{"operationId":"mantle_gas","summary":"Mantle gas price","description":"Current gas price on Mantle (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain MNT transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use mantle_receipt.","tags":["mantle","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"MNT","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/tx":{"get":{"operationId":"mantle_tx","summary":"Mantle transaction","description":"Look up a Mantle transaction by hash: sender, recipient, value in MNT, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use mantle_receipt, for emitted events mantle_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["mantle","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xa93012fcae16a5b4b9d6f7c7469ed2838cd27eb387b28e7334678add918d174f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"hash":"0xa93012fcae16a5b4b9d6f7c7469ed2838cd27eb387b28e7334678add918d174f","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/receipt":{"get":{"operationId":"mantle_receipt","summary":"Mantle transaction receipt","description":"Transaction receipt on Mantle (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in MNT, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use mantle_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["mantle","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xa93012fcae16a5b4b9d6f7c7469ed2838cd27eb387b28e7334678add918d174f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Mantle","chainId":5000,"hash":"0xa93012fcae16a5b4b9d6f7c7469ed2838cd27eb387b28e7334678add918d174f","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/nonce":{"get":{"operationId":"mantle_nonce","summary":"Mantle account nonce","description":"Read the transaction count (nonce) of a 0x address on Mantle, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use mantle_balance. A malformed address is rejected with 400, uncharged.","tags":["mantle","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Mantle","chainId":5000,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/is-contract":{"get":{"operationId":"mantle_is_contract","summary":"Mantle contract check","description":"Check whether a 0x address on Mantle is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["mantle","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Mantle","chainId":5000,"address":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/logs":{"get":{"operationId":"mantle_logs","summary":"Mantle recent event logs","description":"Recent contract event logs on Mantle (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use mantle_receipt.","tags":["mantle","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Mantle","chainId":5000,"address":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/token-transfers":{"get":{"operationId":"mantle_token_transfers","summary":"Token transfers, Mantle","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Mantle, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use mantle_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["mantle","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Mantle)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Mantle","chainId":5000,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/storage":{"get":{"operationId":"mantle_storage","summary":"Storage slot read, Mantle","description":"Read one raw storage slot of a contract on Mantle (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use mantle_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["mantle","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"address":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/proxy":{"get":{"operationId":"mantle_proxy","summary":"Proxy implementation, Mantle","description":"Find the implementation behind a proxy contract on Mantle: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["mantle","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Mantle","chainId":5000,"address":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/call":{"get":{"operationId":"mantle_call","summary":"Eth call, Mantle contract call","description":"Read-only contract call on Mantle (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["mantle","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"to":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/estimate-gas":{"get":{"operationId":"mantle_estimate_gas","summary":"Estimate gas, Mantle","description":"Estimate the gas a transaction would use on Mantle (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and MNT. Give to, plus value in MNT and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use mantle_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["mantle","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of MNT to send, in MNT (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Mantle","chainId":5000,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"MNT","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/gas-history":{"get":{"operationId":"mantle_gas_history","summary":"Gas history, Mantle gas price","description":"Gas price history on Mantle (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use mantle_gas.","tags":["mantle","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Mantle","chainId":5000,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mantle/allowance":{"get":{"operationId":"mantle_allowance","summary":"Token allowance, Mantle ERC-20","description":"ERC-20 token allowance on Mantle: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use mantle_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["mantle","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Mantle","chainId":5000,"token":"0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/balance":{"get":{"operationId":"celo_balance","summary":"Celo native balance","description":"Native CELO balance (eth_getBalance) of any 0x wallet address on Celo at the latest block, in wei and in CELO. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use celo_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["celo","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"CELO","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/token-balance":{"get":{"operationId":"celo_token_balance","summary":"Celo ERC-20 balance","description":"ERC-20 token balance of a wallet on Celo (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use celo_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["celo","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Celo","chainId":42220,"token":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/token-info":{"get":{"operationId":"celo_token_info","summary":"Celo ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Celo, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use celo_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["celo","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Celo","chainId":42220,"token":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/block":{"get":{"operationId":"celo_block","summary":"Block number, Celo","description":"Latest block number and block details on Celo, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use celo_gas. A block that does not exist yet returns 404, uncharged.","tags":["celo","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Celo","chainId":42220,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/gas":{"get":{"operationId":"celo_gas","summary":"Celo gas price","description":"Current gas price on Celo (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain CELO transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use celo_receipt.","tags":["celo","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"CELO","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/tx":{"get":{"operationId":"celo_tx","summary":"Celo transaction","description":"Look up a Celo transaction by hash: sender, recipient, value in CELO, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use celo_receipt, for emitted events celo_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["celo","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xc6a38b860427aa5bd7f65f8a879a7d369e77b3767200c68cde4002014ad50444"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"hash":"0xc6a38b860427aa5bd7f65f8a879a7d369e77b3767200c68cde4002014ad50444","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/receipt":{"get":{"operationId":"celo_receipt","summary":"Celo transaction receipt","description":"Transaction receipt on Celo (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in CELO, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use celo_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["celo","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xc6a38b860427aa5bd7f65f8a879a7d369e77b3767200c68cde4002014ad50444"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Celo","chainId":42220,"hash":"0xc6a38b860427aa5bd7f65f8a879a7d369e77b3767200c68cde4002014ad50444","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/nonce":{"get":{"operationId":"celo_nonce","summary":"Celo account nonce","description":"Read the transaction count (nonce) of a 0x address on Celo, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use celo_balance. A malformed address is rejected with 400, uncharged.","tags":["celo","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Celo","chainId":42220,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/is-contract":{"get":{"operationId":"celo_is_contract","summary":"Celo contract check","description":"Check whether a 0x address on Celo is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["celo","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Celo","chainId":42220,"address":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/logs":{"get":{"operationId":"celo_logs","summary":"Celo recent event logs","description":"Recent contract event logs on Celo (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use celo_receipt.","tags":["celo","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Celo","chainId":42220,"address":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/token-transfers":{"get":{"operationId":"celo_token_transfers","summary":"Token transfers, Celo","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Celo, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use celo_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["celo","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 33 minutes on Celo)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Celo","chainId":42220,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/nft-owner":{"get":{"operationId":"celo_nft_owner","summary":"NFT owner, Celo","description":"Owner of an NFT on Celo: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use celo_nft_balance, for the token's metadata celo_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["celo","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Celo","chainId":42220,"contract":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/nft-balance":{"get":{"operationId":"celo_nft_balance","summary":"NFT balance, Celo","description":"How many NFTs of one ERC-721 collection a wallet holds on Celo (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use celo_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["celo","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Celo","chainId":42220,"contract":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/nft-metadata":{"get":{"operationId":"celo_nft_metadata","summary":"NFT metadata, Celo","description":"NFT metadata on Celo: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use celo_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["celo","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Celo","chainId":42220,"contract":"0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/storage":{"get":{"operationId":"celo_storage","summary":"Storage slot read, Celo","description":"Read one raw storage slot of a contract on Celo (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use celo_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["celo","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"address":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/proxy":{"get":{"operationId":"celo_proxy","summary":"Proxy implementation, Celo","description":"Find the implementation behind a proxy contract on Celo: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["celo","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Celo","chainId":42220,"address":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/call":{"get":{"operationId":"celo_call","summary":"Eth call, Celo contract call","description":"Read-only contract call on Celo (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["celo","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"to":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/estimate-gas":{"get":{"operationId":"celo_estimate_gas","summary":"Estimate gas, Celo","description":"Estimate the gas a transaction would use on Celo (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and CELO. Give to, plus value in CELO and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use celo_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["celo","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of CELO to send, in CELO (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Celo","chainId":42220,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"CELO","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/gas-history":{"get":{"operationId":"celo_gas_history","summary":"Gas history, Celo gas price","description":"Gas price history on Celo (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use celo_gas.","tags":["celo","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Celo","chainId":42220,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/celo/allowance":{"get":{"operationId":"celo_allowance","summary":"Token allowance, Celo ERC-20","description":"ERC-20 token allowance on Celo: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use celo_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["celo","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Celo","chainId":42220,"token":"0xcebA9300f2b948710d2653dD7B07f33A8B32118C","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/balance":{"get":{"operationId":"sonic_balance","summary":"Sonic native balance","description":"Native S balance (eth_getBalance) of any 0x wallet address on Sonic at the latest block, in wei and in S. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use sonic_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["sonic","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"S","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/token-balance":{"get":{"operationId":"sonic_token_balance","summary":"Sonic ERC-20 balance","description":"ERC-20 token balance of a wallet on Sonic (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use sonic_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["sonic","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Sonic","chainId":146,"token":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/token-info":{"get":{"operationId":"sonic_token_info","summary":"Sonic ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Sonic, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use sonic_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["sonic","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Sonic","chainId":146,"token":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/block":{"get":{"operationId":"sonic_block","summary":"Block number, Sonic","description":"Latest block number and block details on Sonic, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use sonic_gas. A block that does not exist yet returns 404, uncharged.","tags":["sonic","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Sonic","chainId":146,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/gas":{"get":{"operationId":"sonic_gas","summary":"Sonic gas price","description":"Current gas price on Sonic (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain S transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use sonic_receipt.","tags":["sonic","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"S","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/tx":{"get":{"operationId":"sonic_tx","summary":"Sonic transaction","description":"Look up a Sonic transaction by hash: sender, recipient, value in S, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use sonic_receipt, for emitted events sonic_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["sonic","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xcc6a5594962b5211496391d0e1e9082f5060f218fad60f907a23e85a7b02bf85"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"hash":"0xcc6a5594962b5211496391d0e1e9082f5060f218fad60f907a23e85a7b02bf85","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/receipt":{"get":{"operationId":"sonic_receipt","summary":"Sonic transaction receipt","description":"Transaction receipt on Sonic (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in S, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use sonic_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["sonic","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xcc6a5594962b5211496391d0e1e9082f5060f218fad60f907a23e85a7b02bf85"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Sonic","chainId":146,"hash":"0xcc6a5594962b5211496391d0e1e9082f5060f218fad60f907a23e85a7b02bf85","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/nonce":{"get":{"operationId":"sonic_nonce","summary":"Sonic account nonce","description":"Read the transaction count (nonce) of a 0x address on Sonic, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use sonic_balance. A malformed address is rejected with 400, uncharged.","tags":["sonic","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Sonic","chainId":146,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/is-contract":{"get":{"operationId":"sonic_is_contract","summary":"Sonic contract check","description":"Check whether a 0x address on Sonic is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["sonic","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Sonic","chainId":146,"address":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/logs":{"get":{"operationId":"sonic_logs","summary":"Sonic recent event logs","description":"Recent contract event logs on Sonic (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use sonic_receipt.","tags":["sonic","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Sonic","chainId":146,"address":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/token-transfers":{"get":{"operationId":"sonic_token_transfers","summary":"Token transfers, Sonic","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Sonic, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use sonic_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["sonic","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 64 minutes on Sonic)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Sonic","chainId":146,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/storage":{"get":{"operationId":"sonic_storage","summary":"Storage slot read, Sonic","description":"Read one raw storage slot of a contract on Sonic (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use sonic_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["sonic","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"address":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/proxy":{"get":{"operationId":"sonic_proxy","summary":"Proxy implementation, Sonic","description":"Find the implementation behind a proxy contract on Sonic: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["sonic","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Sonic","chainId":146,"address":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/call":{"get":{"operationId":"sonic_call","summary":"Eth call, Sonic contract call","description":"Read-only contract call on Sonic (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["sonic","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"to":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/estimate-gas":{"get":{"operationId":"sonic_estimate_gas","summary":"Estimate gas, Sonic","description":"Estimate the gas a transaction would use on Sonic (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and S. Give to, plus value in S and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use sonic_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["sonic","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of S to send, in S (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sonic","chainId":146,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"S","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/gas-history":{"get":{"operationId":"sonic_gas_history","summary":"Gas history, Sonic gas price","description":"Gas price history on Sonic (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use sonic_gas.","tags":["sonic","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Sonic","chainId":146,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sonic/allowance":{"get":{"operationId":"sonic_allowance","summary":"Token allowance, Sonic ERC-20","description":"ERC-20 token allowance on Sonic: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use sonic_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["sonic","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Sonic","chainId":146,"token":"0x29219dd400f2Bf60E5a23d13Be72B486D4038894","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/balance":{"get":{"operationId":"unichain_balance","summary":"Unichain native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Unichain at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use unichain_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["unichain","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/token-balance":{"get":{"operationId":"unichain_token_balance","summary":"Unichain ERC-20 balance","description":"ERC-20 token balance of a wallet on Unichain (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use unichain_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["unichain","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Unichain","chainId":130,"token":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/token-info":{"get":{"operationId":"unichain_token_info","summary":"Unichain ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Unichain, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use unichain_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["unichain","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Unichain","chainId":130,"token":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/block":{"get":{"operationId":"unichain_block","summary":"Block number, Unichain","description":"Latest block number and block details on Unichain, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use unichain_gas. A block that does not exist yet returns 404, uncharged.","tags":["unichain","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Unichain","chainId":130,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/gas":{"get":{"operationId":"unichain_gas","summary":"Unichain gas price","description":"Current gas price on Unichain (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use unichain_receipt.","tags":["unichain","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/tx":{"get":{"operationId":"unichain_tx","summary":"Unichain transaction","description":"Look up an Unichain transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use unichain_receipt, for emitted events unichain_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["unichain","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xefe004f02c8907dc61735fe378eb5d2f3730d66cd8d4f385ef13076ad1eacdce"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"hash":"0xefe004f02c8907dc61735fe378eb5d2f3730d66cd8d4f385ef13076ad1eacdce","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/receipt":{"get":{"operationId":"unichain_receipt","summary":"Unichain transaction receipt","description":"Transaction receipt on Unichain (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use unichain_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["unichain","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xefe004f02c8907dc61735fe378eb5d2f3730d66cd8d4f385ef13076ad1eacdce"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Unichain","chainId":130,"hash":"0xefe004f02c8907dc61735fe378eb5d2f3730d66cd8d4f385ef13076ad1eacdce","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/nonce":{"get":{"operationId":"unichain_nonce","summary":"Unichain account nonce","description":"Read the transaction count (nonce) of a 0x address on Unichain, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use unichain_balance. A malformed address is rejected with 400, uncharged.","tags":["unichain","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Unichain","chainId":130,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/is-contract":{"get":{"operationId":"unichain_is_contract","summary":"Unichain contract check","description":"Check whether a 0x address on Unichain is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["unichain","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Unichain","chainId":130,"address":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/logs":{"get":{"operationId":"unichain_logs","summary":"Unichain recent event logs","description":"Recent contract event logs on Unichain (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use unichain_receipt.","tags":["unichain","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Unichain","chainId":130,"address":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/token-transfers":{"get":{"operationId":"unichain_token_transfers","summary":"Token transfers, Unichain","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Unichain, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use unichain_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["unichain","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 33 minutes on Unichain)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Unichain","chainId":130,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/nft-owner":{"get":{"operationId":"unichain_nft_owner","summary":"NFT owner, Unichain","description":"Owner of an NFT on Unichain: the wallet that holds one ERC-721 token id right now (ownerOf), plus the collection's name and symbol. Use to verify who holds an NFT before a trade, a mint gate or an airdrop; for how many a wallet holds use unichain_nft_balance, for the token's metadata unichain_nft_metadata. A missing contract is 404, a token that does not exist 422, both uncharged.","tags":["unichain","blockchain","evm","nft","nft-owner","erc721","owner"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"owner":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Unichain","chainId":130,"contract":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9","tokenId":"1","owner":"0x69e67aad5495a48c4ef3f770d93a99935e1dc90d","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/nft-balance":{"get":{"operationId":"unichain_nft_balance","summary":"NFT balance, Unichain","description":"How many NFTs of one ERC-721 collection a wallet holds on Unichain (balanceOf), with the collection's name and symbol. Use to check a holder before a token-gated action or to see whether a wallet still holds a collection; for who holds one token id use unichain_nft_owner. Both inputs are 0x addresses; a missing contract is 404, a contract that is not ERC-721 422, both uncharged.","tags":["unichain","blockchain","evm","nft","erc721","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"address":{"type":"string"},"balance":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}}},"example":{"chain":"Unichain","chainId":130,"contract":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balance":"2","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/nft-metadata":{"get":{"operationId":"unichain_nft_metadata","summary":"NFT metadata, Unichain","description":"NFT metadata on Unichain: the token URI of one ERC-721 token id (tokenURI) and the JSON it points to (name, description, image, attributes), read from data: URIs, https or ipfs:// (through ipfs.io). Strings over 1,000 characters, such as on-chain SVG images, are shortened. Use to show or check what an NFT is; for its owner use unichain_nft_owner. A token that does not exist is 422, uncharged; unreachable metadata is reported in metadataError.","tags":["unichain","blockchain","evm","nft","nft-metadata","erc721","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"contract","in":"query","required":true,"description":"0x ERC-721 collection contract address","schema":{"type":"string"},"example":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9"},{"name":"tokenId","in":"query","required":true,"description":"Token id, a whole number","schema":{"type":"string"},"example":"1"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"contract":{"type":"string"},"tokenId":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"tokenUri":{"type":"string"},"metadata":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"}}},"metadataSource":{"type":"string"},"metadataError":{}}},"example":{"chain":"Unichain","chainId":130,"contract":"0x943e6e07a7E8E791dAFC44083e54041D743C46E9","tokenId":"1","name":"Uniswap V3 Positions NFT-V1","symbol":"UNI-V3-POS","tokenUri":"data:application/json;base64,eyJuYW1lIjo… (14121 characters, shortened)","metadata":{"name":"Uniswap - 0.3% - USDC/WETH - 1500<>2000","description":"This NFT represents a liquidity position…","image":"data:image/svg+xml;base64,… (shortened)"},"metadataSource":"data-uri","metadataError":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/storage":{"get":{"operationId":"unichain_storage","summary":"Storage slot read, Unichain","description":"Read one raw storage slot of a contract on Unichain (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use unichain_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["unichain","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"address":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/proxy":{"get":{"operationId":"unichain_proxy","summary":"Proxy implementation, Unichain","description":"Find the implementation behind a proxy contract on Unichain: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["unichain","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Unichain","chainId":130,"address":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/call":{"get":{"operationId":"unichain_call","summary":"Eth call, Unichain contract call","description":"Read-only contract call on Unichain (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["unichain","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"to":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/estimate-gas":{"get":{"operationId":"unichain_estimate_gas","summary":"Estimate gas, Unichain","description":"Estimate the gas a transaction would use on Unichain (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use unichain_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["unichain","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Unichain","chainId":130,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/gas-history":{"get":{"operationId":"unichain_gas_history","summary":"Gas history, Unichain gas price","description":"Gas price history on Unichain (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use unichain_gas.","tags":["unichain","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Unichain","chainId":130,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unichain/allowance":{"get":{"operationId":"unichain_allowance","summary":"Token allowance, Unichain ERC-20","description":"ERC-20 token allowance on Unichain: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use unichain_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["unichain","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Unichain","chainId":130,"token":"0x078D782b760474a361dDA0AF3839290b0EF57AD6","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/balance":{"get":{"operationId":"hyperevm_balance","summary":"HyperEVM native balance","description":"Native HYPE balance (eth_getBalance) of any 0x wallet address on HyperEVM at the latest block, in wei and in HYPE. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use hyperevm_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["hyperevm","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"HYPE","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/token-balance":{"get":{"operationId":"hyperevm_token_balance","summary":"HyperEVM ERC-20 balance","description":"ERC-20 token balance of a wallet on HyperEVM (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use hyperevm_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["hyperevm","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"HyperEVM","chainId":999,"token":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/token-info":{"get":{"operationId":"hyperevm_token_info","summary":"HyperEVM ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on HyperEVM, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use hyperevm_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["hyperevm","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"HyperEVM","chainId":999,"token":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/block":{"get":{"operationId":"hyperevm_block","summary":"Block number, HyperEVM","description":"Latest block number and block details on HyperEVM, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use hyperevm_gas. A block that does not exist yet returns 404, uncharged.","tags":["hyperevm","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"HyperEVM","chainId":999,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/gas":{"get":{"operationId":"hyperevm_gas","summary":"HyperEVM gas price","description":"Current gas price on HyperEVM (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain HYPE transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use hyperevm_receipt.","tags":["hyperevm","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"HYPE","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/tx":{"get":{"operationId":"hyperevm_tx","summary":"HyperEVM transaction","description":"Look up a HyperEVM transaction by hash: sender, recipient, value in HYPE, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use hyperevm_receipt, for emitted events hyperevm_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["hyperevm","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xdcf371c993312e793176e32cdfa78af2101b4aa54df88f8f0051c3fe463e374a"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"hash":"0xdcf371c993312e793176e32cdfa78af2101b4aa54df88f8f0051c3fe463e374a","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/receipt":{"get":{"operationId":"hyperevm_receipt","summary":"HyperEVM transaction receipt","description":"Transaction receipt on HyperEVM (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in HYPE, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use hyperevm_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["hyperevm","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0xdcf371c993312e793176e32cdfa78af2101b4aa54df88f8f0051c3fe463e374a"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"HyperEVM","chainId":999,"hash":"0xdcf371c993312e793176e32cdfa78af2101b4aa54df88f8f0051c3fe463e374a","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/nonce":{"get":{"operationId":"hyperevm_nonce","summary":"HyperEVM account nonce","description":"Read the transaction count (nonce) of a 0x address on HyperEVM, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use hyperevm_balance. A malformed address is rejected with 400, uncharged.","tags":["hyperevm","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/is-contract":{"get":{"operationId":"hyperevm_is_contract","summary":"HyperEVM contract check","description":"Check whether a 0x address on HyperEVM is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["hyperevm","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/logs":{"get":{"operationId":"hyperevm_logs","summary":"HyperEVM recent event logs","description":"Recent contract event logs on HyperEVM (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use hyperevm_receipt.","tags":["hyperevm","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/storage":{"get":{"operationId":"hyperevm_storage","summary":"Storage slot read, HyperEVM","description":"Read one raw storage slot of a contract on HyperEVM (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use hyperevm_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["hyperevm","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/proxy":{"get":{"operationId":"hyperevm_proxy","summary":"Proxy implementation, HyperEVM","description":"Find the implementation behind a proxy contract on HyperEVM: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["hyperevm","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"HyperEVM","chainId":999,"address":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/call":{"get":{"operationId":"hyperevm_call","summary":"Eth call, HyperEVM contract call","description":"Read-only contract call on HyperEVM (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["hyperevm","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"to":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/estimate-gas":{"get":{"operationId":"hyperevm_estimate_gas","summary":"Estimate gas, HyperEVM","description":"Estimate the gas a transaction would use on HyperEVM (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and HYPE. Give to, plus value in HYPE and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use hyperevm_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["hyperevm","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of HYPE to send, in HYPE (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"HyperEVM","chainId":999,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"HYPE","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/gas-history":{"get":{"operationId":"hyperevm_gas_history","summary":"Gas history, HyperEVM gas price","description":"Gas price history on HyperEVM (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use hyperevm_gas.","tags":["hyperevm","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"HyperEVM","chainId":999,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperevm/allowance":{"get":{"operationId":"hyperevm_allowance","summary":"Token allowance, HyperEVM ERC-20","description":"ERC-20 token allowance on HyperEVM: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use hyperevm_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["hyperevm","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"HyperEVM","chainId":999,"token":"0xb88339CB7199b77E23DB6E890353E22632Ba630f","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/balance":{"get":{"operationId":"bera_balance","summary":"Berachain native balance","description":"Native BERA balance (eth_getBalance) of any 0x wallet address on Berachain at the latest block, in wei and in BERA. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use bera_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["berachain","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"BERA","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/token-balance":{"get":{"operationId":"bera_token_balance","summary":"Berachain ERC-20 balance","description":"ERC-20 token balance of a wallet on Berachain (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use bera_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["berachain","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Berachain","chainId":80094,"token":"0x549943e04f40284185054145c6E4e9568C1D3241","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/token-info":{"get":{"operationId":"bera_token_info","summary":"Berachain ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Berachain, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use bera_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["berachain","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Berachain","chainId":80094,"token":"0x549943e04f40284185054145c6E4e9568C1D3241","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/block":{"get":{"operationId":"bera_block","summary":"Block number, Berachain","description":"Latest block number and block details on Berachain, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use bera_gas. A block that does not exist yet returns 404, uncharged.","tags":["berachain","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Berachain","chainId":80094,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/gas":{"get":{"operationId":"bera_gas","summary":"Berachain gas price","description":"Current gas price on Berachain (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain BERA transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use bera_receipt.","tags":["berachain","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"BERA","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/tx":{"get":{"operationId":"bera_tx","summary":"Berachain transaction","description":"Look up a Berachain transaction by hash: sender, recipient, value in BERA, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use bera_receipt, for emitted events bera_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["berachain","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x19db8c305092673a73e777b690469a0962145d4289a2608e8f62881c3a9ac18a"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"hash":"0x19db8c305092673a73e777b690469a0962145d4289a2608e8f62881c3a9ac18a","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/receipt":{"get":{"operationId":"bera_receipt","summary":"Berachain transaction receipt","description":"Transaction receipt on Berachain (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in BERA, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use bera_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["berachain","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x19db8c305092673a73e777b690469a0962145d4289a2608e8f62881c3a9ac18a"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Berachain","chainId":80094,"hash":"0x19db8c305092673a73e777b690469a0962145d4289a2608e8f62881c3a9ac18a","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/nonce":{"get":{"operationId":"bera_nonce","summary":"Berachain account nonce","description":"Read the transaction count (nonce) of a 0x address on Berachain, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use bera_balance. A malformed address is rejected with 400, uncharged.","tags":["berachain","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Berachain","chainId":80094,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/is-contract":{"get":{"operationId":"bera_is_contract","summary":"Berachain contract check","description":"Check whether a 0x address on Berachain is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["berachain","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Berachain","chainId":80094,"address":"0x549943e04f40284185054145c6E4e9568C1D3241","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/logs":{"get":{"operationId":"bera_logs","summary":"Berachain recent event logs","description":"Recent contract event logs on Berachain (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use bera_receipt.","tags":["berachain","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Berachain","chainId":80094,"address":"0x549943e04f40284185054145c6E4e9568C1D3241","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/token-transfers":{"get":{"operationId":"bera_token_transfers","summary":"Token transfers, Berachain","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Berachain, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use bera_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["berachain","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Berachain)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Berachain","chainId":80094,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0x549943e04f40284185054145c6E4e9568C1D3241","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/storage":{"get":{"operationId":"bera_storage","summary":"Storage slot read, Berachain","description":"Read one raw storage slot of a contract on Berachain (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use bera_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["berachain","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"address":"0x549943e04f40284185054145c6E4e9568C1D3241","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/proxy":{"get":{"operationId":"bera_proxy","summary":"Proxy implementation, Berachain","description":"Find the implementation behind a proxy contract on Berachain: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["berachain","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Berachain","chainId":80094,"address":"0x549943e04f40284185054145c6E4e9568C1D3241","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/call":{"get":{"operationId":"bera_call","summary":"Eth call, Berachain","description":"Read-only contract call on Berachain (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["berachain","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"to":"0x549943e04f40284185054145c6E4e9568C1D3241","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/estimate-gas":{"get":{"operationId":"bera_estimate_gas","summary":"Estimate gas, Berachain","description":"Estimate the gas a transaction would use on Berachain (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and BERA. Give to, plus value in BERA and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use bera_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["berachain","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of BERA to send, in BERA (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Berachain","chainId":80094,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"BERA","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/gas-history":{"get":{"operationId":"bera_gas_history","summary":"Gas history, Berachain gas price","description":"Gas price history on Berachain (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use bera_gas.","tags":["berachain","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Berachain","chainId":80094,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bera/allowance":{"get":{"operationId":"bera_allowance","summary":"Token allowance, Berachain","description":"ERC-20 token allowance on Berachain: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use bera_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["berachain","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0x549943e04f40284185054145c6E4e9568C1D3241"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Berachain","chainId":80094,"token":"0x549943e04f40284185054145c6E4e9568C1D3241","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/balance":{"get":{"operationId":"ink_balance","summary":"Ink native balance","description":"Native ETH balance (eth_getBalance) of any 0x wallet address on Ink at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use ink_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["ink","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/token-balance":{"get":{"operationId":"ink_token_balance","summary":"Ink ERC-20 balance","description":"ERC-20 token balance of a wallet on Ink (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use ink_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["ink","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Ink","chainId":57073,"token":"0xF1815bd50389c46847f0Bda824eC8da914045D14","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/token-info":{"get":{"operationId":"ink_token_info","summary":"Ink ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Ink, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use ink_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["ink","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Ink","chainId":57073,"token":"0xF1815bd50389c46847f0Bda824eC8da914045D14","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/block":{"get":{"operationId":"ink_block","summary":"Block number, Ink","description":"Latest block number and block details on Ink, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use ink_gas. A block that does not exist yet returns 404, uncharged.","tags":["ink","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Ink","chainId":57073,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/gas":{"get":{"operationId":"ink_gas","summary":"Ink gas price","description":"Current gas price on Ink (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use ink_receipt.","tags":["ink","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/tx":{"get":{"operationId":"ink_tx","summary":"Ink transaction","description":"Look up an Ink transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use ink_receipt, for emitted events ink_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["ink","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x31e16195b9b6d9da5303988095e0dd5ee278693cb920de7d09fcee624c4f4733"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"hash":"0x31e16195b9b6d9da5303988095e0dd5ee278693cb920de7d09fcee624c4f4733","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/receipt":{"get":{"operationId":"ink_receipt","summary":"Ink transaction receipt","description":"Transaction receipt on Ink (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use ink_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["ink","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x31e16195b9b6d9da5303988095e0dd5ee278693cb920de7d09fcee624c4f4733"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Ink","chainId":57073,"hash":"0x31e16195b9b6d9da5303988095e0dd5ee278693cb920de7d09fcee624c4f4733","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/nonce":{"get":{"operationId":"ink_nonce","summary":"Ink account nonce","description":"Read the transaction count (nonce) of a 0x address on Ink, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use ink_balance. A malformed address is rejected with 400, uncharged.","tags":["ink","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Ink","chainId":57073,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/is-contract":{"get":{"operationId":"ink_is_contract","summary":"Ink contract check","description":"Check whether a 0x address on Ink is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["ink","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Ink","chainId":57073,"address":"0xF1815bd50389c46847f0Bda824eC8da914045D14","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/logs":{"get":{"operationId":"ink_logs","summary":"Ink recent event logs","description":"Recent contract event logs on Ink (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use ink_receipt.","tags":["ink","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Ink","chainId":57073,"address":"0xF1815bd50389c46847f0Bda824eC8da914045D14","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/token-transfers":{"get":{"operationId":"ink_token_transfers","summary":"Token transfers, Ink","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Ink, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use ink_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["ink","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 33 minutes on Ink)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Ink","chainId":57073,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xF1815bd50389c46847f0Bda824eC8da914045D14","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/storage":{"get":{"operationId":"ink_storage","summary":"Storage slot read, Ink","description":"Read one raw storage slot of a contract on Ink (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use ink_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["ink","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"address":"0xF1815bd50389c46847f0Bda824eC8da914045D14","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/proxy":{"get":{"operationId":"ink_proxy","summary":"Proxy implementation, Ink","description":"Find the implementation behind a proxy contract on Ink: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["ink","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Ink","chainId":57073,"address":"0xF1815bd50389c46847f0Bda824eC8da914045D14","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/call":{"get":{"operationId":"ink_call","summary":"Eth call, Ink contract call","description":"Read-only contract call on Ink (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["ink","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"to":"0xF1815bd50389c46847f0Bda824eC8da914045D14","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/estimate-gas":{"get":{"operationId":"ink_estimate_gas","summary":"Estimate gas, Ink","description":"Estimate the gas a transaction would use on Ink (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and ETH. Give to, plus value in ETH and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use ink_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["ink","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of ETH to send, in ETH (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Ink","chainId":57073,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"ETH","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/gas-history":{"get":{"operationId":"ink_gas_history","summary":"Gas history, Ink gas price","description":"Gas price history on Ink (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use ink_gas.","tags":["ink","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Ink","chainId":57073,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ink/allowance":{"get":{"operationId":"ink_allowance","summary":"Token allowance, Ink ERC-20","description":"ERC-20 token allowance on Ink: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use ink_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["ink","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xF1815bd50389c46847f0Bda824eC8da914045D14"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Ink","chainId":57073,"token":"0xF1815bd50389c46847f0Bda824eC8da914045D14","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/balance":{"get":{"operationId":"sei_balance","summary":"Sei native balance","description":"Native SEI balance (eth_getBalance) of any 0x wallet address on Sei at the latest block, in wei and in SEI. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use sei_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged.","tags":["sei","blockchain","evm","balance","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet or contract address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"balanceWei":{"type":"string"},"balance":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","balanceWei":"1234500000000000000","balance":"1.2345","symbol":"SEI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/token-balance":{"get":{"operationId":"sei_token_balance","summary":"Sei ERC-20 balance","description":"ERC-20 token balance of a wallet on Sei (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use sei_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both uncharged.","tags":["sei","blockchain","evm","erc20","token","balance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"address":{"type":"string"},"raw":{"type":"string"},"balance":{"type":"string"}}},"example":{"chain":"Sei","chainId":1329,"token":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","symbol":"USDC","decimals":6,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","raw":"2500000","balance":"2.5"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/token-info":{"get":{"operationId":"sei_token_info","summary":"Sei ERC-20 token info","description":"Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Sei, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use sei_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged.","tags":["sei","blockchain","evm","erc20","token","metadata"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"string"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Sei","chainId":1329,"token":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"1000000000.0","totalSupplyRaw":"1000000000000000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/block":{"get":{"operationId":"sei_block","summary":"Block number, Sei","description":"Latest block number and block details on Sei, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use sei_gas. A block that does not exist yet returns 404, uncharged.","tags":["sei","blockchain","evm","block","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"Block number, or 'latest' (default)","schema":{"type":"string"},"example":"latest"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"number":{"type":"number"},"hash":{"type":"string"},"timestamp":{"type":"string"},"transactions":{"type":"number"},"gasUsed":{"type":"string"},"gasLimit":{"type":"string"},"baseFeeGwei":{"type":"string"},"miner":{"type":"string"}}},"example":{"chain":"Sei","chainId":1329,"number":123456789,"hash":"0xabc…","timestamp":"2026-10-18T12:00:00.000Z","transactions":154,"gasUsed":"21000000","gasLimit":"30000000","baseFeeGwei":"0.012","miner":"0x…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/gas":{"get":{"operationId":"sei_gas","summary":"Sei gas price","description":"Current gas price on Sei (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain SEI transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use sei_receipt.","tags":["sei","blockchain","evm","gas","fees"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"gasPriceGwei":{"type":"string"},"baseFeeGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"transferCost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"gasPriceGwei":"0.015","baseFeeGwei":"0.012","priorityFeeGwei":"0.001","transferCost":"0.000000315","symbol":"SEI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/tx":{"get":{"operationId":"sei_tx","summary":"Sei transaction","description":"Look up a Sei transaction by hash: sender, recipient, value in SEI, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use sei_receipt, for emitted events sei_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged.","tags":["sei","blockchain","evm","transaction","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x51ee2bca2ed878b0f576071a0cd21c0f8f129d4de4a545c5a7b3511fa6d048bb"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"number"},"gas":{"type":"string"},"selector":{"type":"string"},"inputBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"hash":"0x51ee2bca2ed878b0f576071a0cd21c0f8f129d4de4a545c5a7b3511fa6d048bb","from":"0x…","to":"0x…","value":"0.0","nonce":12,"gas":"65000","selector":"0xa9059cbb","inputBytes":68,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/receipt":{"get":{"operationId":"sei_receipt","summary":"Sei transaction receipt","description":"Transaction receipt on Sei (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in SEI, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use sei_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged.","tags":["sei","blockchain","evm","transaction","receipt","confirmation"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"hash","in":"query","required":true,"description":"0x-prefixed transaction hash (64 hex characters)","schema":{"type":"string"},"example":"0x51ee2bca2ed878b0f576071a0cd21c0f8f129d4de4a545c5a7b3511fa6d048bb"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"hash":{"type":"string"},"status":{"type":"string"},"block":{"type":"number"},"gasUsed":{"type":"string"},"effectiveGasPriceGwei":{"type":"string"},"fee":{"type":"string"},"logs":{"type":"number"},"contractAddress":{}}},"example":{"chain":"Sei","chainId":1329,"hash":"0x51ee2bca2ed878b0f576071a0cd21c0f8f129d4de4a545c5a7b3511fa6d048bb","status":"success","block":123456789,"gasUsed":"52000","effectiveGasPriceGwei":"0.012","fee":"0.000000624","logs":1,"contractAddress":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/nonce":{"get":{"operationId":"sei_nonce","summary":"Sei account nonce","description":"Read the transaction count (nonce) of a 0x address on Sei, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use sei_balance. A malformed address is rejected with 400, uncharged.","tags":["sei","blockchain","evm","nonce","wallet"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"nonce":{"type":"number"},"pendingNonce":{"type":"number"},"hasSent":{"type":"boolean"}}},"example":{"chain":"Sei","chainId":1329,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","nonce":1204,"pendingNonce":1204,"hasSent":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/is-contract":{"get":{"operationId":"sei_is_contract","summary":"Sei contract check","description":"Check whether a 0x address on Sei is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged.","tags":["sei","blockchain","evm","contract","security","address"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isContract":{"type":"boolean"},"codeBytes":{"type":"number"},"minimalProxy":{"type":"boolean"},"implementation":{}}},"example":{"chain":"Sei","chainId":1329,"address":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","isContract":true,"codeBytes":1855,"minimalProxy":false,"implementation":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/logs":{"get":{"operationId":"sei_logs","summary":"Sei recent event logs","description":"Recent contract event logs on Sei (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use sei_receipt.","tags":["sei","blockchain","evm","logs","events","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-1000, default 50)","schema":{"type":"integer"},"example":50},{"name":"topic0","in":"query","required":false,"description":"Optional 0x event signature hash to filter by","schema":{"type":"string"},"example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"logs":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"logIndex":{"type":"number"},"topics":{"type":"array","items":{"type":"string"}},"data":{"type":"string"}}}}}},"example":{"chain":"Sei","chainId":1329,"address":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","fromBlock":123456739,"toBlock":123456789,"count":2,"truncated":false,"logs":[{"block":123456780,"tx":"0x…","logIndex":3,"topics":["0xddf2…"],"data":"0x…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/token-transfers":{"get":{"operationId":"sei_token_transfers","summary":"Token transfers, Sei","description":"List a wallet's recent transfers of one ERC-20 token (default USDC) on Sei, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use sei_token_balance. Malformed addresses are rejected with 400, uncharged.","tags":["sei","blockchain","evm","erc20","transfers","wallet","history","usdc","payments"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x wallet address","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"token","in":"query","required":false,"description":"Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network)","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"blocks","in":"query","required":false,"description":"How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 15 minutes on Sei)","schema":{"type":"integer"},"example":1000}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"count":{"type":"number"},"truncated":{"type":"boolean"},"transfers":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"tx":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"direction":{"type":"string"},"counterparty":{"type":"string"},"amount":{"type":"string"},"raw":{"type":"string"}}}}}},"example":{"chain":"Sei","chainId":1329,"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","fromBlock":123456290,"toBlock":123456789,"count":1,"truncated":false,"transfers":[{"block":123456780,"tx":"0x…","token":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","symbol":"USDC","direction":"in","counterparty":"0x…","amount":"2.5","raw":"2500000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/storage":{"get":{"operationId":"sei_storage","summary":"Storage slot read, Sei","description":"Read one raw storage slot of a contract on Sei (eth_getStorageAt): the 32-byte word, as a number and, when it holds one, as an address. Slot is a decimal index or a 0x 32-byte key (mapping and proxy slots). Use to inspect contract state that has no getter, owners or implementation pointers; for proxies use sei_proxy. A malformed address or slot is rejected with 400, uncharged.","tags":["sei","blockchain","evm","storage","contract","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"slot","in":"query","required":false,"description":"Slot: a decimal index (0, 1, 2…) or a 0x 32-byte key","schema":{"type":"string"},"example":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"slot":{"type":"string"},"value":{"type":"string"},"asNumber":{"type":"string"},"asAddress":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"address":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","slot":"0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","value":"0x0000000000000000000000002ce6311ddae708829bc0784c967b7d77d19fd779","asNumber":"251560…","asAddress":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/proxy":{"get":{"operationId":"sei_proxy","summary":"Proxy implementation, Sei","description":"Find the implementation behind a proxy contract on Sei: reads the EIP-1967 implementation, beacon and admin slots, EIP-1822 (UUPS), the older OpenZeppelin layout and EIP-1167 minimal-proxy bytecode, and names the kind found. Use before trusting or decoding a contract whose code can be swapped by its admin; for a fuller risk verdict use contract_risk. A malformed address is 400; an address without code is 404, both uncharged.","tags":["sei","blockchain","evm","proxy","contract","security","upgradeable"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"address":{"type":"string"},"isProxy":{"type":"boolean"},"kind":{"type":"string"},"implementation":{"type":"string"},"admin":{"type":"string"},"beacon":{},"upgradeable":{"type":"boolean"}}},"example":{"chain":"Sei","chainId":1329,"address":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","isProxy":true,"kind":"openzeppelin-legacy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","admin":"0x…","beacon":null,"upgradeable":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/call":{"get":{"operationId":"sei_call","summary":"Eth call, Sei contract call","description":"Read-only contract call on Sei (eth_call): send ABI-encoded calldata to a contract at the latest block and get the raw return data, without a transaction or gas. Use to read any view function that has no dedicated tool (the example reads USDC totalSupply, selector 0x18160ddd); decode the result with the function's ABI. Calldata up to 8 KB; a call that reverts is 422 with the reason, uncharged.","tags":["sei","blockchain","evm","eth-call","contract","read","chain-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x contract address to call","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"data","in":"query","required":true,"description":"0x ABI-encoded calldata: 4-byte selector plus arguments","schema":{"type":"string"},"example":"0x18160ddd"},{"name":"from","in":"query","required":false,"description":"Optional 0x sender address for calls that check msg.sender","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"data":{"type":"string"},"result":{"type":"string"},"resultBytes":{"type":"number"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"to":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","data":"0x18160ddd","result":"0x00000000000000000000000000000000000000000000000000038d7ea4c68000","resultBytes":32,"block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/estimate-gas":{"get":{"operationId":"sei_estimate_gas","summary":"Estimate gas, Sei","description":"Estimate the gas a transaction would use on Sei (eth_estimateGas) and what it would cost at the current gas price, in gas units, gwei and SEI. Give to, plus value in SEI and calldata for a contract call, and the sender when the call depends on it. Use before sending a transaction or to price a batch; for the gas price alone use sei_gas. A transaction that would revert is 422 with the reason, uncharged.","tags":["sei","blockchain","evm","gas","estimate-gas","fees","transaction"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"to","in":"query","required":true,"description":"0x recipient or contract address","schema":{"type":"string"},"example":"0x000000000000000000000000000000000000dEaD"},{"name":"from","in":"query","required":false,"description":"0x sender address (default: an empty address)","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"value","in":"query","required":false,"description":"Amount of SEI to send, in SEI (default 0)","schema":{"type":"string"},"example":"0"},{"name":"data","in":"query","required":false,"description":"Optional 0x calldata for a contract call","schema":{"type":"string"},"example":"0x"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"string"},"gas":{"type":"string"},"gasPriceGwei":{"type":"string"},"cost":{"type":"string"},"symbol":{"type":"string"},"block":{"type":"number"}}},"example":{"chain":"Sei","chainId":1329,"to":"0x000000000000000000000000000000000000dEaD","from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","value":"0","gas":"21000","gasPriceGwei":"0.012","cost":"0.000000252","symbol":"SEI","block":123456789}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/gas-history":{"get":{"operationId":"sei_gas_history","summary":"Gas history, Sei gas price","description":"Gas price history on Sei (eth_feeHistory): base fee in gwei for each of the last N blocks (5-100, default 20), how full each block was, and the 10th, 50th and 90th percentile priority fees, with the low, average and high base fee over the window. Use to judge whether fees are rising, pick a priority fee or time a transaction; for the current price alone use sei_gas.","tags":["sei","blockchain","evm","gas","gas-history","fees","fee-history"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"blocks","in":"query","required":false,"description":"How many recent blocks, 5-100 (default 20)","schema":{"type":"integer"},"example":20}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"fromBlock":{"type":"number"},"toBlock":{"type":"number"},"blocks":{"type":"number"},"baseFeeGwei":{"type":"object","properties":{"low":{"type":"number"},"average":{"type":"number"},"high":{"type":"number"},"latest":{"type":"number"},"next":{"type":"number"}}},"priorityFeeGwei":{"type":"object","properties":{"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"}}},"history":{"type":"array","items":{"type":"object","properties":{"block":{"type":"number"},"baseFeeGwei":{"type":"number"},"gasUsedRatio":{"type":"number"},"priorityFeeGwei":{"type":"array","items":{"type":"number"}}}}}}},"example":{"chain":"Sei","chainId":1329,"fromBlock":123456770,"toBlock":123456789,"blocks":20,"baseFeeGwei":{"low":0.011,"average":0.012,"high":0.014,"latest":0.012,"next":0.012},"priorityFeeGwei":{"p10":0.0005,"p50":0.001,"p90":0.01},"history":[{"block":123456789,"baseFeeGwei":0.012,"gasUsedRatio":0.48,"priorityFeeGwei":[0.0005,0.001,0.01]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sei/allowance":{"get":{"operationId":"sei_allowance","summary":"Token allowance, Sei ERC-20","description":"ERC-20 token allowance on Sei: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use sei_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.","tags":["sei","blockchain","evm","erc20","allowance","approval","token"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address","schema":{"type":"string"},"example":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},{"name":"owner","in":"query","required":true,"description":"0x wallet that gave the approval","schema":{"type":"string"},"example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"spender","in":"query","required":true,"description":"0x contract or wallet allowed to spend (the example is Uniswap Permit2)","schema":{"type":"string"},"example":"0x000000000022D473030F116dDEE9F6B43aC78BA3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"token":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"owner":{"type":"string"},"spender":{"type":"string"},"raw":{"type":"string"},"allowance":{"type":"string"},"unlimited":{"type":"boolean"}}},"example":{"chain":"Sei","chainId":1329,"token":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","symbol":"USDC","decimals":6,"owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","spender":"0x000000000022D473030F116dDEE9F6B43aC78BA3","raw":"0","allowance":"0","unlimited":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/solana/balance":{"get":{"operationId":"solana_balance","summary":"Solana balance: SOL balance of a wallet","description":"SOL balance of a Solana wallet, read live from mainnet in lamports and SOL, plus its SPL token accounts (mint, symbol for well-known tokens, decimals, amount) when the public node serves them; otherwise tokens is null with a note. Use to check a Solana wallet before a payment. An address that is not 32-byte base58 is 400, uncharged.","tags":["solana-balance","solana","spl-token","wallet","balance","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Solana wallet address (base58)","schema":{"type":"string"},"example":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"sol":{"type":"string"},"lamports":{"type":"string"},"tokenCount":{"type":"number"},"tokens":{"type":"array","items":{"type":"object","properties":{"mint":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"amount":{"type":"string"},"raw":{"type":"string"},"program":{"type":"string"}}}},"slot":{"type":"number"}}},"example":{"address":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg","sol":"0.039869364","lamports":"39869364","tokenCount":6,"tokens":[{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","decimals":6,"amount":"12.5","raw":"12500000","program":"token"}],"slot":460750950}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/solana/token":{"get":{"operationId":"solana_token","summary":"Solana token info: supply, decimals, mint and freeze authority","description":"Look up a Solana SPL token by its mint address, live from mainnet: decimals, total supply, whether a mint authority can still create more and whether a freeze authority can freeze holders (two common rug-pull risks), the token program, and, on request, the largest holder accounts with their share of supply. Use before buying or accepting an unknown Solana token. A mint that does not exist is 404, uncharged.","tags":["solana-token","solana","spl-token","token-security","crypto","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"mint","in":"query","required":true,"description":"SPL token mint address (base58)","schema":{"type":"string"},"example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},{"name":"holders","in":"query","required":false,"description":"Largest holder accounts to list, 0-20 (default 0; best effort, the public node rate-limits this lookup)","schema":{"type":"integer"},"example":0}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"symbol":{"type":"string"},"program":{"type":"string"},"decimals":{"type":"number"},"supply":{"type":"string"},"mintAuthority":{"type":"string"},"freezeAuthority":{"type":"string"},"mintable":{"type":"boolean"},"freezable":{"type":"boolean"},"topHolders":{"type":"array","items":{}},"slot":{"type":"number"}}},"example":{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","program":"token","decimals":6,"supply":"7719383272.039","mintAuthority":"BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG","freezeAuthority":"7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrar","mintable":true,"freezable":true,"topHolders":[],"slot":460750968}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/feed":{"get":{"operationId":"feed","summary":"RSS feed reader: read an RSS or Atom feed","description":"Read a public RSS 2.0, RSS 1.0 or Atom feed and get the feed title, link and description plus its newest items: title, link, date (ISO 8601), short plain-text summary, author and id. Up to 50 items, feeds up to 2 MB. Lenient with real-world feeds; a page that is not a feed returns 422, uncharged. Use to follow news, blogs, release notes or podcasts without scraping pages.","tags":["rss","atom","feed","news","web","monitoring"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public http(s) URL of the feed, or of a web page whose head links to its feed","schema":{"type":"string"},"example":"https://blog.cloudflare.com/rss/"},{"name":"limit","in":"query","required":false,"description":"Items to return (1-50, default 20)","schema":{"type":"integer"},"example":10}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"format":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"},"description":{"type":"string"},"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"link":{"type":"string"},"date":{"type":"string"},"summary":{"type":"string"},"author":{"type":"string"},"id":{"type":"string"}}}}}},"example":{"url":"https://blog.cloudflare.com/rss/","format":"rss","title":"Cloudflare Blog","link":"https://blog.cloudflare.com/","description":"Technical deep dives, product news and research…","count":1,"items":[{"title":"An example post","link":"https://blog.cloudflare.com/…","date":"2026-10-17T16:00:00.000Z","summary":"A short plain-text summary…","author":"Cloudflare","id":"https://blog.cloudflare.com/…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/meta":{"get":{"operationId":"url_meta","summary":"Website metadata, link preview: title, description and images of a page","description":"Fetch a public web page's head and return link-preview metadata: title, description, site name, type, preview image, canonical URL, language, author, published time, favicon, theme colour, and every OpenGraph and Twitter-card field. Reads at most 1 MB and never runs JavaScript. Use to build link previews, label citations or check how a URL will unfurl before sharing it.","tags":["metadata","opengraph","web","seo","preview","links"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute public http(s) URL of the page","schema":{"type":"string"},"example":"https://github.com/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"siteName":{"type":"string"},"type":{"type":"string"},"image":{"type":"string"},"canonical":{"type":"string"},"lang":{"type":"string"},"author":{},"publishedTime":{},"favicon":{"type":"string"},"themeColor":{},"openGraph":{"type":"object","properties":{"og:site_name":{"type":"string"}}},"twitter":{"type":"object","properties":{"twitter:card":{"type":"string"}}}}},"example":{"url":"https://github.com/","finalUrl":"https://github.com/","title":"GitHub","description":"…","siteName":"GitHub","type":"object","image":"https://github.githubassets.com/…","canonical":"https://github.com/","lang":"en","author":null,"publishedTime":null,"favicon":"https://github.githubassets.com/…","themeColor":null,"openGraph":{"og:site_name":"GitHub"},"twitter":{"twitter:card":"summary_large_image"}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/prompt-injection":{"get":{"operationId":"text_prompt_injection","summary":"Prompt injection detection: scan text for injection attempts","description":"Scan text an agent is about to read (web page, email, tool result; up to 8,000 characters) for prompt-injection attempts: instruction overrides, fake system messages, asks to hide things from the user, exfiltration links, attempts to extract private data or move money, invisible Unicode. Returns a risk level, score and findings with excerpts. Heuristic, not a guarantee. Use before acting on untrusted content.","tags":["security","prompt-injection","ai-safety","agents","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to scan (up to 8,000 characters)","schema":{"type":"string"},"example":"Thanks for the update. The signed invoice is attached and payment is due on Friday."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"risk":{"type":"string"},"score":{"type":"number"},"findings":{"type":"array","items":{}},"hiddenCharacters":{"type":"object","properties":{"zeroWidth":{"type":"number"},"bidi":{"type":"number"},"tags":{"type":"number"}}}}},"example":{"risk":"none","score":0,"findings":[],"hiddenCharacters":{"zeroWidth":0,"bidi":0,"tags":0}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/http/security-headers":{"get":{"operationId":"http_security_headers","summary":"Security headers check, HTTP: audit a page's security headers","description":"Fetch a public URL and grade its HTTP security headers: HSTS, Content-Security-Policy, framing protection, nosniff, Referrer-Policy and Permissions-Policy, plus version leaks (Server, X-Powered-By) and cookies missing Secure, HttpOnly or SameSite. Returns a grade A-F, a score and each check with its value. Use to review a site's basic web security; for DNS and email records use domain. Private hosts are refused with 400, uncharged.","tags":["security","http","headers","web","audit"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Public http(s) URL to check","schema":{"type":"string"},"example":"https://example.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"number"},"grade":{"type":"string"},"score":{"type":"number"},"checks":{"type":"array","items":{"type":"object","properties":{"header":{"type":"string"},"status":{"type":"string"},"value":{},"note":{"type":"string"}}}}}},"example":{"url":"https://example.com","finalUrl":"https://example.com/","status":200,"grade":"C","score":60,"checks":[{"header":"strict-transport-security","status":"fail","value":null,"note":"missing: browsers may load the site over plain HTTP"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dockerfile/lint":{"get":{"operationId":"dockerfile_lint","summary":"Lint a Dockerfile for security and size issues: check a Dockerfile for security problems and image size issues","description":"Check a Dockerfile (up to 8,000 characters) for common security and image-size problems: unpinned or :latest base images, running as root, piping downloads into a shell, sensitive values baked into ENV or ARG, ADD from URLs, apt and pip cache left in layers, sudo, chmod 777 and an exposed SSH port. Returns each finding with its line, a severity and a fix, plus a score. Use before building or shipping an image.","tags":["docker","dockerfile","security","lint","devops"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"dockerfile","in":"query","required":true,"description":"Dockerfile contents (up to 8,000 characters)","schema":{"type":"string"},"example":"FROM node:latest\nCOPY . /app\nCMD node /app/server.js"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"number"},"findings":{"type":"array","items":{"type":"object","properties":{"line":{"type":"number"},"rule":{"type":"string"},"severity":{"type":"string"},"message":{"type":"string"}}}},"counts":{"type":"object","properties":{"high":{"type":"number"},"medium":{"type":"number"},"low":{"type":"number"}}}}},"example":{"score":72,"findings":[{"line":1,"rule":"latest-tag","severity":"medium","message":"base image node:latest uses :latest; pin a version"}],"counts":{"high":0,"medium":2,"low":1}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/validate":{"get":{"operationId":"json_validate","summary":"JSON validator, validate JSON: check whether text is valid JSON and where the error is","description":"Check whether text is valid JSON. Returns valid true/false, the parsed value's type and size, and for invalid input the error message with line and column. Use before parsing an LLM's or an API's output.","tags":["json","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The JSON text to check (up to 20,000 characters)","schema":{"type":"string"},"example":"{\"a\":1}"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"type":{"type":"string"},"keys":{"type":"number"}}},"example":{"valid":true,"type":"object","keys":1}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/format":{"get":{"operationId":"json_format","summary":"JSON formatter, pretty-print: pretty-print JSON with indentation, optionally with sorted keys","description":"Format JSON with indentation (2 or 4 spaces, or tabs) and optionally sorted keys. Returns the formatted text. Use to make machine JSON readable or to normalise it for diffs.","tags":["json","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The JSON text","schema":{"type":"string"},"example":"{\"b\":2,\"a\":1}"},{"name":"indent","in":"query","required":false,"description":"2 (default), 4 or tab","schema":{"type":"string"},"example":"2"},{"name":"sortKeys","in":"query","required":false,"description":"true to sort object keys","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"formatted":{"type":"string"}}},"example":{"formatted":"{\n  \"a\": 1,\n  \"b\": 2\n}"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/minify":{"get":{"operationId":"json_minify","summary":"Minify JSON: remove whitespace from JSON to make it compact","description":"Remove all unnecessary whitespace from JSON and report the size before and after. Use to shrink payloads or prompts.","tags":["json","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The JSON text","schema":{"type":"string"},"example":"{ \"a\" : 1 }"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"minified":{"type":"string"},"before":{"type":"number"},"after":{"type":"number"}}},"example":{"minified":"{\"a\":1}","before":11,"after":7}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/repair":{"get":{"operationId":"json_repair","summary":"JSON repair: fix broken JSON","description":"Fix JSON as LLMs often write it: removes ```json fences and surrounding prose, comments and trailing commas, converts single quotes, quotes bare keys, maps True/False/None, and closes unclosed brackets. Returns the repaired JSON and whether it now parses. Use when an LLM's JSON output fails to parse.","tags":["json","llm","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The broken JSON text","schema":{"type":"string"},"example":"```json\n{name: 'Ada', tags: ['x',],}\n```"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"repaired":{"type":"string"},"valid":{"type":"boolean"}}},"example":{"repaired":"{\"name\":\"Ada\",\"tags\":[\"x\"]}","valid":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/to-csv":{"get":{"operationId":"json_to_csv","summary":"JSON to CSV, array to table: convert a JSON array of objects into CSV","description":"Convert a JSON array of objects to CSV with a header row built from all keys. Nested values are written as JSON. Use to export API results to a spreadsheet.","tags":["json","csv","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"A JSON array of objects","schema":{"type":"string"},"example":"[{\"name\":\"Ada\",\"age\":36},{\"name\":\"Alan\",\"age\":41}]"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"csv":{"type":"string"},"rows":{"type":"number"},"columns":{"type":"number"}}},"example":{"csv":"name,age\nAda,36\nAlan,41","rows":2,"columns":2}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/csv/to-json":{"get":{"operationId":"csv_to_json","summary":"CSV to JSON: convert CSV text into a JSON array of objects","description":"Convert CSV (comma, semicolon, tab or pipe; delimiter detected automatically; quoted fields supported) to a JSON array of objects using the first row as keys. Numbers stay as text unless numbers=true. Use to load spreadsheet exports into an agent.","tags":["csv","json","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The CSV text, first row is the header","schema":{"type":"string"},"example":"name,age\nAda,36"},{"name":"numbers","in":"query","required":false,"description":"true to turn numeric cells into numbers","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"number"}}}},"count":{"type":"number"},"columns":{"type":"array","items":{"type":"string"}}}},"example":{"rows":[{"name":"Ada","age":36}],"count":1,"columns":["name","age"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base64/encode":{"get":{"operationId":"base64_encode","summary":"Base64 encode: encode text as base64 and URL-safe base64","description":"Encode UTF-8 text as standard base64, and also return the URL-safe variant. Use for data URLs, headers and basic auth strings.","tags":["base64","encoding","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to encode","schema":{"type":"string"},"example":"hello world"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"base64":{"type":"string"},"base64url":{"type":"string"}}},"example":{"base64":"aGVsbG8gd29ybGQ=","base64url":"aGVsbG8gd29ybGQ"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/base64/decode":{"get":{"operationId":"base64_decode","summary":"Base64 decode: decode base64 or URL-safe base64 back to text","description":"Decode standard or URL-safe base64 to UTF-8 text. Missing padding is tolerated. Use to read encoded headers, tokens and data URLs.","tags":["base64","encoding","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The base64 text","schema":{"type":"string"},"example":"aGVsbG8gd29ybGQ="}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"}}},"example":{"text":"hello world"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/encode":{"get":{"operationId":"url_encode","summary":"URL encode: percent-encode text for use in a URL","description":"Percent-encode text for use in a URL query value (encodeURIComponent) and as a full URL (encodeURI). Use when building query strings.","tags":["url","encoding","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to encode","schema":{"type":"string"},"example":"a b&c=d/é"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"component":{"type":"string"},"uri":{"type":"string"}}},"example":{"component":"a%20b%26c%3Dd%2F%C3%A9","uri":"a%20b&c=d/%C3%A9"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/decode":{"get":{"operationId":"url_decode","summary":"URL decode: decode percent-encoded URL text","description":"Decode percent-encoded text, treating + as a space when plus=true (form encoding). Use to read encoded links and form data.","tags":["url","encoding","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The encoded text","schema":{"type":"string"},"example":"a%20b%26c"},{"name":"plus","in":"query","required":false,"description":"true to read + as space","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"}}},"example":{"text":"a b&c"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/parse":{"get":{"operationId":"url_parse","summary":"URL parser, parse a URL: split a URL into scheme, host, port, path, query parameters and fragment","description":"Split a URL into protocol, host, port, path, query parameters (as an object), hash and origin, and report whether the host is an IP address. Use to read query parameters or check a link's host.","tags":["url","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"The URL to parse","schema":{"type":"string"},"example":"https://example.com:8080/a/b?x=1&y=2#top"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"protocol":{"type":"string"},"host":{"type":"string"},"port":{"type":"string"},"path":{"type":"string"},"query":{"type":"object","properties":{"x":{"type":"string"},"y":{"type":"string"}}},"hash":{"type":"string"},"origin":{"type":"string"},"isIp":{"type":"boolean"}}},"example":{"protocol":"https:","host":"example.com","port":"8080","path":"/a/b","query":{"x":"1","y":"2"},"hash":"#top","origin":"https://example.com:8080","isIp":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hash":{"get":{"operationId":"hash","summary":"SHA256 hash, SHA-256: hash text with SHA-256, SHA-1, SHA-384 or SHA-512","description":"SHA256 hash of UTF-8 text (SHA-256 by default; SHA-1, SHA-384 or SHA-512 on request), returned as a digest in hex and base64. Use for checksums, cache keys and deduplication.","tags":["hash","crypto","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to hash","schema":{"type":"string"},"example":"hello"},{"name":"algorithm","in":"query","required":false,"description":"sha256 (default), sha1, sha384 or sha512","schema":{"type":"string"},"example":"sha256"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"algorithm":{"type":"string"},"hex":{"type":"string"},"base64":{"type":"string"}}},"example":{"algorithm":"sha256","hex":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","base64":"LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ="}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hmac":{"get":{"operationId":"hmac","summary":"HMAC signature: sign a message with an HMAC (SHA-256 and others) and a key, or check a webhook signature","description":"Compute an HMAC of a message with a key using SHA-256 (default), SHA-1, SHA-384 or SHA-512, in hex and base64. Use to check webhook signatures. The key is used only for this call and is not stored.","tags":["hmac","crypto","webhook","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"message","in":"query","required":true,"description":"The message","schema":{"type":"string"},"example":"hello"},{"name":"key","in":"query","required":true,"description":"The key","schema":{"type":"string"},"example":"secret"},{"name":"algorithm","in":"query","required":false,"description":"sha256 (default), sha1, sha384 or sha512","schema":{"type":"string"},"example":"sha256"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"algorithm":{"type":"string"},"hex":{"type":"string"}}},"example":{"algorithm":"sha256","hex":"88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/uuid":{"get":{"operationId":"uuid","summary":"UUID generator, ID generator: generate random UUIDs (v4) for IDs","description":"Generate 1 to 100 random version-4 UUIDs from a cryptographic random source. Use for IDs, idempotency keys and test data.","tags":["uuid","random","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"count","in":"query","required":false,"description":"How many (1-100, default 1)","schema":{"type":"integer"},"example":3}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"uuids":{"type":"array","items":{"type":"string"}}}},"example":{"uuids":["3b241101-e2bb-4255-8caf-4136c566a962"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/slug":{"get":{"operationId":"slug","summary":"Slugify, make a URL slug: turn a title into a clean URL slug","description":"Turn any text into a URL-friendly slug: accents removed (é→e, ß→ss), lower case, non-alphanumerics replaced by a separator (- by default). Use for file names, URLs and IDs.","tags":["slug","url","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"Crème Brûlée & Straße!"},{"name":"separator","in":"query","required":false,"description":"- (default) or _","schema":{"type":"string"},"example":"-"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string"}}},"example":{"slug":"creme-brulee-strasse"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/case":{"get":{"operationId":"case","summary":"Case converter: camelCase, snake_case, kebab-case and more","description":"Convert text or identifiers between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, UPPER and lower. Handles mixed input like 'userID_value'. Use when renaming fields or generating code identifiers.","tags":["case","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"user profile id"},{"name":"to","in":"query","required":true,"description":"camel, pascal, snake, kebab, constant, title, sentence, upper or lower","schema":{"type":"string"},"example":"camel"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"}}},"example":{"result":"userProfileId"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/stats":{"get":{"operationId":"text_stats","summary":"Word count and readability: count words, characters and sentences and estimate reading time and readability","description":"Count characters, words, sentences and paragraphs, estimate reading and speaking time, and compute the Flesch reading-ease score and grade level for English text. Use to check the length and readability of a draft.","tags":["text","readability","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"The quick brown fox jumps over the lazy dog. It was not amused."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"characters":{"type":"number"},"words":{"type":"number"},"sentences":{"type":"number"},"paragraphs":{"type":"number"},"readingSeconds":{"type":"number"},"speakingSeconds":{"type":"number"},"fleschReadingEase":{"type":"number"},"fleschKincaidGrade":{"type":"number"}}},"example":{"characters":63,"words":13,"sentences":2,"paragraphs":1,"readingSeconds":3,"speakingSeconds":6,"fleschReadingEase":94.3,"fleschKincaidGrade":2.3}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/extract":{"get":{"operationId":"text_extract","summary":"Extract emails, URLs and more: find email addresses, URLs, phone numbers and other items in a text","description":"Find all email addresses, URLs, phone-number-like strings, hashtags, @mentions and numbers in a text, each list de-duplicated. Use to pull contacts and links out of scraped pages or messages.","tags":["text","extract","email","url","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"Mail ada@example.com or see https://example.com #news @ada +46 70 123 45 67"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"}},"urls":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"hashtags":{"type":"array","items":{"type":"string"}},"mentions":{"type":"array","items":{"type":"string"}}}},"example":{"emails":["ada@example.com"],"urls":["https://example.com"],"phones":["+46 70 123 45 67"],"hashtags":["#news"],"mentions":["@ada"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/diff":{"get":{"operationId":"text_diff","summary":"Text diff, compare two texts: compare two texts line by line and show what was added and removed","description":"Line-by-line difference between two texts: each line marked as unchanged, removed or added, with counts. Use to see what changed between two versions of a document, config or prompt.","tags":["text","diff","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"a","in":"query","required":true,"description":"The original text","schema":{"type":"string"},"example":"one\ntwo\nthree"},{"name":"b","in":"query","required":true,"description":"The new text","schema":{"type":"string"},"example":"one\n2\nthree\nfour"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"added":{"type":"number"},"removed":{"type":"number"},"unchanged":{"type":"number"},"lines":{"type":"array","items":{"type":"object","properties":{"op":{"type":"string"},"line":{"type":"string"}}}}}},"example":{"added":2,"removed":1,"unchanged":2,"lines":[{"op":"=","line":"one"},{"op":"-","line":"two"},{"op":"+","line":"2"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/regex/test":{"get":{"operationId":"regex_test","summary":"Regex tester, test a regular expression: test a regular expression against a text and get every match with its groups","description":"Run a JavaScript regular expression against a text and return every match with its index and capture groups (named groups included). Pattern up to 300 characters, text up to 5,000; patterns with nested quantifiers such as (a+)+ are refused as unsafe, uncharged. Use to check a pattern before using it in code.","tags":["regex-tester","regex","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"pattern","in":"query","required":true,"description":"The pattern without slashes","schema":{"type":"string"},"example":"(\\d{4})-(\\d{2})"},{"name":"text","in":"query","required":true,"description":"The text to search","schema":{"type":"string"},"example":"2026-10 and 2027-01"},{"name":"flags","in":"query","required":false,"description":"Flags such as g, i, m, s, u (g is always added)","schema":{"type":"string"},"example":"i"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"count":{"type":"number"},"matches":{"type":"array","items":{"type":"object","properties":{"match":{"type":"string"},"index":{"type":"number"},"groups":{"type":"array","items":{"type":"string"}},"named":{}}}}}},"example":{"valid":true,"count":2,"matches":[{"match":"2026-10","index":0,"groups":["2026","10"],"named":null}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/cron/next":{"get":{"operationId":"cron_next","summary":"Cron expression next run times: get the next run times of a cron schedule expression","description":"Next run times (in UTC) of a standard 5-field cron expression (minute hour day month weekday; ranges, lists, steps and names like MON or JAN supported). Use to check a schedule before deploying it.","tags":["cron","schedule","date","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"expr","in":"query","required":true,"description":"The cron expression","schema":{"type":"string"},"example":"*/15 9-17 * * MON-FRI"},{"name":"count","in":"query","required":false,"description":"How many runs (1-50, default 5)","schema":{"type":"integer"},"example":5},{"name":"from","in":"query","required":false,"description":"Start time, ISO (default now)","schema":{"type":"string"},"example":"2026-10-19T08:00:00Z"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"expr":{"type":"string"},"next":{"type":"array","items":{"type":"string"}}}},"example":{"expr":"*/15 9-17 * * MON-FRI","next":["2026-10-19T09:00:00.000Z","2026-10-19T09:15:00.000Z"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/date/diff":{"get":{"operationId":"date_diff","summary":"Date difference: count the days, weeks and months between two dates","description":"Time between two dates or timestamps: total days, weeks, hours, minutes and seconds, a years-months-days breakdown, and the number of weekdays (Monday-Friday) in between. Use for deadlines, ages and durations.","tags":["date","time","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"from","in":"query","required":true,"description":"Start date or ISO timestamp","schema":{"type":"string"},"example":"2026-01-01"},{"name":"to","in":"query","required":true,"description":"End date or ISO timestamp","schema":{"type":"string"},"example":"2026-10-18"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"days":{"type":"number"},"weeks":{"type":"number"},"years":{"type":"number"},"months":{"type":"number"},"remainingDays":{"type":"number"},"weekdays":{"type":"number"}}},"example":{"days":290,"weeks":41.43,"years":0,"months":9,"remainingDays":17,"weekdays":207}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/date/add":{"get":{"operationId":"date_add","summary":"Date calculator, add time: add or subtract days, weeks, months or years to a date","description":"Add (or subtract, with negative numbers) years, months, weeks, days, hours and minutes to a date, or add business days (skipping Saturdays and Sundays). Month ends are clamped (31 Jan + 1 month = 28/29 Feb). Use to compute due dates and expiries.","tags":["date","time","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"date","in":"query","required":true,"description":"Start date or ISO timestamp","schema":{"type":"string"},"example":"2026-01-31"},{"name":"years","in":"query","required":false,"description":"Years to add (negative subtracts)","schema":{"type":"integer"},"example":0},{"name":"months","in":"query","required":false,"description":"Months to add","schema":{"type":"integer"},"example":1},{"name":"weeks","in":"query","required":false,"description":"Weeks to add","schema":{"type":"integer"},"example":0},{"name":"days","in":"query","required":false,"description":"Days to add","schema":{"type":"integer"},"example":0},{"name":"hours","in":"query","required":false,"description":"Hours to add","schema":{"type":"integer"},"example":0},{"name":"minutes","in":"query","required":false,"description":"Minutes to add","schema":{"type":"integer"},"example":0},{"name":"businessDays","in":"query","required":false,"description":"Weekdays to add (skips weekends)","schema":{"type":"integer"},"example":0}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"},"date":{"type":"string"},"weekday":{"type":"string"}}},"example":{"result":"2026-02-28T00:00:00.000Z","date":"2026-02-28","weekday":"Saturday"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/date/info":{"get":{"operationId":"date_info","summary":"Week number and date facts: ISO week, weekday, day of year, quarter","description":"Weekday, ISO week number and week-year, day of the year, quarter, days in the month, leap year, Unix timestamp and whether it is a weekend, for any date. Use for calendar and reporting logic.","tags":["date","calendar","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"date","in":"query","required":false,"description":"Date or ISO timestamp (default today)","schema":{"type":"string"},"example":"2026-10-18"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"weekday":{"type":"string"},"isoWeek":{"type":"number"},"isoWeekYear":{"type":"number"},"dayOfYear":{"type":"number"},"quarter":{"type":"number"},"daysInMonth":{"type":"number"},"leapYear":{"type":"boolean"},"weekend":{"type":"boolean"},"unix":{"type":"number"}}},"example":{"date":"2026-10-18","weekday":"Sunday","isoWeek":42,"isoWeekYear":2026,"dayOfYear":291,"quarter":4,"daysInMonth":31,"leapYear":false,"weekend":true,"unix":1792281600}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/unix":{"get":{"operationId":"unix","summary":"Unix timestamp converter: convert a Unix timestamp to a date and time, or a date to a timestamp","description":"Convert a Unix timestamp (seconds or milliseconds, detected automatically) to ISO date and time, or an ISO date to a Unix timestamp. Without input, returns the current time in both forms. Use to read timestamps in logs and APIs.","tags":["date","unix","timestamp","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"value","in":"query","required":false,"description":"Unix seconds/milliseconds or an ISO date (default now)","schema":{"type":"string"},"example":"1792281600"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"unix":{"type":"number"},"unixMs":{"type":"number"},"iso":{"type":"string"}}},"example":{"unix":1792281600,"unixMs":1792281600000,"iso":"2026-10-18T00:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/units/convert":{"get":{"operationId":"units_convert","summary":"Unit conversion: convert between units of length, weight, temperature, volume, speed and more","description":"Convert between units of length, mass, volume (incl. US cups and gallons), temperature (c, f, k), speed, area, data size (kB vs KiB), time, energy and pressure. Example units: km, mi, lb, kg, floz, ml, mph, kn, acre, gib, kwh, psi. Use when exact conversions matter.","tags":["units","convert","math","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"value","in":"query","required":true,"description":"The amount","schema":{"type":"number"},"example":10},{"name":"from","in":"query","required":true,"description":"Unit to convert from","schema":{"type":"string"},"example":"km"},{"name":"to","in":"query","required":true,"description":"Unit to convert to","schema":{"type":"string"},"example":"mi"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number"},"from":{"type":"string"},"to":{"type":"string"},"kind":{"type":"string"},"result":{"type":"number"}}},"example":{"value":10,"from":"km","to":"mi","kind":"length","result":6.2137119224}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/number/words":{"get":{"operationId":"number_words","summary":"Number to English words: write a number out in English words","description":"Write a whole number (up to trillions, negatives allowed) out in English words, e.g. for cheques and invoices. Also returns the cheque form with 'and' cents when given a decimal amount. Use when amounts must be written out in full.","tags":["number","words","invoice","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":true,"description":"The number, decimals allowed","schema":{"type":"number"},"example":1234.5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"words":{"type":"string"},"cheque":{"type":"string"}}},"example":{"words":"one thousand two hundred thirty-four","cheque":"one thousand two hundred thirty-four and 50/100"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/number/roman":{"get":{"operationId":"number_roman","summary":"Roman numerals: convert numbers to Roman numerals and back","description":"Convert a number (1-3999) to Roman numerals, or Roman numerals back to a number. Give either number or roman. Use for dates, outlines and puzzles.","tags":["number","roman","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":false,"description":"1 to 3999","schema":{"type":"integer"},"example":2026},{"name":"roman","in":"query","required":false,"description":"Roman numerals to read","schema":{"type":"string"},"example":"MMXXVI"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"number"},"roman":{"type":"string"}}},"example":{"number":2026,"roman":"MMXXVI"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/validate/iban":{"get":{"operationId":"validate_iban","summary":"IBAN validation: validate an IBAN","description":"Check an IBAN's format, its country-specific length and its mod-97 check digits, and return it formatted in groups of four. Use before saving bank details or paying out.","tags":["iban","banking","validation","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"iban","in":"query","required":true,"description":"The IBAN, spaces allowed","schema":{"type":"string"},"example":"SE45 5000 0000 0583 9825 7466"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"iban":{"type":"string"},"country":{"type":"string"},"valid":{"type":"boolean"},"reasons":{"type":"array","items":{}},"formatted":{"type":"string"}}},"example":{"iban":"SE4550000000058398257466","country":"SE","valid":true,"reasons":[],"formatted":"SE45 5000 0000 0583 9825 7466"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/validate/isbn":{"get":{"operationId":"validate_isbn","summary":"ISBN check, validate an ISBN: check whether an ISBN-10 or ISBN-13 book number is valid","description":"Check an ISBN-10 or ISBN-13 check digit and convert valid ISBN-10s to ISBN-13. Hyphens and spaces are ignored. Use before cataloguing or ordering books.","tags":["isbn","books","validation","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"isbn","in":"query","required":true,"description":"The ISBN","schema":{"type":"string"},"example":"0-306-40615-2"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"isbn":{"type":"string"},"type":{"type":"string"},"valid":{"type":"boolean"},"isbn13":{"type":"string"}}},"example":{"isbn":"0306406152","type":"ISBN-10","valid":true,"isbn13":"9780306406157"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/validate/luhn":{"get":{"operationId":"validate_luhn","summary":"Luhn check, card validation: check a card or ID number's Luhn checksum","description":"Luhn check: whether a card number or other ID passes the Luhn (mod 10) algorithm used by card numbers, IMEI numbers and many IDs, and compute the check digit to append. Only the format is checked; nothing is looked up. Use to catch typos in card or ID numbers.","tags":["luhn","validation","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":true,"description":"Digits, spaces and hyphens allowed","schema":{"type":"string"},"example":"79927398713"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"digits":{"type":"string"},"valid":{"type":"boolean"},"checkDigitForPrefix":{"type":"number"}}},"example":{"digits":"79927398713","valid":true,"checkDigitForPrefix":3}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/color":{"get":{"operationId":"color","summary":"Hex to RGB, color converter: convert a color between hex, RGB and HSL","description":"Convert a colour between hex, RGB and HSL, and give its relative luminance and whether black or white text reads better on it. Accepts #rgb, #rrggbb, rgb(r,g,b) and hsl(h,s%,l%). Use for theming and design checks.","tags":["color","design","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"color","in":"query","required":true,"description":"The colour","schema":{"type":"string"},"example":"#0f6cbd"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"hex":{"type":"string"},"rgb":{"type":"string"},"hsl":{"type":"string"},"luminance":{"type":"number"},"bestTextColor":{"type":"string"}}},"example":{"hex":"#0f6cbd","rgb":"rgb(15, 108, 189)","hsl":"hsl(208, 85%, 40%)","luminance":0.141,"bestTextColor":"#ffffff"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/color/contrast":{"get":{"operationId":"color_contrast","summary":"Color contrast check (WCAG): check the contrast ratio of two colors against WCAG accessibility levels","description":"WCAG 2 contrast ratio between a text colour and a background colour, with pass/fail for AA and AAA at normal and large text sizes. Use to check that a design is readable.","tags":["color","accessibility","wcag","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"fg","in":"query","required":true,"description":"Text colour","schema":{"type":"string"},"example":"#767676"},{"name":"bg","in":"query","required":true,"description":"Background colour","schema":{"type":"string"},"example":"#ffffff"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"ratio":{"type":"number"},"aaNormal":{"type":"boolean"},"aaLarge":{"type":"boolean"},"aaaNormal":{"type":"boolean"},"aaaLarge":{"type":"boolean"}}},"example":{"ratio":4.54,"aaNormal":true,"aaLarge":true,"aaaNormal":false,"aaaLarge":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ip/cidr":{"get":{"operationId":"ip_cidr","summary":"CIDR calculator: calculate the address range, size and netmask of a CIDR block","description":"Details of an IPv4 network in CIDR notation: network and broadcast address, first and last usable host, netmask, number of addresses, and whether a given IP falls inside. Use for firewall rules and allowlists.","tags":["ip","network","cidr","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"cidr","in":"query","required":true,"description":"IPv4 network in CIDR notation","schema":{"type":"string"},"example":"192.168.1.0/24"},{"name":"ip","in":"query","required":false,"description":"Optional IPv4 address to test for membership","schema":{"type":"string"},"example":"192.168.1.77"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string"},"broadcast":{"type":"string"},"first":{"type":"string"},"last":{"type":"string"},"prefix":{"type":"number"},"netmask":{"type":"string"},"addresses":{"type":"number"},"usableHosts":{"type":"number"},"contains":{"type":"boolean"}}},"example":{"network":"192.168.1.0","broadcast":"192.168.1.255","first":"192.168.1.1","last":"192.168.1.254","prefix":24,"netmask":"255.255.255.0","addresses":256,"usableHosts":254,"contains":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ip/info":{"get":{"operationId":"ip_info","summary":"IP address info, classify an IP: tell whether an IP address is public, private, reserved, IPv4 or IPv6","description":"Classify an IPv4 or IPv6 address without any lookup: version, whether it is private, loopback, link-local, carrier-grade NAT or public, and its integer and reverse-DNS forms (IPv4). Use to triage IPs in logs or allowlists.","tags":["ip","network","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ip","in":"query","required":true,"description":"The IP address","schema":{"type":"string"},"example":"10.1.2.3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"ip":{"type":"string"},"version":{"type":"number"},"private":{"type":"boolean"},"loopback":{"type":"boolean"},"linkLocal":{"type":"boolean"},"public":{"type":"boolean"},"integer":{"type":"number"},"reverseDns":{"type":"string"}}},"example":{"ip":"10.1.2.3","version":4,"private":true,"loopback":false,"linkLocal":false,"public":false,"integer":167838211,"reverseDns":"3.2.1.10.in-addr.arpa"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/semver":{"get":{"operationId":"semver","summary":"Semver compare, version check: compare two version numbers and say which is newer","description":"Semver compare of two semantic versions (1.2.3, pre-releases like 2.0.0-rc.1 handled by the SemVer rules): which is newer, plus the next major, minor and patch versions of the first. Use to decide whether an upgrade is a major change.","tags":["semver","version","dev","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"a","in":"query","required":true,"description":"First version","schema":{"type":"string"},"example":"1.10.0"},{"name":"b","in":"query","required":true,"description":"Second version","schema":{"type":"string"},"example":"1.9.3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string"},"b":{"type":"string"},"comparison":{"type":"number"},"newer":{"type":"string"},"nextMajor":{"type":"string"},"nextMinor":{"type":"string"},"nextPatch":{"type":"string"}}},"example":{"a":"1.10.0","b":"1.9.3","comparison":1,"newer":"1.10.0","nextMajor":"2.0.0","nextMinor":"1.11.0","nextPatch":"1.10.1"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/jwt/decode":{"get":{"operationId":"jwt_decode","summary":"JWT decode: decode a JWT token's header and payload and check its expiry","description":"JWT decode without a key: the header and payload of a JSON Web Token (the signature is not verified), with issued-at, not-before and expiry as dates and whether it has expired. The token is not stored. Do not use the result to trust a token. Use to debug auth flows.","tags":["jwt","auth","dev","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"The JWT","schema":{"type":"string"},"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3OTIyODE2MDB9.sig"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object","properties":{"alg":{"type":"string"},"typ":{"type":"string"}}},"payload":{"type":"object","properties":{"sub":{"type":"string"},"exp":{"type":"number"}}},"expiresAt":{"type":"string"},"expired":{"type":"boolean"},"signatureVerified":{"type":"boolean"}}},"example":{"header":{"alg":"HS256","typ":"JWT"},"payload":{"sub":"123","exp":1792281600},"expiresAt":"2026-10-18T00:00:00.000Z","expired":true,"signatureVerified":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/markdown/to-html":{"get":{"operationId":"markdown_to_html","summary":"Markdown to HTML: render Markdown text as HTML","description":"Convert Markdown (headings, paragraphs, bold, italic, strikethrough, links, images, inline and fenced code, lists and task lists, tables, quotes, rules) to HTML. Raw HTML in the input is escaped, so the output is safe to embed. Use to publish agent-written Markdown on a web page.","tags":["markdown","html","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"markdown","in":"query","required":true,"description":"The Markdown","schema":{"type":"string"},"example":"# Title\nSome **bold** text and a [link](https://example.com)."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"html":{"type":"string"}}},"example":{"html":"<h1>Title</h1>\n<p>Some <strong>bold</strong> text and a <a href=\"https://example.com\">link</a>.</p>"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/html/to-text":{"get":{"operationId":"html_to_text","summary":"HTML to plain text: strip HTML down to readable plain text","description":"Strip HTML to readable plain text: scripts and styles removed, block elements become line breaks, list items get bullets, entities decoded. Use to feed web content or emails to an LLM.","tags":["html","text","llm","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"html","in":"query","required":true,"description":"The HTML","schema":{"type":"string"},"example":"<h1>Hi</h1><p>A &amp; B</p><ul><li>one</li></ul>"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"}}},"example":{"text":"Hi\nA & B\n• one"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/http/status":{"get":{"operationId":"http_status","summary":"HTTP status code meaning: explain what an HTTP status code means","description":"Name and plain-language meaning of an HTTP status code (1xx-5xx, including 402 Payment Required and 429 Too Many Requests), and whether to retry. Use when handling API errors.","tags":["http","dev","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"code","in":"query","required":true,"description":"Status code","schema":{"type":"integer"},"example":429}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"number"},"name":{"type":"string"},"meaning":{"type":"string"},"class":{"type":"string"},"retry":{"type":"boolean"}}},"example":{"code":429,"name":"Too Many Requests","meaning":"Rate limited; wait (see Retry-After) and retry.","class":"client error","retry":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/mime":{"get":{"operationId":"mime","summary":"MIME type for a file: find the MIME content type for a file name or extension","description":"MIME (content) type for a file name or extension, e.g. report.pdf → application/pdf, and whether browsers usually display it inline. Use when uploading or serving files.","tags":["mime","files","dev","utility","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"file","in":"query","required":true,"description":"File name or extension","schema":{"type":"string"},"example":"report.xlsx"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"extension":{"type":"string"},"mime":{"type":"string"},"inline":{"type":"boolean"}}},"example":{"extension":"xlsx","mime":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","inline":false}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/qr":{"get":{"operationId":"qr","summary":"QR code generator: a QR code as SVG for any text or URL","description":"Generate a QR code for a URL or any text (UTF-8, up to 1,000 characters) as a scalable SVG plus a ready-to-embed data URL, at error correction L, M (default), Q or H. Use to put a link, Wi-Fi string or payment request on a page, label or ticket.","tags":["qr-code","qr","barcode","image","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text or URL to encode","schema":{"type":"string"},"example":"https://agent-data-tools.revmesh2074.workers.dev"},{"name":"ecc","in":"query","required":false,"description":"Error correction: L, M (default), Q or H","schema":{"type":"string"},"example":"M"},{"name":"size","in":"query","required":false,"description":"Pixels per module, 1-20 (default 4)","schema":{"type":"integer"},"example":4},{"name":"margin","in":"query","required":false,"description":"Quiet zone in modules, 0-10 (default 4)","schema":{"type":"integer"},"example":4}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"ecc":{"type":"string"},"version":{"type":"number"},"modules":{"type":"number"},"svg":{"type":"string"},"dataUrl":{"type":"string"}}},"example":{"text":"https://agent-data-tools.revmesh2074.workers.dev","ecc":"M","version":4,"modules":33,"svg":"<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" …</svg>","dataUrl":"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9u…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/calc/loan":{"get":{"operationId":"calc_loan","summary":"Loan and mortgage calculator: monthly payment, total interest and schedule","description":"Monthly payment of an amortised loan or mortgage from the amount, the annual interest rate and the term, plus the total paid, the total interest and the first months of the repayment schedule (principal, interest and balance). Fixed rate, monthly payments. Use to compare loan offers or plan a mortgage.","tags":["loan-calculator","mortgage-calculator","finance","interest","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"principal","in":"query","required":true,"description":"Amount borrowed","schema":{"type":"number"},"example":300000},{"name":"rate","in":"query","required":true,"description":"Annual interest rate in percent, 0-100","schema":{"type":"number"},"example":4.5},{"name":"years","in":"query","required":false,"description":"Term in years (default 30), or give months","schema":{"type":"number"},"example":30},{"name":"months","in":"query","required":false,"description":"Term in months, instead of years","schema":{"type":"integer"},"example":360},{"name":"rows","in":"query","required":false,"description":"Schedule rows to return, 0-60 (default 3)","schema":{"type":"integer"},"example":3}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"monthlyPayment":{"type":"number"},"payments":{"type":"number"},"totalPaid":{"type":"number"},"totalInterest":{"type":"number"},"schedule":{"type":"array","items":{"type":"object","properties":{"month":{"type":"number"},"payment":{"type":"number"},"principal":{"type":"number"},"interest":{"type":"number"},"balance":{"type":"number"}}}}}},"example":{"monthlyPayment":1520.06,"payments":360,"totalPaid":547220.13,"totalInterest":247220.13,"schedule":[{"month":1,"payment":1520.06,"principal":395.06,"interest":1125,"balance":299604.94}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/calc/compound-interest":{"get":{"operationId":"calc_compound_interest","summary":"Compound interest calculator: future value with monthly contributions","description":"Compound interest on savings or an investment: starting amount, annual rate, years, compounding (yearly, quarterly, monthly or daily) and an optional contribution at the end of each month. Returns the future value, total contributed, interest earned and the balance after each year. Use for savings goals and investment what-ifs; rates are assumed constant.","tags":["compound-interest","finance","savings","investment","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"principal","in":"query","required":true,"description":"Starting amount (0 or more)","schema":{"type":"number"},"example":10000},{"name":"rate","in":"query","required":true,"description":"Annual interest rate in percent, -50 to 100","schema":{"type":"number"},"example":7},{"name":"years","in":"query","required":true,"description":"Years, up to 100","schema":{"type":"number"},"example":10},{"name":"compound","in":"query","required":false,"description":"yearly, quarterly, monthly (default) or daily","schema":{"type":"string"},"example":"monthly"},{"name":"monthly","in":"query","required":false,"description":"Contribution at the end of each month (default 0)","schema":{"type":"number"},"example":200}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"futureValue":{"type":"number"},"totalContributions":{"type":"number"},"interestEarned":{"type":"number"},"byYear":{"type":"array","items":{"type":"object","properties":{"year":{"type":"number"},"balance":{"type":"number"}}}}}},"example":{"futureValue":54713.58,"totalContributions":34000,"interestEarned":20713.58,"byYear":[{"year":1,"balance":13201.42}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/calc/age":{"get":{"operationId":"calc_age","summary":"Age calculator: exact age from a date of birth and the next birthday","description":"Exact age from a date of birth in years, months and days, total days lived, the weekday of birth, and the date of and days until the next birthday, measured today (UTC) or on any date you give. Use for age checks, forms and anniversaries.","tags":["age-calculator","date","birthday","time","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"birthdate","in":"query","required":true,"description":"Date of birth, YYYY-MM-DD","schema":{"type":"string"},"example":"1990-05-17"},{"name":"on","in":"query","required":false,"description":"Measure on this date, YYYY-MM-DD (default today)","schema":{"type":"string"},"example":"2026-10-23"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"years":{"type":"number"},"months":{"type":"number"},"days":{"type":"number"},"totalDays":{"type":"number"},"nextBirthday":{"type":"string"},"daysUntilNextBirthday":{"type":"number"},"bornOn":{"type":"string"}}},"example":{"years":36,"months":5,"days":6,"totalDays":13308,"nextBirthday":"2027-05-17","daysUntilNextBirthday":206,"bornOn":"Thursday"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/calc/bmi":{"get":{"operationId":"calc_bmi","summary":"BMI calculator: body mass index and WHO category","description":"Body mass index from weight and height in metric (kg, cm) or imperial (lb, in) units, its WHO adult category (underweight, normal weight, overweight, obesity class I-III) and the weight range that counts as normal for that height. For adults; a screening number, not a diagnosis. Use for health, fitness and nutrition apps.","tags":["bmi-calculator","health","fitness","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"weight","in":"query","required":true,"description":"Weight in kg (or lb with units=imperial)","schema":{"type":"number"},"example":70},{"name":"height","in":"query","required":true,"description":"Height in cm (or inches with units=imperial)","schema":{"type":"number"},"example":175},{"name":"units","in":"query","required":false,"description":"metric (default) or imperial","schema":{"type":"string"},"example":"metric"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"bmi":{"type":"number"},"category":{"type":"string"},"normalWeightRange":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"unit":{"type":"string"}}},"note":{"type":"string"}}},"example":{"bmi":22.9,"category":"normal weight","normalWeightRange":{"min":56.7,"max":76.3,"unit":"kg"},"note":"WHO adult categories; not a diagnosis."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/calc/tip":{"get":{"operationId":"calc_tip","summary":"Tip calculator: tip, total and split per person","description":"Tip and total for a bill at a tip percentage, split between any number of people, optionally rounding each share up to the next whole amount. Use for receipts, expense apps and group payments.","tags":["tip-calculator","finance","split-bill","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"bill","in":"query","required":true,"description":"Bill amount before tip","schema":{"type":"number"},"example":84.5},{"name":"percent","in":"query","required":false,"description":"Tip percent, 0-100 (default 15)","schema":{"type":"number"},"example":18},{"name":"people","in":"query","required":false,"description":"People sharing, 1-100 (default 1)","schema":{"type":"integer"},"example":3},{"name":"roundUp","in":"query","required":false,"description":"true to round each share up to a whole amount","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"bill":{"type":"number"},"percent":{"type":"number"},"tip":{"type":"number"},"total":{"type":"number"},"people":{"type":"number"},"perPerson":{"type":"number"}}},"example":{"bill":84.5,"percent":18,"tip":15.21,"total":99.71,"people":3,"perPerson":33.24}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/lorem":{"get":{"operationId":"text_lorem","summary":"Lorem ipsum generator: placeholder paragraphs","description":"Lorem ipsum placeholder text: 1-20 paragraphs of 1-10 sentences, starting with the classic \"Lorem ipsum dolor sit amet\". The same seed always gives the same text. Use to fill mock-ups, templates and test data.","tags":["lorem-ipsum","placeholder","text","design","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"paragraphs","in":"query","required":false,"description":"Paragraphs, 1-20 (default 1)","schema":{"type":"integer"},"example":1},{"name":"sentences","in":"query","required":false,"description":"Sentences per paragraph, 1-10 (default 4)","schema":{"type":"integer"},"example":4},{"name":"seed","in":"query","required":false,"description":"Seed for the word order (default 1)","schema":{"type":"integer"},"example":1}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"type":"string"}},"words":{"type":"number"}}},"example":{"paragraphs":["Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ipsum in amet irure tempor eiusmod. Ex cillum in quis eu ipsum. …"],"words":40}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/morse":{"get":{"operationId":"text_morse","summary":"Morse code translator: text to Morse and back","description":"Translate text to international Morse code (letters separated by spaces, words by /) or Morse code back to text; the direction is detected automatically or set with mode. Letters, digits and common punctuation are supported; anything else is reported, not guessed. Use for puzzles, radio practice and fun messages.","tags":["morse-code","text","encoding","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text, or Morse code made of . - spaces and /","schema":{"type":"string"},"example":"SOS help"},{"name":"mode","in":"query","required":false,"description":"auto (default), encode or decode","schema":{"type":"string"},"example":"auto"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string"},"result":{"type":"string"},"skipped":{"type":"array","items":{}}}},"example":{"mode":"encode","result":"... --- ... / .... . .-.. .--.","skipped":[]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/caesar":{"get":{"operationId":"text_caesar","summary":"Caesar cipher, ROT13: shift letters by any amount","description":"Encode or decode text with a Caesar cipher: every letter A-Z shifted by 1-25 places (13, the default, is ROT13), case kept, digits and punctuation untouched. decode=true shifts back. Use for puzzles, spoiler hiding and teaching; it is not encryption.","tags":["caesar-cipher","rot13","text","encoding","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"Hello, World!"},{"name":"shift","in":"query","required":false,"description":"Places to shift, -25 to 25 (default 13 = ROT13)","schema":{"type":"integer"},"example":13},{"name":"decode","in":"query","required":false,"description":"true to shift back","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"},"shift":{"type":"number"}}},"example":{"result":"Uryyb, Jbeyq!","shift":13}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/xml/to-json":{"get":{"operationId":"xml_to_json","summary":"XML to JSON converter: convert an XML document into JSON","description":"XML to JSON for any XML document: attributes become \"@name\" keys, text becomes \"#text\" (or the value itself when an element only holds text), and repeated child elements become arrays. DOCTYPEs and external entities are refused, so nothing outside the document is ever loaded. Up to 100,000 characters. Use to read XML feeds, SOAP responses and config files in an agent.","tags":["xml-to-json","xml","json","convert","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"xml","in":"query","required":true,"description":"The XML document","schema":{"type":"string"},"example":"<order id=\"7\"><item sku=\"a1\">Pen</item><item sku=\"b2\">Ink</item></order>"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"root":{"type":"string"},"json":{"type":"object","properties":{"order":{"type":"object","properties":{"@id":{"type":"string"},"item":{"type":"array","items":{"type":"object","properties":{"@sku":{"type":"string"},"#text":{"type":"string"}}}}}}}}}},"example":{"root":"order","json":{"order":{"@id":"7","item":[{"@sku":"a1","#text":"Pen"},{"@sku":"b2","#text":"Ink"}]}}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/schema":{"get":{"operationId":"json_schema","summary":"JSON schema from example: infer a JSON Schema","description":"Infer a JSON Schema (draft 2020-12) from an example JSON value: types, nested object properties, required keys, array item shapes merged across all items, and string formats (date-time, date, email, uri, uuid). Use to document an API response or to validate later data against the same shape.","tags":["json-schema","json","schema","dev","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"json","in":"query","required":true,"description":"The example JSON","schema":{"type":"string"},"example":"{\"id\":1,\"email\":\"ada@example.com\",\"tags\":[\"a\",\"b\"],\"created\":\"2026-10-23T08:00:00Z\"}"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"schema":{"type":"object","properties":{"$schema":{"type":"string"},"type":{"type":"string"},"properties":{"type":"object","properties":{"id":{"type":"object","properties":{"type":{"type":"string"}}},"email":{"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"}}},"tags":{"type":"object","properties":{"type":{"type":"string"},"items":{"type":"object","properties":{"type":{"type":"string"}}}}},"created":{"type":"object","properties":{"type":{"type":"string"},"format":{"type":"string"}}}}},"required":{"type":"array","items":{"type":"string"}}}}}},"example":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"tags":{"type":"array","items":{"type":"string"}},"created":{"type":"string","format":"date-time"}},"required":["id","email","tags","created"]}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/yaml/to-json":{"get":{"operationId":"yaml_to_json","summary":"YAML to JSON: convert a YAML document into JSON","description":"Convert a YAML document (config files, Kubernetes manifests, OpenAPI specs, front matter) into JSON, parsed by the yaml library with anchors and aliases resolved (alias expansion capped against billion-laughs documents) and duplicate keys refused. Up to 100 KB. Use before feeding YAML into a JSON-only tool or schema check; for the reverse use json_to_yaml. Invalid YAML is a 400 with the parser's message, uncharged.","tags":["yaml-to-json","yaml","json","convert","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"yaml","in":"query","required":true,"description":"The YAML text (up to 100 KB)","schema":{"type":"string"},"example":"name: agent\nports:\n  - 80\n  - 443\nenabled: true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"json":{"type":"object","properties":{"name":{"type":"string"},"ports":{"type":"array","items":{"type":"number"}},"enabled":{"type":"boolean"}}}}},"example":{"json":{"name":"agent","ports":[80,443],"enabled":true}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/json/to-yaml":{"get":{"operationId":"json_to_yaml","summary":"JSON to YAML: convert JSON into a readable YAML document","description":"Convert a JSON value into a YAML document (block style, no line folding), for config files, Kubernetes manifests, GitHub Actions or docs that humans edit. Up to 100 KB of JSON. Use when a tool or person wants YAML; for the reverse use yaml_to_json. Invalid JSON is a 400, uncharged.","tags":["json-to-yaml","yaml","json","convert","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"json","in":"query","required":true,"description":"The JSON text (up to 100 KB)","schema":{"type":"string"},"example":"{\"name\":\"agent\",\"ports\":[80,443],\"enabled\":true}"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"yaml":{"type":"string"}}},"example":{"yaml":"name: agent\nports:\n  - 80\n  - 443\nenabled: true\n"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/phone/validate":{"get":{"operationId":"phone_validate","summary":"Phone number validation: valid, E.164 format, country and line type","description":"Validate and format a phone number with the libphonenumber rules: whether it is valid and possible, the E.164 form, international and national formatting, country, calling code and line type (mobile, fixed-line, toll-free, VoIP…). Give +country code, or a national number and a two-letter country. Offline: nothing is sent and it does not say the line is in service. Use to clean contact lists or check a number before an SMS.","tags":["phone-number-validation","phone","validation","e164","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"number","in":"query","required":true,"description":"Phone number, ideally with +country code","schema":{"type":"string"},"example":"+1 650-253-0000"},{"name":"country","in":"query","required":false,"description":"Two-letter country for national numbers without +code (US, GB, SE…)","schema":{"type":"string"},"example":"US"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string"},"valid":{"type":"boolean"},"possible":{"type":"boolean"},"e164":{"type":"string"},"country":{"type":"string"},"countryCallingCode":{"type":"string"},"nationalNumber":{"type":"string"},"international":{"type":"string"},"national":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string"}}},"example":{"input":"+1 650-253-0000","valid":true,"possible":true,"e164":"+16502530000","country":"US","countryCallingCode":"+1","nationalNumber":"6502530000","international":"+1 650 253 0000","national":"(650) 253-0000","uri":"tel:+16502530000","type":"fixed-line-or-mobile"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/vin":{"get":{"operationId":"vin","summary":"VIN decoder: make, model, year, engine and plant from a VIN","description":"Decode a 17-character vehicle identification number (VIN) with the US NHTSA vPIC database: make, manufacturer, model, model year, trim, body class, vehicle type, doors, drive, fuel and electrification, engine cylinders, displacement and horsepower, transmission, weight class and assembly plant, plus the check-digit test. Best for North American vehicles. Use for listings, insurance and fleet records. A malformed VIN is a 400, uncharged.","tags":["vin-decoder","vin","vehicle","car","nhtsa","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"vin","in":"query","required":true,"description":"17-character VIN (letters I, O and Q never appear)","schema":{"type":"string"},"example":"1HGCM82633A004352"},{"name":"year","in":"query","required":false,"description":"Optional model year, which helps decode older or partial VINs","schema":{"type":"integer"},"example":2003}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"vin":{"type":"string"},"checkDigitValid":{"type":"boolean"},"make":{"type":"string"},"manufacturer":{"type":"string"},"model":{"type":"string"},"modelYear":{"type":"string"},"trim":{"type":"string"},"bodyClass":{"type":"string"},"vehicleType":{"type":"string"},"engineCylinders":{"type":"string"},"displacementL":{"type":"string"},"engineHp":{"type":"string"},"transmission":{"type":"string"},"plantCountry":{"type":"string"},"decoderNote":{"type":"string"},"source":{"type":"string"}}},"example":{"vin":"1HGCM82633A004352","checkDigitValid":true,"make":"HONDA","manufacturer":"AMERICAN HONDA MOTOR CO., INC.","model":"Accord","modelYear":"2003","trim":"EX-V6","bodyClass":"Coupe","vehicleType":"PASSENGER CAR","engineCylinders":"6","displacementL":"2.998832712","engineHp":"240","transmission":"Automatic","plantCountry":"UNITED STATES (USA)","decoderNote":"0 - VIN decoded clean. Check Digit (9th position) is correct","source":"NHTSA vPIC"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/robots":{"get":{"operationId":"robots","summary":"Robots.txt check: may this crawler fetch this URL?","description":"Read a site's robots.txt and say whether a crawler may fetch a URL, by RFC 9309 rules as Google applies them (most specific user-agent group, longest matching Allow or Disallow, Allow on ties, * and $ wildcards). Returns the deciding rule, the group used, the rule count and the sitemaps listed. A missing robots.txt (4xx) allows everything. Use before scraping or crawling a site politely; for the sitemap URLs themselves use sitemap.","tags":["robots-txt","robots","crawler","seo","web","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"The page URL to check (its site's /robots.txt is read)","schema":{"type":"string"},"example":"https://www.google.com/search"},{"name":"agent","in":"query","required":false,"description":"Crawler user agent or product token (default *)","schema":{"type":"string"},"example":"Googlebot"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"robotsUrl":{"type":"string"},"status":{"type":"number"},"agent":{"type":"string"},"allowed":{"type":"boolean"},"matchedRule":{"type":"string"},"group":{"type":"string"},"rulesInGroup":{"type":"number"},"sitemaps":{"type":"array","items":{"type":"string"}}}},"example":{"url":"https://www.google.com/search","robotsUrl":"https://www.google.com/robots.txt","status":200,"agent":"Googlebot","allowed":false,"matchedRule":"Disallow: /search","group":"*","rulesInGroup":280,"sitemaps":["https://www.google.com/sitemap.xml"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ip/geolocate":{"get":{"operationId":"ip_geolocate","summary":"IP geolocation: city, region, country and coordinates","description":"Geolocate an IPv4 or IPv6 address to its city, region, country (code and name), continent and approximate latitude and longitude, with the address range the record covers, from DB-IP's City Lite data (CC BY 4.0, monthly; attribution in every answer). City level at best; private and reserved addresses are refused. Use to localise a visitor or caller, pick a region or enrich logs; for the network owner and registry record use ip_lookup.","tags":["ip-geolocation","ip-location","geoip","ip-to-city","ip-address","geo"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ip","in":"query","required":true,"description":"Public IPv4 or IPv6 address","schema":{"type":"string"},"example":"8.8.8.8"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"ip":{"type":"string"},"version":{"type":"number"},"country":{"type":"string"},"countryName":{"type":"string"},"region":{"type":"string"},"city":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"continent":{"type":"string"},"continentName":{"type":"string"},"range":{"type":"string"},"accuracy":{"type":"string"},"dataMonth":{"type":"string"},"attribution":{"type":"string"},"attributionUrl":{"type":"string"}}},"example":{"ip":"8.8.8.8","version":4,"country":"US","countryName":"United States","region":"California","city":"Mountain View","latitude":37.4056,"longitude":-122.0775,"continent":"NA","continentName":"North America","range":"8.8.8.0-8.8.8.255","accuracy":"city level at best; the free Lite data set, updated monthly","dataMonth":"2026-10","attribution":"IP Geolocation by DB-IP (https://db-ip.com), IP to City Lite, CC BY 4.0","attributionUrl":"https://db-ip.com"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ip/lookup":{"get":{"operationId":"ip_lookup","summary":"IP lookup: owner, network range and country (RDAP)","description":"Look up who holds an IPv4 or IPv6 address in the regional internet registries' public RDAP records (ARIN, RIPE NCC, APNIC, LACNIC, AFRINIC): the holding organisation, network name and range, allocation type, registration country, abuse contact and registry. Use to see which company or ISP a log or firewall address belongs to. Registration country, not city geolocation. Private and reserved addresses are refused with 400, uncharged.","tags":["ip-lookup","ip","rdap","whois","network","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ip","in":"query","required":true,"description":"Public IPv4 or IPv6 address","schema":{"type":"string"},"example":"8.8.8.8"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"ip":{"type":"string"},"version":{"type":"number"},"registry":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"type":{"type":"string"}}},"holder":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"kind":{"type":"string"},"country":{"type":"string"}}},"country":{"type":"string"},"abuseEmail":{"type":"string"},"registered":{"type":"string"},"lastChanged":{"type":"string"},"source":{"type":"string"}}},"example":{"ip":"8.8.8.8","version":4,"registry":"ARIN","network":{"name":"GOGL","handle":"NET-8-8-8-0-2","start":"8.8.8.0","end":"8.8.8.255","type":"DIRECT ALLOCATION"},"holder":{"name":"Google LLC","handle":"GOGL","kind":"org","country":"US"},"country":"US","abuseEmail":"network-abuse@google.com","registered":"2023-12-28T17:24:33-05:00","lastChanged":"2023-12-28T17:24:56-05:00","source":"RDAP via rdap.org"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/geo/distance":{"get":{"operationId":"geo_distance","summary":"Distance between coordinates: km, miles, bearing and midpoint","description":"Great-circle distance between two latitude/longitude points (haversine on the mean earth radius) in kilometres, miles and nautical miles, plus the initial compass bearing and the midpoint. Accurate to about 0.5% against the ellipsoid. Use for delivery radius, travel and proximity checks, or sorting places by distance; for coordinates of a place name use geocode first.","tags":["distance-between","distance","haversine","geo","coordinates","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"lat1","in":"query","required":true,"description":"Latitude of the first point (-90 to 90)","schema":{"type":"number"},"example":59.3293},{"name":"lon1","in":"query","required":true,"description":"Longitude of the first point (-180 to 180)","schema":{"type":"number"},"example":18.0686},{"name":"lat2","in":"query","required":true,"description":"Latitude of the second point","schema":{"type":"number"},"example":51.5072},{"name":"lon2","in":"query","required":true,"description":"Longitude of the second point","schema":{"type":"number"},"example":-0.1276}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"km":{"type":"number"},"miles":{"type":"number"},"nauticalMiles":{"type":"number"},"bearing":{"type":"number"},"compass":{"type":"string"},"midpoint":{"type":"object","properties":{"lat":{"type":"number"},"lon":{"type":"number"}}}}},"example":{"km":1432.79,"miles":890.29,"nauticalMiles":773.64,"bearing":240.6,"compass":"WSW","midpoint":{"lat":55.7531,"lon":8.0606}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/evm/decode-calldata":{"get":{"operationId":"evm_decode_calldata","summary":"Decode calldata: function and arguments of an EVM call","description":"Decode EVM transaction calldata into the function and its arguments with viem: give the function signature (transfer(address,uint256)), or leave it out to try common ERC-20, ERC-721, ERC-1155, WETH, permit and multicall functions by selector. Numbers come back as decimal strings. Use to read what a pending or past transaction does before signing; get calldata from eth_tx. A selector that does not match is 422, uncharged.","tags":["decode-calldata","calldata","abi","ethereum","evm","utility","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"data","in":"query","required":true,"description":"0x calldata (selector plus ABI-encoded arguments), up to 8 KB","schema":{"type":"string"},"example":"0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa960450000000000000000000000000000000000000000000000000000000000989680"},{"name":"signature","in":"query","required":false,"description":"Optional function signature such as transfer(address,uint256)","schema":{"type":"string"},"example":"transfer(address,uint256)"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"selector":{"type":"string"},"decoded":{"type":"boolean"},"function":{"type":"string"},"args":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}}}}}},"example":{"selector":"0xa9059cbb","decoded":true,"function":"transfer(address,uint256)","args":[{"type":"address","value":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"type":"uint256","value":"10000000"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/evm/verify-signature":{"get":{"operationId":"evm_verify_signature","summary":"Signature verify, EIP-191: recover the signer of an Ethereum message","description":"Verify an Ethereum personal_sign (EIP-191) signature: recover the address that signed a message and, given an expected address, say whether it matches. Works for ordinary wallets (EOAs); smart-contract wallets sign by ERC-1271, which this offline check does not cover. Use for sign-in-with-wallet, proving wallet ownership or checking a signed order. A malformed signature is 400, uncharged.","tags":["signature-verify","verify-signature","ethereum","eip-191","wallet","utility","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"message","in":"query","required":true,"description":"The exact message that was signed (or 0x hex with raw=true)","schema":{"type":"string"},"example":"hello"},{"name":"signature","in":"query","required":true,"description":"0x signature, 65 bytes (130 hex characters)","schema":{"type":"string"},"example":"0xf16ea9a3478698f695fd1401bfe27e9e4a7e8e3da94aa72b021125e31fa899cc573c48ea3fe1d4ab61a9db10c19032026e3ed2dbccba5a178235ac27f94504311c"},{"name":"address","in":"query","required":false,"description":"Optional expected signer address to compare","schema":{"type":"string"},"example":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"},{"name":"raw","in":"query","required":false,"description":"true to treat a 0x message as raw bytes instead of text","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"recovered":{"type":"string"},"expected":{"type":"string"},"valid":{"type":"boolean"},"standard":{"type":"string"}}},"example":{"recovered":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266","expected":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266","valid":true,"standard":"EIP-191 personal_sign"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/evm/checksum":{"get":{"operationId":"evm_checksum","summary":"Address checksum (EIP-55): validate and format an EVM address","description":"Address checksum for any EVM address: validates it and returns the EIP-55 checksummed form, saying whether the input was all lower case, all upper case, correctly checksummed or mixed case with a wrong checksum (a likely typo). Works for every EVM chain. Use before sending funds or storing an address; for whether it is a contract use <chain>_is_contract.","tags":["address-checksum","eip-55","address","evm","validation","utility","dev"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"0x address (40 hex characters)","schema":{"type":"string"},"example":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string"},"valid":{"type":"boolean"},"checksummed":{"type":"string"},"inputCase":{"type":"string"},"checksumMatches":{}}},"example":{"input":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","valid":true,"checksummed":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","inputCase":"lower","checksumMatches":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/bic/validate":{"get":{"operationId":"bic_validate","summary":"SWIFT code, BIC validation: structure, country and branch","description":"Check a BIC (SWIFT code) against the ISO 9362 structure: institution code, a real country code with its name, location code, branch code, whether it is the head office (XXX or 8 characters), a test BIC or a passive participant, and the 11-character form. Computed locally; it checks the format and country, not whether the bank exists. Use before an international transfer or to clean payment data; for account numbers use validate_iban.","tags":["swift-code","bic","swift","banking","validation","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"bic","in":"query","required":true,"description":"BIC / SWIFT code, 8 or 11 characters","schema":{"type":"string"},"example":"DEUTDEFF500"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string"},"bic":{"type":"string"},"valid":{"type":"boolean"},"institutionCode":{"type":"string"},"countryCode":{"type":"string"},"country":{"type":"string"},"locationCode":{"type":"string"},"branchCode":{"type":"string"},"headOffice":{"type":"boolean"},"testBic":{"type":"boolean"},"passiveParticipant":{"type":"boolean"},"bic11":{"type":"string"},"note":{"type":"string"}}},"example":{"input":"DEUTDEFF500","bic":"DEUTDEFF500","valid":true,"institutionCode":"DEUT","countryCode":"DE","country":"Germany","locationCode":"FF","branchCode":"500","headOffice":false,"testBic":false,"passiveParticipant":false,"bic11":"DEUTDEFF500","note":"structure check only (ISO 9362); it does not confirm the bank exists"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/redirects":{"get":{"operationId":"url_redirects","summary":"Redirect checker, URL unshortener: the full redirect chain","description":"Follow a URL's redirects hop by hop (up to 10) and return every hop's status code and Location, the final URL, total hops, timing and whether it loops. Expands short links (bit.ly, t.co…) to their destination without loading the page. Every hop is checked before it is requested; redirects to private addresses are reported, not followed. Use to unshorten a link, check an HTTPS or www redirect, or debug SEO redirect chains.","tags":["redirect-checker","url-unshortener","redirects","seo","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL","schema":{"type":"string"},"example":"http://github.com"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"finalStatus":{"type":"number"},"redirects":{"type":"number"},"loop":{"type":"boolean"},"hops":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"number"},"location":{"type":"string"},"ms":{"type":"number"}}}},"error":{}}},"example":{"url":"http://github.com","finalUrl":"https://github.com/","finalStatus":200,"redirects":1,"loop":false,"hops":[{"url":"http://github.com/","status":301,"location":"https://github.com/","ms":40},{"url":"https://github.com/","status":200,"ms":120}],"error":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/url/uptime":{"get":{"operationId":"url_uptime","summary":"Uptime check, website status: is it up and how fast","description":"Check whether a website is up right now: one live request (following redirects) with the HTTP status, up or down, response time in ms, the final URL, content type, server header and page size, and optionally whether the page contains a given text. Timeouts and connection failures come back as down with the reason, not as an error. Use for uptime monitoring, health checks before calling an API, or to confirm a deploy.","tags":["uptime-check","website-status","monitoring","http","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL","schema":{"type":"string"},"example":"https://www.wikipedia.org/"},{"name":"contains","in":"query","required":false,"description":"Optional text that must appear in the page (first 500 KB)","schema":{"type":"string"},"example":"Wikipedia"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"up":{"type":"boolean"},"status":{"type":"number"},"responseMs":{"type":"number"},"finalUrl":{"type":"string"},"redirects":{"type":"number"},"contentType":{"type":"string"},"server":{"type":"string"},"bytes":{"type":"number"},"contains":{"type":"object","properties":{"text":{"type":"string"},"found":{"type":"boolean"}}},"checkedAt":{"type":"string"},"reason":{}}},"example":{"url":"https://www.wikipedia.org/","up":true,"status":200,"responseMs":180,"finalUrl":"https://www.wikipedia.org/","redirects":0,"contentType":"text/html","server":"ATS","bytes":75000,"contains":{"text":"Wikipedia","found":true},"checkedAt":"2026-10-24T09:00:00.000Z","reason":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dns/lookup":{"get":{"operationId":"dns_lookup","summary":"DNS records lookup: A, AAAA, MX, TXT, CNAME, NS and more","description":"Look up DNS records of a domain over DNS-over-HTTPS (Cloudflare 1.1.1.1): A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV, PTR, DS, DNSKEY or HTTPS, with each answer's TTL, the response code (NOERROR, NXDOMAIN…) and whether DNSSEC validated. Use to check email (MX, SPF in TXT), verify a domain, or debug a DNS change; for whether the change has spread use dns_propagation.","tags":["dns-records","dns-lookup","dns","domain","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"Domain name (or a URL; its host is used)","schema":{"type":"string"},"example":"example.com"},{"name":"type","in":"query","required":false,"description":"Record type: A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV, PTR, DS, DNSKEY, HTTPS (default A)","schema":{"type":"string"},"example":"MX"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"dnssec":{"type":"boolean"},"answers":{"type":"array","items":{"type":"object","properties":{"data":{"type":"string"},"ttl":{"type":"number"}}}},"resolver":{"type":"string"}}},"example":{"name":"example.com","type":"MX","status":"NOERROR","dnssec":true,"answers":[{"data":"0 .","ttl":86400}],"resolver":"Cloudflare"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dns/propagation":{"get":{"operationId":"dns_propagation","summary":"DNS propagation check: answers from 5 resolvers worldwide","description":"Check whether a DNS change has propagated: the same record queried at five public resolvers (Cloudflare, Google, AdGuard, AliDNS and DNSPod), each resolver's answers and TTLs, whether they all agree, and the majority answer. Record types A, AAAA, CNAME, MX, NS, TXT, CAA. Use to see where an old value is still cached after changing a record, moving hosting or setting up email; for one lookup use dns_lookup.","tags":["dns-propagation","dns","domain","monitoring","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"Domain name (or a URL; its host is used)","schema":{"type":"string"},"example":"example.com"},{"name":"type","in":"query","required":false,"description":"Record type: A, AAAA, CNAME, MX, NS, TXT or CAA (default A)","schema":{"type":"string"},"example":"A"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"propagated":{"type":"boolean"},"majority":{"type":"array","items":{"type":"string"}},"resolvers":{"type":"array","items":{"type":"object","properties":{"resolver":{"type":"string"},"status":{"type":"string"},"answers":{"type":"array","items":{"type":"string"}},"ttl":{"type":"number"},"error":{}}}}}},"example":{"name":"example.com","type":"A","propagated":true,"majority":["93.184.215.14"],"resolvers":[{"resolver":"Cloudflare","status":"NOERROR","answers":["93.184.215.14"],"ttl":300,"error":null}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/seo/audit":{"get":{"operationId":"seo_audit","summary":"SEO audit, on-page: title, meta, headings, links and issues","description":"On-page SEO audit of one URL: title and meta description with their lengths, canonical, meta robots, H1s and H2 count, images without alt text, lang and viewport, Open Graph and Twitter card tags, JSON-LD blocks, internal and external link counts and word count, plus a list of issues and a 0-100 score. Reads the server's HTML (no JavaScript), up to 1 MB. Use to check a page before publishing or to compare competitors.","tags":["seo-audit","seo","meta-tags","website","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page","schema":{"type":"string"},"example":"https://www.wikipedia.org/"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"number"},"score":{"type":"number"},"issues":{"type":"array","items":{"type":"string"}},"title":{"type":"string"},"titleLength":{"type":"number"},"description":{"type":"string"},"descriptionLength":{"type":"number"},"canonical":{},"robots":{},"h1":{"type":"array","items":{"type":"string"}},"h2Count":{"type":"number"},"images":{"type":"number"},"imagesWithoutAlt":{"type":"number"},"lang":{"type":"string"},"viewport":{"type":"boolean"},"openGraph":{"type":"object","properties":{"title":{},"description":{},"image":{}}},"twitterCard":{},"jsonLdBlocks":{"type":"number"},"links":{"type":"object","properties":{"internal":{"type":"number"},"external":{"type":"number"}}},"wordCount":{"type":"number"}}},"example":{"url":"https://www.wikipedia.org/","finalUrl":"https://www.wikipedia.org/","status":200,"score":64,"issues":["no canonical link"],"title":"Wikipedia","titleLength":9,"description":"Wikipedia is a free online encyclopedia…","descriptionLength":120,"canonical":null,"robots":null,"h1":["Wikipedia The Free Encyclopedia"],"h2Count":1,"images":2,"imagesWithoutAlt":0,"lang":"en","viewport":true,"openGraph":{"title":null,"description":null,"image":null},"twitterCard":null,"jsonLdBlocks":0,"links":{"internal":30,"external":300},"wordCount":1500}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/keyword-density":{"get":{"operationId":"text_keyword_density","summary":"Keyword density: top keywords and phrases of a text or page","description":"Keyword density of a text or a web page: the most frequent words and two-word phrases (English stop words removed), each with its count and share of all words, plus total and unique word counts. Give text, or a URL whose readable text is used (HTML, up to 1 MB). Use for SEO copy checks, comparing a page against a target keyword, or summarising what a page is about; for readability use text_stats.","tags":["keyword-density","seo","keywords","text","web","utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":false,"description":"The text (up to 50,000 characters); or give url instead","schema":{"type":"string"},"example":"Agents pay per call. Agents pay with USDC. Pay per call tools for agents."},{"name":"url","in":"query","required":false,"description":"A page URL to analyse instead of text","schema":{"type":"string"},"example":"https://en.wikipedia.org/wiki/Search_engine_optimization"},{"name":"top","in":"query","required":false,"description":"How many keywords and phrases to return, 1-50 (default 15)","schema":{"type":"integer"},"example":15}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string"},"totalWords":{"type":"number"},"uniqueWords":{"type":"number"},"keywords":{"type":"array","items":{"type":"object","properties":{"word":{"type":"string"},"count":{"type":"number"},"densityPct":{"type":"number"}}}},"phrases":{"type":"array","items":{"type":"object","properties":{"phrase":{"type":"string"},"count":{"type":"number"},"densityPct":{"type":"number"}}}}}},"example":{"source":"text","totalWords":14,"uniqueWords":7,"keywords":[{"word":"agents","count":3,"densityPct":21.43},{"word":"pay","count":3,"densityPct":21.43}],"phrases":[{"phrase":"pay per","count":2,"densityPct":14.29}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/date/business-days":{"get":{"operationId":"date_business_days","summary":"Business days between dates, working days calculator: count working days between two dates, skipping weekends and public holidays","description":"Count business (working) days between two dates, skipping weekends and public holidays for the US, UK, Sweden, Germany, France, Norway, Denmark or Finland, and list the holidays skipped; or give add=N to get the date N business days after (or before) a date. Other countries count weekends only, and the answer says so. Use for delivery estimates, SLAs, payment terms and payroll dates.","tags":["business-days","working-days","calendar","date","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"from","in":"query","required":true,"description":"Start date, YYYY-MM-DD","schema":{"type":"string"},"example":"2026-12-01"},{"name":"to","in":"query","required":false,"description":"End date, YYYY-MM-DD (inclusive; default: the last day of the start month); or use add","schema":{"type":"string"},"example":"2026-12-31"},{"name":"add","in":"query","required":false,"description":"Business days to add to from (negative to go back), instead of to","schema":{"type":"integer"},"example":10},{"name":"country","in":"query","required":false,"description":"Holiday calendar: US, GB, SE, DE, FR, NO, DK or FI (default: weekends only)","schema":{"type":"string"},"example":"SE"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"country":{"type":"string"},"holidayRules":{"type":"boolean"},"calendarDays":{"type":"number"},"businessDays":{"type":"number"},"weekendDays":{"type":"number"},"holidays":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"name":{"type":"string"}}}}}},"example":{"from":"2026-12-01","to":"2026-12-31","country":"SE","holidayRules":true,"calendarDays":31,"businessDays":20,"weekendDays":8,"holidays":[{"date":"2026-12-24","name":"Christmas Eve"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/math/stats":{"get":{"operationId":"math_stats","summary":"Statistics of numbers: mean, median, standard deviation, percentiles","description":"Descriptive statistics for a list of numbers: count, sum, mean, median, mode, min, max, range, population and sample variance and standard deviation, quartiles with IQR, and the 90th, 95th and 99th percentiles (linear interpolation). Up to 10,000 numbers, comma or space separated. Use to summarise measurements, latencies, prices or scores without a spreadsheet.","tags":["statistics","math","mean","median","percentile","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"values","in":"query","required":true,"description":"Numbers separated by commas, spaces or new lines","schema":{"type":"string"},"example":"12, 15, 15, 18, 21, 24, 30, 45"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"sum":{"type":"number"},"mean":{"type":"number"},"median":{"type":"number"},"mode":{"type":"array","items":{"type":"number"}},"min":{"type":"number"},"max":{"type":"number"},"range":{"type":"number"},"variance":{"type":"number"},"stdDev":{"type":"number"},"sampleVariance":{"type":"number"},"sampleStdDev":{"type":"number"},"q1":{"type":"number"},"q3":{"type":"number"},"iqr":{"type":"number"},"p90":{"type":"number"},"p95":{"type":"number"},"p99":{"type":"number"}}},"example":{"count":8,"sum":180,"mean":22.5,"median":19.5,"mode":[15],"min":12,"max":45,"range":33,"variance":101.25,"stdDev":10.0623058987,"sampleVariance":115.7142857143,"sampleStdDev":10.757057484,"q1":15,"q3":25.5,"iqr":10.5,"p90":34.5,"p95":39.75,"p99":43.95}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/math/evaluate":{"get":{"operationId":"math_evaluate","summary":"Math expression calculator: evaluate a formula safely","description":"Evaluate an arithmetic expression safely (parsed, never executed as code): + - * / % ^ and **, parentheses, factorial !, constants pi, e and tau, and functions sqrt, cbrt, abs, round, floor, ceil, exp, ln, log (base 10), log2, sin, cos, tan, asin, acos, atan (radians), min, max and pow. Up to 500 characters. Use when an agent needs exact arithmetic instead of guessing, for prices, unit maths or formulas.","tags":["math-expression","calculator","math","evaluate","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"expression","in":"query","required":true,"description":"The expression, such as (2+3)*4^2/sqrt(16)","schema":{"type":"string"},"example":"(1500 * 0.045 / 12) + sqrt(144) - 2^3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"},"value":{"type":"number"},"finite":{"type":"boolean"}}},"example":{"expression":"(1500 * 0.045 / 12) + sqrt(144) - 2^3","value":9.625,"finite":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/date/zodiac":{"get":{"operationId":"date_zodiac","summary":"Zodiac sign from a birth date: western and Chinese","description":"Western (tropical) zodiac sign with its element, and the Chinese zodiac animal and element of a birth date. The Chinese year is counted from the Gregorian year, so dates in January and early February before Chinese New Year are flagged as possibly the previous animal. Use for profile enrichment, greeting cards, games or horoscope-style content.","tags":["zodiac","astrology","chinese-zodiac","birthday","fun","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"date","in":"query","required":true,"description":"Birth date, YYYY-MM-DD","schema":{"type":"string"},"example":"1990-08-15"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"western":{"type":"object","properties":{"sign":{"type":"string"},"element":{"type":"string"}}},"chinese":{"type":"object","properties":{"animal":{"type":"string"},"element":{"type":"string"},"year":{"type":"number"},"nearNewYear":{"type":"boolean"}}}}},"example":{"date":"1990-08-15","western":{"sign":"Leo","element":"fire"},"chinese":{"animal":"Horse","element":"Metal","year":1990,"nearNewYear":false}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/barcode":{"get":{"operationId":"barcode","summary":"Barcode generator: Code 128 or EAN-13 as SVG","description":"Generate a barcode as an SVG image: Code 128 for any printable ASCII text (switching to the compact numeric set for runs of digits, with the mod-103 check symbol), or EAN-13 for 12 or 13 digits (the check digit is computed or verified). Set bar width and height and whether to print the text below. Returns the SVG and a data URL ready for an <img> tag. Use for shipping labels, product codes, tickets or inventory; for QR codes use qr.","tags":["barcode","barcode-generator","code128","ean13","svg","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"What to encode: ASCII text for Code 128, or 12-13 digits for EAN-13","schema":{"type":"string"},"example":"AGENT-12345"},{"name":"type","in":"query","required":false,"description":"code128 (default) or ean13","schema":{"type":"string"},"example":"code128"},{"name":"width","in":"query","required":false,"description":"Module (narrowest bar) width in pixels, 1-6 (default 2)","schema":{"type":"integer"},"example":2},{"name":"height","in":"query","required":false,"description":"Bar height in pixels, 20-300 (default 80)","schema":{"type":"integer"},"example":80},{"name":"label","in":"query","required":false,"description":"true (default) to print the text below the bars","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"},"encoded":{"type":"string"},"modules":{"type":"number"},"svg":{"type":"string"},"dataUrl":{"type":"string"}}},"example":{"type":"code128","text":"AGENT-12345","encoded":"AGENT-12345","modules":156,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" …</svg>","dataUrl":"data:image/svg+xml;base64,PHN2Zy…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/color/palette":{"get":{"operationId":"color_palette","summary":"Color palette generator: harmonies and shades from one color","description":"Build a colour palette from one hex colour: complementary, analogous, triadic, split-complementary and tetradic harmonies (hue rotations at the same saturation and lightness), plus six shades from light to dark, all as hex codes, with the base colour's HSL. Use for UI themes, charts, brand kits or slide decks; to check text readability on a colour use color_contrast.","tags":["color-palette","palette","color","design","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"color","in":"query","required":true,"description":"Base colour as hex, such as #3366ff or 36f","schema":{"type":"string"},"example":"#3366ff"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"base":{"type":"string"},"hsl":{"type":"object","properties":{"h":{"type":"number"},"s":{"type":"number"},"l":{"type":"number"}}},"complementary":{"type":"array","items":{"type":"string"}},"analogous":{"type":"array","items":{"type":"string"}},"triadic":{"type":"array","items":{"type":"string"}},"splitComplementary":{"type":"array","items":{"type":"string"}},"tetradic":{"type":"array","items":{"type":"string"}},"shades":{"type":"array","items":{"type":"string"}}}},"example":{"base":"#3366ff","hsl":{"h":225,"s":100,"l":60},"complementary":["#3366ff","#ffcc33"],"analogous":["#33ccff","#3366ff","#6633ff"],"triadic":["#3366ff","#ff3366","#66ff33"],"splitComplementary":["#3366ff","#ff6633","#ccff33"],"tetradic":["#3366ff","#ff33cc","#ffcc33","#33ff66"],"shades":["#ccd9ff","#809fff","#3366ff","#0039e6","#002699","#00134d"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/csv/to-markdown":{"get":{"operationId":"csv_to_markdown","summary":"Markdown table from CSV: convert CSV into a GitHub table","description":"Convert CSV (comma, semicolon, tab or pipe, detected automatically; quoted fields supported) into a GitHub-flavoured Markdown table, with number columns right-aligned, pipes escaped and line breaks kept as <br>. Up to 100 KB. Use to show spreadsheet data in a README, chat reply, issue or report; for JSON use csv_to_json.","tags":["markdown-table","csv-to-markdown","csv","markdown","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"csv","in":"query","required":true,"description":"The CSV text (up to 100 KB)","schema":{"type":"string"},"example":"tool,price,calls\nweather,0.01,120\nsearch,0.01,45"},{"name":"header","in":"query","required":false,"description":"true (default) if the first row holds the column names","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"markdown":{"type":"string"},"rows":{"type":"number"},"columns":{"type":"number"}}},"example":{"markdown":"| tool | price | calls |\n| --- | ---: | ---: |\n| weather | 0.01 | 120 |\n| search | 0.01 | 45 |","rows":2,"columns":3}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/html/table-to-json":{"get":{"operationId":"html_table_to_json","summary":"HTML table to JSON: extract tables from HTML","description":"Extract every table from an HTML fragment into JSON: header cells become keys and each body row an object (or raw arrays when there is no header row), with captions, colspans repeated and entities decoded. Give the HTML itself (up to 500 KB). Use to turn web or email tables into data an agent can sort and compute on; to fetch a page first use extract.","tags":["html-table","table-to-json","html","scraping","utility","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"html","in":"query","required":true,"description":"HTML containing one or more <table> elements (up to 500 KB)","schema":{"type":"string"},"example":"<table><tr><th>City</th><th>Pop.</th></tr><tr><td>Stockholm</td><td>984,748</td></tr><tr><td>Oslo</td><td>717,710</td></tr></table>"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"tables":{"type":"array","items":{"type":"object","properties":{"caption":{},"headers":{"type":"array","items":{"type":"string"}},"rows":{"type":"array","items":{"type":"object","properties":{"City":{"type":"string"},"Pop.":{"type":"string"}}}}}}}}},"example":{"count":1,"tables":[{"caption":null,"headers":["City","Pop."],"rows":[{"City":"Stockholm","Pop.":"984,748"},{"City":"Oslo","Pop.":"717,710"}]}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/geocode/reverse":{"get":{"operationId":"geocode_reverse","summary":"Reverse geocoding: place name from coordinates","description":"Turn latitude and longitude into place names: the nearest populated place and the largest one within the radius (usually the town or city the point is in), with country and ISO code, administrative region, population, distance and Wikidata id, plus the other places nearby. Data from Wikidata (CC0). Use to label GPS points, photos, deliveries or IP-derived coordinates; for place name to coordinates use geocode.","tags":["reverse-geocoding","geocoding","geo","places","coordinates","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude (-90 to 90)","schema":{"type":"number"},"example":59.3293},{"name":"lon","in":"query","required":true,"description":"Longitude (-180 to 180)","schema":{"type":"number"},"example":18.0686},{"name":"radius","in":"query","required":false,"description":"Search radius in km, 1-50 (default 10)","schema":{"type":"number"},"example":10}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"lat":{"type":"number"},"lon":{"type":"number"},"radiusKm":{"type":"number"},"nearest":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"distanceKm":{"type":"number"},"population":{"type":"number"},"region":{"type":"string"},"country":{"type":"string"},"countryCode":{"type":"string"},"wikidataId":{"type":"string"}}},"largest":{"type":"object","properties":{"name":{"type":"string"},"population":{"type":"number"},"distanceKm":{"type":"number"}}},"places":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"distanceKm":{"type":"number"},"population":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"lat":59.3293,"lon":18.0686,"radiusKm":10,"nearest":{"name":"Stockholm","description":"capital and largest city of Sweden","distanceKm":0.02,"population":984748,"region":"Stockholm Municipality","country":"Sweden","countryCode":"SE","wikidataId":"Q1754"},"largest":{"name":"Stockholm","population":984748,"distanceKm":0.02},"places":[{"name":"Stockholm","distanceKm":0.02,"population":984748}],"source":"Wikidata (CC0)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/text/pii":{"get":{"operationId":"text_pii","summary":"PII detection and redaction: emails, phones, cards, IBANs","description":"Find personal data in a text and get it back redacted: emails, phone numbers, card numbers (Luhn-checked), IBANs (mod-97), US SSNs, IP and crypto wallet addresses, each with its position, plus the text with every hit replaced by a label such as [EMAIL]. Hits are shown masked. Up to 20,000 characters; names and street addresses are not detected. Use before logging, storing or sending text to a model.","tags":["pii-detection","pii-redaction","redact","privacy","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to scan (up to 20,000 characters)","schema":{"type":"string"},"example":"Contact Anna at anna.berg@example.com or +46 70 123 45 67; card 4111 1111 1111 1111."},{"name":"types","in":"query","required":false,"description":"Optional comma-separated types to look for: email, iban, credit_card, us_ssn, crypto_address, ip_address, phone (default all)","schema":{"type":"string"},"example":"email,phone"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"found":{"type":"number"},"counts":{"type":"object","properties":{"email":{"type":"number"},"credit_card":{"type":"number"},"phone":{"type":"number"}}},"items":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"start":{"type":"number"},"end":{"type":"number"},"masked":{"type":"string"}}}},"redacted":{"type":"string"}}},"example":{"found":3,"counts":{"email":1,"credit_card":1,"phone":1},"items":[{"type":"email","start":16,"end":37,"masked":"an************om"},{"type":"phone","start":41,"end":57,"masked":"+4************67"},{"type":"credit_card","start":64,"end":83,"masked":"41************11"}],"redacted":"Contact Anna at [EMAIL] or [PHONE]; card [CARD]."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/moderation":{"get":{"operationId":"ai_moderation","summary":"Content moderation, safety check: Llama Guard 3","description":"Classify a text as safe or unsafe with Meta's Llama Guard 3 and name the hazard categories it falls into (violent and non-violent crimes, sexual content, child exploitation, hate, self-harm, weapons, privacy, defamation, elections and others; 14 in all). Up to 8,000 characters. Also available in the OpenAI moderation shape at /v1/moderations. Use to screen user messages, model outputs or content before an agent posts or acts on it.","tags":["content-moderation","moderation","safety","llama-guard","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"The text to classify (up to 8,000 characters)","schema":{"type":"string"},"example":"How do I bake sourdough bread at home?"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"flagged":{"type":"boolean"},"categories":{"type":"array","items":{}},"model":{"type":"string"}}},"example":{"flagged":false,"categories":[],"model":"@cf/meta/llama-guard-3-8b"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/page/publish":{"get":{"operationId":"page_publish","summary":"Host a web page, publish HTML: a URL for your agent's output","description":"Publish an HTML page and get a public URL for it (valid up to 7 days): send the HTML (up to 200,000 characters) and an optional title; the page is sanitised (no scripts, styles, frames, forms or event handlers; links and https images stay), screened by content moderation, stored, and served at /p/<id> with noindex. Use to hand a person a report, table or summary your agent produced, or to share results between agents. Removal requests: /support.","tags":["host-web-page","publish-html","static-site-hosting","share-page","agent-output","web-page"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"html","in":"query","required":true,"description":"The HTML to publish (body content or a full document), up to 200,000 characters","schema":{"type":"string"},"example":"<h1>Weekly report</h1><p>Sales rose 12%.</p><table><tr><th>Region</th><th>Change</th></tr><tr><td>EU</td><td>+12%</td></tr></table>"},{"name":"title","in":"query","required":false,"description":"Page title (default: the first line of text)","schema":{"type":"string"},"example":"Weekly report"},{"name":"days","in":"query","required":false,"description":"Days the page stays online, 1 to 7 (default 7)","schema":{"type":"string"},"example":"7"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"bytes":{"type":"number"},"expiresAt":{"type":"string"},"days":{"type":"number"},"removed":{"type":"array","items":{"type":"string"}},"notice":{"type":"string"}}},"example":{"id":"k7m2p9qxw4rt","url":"https://agent-data-tools.revmesh2074.workers.dev/p/k7m2p9qxw4rt","title":"Weekly report","bytes":131,"expiresAt":"2026-11-07T12:00:00.000Z","days":7,"removed":["script","style","iframe","form","event handlers","javascript: links"],"notice":"Published for the publisher's own use; noindex; removal requests to the support address on /support."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/memory/list":{"get":{"operationId":"memory_list","summary":"Agent memory, list keys: what a namespace holds","description":"List up to 100 keys saved in your namespace, optionally only those starting with a prefix, with their size, save time and expiry; pass the returned cursor for the next page. Values are not included (read them with /memory/get). Values are kept until they expire (at most 30 days) or are deleted; reads anywhere may lag a write made elsewhere by up to a minute. Use to see what an agent has saved.","tags":["agent-memory","key-value-store","kv-store","memory","list-keys"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"namespace","in":"query","required":true,"description":"Your namespace: a secret of 16 to 128 letters, digits, - or _ that you choose and reuse. Anyone who knows it can read and write it, so treat it like a password; send it in a POST body to keep it out of URLs.","schema":{"type":"string"},"example":"demo-agent-memory-7f3c9a21"},{"name":"prefix","in":"query","required":false,"description":"Only keys that start with this text","schema":{"type":"string"},"example":"user-"},{"name":"cursor","in":"query","required":false,"description":"The cursor from the previous page of this list","schema":{"type":"string"},"example":"cursor-from-previous-page"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"size":{"type":"number"}}}},"count":{"type":"number"},"cursor":{}}},"example":{"keys":[{"key":"user-preferences","updatedAt":"2026-10-25T15:00:00.000Z","expiresAt":"2026-11-24T15:00:00.000Z","size":34}],"count":1,"cursor":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/memory/delete":{"get":{"operationId":"memory_delete","summary":"Agent memory, delete a key","description":"Delete the value saved under a key in your namespace now, before it expires. Answers deleted: false when there was nothing to delete. Values are kept until they expire (at most 30 days) or are deleted; reads anywhere may lag a write made elsewhere by up to a minute. Use to forget a fact or clear task state.","tags":["agent-memory","key-value-store","kv-store","memory","delete"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"namespace","in":"query","required":true,"description":"Your namespace: a secret of 16 to 128 letters, digits, - or _ that you choose and reuse. Anyone who knows it can read and write it, so treat it like a password; send it in a POST body to keep it out of URLs.","schema":{"type":"string"},"example":"demo-agent-memory-7f3c9a21"},{"name":"key","in":"query","required":true,"description":"The key, up to 200 characters","schema":{"type":"string"},"example":"user-preferences"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"deleted":{"type":"boolean"}}},"example":{"key":"user-preferences","deleted":true}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sec/8k":{"get":{"operationId":"sec_8k","summary":"8-K filings, SEC material events: by company","description":"Latest Form 8-K current reports for a US-listed company by ticker, name or CIK: filing date, the reported items with their meaning (results of operations, executive departures, material agreements, cybersecurity incidents, bankruptcy and others), accession number and a direct link, newest first. Public SEC EDGAR data. Use to watch a company's material events or check what it disclosed recently.","tags":["8-k","sec-8k","material-events","sec-filings","edgar"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ticker","in":"query","required":false,"description":"Stock ticker or company name, e.g. AAPL (or give cik)","schema":{"type":"string"},"example":"AAPL"},{"name":"cik","in":"query","required":false,"description":"SEC Central Index Key, e.g. 320193 (instead of ticker)","schema":{"type":"string"},"example":"320193"},{"name":"limit","in":"query","required":false,"description":"Filings to return, 1-40 (default 10)","schema":{"type":"string"},"example":"10"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string"},"cik":{"type":"string"},"count":{"type":"number"},"filings":{"type":"array","items":{"type":"object","properties":{"filed":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"title":{"type":"string"}}}},"accession":{"type":"string"},"url":{"type":"string"}}}},"source":{"type":"string"}}},"example":{"company":"Apple Inc.","cik":"0000320193","count":1,"filings":[{"filed":"2026-10-30","items":[{"code":"2.02","title":"Results of operations and financial condition"},{"code":"9.01","title":"Financial statements and exhibits"}],"accession":"0000320193-26-000101","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019326000101/aapl-20261030.htm"}],"source":"SEC EDGAR (public information)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sec/insider":{"get":{"operationId":"sec_insider","summary":"Insider trading, SEC Form 4: trades by company","description":"Recent insider trades in a US-listed company from its SEC Form 4 filings: who traded (name and role: director, officer title, 10% owner), date, buy or sell (open-market purchase, sale, award, option exercise, tax withholding), shares, price, dollar value, holding afterwards and whether it was under a 10b5-1 plan. Up to 10 filings, newest first. Public SEC EDGAR data. Use to see whether insiders are buying or selling.","tags":["insider-trading","form-4","insider-trades","sec-filings","edgar"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"ticker","in":"query","required":false,"description":"Stock ticker or company name, e.g. AAPL (or give cik)","schema":{"type":"string"},"example":"AAPL"},{"name":"cik","in":"query","required":false,"description":"SEC Central Index Key of the company (instead of ticker)","schema":{"type":"string"},"example":"320193"},{"name":"limit","in":"query","required":false,"description":"Form 4 filings to read, 1-10 (default 5)","schema":{"type":"string"},"example":"5"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string"},"cik":{"type":"string"},"count":{"type":"number"},"filings":{"type":"array","items":{"type":"object","properties":{"filed":{"type":"string"},"insider":{"type":"string"},"role":{"type":"string"},"plan10b5_1":{"type":"boolean"},"transactions":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"security":{"type":"string"},"code":{"type":"string"},"meaning":{"type":"string"},"acquiredOrDisposed":{"type":"string"},"shares":{"type":"number"},"price":{"type":"number"},"valueUsd":{"type":"number"},"sharesOwnedAfter":{"type":"number"}}}},"url":{"type":"string"}}}},"summary":{"type":"object","properties":{"buys":{"type":"number"},"sells":{"type":"number"},"buyValueUsd":{"type":"number"},"sellValueUsd":{"type":"number"}}},"source":{"type":"string"}}},"example":{"company":"Apple Inc.","cik":"0000320193","count":1,"filings":[{"filed":"2026-10-22","insider":"Newstead Jennifer","role":"SVP, GC and Government Affairs","plan10b5_1":true,"transactions":[{"date":"2026-10-20","security":"Common Stock","code":"S","meaning":"open-market sale","acquiredOrDisposed":"disposed","shares":10000,"price":252.1,"valueUsd":2521000,"sharesOwnedAfter":85000}],"url":"https://www.sec.gov/Archives/edgar/data/320193/000114036126040540/form4.xml"}],"summary":{"buys":0,"sells":1,"buyValueUsd":0,"sellValueUsd":2521000},"source":"SEC EDGAR (public information)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sec/13f":{"get":{"operationId":"sec_13f","summary":"13F holdings, fund holdings: what an institution owns","description":"The latest 13F-HR holdings of an institutional investment manager (hedge fund, mutual fund family, bank) from SEC EDGAR: each position's issuer, class, CUSIP, value in USD, shares and portfolio weight, largest first, plus the report period, total value and position count. Give the filer by name (e.g. Berkshire Hathaway) or CIK. Public SEC data, filed quarterly up to 45 days after the quarter. Use to see what a fund owns.","tags":["13f","fund-holdings","etf-holdings","institutional-holdings","sec-filings"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"filer","in":"query","required":false,"description":"Fund manager's name, e.g. Berkshire Hathaway (or give cik)","schema":{"type":"string"},"example":"Berkshire Hathaway"},{"name":"cik","in":"query","required":false,"description":"The filer's SEC CIK, e.g. 1067983 (instead of filer)","schema":{"type":"string"},"example":"1067983"},{"name":"limit","in":"query","required":false,"description":"Positions to return, 1-200 (default 25)","schema":{"type":"string"},"example":"25"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"filer":{"type":"string"},"cik":{"type":"string"},"form":{"type":"string"},"filed":{"type":"string"},"period":{"type":"string"},"positions":{"type":"number"},"totalValueUsd":{"type":"number"},"holdings":{"type":"array","items":{"type":"object","properties":{"issuer":{"type":"string"},"class":{"type":"string"},"cusip":{"type":"string"},"valueUsd":{"type":"number"},"shares":{"type":"number"},"putCall":{},"weightPct":{"type":"number"}}}},"url":{"type":"string"},"source":{"type":"string"}}},"example":{"filer":"BERKSHIRE HATHAWAY INC","cik":"0001067983","form":"13F-HR","filed":"2026-08-14","period":"2026-06-30","positions":41,"totalValueUsd":257500000000,"holdings":[{"issuer":"APPLE INC","class":"COM","cusip":"037833100","valueUsd":57400000000,"shares":280000000,"putCall":null,"weightPct":22.29}],"url":"https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/","source":"SEC EDGAR (public information)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gov/federal-register":{"get":{"operationId":"gov_federal_register","summary":"Federal Register search: US rules and notices","description":"Search the US Federal Register: final rules, proposed rules, notices and presidential documents, newest first, with title, type, agencies, abstract, publication date, comment deadline, effective date and links. Filter by type and agency. From the Federal Register API (US government work). Use to track new regulations or open comment periods on a topic.","tags":["federal-register","regulations","rulemaking","government","compliance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"q","in":"query","required":true,"description":"Search words, e.g. artificial intelligence","schema":{"type":"string"},"example":"artificial intelligence"},{"name":"type","in":"query","required":false,"description":"rule, proposed_rule, notice or presidential (default all)","schema":{"type":"string"},"example":"rule"},{"name":"agency","in":"query","required":false,"description":"Agency slug, e.g. securities-and-exchange-commission (optional)","schema":{"type":"string"},"example":"securities-and-exchange-commission"},{"name":"limit","in":"query","required":false,"description":"Documents to return, 1-20 (default 10)","schema":{"type":"string"},"example":"10"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"total":{"type":"number"},"count":{"type":"number"},"documents":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"agencies":{"type":"array","items":{"type":"string"}},"abstract":{"type":"string"},"published":{"type":"string"},"commentsClose":{},"effective":{"type":"string"},"documentNumber":{"type":"string"},"url":{"type":"string"},"pdf":{"type":"string"}}}},"source":{"type":"string"}}},"example":{"query":"artificial intelligence","total":1605,"count":1,"documents":[{"title":"Outbound Investment Security Program Regulations","type":"Rule","agencies":["Treasury Department"],"abstract":"…","published":"2026-10-24","commentsClose":null,"effective":"2026-11-24","documentNumber":"2026-21001","url":"https://www.federalregister.gov/documents/2026/10/24/2026-21001/…","pdf":"https://www.govinfo.gov/…"}],"source":"Federal Register API (federalregister.gov)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/gov/clinical-trials":{"get":{"operationId":"gov_clinical_trials","summary":"Clinical trials search: ClinicalTrials.gov studies","description":"Search ClinicalTrials.gov studies by condition, intervention or any words, optionally only recruiting ones: NCT id, title, status, phase, conditions, interventions, sponsor, enrollment, start and completion dates, number of locations and countries, and a link. From the ClinicalTrials.gov API (US National Library of Medicine). Information only, not medical advice. Use to find trials for a condition or drug.","tags":["clinical-trials","clinicaltrials-gov","trials","medical-research","health"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"condition","in":"query","required":false,"description":"Condition or disease, e.g. type 1 diabetes","schema":{"type":"string"},"example":"type 1 diabetes"},{"name":"intervention","in":"query","required":false,"description":"Drug or intervention, e.g. semaglutide (optional)","schema":{"type":"string"},"example":"semaglutide"},{"name":"q","in":"query","required":false,"description":"Any other words (optional)","schema":{"type":"string"},"example":"insulin pump"},{"name":"status","in":"query","required":false,"description":"recruiting, active, completed or all (default recruiting)","schema":{"type":"string"},"example":"recruiting"},{"name":"limit","in":"query","required":false,"description":"Studies to return, 1-20 (default 10)","schema":{"type":"string"},"example":"10"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"count":{"type":"number"},"studies":{"type":"array","items":{"type":"object","properties":{"nctId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"phase":{"type":"array","items":{"type":"string"}},"conditions":{"type":"array","items":{"type":"string"}},"interventions":{"type":"array","items":{"type":"string"}},"sponsor":{"type":"string"},"enrollment":{"type":"number"},"start":{"type":"string"},"completion":{"type":"string"},"locations":{"type":"number"},"countries":{"type":"array","items":{"type":"string"}},"url":{"type":"string"}}}},"source":{"type":"string"},"note":{"type":"string"}}},"example":{"total":412,"count":1,"studies":[{"nctId":"NCT07154251","title":"Utilizing Community Health Workers as Diabetes Technology Coaches…","status":"RECRUITING","phase":["NA"],"conditions":["Type 1 Diabetes"],"interventions":["Behavioral: CHW coaching"],"sponsor":"University of …","enrollment":60,"start":"2026-01","completion":"2027-12","locations":1,"countries":["United States"],"url":"https://clinicaltrials.gov/study/NCT07154251"}],"source":"ClinicalTrials.gov API (U.S. National Library of Medicine)","note":"Information only, not medical advice."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/stablecoin/supply":{"get":{"operationId":"stablecoin_supply","summary":"Stablecoin supply: USDC and USDT on 5 networks","description":"Live total supply of USDC and USDT on Ethereum, Base, Arbitrum, Optimism and Polygon, read from each token contract (totalSupply), per network and summed per token, plus the grand total. A network whose nodes do not answer is listed with an error instead of failing the call. Use to track stablecoin issuance, liquidity on a chain or mints and burns over time.","tags":["stablecoin-supply","usdc-supply","usdt-supply","stablecoins","total-supply"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":false,"description":"USDC, USDT or both (default both)","schema":{"type":"string"},"example":"both"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"type":"object","properties":{"USDC":{"type":"object","properties":{"totalUsd":{"type":"number"},"networks":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"supply":{"type":"number"},"error":{}}}}}},"USDT":{"type":"object","properties":{"totalUsd":{"type":"number"},"networks":{"type":"array","items":{}}}}}},"totalUsd":{"type":"number"},"source":{"type":"string"}}},"example":{"tokens":{"USDC":{"totalUsd":61000000000,"networks":[{"chain":"Ethereum","supply":40000000000,"error":null}]},"USDT":{"totalUsd":72000000000,"networks":[]}},"totalUsd":133000000000,"source":"token contracts (totalSupply), read live"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/token/supply":{"get":{"operationId":"token_supply","summary":"Token supply, total supply: any ERC-20","description":"Total supply of any ERC-20 token on Ethereum, Base, Arbitrum, Optimism or Polygon, read live from the contract: raw and decimal-adjusted supply, decimals, name and symbol. Give a 0x address or a known ticker (USDC, USDT, WETH, DAI…). Use to check a token's circulating maximum or compare supply across chains.","tags":["token-supply","total-supply","erc20","token","blockchain"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"token","in":"query","required":true,"description":"Token 0x address or ticker","schema":{"type":"string"},"example":"USDC"},{"name":"chain","in":"query","required":false,"description":"ethereum (default), base, arbitrum, optimism or polygon","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"number"},"totalSupply":{"type":"number"},"totalSupplyRaw":{"type":"string"}}},"example":{"chain":"Base","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":4100000000.5,"totalSupplyRaw":"4100000000500000"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/contract/abi":{"get":{"operationId":"contract_abi","summary":"Contract ABI, verified contract: ABI and source","description":"The verified ABI of a smart contract on Ethereum, Base, Arbitrum, Optimism or Polygon from Sourcify's open verification repository: contract name, compiler, match quality, every function and event signature, the full ABI, and for proxies the implementation contract with its ABI. Optional source=true adds the main source file (up to 20,000 characters). Unverified contracts are an uncharged 404. Use before calling or decoding a contract.","tags":["contract-abi","abi","verified-contract","contract-source","evm"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"address","in":"query","required":true,"description":"Contract 0x address","schema":{"type":"string"},"example":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{"name":"chain","in":"query","required":false,"description":"ethereum (default), base, arbitrum, optimism or polygon","schema":{"type":"string"},"example":"base"},{"name":"source","in":"query","required":false,"description":"true to include the main source file","schema":{"type":"string"},"example":"false"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"address":{"type":"string"},"name":{"type":"string"},"match":{"type":"string"},"compiler":{"type":"string"},"proxy":{"type":"object","properties":{"type":{"type":"string"},"implementation":{"type":"string"},"implementationName":{"type":"string"}}},"functions":{"type":"array","items":{"type":"object","properties":{"signature":{"type":"string"},"stateMutability":{"type":"string"}}}},"events":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{}},"abi":{"type":"array","items":{}},"source":{"type":"string"}}},"example":{"chain":"Ethereum","address":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","name":"FiatTokenProxy","match":"exact_match","compiler":"0.6.12+commit.27d51765","proxy":{"type":"ZeppelinOSProxy","implementation":"0x2Ce6311ddAE708829bc0784C967b7d77D19FD779","implementationName":"FiatTokenV2_2"},"functions":[{"signature":"transfer(address,uint256)","stateMutability":"nonpayable"}],"events":["Transfer(address,address,uint256)"],"errors":[],"abi":[],"source":"Sourcify (sourcify.dev)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/uniswap/pool":{"get":{"operationId":"uniswap_pool","summary":"Uniswap pool, V3 pool: state and price","description":"Uniswap v3 pools for a token pair on Ethereum, Base, Arbitrum, Optimism or Polygon, read live from the factory and each pool: pool address per fee tier (0.01%, 0.05%, 0.3%, 1%), price of each token in the other, current tick, in-range liquidity and both token balances held, deepest pool first. Tokens by 0x address or ticker. Use to find the right pool, check depth before a swap or read a spot price.","tags":["uniswap-pool","uniswap","liquidity-pool","pool-liquidity","defi"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"tokenA","in":"query","required":true,"description":"First token: 0x address or ticker","schema":{"type":"string"},"example":"WETH"},{"name":"tokenB","in":"query","required":true,"description":"Second token: 0x address or ticker","schema":{"type":"string"},"example":"USDC"},{"name":"chain","in":"query","required":false,"description":"ethereum (default), base, arbitrum, optimism or polygon","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"tokenA":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"}}},"tokenB":{"type":"object","properties":{"address":{"type":"string"},"symbol":{"type":"string"}}},"pools":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"feeTier":{"type":"number"},"priceAinB":{"type":"number"},"priceBinA":{"type":"number"},"tick":{"type":"number"},"liquidity":{"type":"string"},"balanceA":{"type":"number"},"balanceB":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"chain":"Base","tokenA":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH"},"tokenB":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC"},"pools":[{"address":"0xd0b53D9277642d899DF5C87A3966A349A798F224","feeTier":500,"priceAinB":2338.2,"priceBinA":0.000427679,"tick":-199500,"liquidity":"1234567890123","balanceA":5100.2,"balanceB":9800000.5}],"source":"Uniswap v3 factory and pool contracts, read live"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/holidays":{"get":{"operationId":"holidays","summary":"Public holidays by country: list a country's public holidays for a year","description":"Nationwide public holidays for a year in the US (federal), UK (England and Wales), Sweden, Germany, France, Norway, Denmark and Finland: date, local and English name, and the weekday it is observed on where a weekend moves it. Computed from statutory rules for 2024-2100. Use for scheduling, delivery dates and business-day maths.","tags":["holidays","calendar","date","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166-1 alpha-2 code: US, GB (UK), SE, DE, FR, NO, DK or FI; English country names also work","schema":{"type":"string"},"example":"SE"},{"name":"year","in":"query","required":false,"description":"Year, 2024-2100 (default this year)","schema":{"type":"integer"},"example":2026}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string"},"countryName":{"type":"string"},"year":{"type":"number"},"count":{"type":"number"},"holidays":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"localName":{"type":"string"},"name":{"type":"string"},"nationwide":{"type":"boolean"},"types":{"type":"array","items":{"type":"string"}},"observed":{}}}},"note":{"type":"string"}}},"example":{"country":"SE","countryName":"Sweden","year":2026,"count":13,"holidays":[{"date":"2026-01-01","localName":"Nyårsdagen","name":"New Year's Day","nationwide":true,"types":["Public"],"observed":null}],"note":"Computed from statutory rules; nationwide holidays only. Regional holidays and one-off proclamations are not included."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/wikipedia":{"get":{"operationId":"wikipedia","summary":"Wikipedia article summary: get the summary of a Wikipedia article on a topic","description":"Short summary of a Wikipedia article in any language edition: title, one-paragraph extract, description, thumbnail and page URL. Use to ground an agent's answer in a quick, citable fact sheet.","tags":["wikipedia","knowledge","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"title","in":"query","required":true,"description":"Article title","schema":{"type":"string"},"example":"Stockholm"},{"name":"lang","in":"query","required":false,"description":"Language code (default en)","schema":{"type":"string"},"example":"en"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"extract":{"type":"string"},"url":{"type":"string"},"thumbnail":{"type":"string"},"licence":{"type":"string"},"attribution":{"type":"string"}}},"example":{"title":"Stockholm","description":"Capital of Sweden","extract":"Stockholm is the capital and most populous city of Sweden…","url":"https://en.wikipedia.org/wiki/Stockholm","thumbnail":"https://upload.wikimedia.org/…","licence":"CC BY-SA 4.0","attribution":"Text from the Wikipedia article \"Stockholm\" by its contributors, licensed CC BY-SA 4.0"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dictionary":{"get":{"operationId":"dictionary","summary":"Dictionary definition: English words","description":"Dictionary definition of an English word from Wiktionary, grouped by part of speech, with example sentences where Wiktionary gives them, plus the page link and the CC BY-SA attribution to show. Use for writing help, vocabulary, translation checks and word games.","tags":["dictionary","language","english","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"word","in":"query","required":true,"description":"An English word","schema":{"type":"string"},"example":"serendipity"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"word":{"type":"string"},"meanings":{"type":"array","items":{"type":"object","properties":{"partOfSpeech":{"type":"string"},"definitions":{"type":"array","items":{"type":"object","properties":{"definition":{"type":"string"},"example":{}}}}}}},"url":{"type":"string"},"licence":{"type":"string"},"attribution":{"type":"string"}}},"example":{"word":"serendipity","meanings":[{"partOfSpeech":"Noun","definitions":[{"definition":"An unsought, unintended, and/or unexpected, but fortunate, discovery.","example":null}]}],"url":"https://en.wiktionary.org/wiki/serendipity","licence":"CC BY-SA 4.0","attribution":"Definitions from the Wiktionary entry \"serendipity\" by its contributors, licensed CC BY-SA 4.0"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/earthquakes":{"get":{"operationId":"earthquakes","summary":"Recent earthquakes, USGS data: list recent earthquakes worldwide from USGS, by magnitude","description":"Recent earthquakes worldwide from the US Geological Survey: magnitude, place, time, depth, coordinates, tsunami flag and USGS link, for the past day or week, filtered by minimum magnitude (2.5, 4.5 or significant). Use for alerts, news and travel checks.","tags":["earthquakes","geo","science","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"period","in":"query","required":false,"description":"hour, day (default), week or month","schema":{"type":"string"},"example":"day"},{"name":"minMagnitude","in":"query","required":false,"description":"Smallest magnitude to include, 0-10 (default 2.5), or significant","schema":{"type":"string"},"example":"4.5"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"string"},"minMagnitude":{"type":"string"},"count":{"type":"number"},"earthquakes":{"type":"array","items":{"type":"object","properties":{"magnitude":{"type":"number"},"place":{"type":"string"},"time":{"type":"string"},"depthKm":{"type":"number"},"lat":{"type":"number"},"lon":{"type":"number"},"tsunami":{"type":"boolean"},"url":{"type":"string"}}}}}},"example":{"period":"day","minMagnitude":"4.5","count":8,"earthquakes":[{"magnitude":5.1,"place":"100 km S of …","time":"2026-10-18T03:12:00.000Z","depthKm":10,"lat":-6.1,"lon":130.2,"tsunami":false,"url":"https://earthquake.usgs.gov/…"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/geocode":{"get":{"operationId":"geocode","summary":"Geocoding: place name to latitude and longitude","description":"Find places by name in Wikidata (CC0) and get their coordinates, description, country, administrative region, population and elevation where recorded, best match first. Cities, towns, landmarks and other places with coordinates. Use before weather, sun or distance lookups, or to tell two places of the same name apart.","tags":["geocode","geo","places","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"name","in":"query","required":true,"description":"Place name","schema":{"type":"string"},"example":"Uppsala"},{"name":"count","in":"query","required":false,"description":"Max results (1-10, default 5)","schema":{"type":"integer"},"example":3}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"population":{"type":"number"},"elevation":{"type":"number"},"wikidataId":{"type":"string"}}}},"source":{"type":"string"}}},"example":{"count":1,"results":[{"name":"Uppsala","description":"city in Sweden","country":"Sweden","region":"Uppsala Municipality","lat":59.858,"lon":17.645,"population":170000,"elevation":15,"wikidataId":"Q…"}],"source":"Wikidata (CC0 public domain)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/sun":{"get":{"operationId":"sun","summary":"Sunrise sunset times, day length: sunrise and sunset times and day length for a place and date","description":"Sunrise, sunset, solar noon, civil dawn and dusk (UTC) and day length for any place and date, computed with the standard solar equations; handles polar day and night. No outside service. Use for photography, events and outdoor planning.","tags":["sun","astronomy","date","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude (-90 to 90)","schema":{"type":"number"},"example":59.33},{"name":"lon","in":"query","required":true,"description":"Longitude (-180 to 180)","schema":{"type":"number"},"example":18.07},{"name":"date","in":"query","required":false,"description":"Date (default today)","schema":{"type":"string"},"example":"2026-12-21"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"sunrise":{"type":"string"},"sunset":{"type":"string"},"solarNoon":{"type":"string"},"civilDawn":{"type":"string"},"civilDusk":{"type":"string"},"dayLengthMinutes":{"type":"number"},"polar":{}}},"example":{"date":"2026-12-21","sunrise":"2026-12-21T07:43:00.000Z","sunset":"2026-12-21T13:48:00.000Z","solarNoon":"2026-12-21T10:45:00.000Z","civilDawn":"2026-12-21T06:58:00.000Z","civilDusk":"2026-12-21T14:33:00.000Z","dayLengthMinutes":365,"polar":null}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/moon":{"get":{"operationId":"moon","summary":"Moon phase: the moon phase and illumination for a date","description":"Moon phase name, illuminated percentage and age in days for any date, plus the next new and full moon (UTC). Computed locally from the mean synodic month. Use for calendars and night-sky planning.","tags":["moon","astronomy","date","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"date","in":"query","required":false,"description":"Date or ISO time (default now)","schema":{"type":"string"},"example":"2026-10-18"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"phase":{"type":"string"},"illuminationPercent":{"type":"number"},"ageDays":{"type":"number"},"nextNewMoon":{"type":"string"},"nextFullMoon":{"type":"string"}}},"example":{"date":"2026-10-18","phase":"Waning Crescent","illuminationPercent":12.4,"ageDays":26.3,"nextNewMoon":"2026-10-21T…","nextFullMoon":"2026-11-05T…"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/country":{"get":{"operationId":"country","summary":"Country info, country facts: facts about a country: capital, region, income level and population","description":"Facts about a country by ISO code (SE, SWE, US…): official World Bank name, ISO-2 and ISO-3 codes, region, income level, capital city and its coordinates, and the latest population figure with its year (World Bank open data). Use to enrich records with country data.","tags":["country","geo","reference","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"country","in":"query","required":true,"description":"ISO 3166 alpha-2 or alpha-3 code","schema":{"type":"string"},"example":"SE"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"iso2":{"type":"string"},"iso3":{"type":"string"},"region":{"type":"string"},"incomeLevel":{"type":"string"},"capital":{"type":"string"},"capitalLat":{"type":"number"},"capitalLon":{"type":"number"},"population":{"type":"number"},"populationYear":{"type":"number"},"source":{"type":"string"}}},"example":{"name":"Sweden","iso2":"SE","iso3":"SWE","region":"Europe & Central Asia","incomeLevel":"High income","capital":"Stockholm","capitalLat":59.3327,"capitalLon":18.0645,"population":10596620,"populationYear":2025,"source":"World Bank"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/npm/downloads":{"get":{"operationId":"npm_downloads","summary":"npm package downloads: download counts of an npm package over the last day, week or month","description":"Download counts of an npm package for the last day, week and month, from the official npm registry API. Use to judge how widely a dependency is used.","tags":["npm","packages","dev","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"package","in":"query","required":true,"description":"Package name, e.g. react or @scope/name","schema":{"type":"string"},"example":"hono"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"package":{"type":"string"},"lastDay":{"type":"number"},"lastWeek":{"type":"number"},"lastMonth":{"type":"number"}}},"example":{"package":"hono","lastDay":450000,"lastWeek":3100000,"lastMonth":13000000}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/pypi":{"get":{"operationId":"pypi","summary":"PyPI package info: latest version, summary and licence of a Python package on PyPI","description":"Latest version, summary, licence, required Python version, home page, release date and number of releases of a Python package on PyPI. Use to check a dependency before installing it.","tags":["pypi","python","packages","dev","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"package","in":"query","required":true,"description":"PyPI package name","schema":{"type":"string"},"example":"requests"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"package":{"type":"string"},"version":{"type":"string"},"summary":{"type":"string"},"license":{"type":"string"},"requiresPython":{"type":"string"},"homePage":{"type":"string"},"released":{"type":"string"},"releases":{"type":"number"}}},"example":{"package":"requests","version":"2.32.3","summary":"Python HTTP for Humans.","license":"Apache-2.0","requiresPython":">=3.8","homePage":"https://requests.readthedocs.io","released":"2024-05-29T15:37:47Z","releases":157}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/orderbook":{"get":{"operationId":"hyperliquid_orderbook","summary":"Crypto order book, Hyperliquid: bids, asks, spread and depth of a perp","description":"Live order book of a Hyperliquid perpetual (BTC, ETH, SOL, HYPE…): the best bid and ask levels with price, size and order count, the mid price, the spread in USD and basis points, and the summed depth on each side. Up to 20 levels a side (default 10). Read from Hyperliquid's public API. Use to judge liquidity and slippage before a trade, or for market-making and arbitrage checks.","tags":["order-book","orderbook","hyperliquid","liquidity","crypto","market-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default BTC)","schema":{"type":"string"},"example":"BTC"},{"name":"levels","in":"query","required":false,"description":"Levels per side, 1-20 (default 10)","schema":{"type":"integer"},"example":10}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"coin":{"type":"string"},"time":{"type":"string"},"mid":{"type":"number"},"spread":{"type":"number"},"spreadBps":{"type":"number"},"bids":{"type":"array","items":{"type":"object","properties":{"px":{"type":"number"},"sz":{"type":"number"},"n":{"type":"number"}}}},"asks":{"type":"array","items":{"type":"object","properties":{"px":{"type":"number"},"sz":{"type":"number"},"n":{"type":"number"}}}},"bidDepth":{"type":"number"},"askDepth":{"type":"number"},"bidDepthUsd":{"type":"number"},"askDepthUsd":{"type":"number"},"source":{"type":"string"}}},"example":{"coin":"BTC","time":"2026-10-23T13:24:02.893Z","mid":81870.5,"spread":1,"spreadBps":0.12,"bids":[{"px":81870,"sz":3.89437,"n":22}],"asks":[{"px":81871,"sz":1.2,"n":4}],"bidDepth":12.3,"askDepth":9.8,"bidDepthUsd":1007000,"askDepthUsd":802000,"source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/candles":{"get":{"operationId":"hyperliquid_candles","summary":"Crypto candles, OHLCV: open, high, low, close and volume of Hyperliquid perps","description":"Historical price candles (OHLCV) of a Hyperliquid perpetual such as BTC, ETH or SOL: open, high, low, close, volume in coins and trade count per bar, newest last. Intervals 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w and more; up to 500 bars (default 50). Read from Hyperliquid's public API. Use for charts, backtests, volatility and trend checks, or as context for a trading agent.","tags":["ohlcv","candles","hyperliquid","price-history","crypto","market-data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default BTC)","schema":{"type":"string"},"example":"BTC"},{"name":"interval","in":"query","required":false,"description":"Bar length: 1m, 3m, 5m, 15m, 30m, 1h (default), 2h, 4h, 8h, 12h, 1d, 3d or 1w","schema":{"type":"string"},"example":"1h"},{"name":"bars","in":"query","required":false,"description":"Number of bars, 1-500 (default 50)","schema":{"type":"integer"},"example":50}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"coin":{"type":"string"},"interval":{"type":"string"},"count":{"type":"number"},"candles":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number"},"trades":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"coin":"BTC","interval":"1h","count":1,"candles":[{"time":"2026-10-23T08:00:00.000Z","open":81574,"high":81916,"low":81543,"close":81761,"volume":575.87267,"trades":9106}],"source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/funding-history":{"get":{"operationId":"hyperliquid_funding_history","summary":"Funding rate history: hourly Hyperliquid perp funding rates and APR","description":"Past hourly funding rates of a Hyperliquid perpetual (BTC, ETH, SOL…): each rate with its premium and time, plus the average rate and its annualised APR over the window. Up to 500 hours back (default 24). Read from Hyperliquid's public API. Use to compare carry over time, spot funding regime changes, or backtest basis and funding-arbitrage strategies; for the current rate use hyperliquid_market.","tags":["funding-rate","funding-history","hyperliquid","perps","crypto","derivatives"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default ETH)","schema":{"type":"string"},"example":"ETH"},{"name":"hours","in":"query","required":false,"description":"Hours of history, 1-500 (default 24)","schema":{"type":"integer"},"example":24}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"coin":{"type":"string"},"hours":{"type":"number"},"count":{"type":"number"},"averageRateHourly":{"type":"number"},"averageAprPct":{"type":"number"},"rates":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string"},"fundingRateHourly":{"type":"number"},"premium":{"type":"number"}}}},"source":{"type":"string"}}},"example":{"coin":"ETH","hours":24,"count":1,"averageRateHourly":0.0000125,"averageAprPct":10.95,"rates":[{"time":"2026-10-23T09:00:00.089Z","fundingRateHourly":0.0000022519,"premium":-0.0004819852}],"source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/indicators":{"get":{"operationId":"hyperliquid_indicators","summary":"Technical indicators, RSI, MACD: moving averages, Bollinger bands and ATR for crypto","description":"Technical indicators for a Hyperliquid perpetual (BTC, ETH, SOL…) on closed candles of any interval from 1m to 1w: RSI 14, MACD 12/26/9, SMA 20/50/200, EMA 12/26/50, Bollinger bands 20/2 with %B, ATR 14, annualised realised volatility, and plain readings such as overbought or above the 200 SMA. Computed from Hyperliquid's public candles. Use as context for a trading agent or a market dashboard; not investment advice.","tags":["technical-indicators","rsi","macd","moving-average","hyperliquid","crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coin","in":"query","required":false,"description":"Coin symbol such as BTC, ETH, SOL or HYPE (default BTC)","schema":{"type":"string"},"example":"BTC"},{"name":"interval","in":"query","required":false,"description":"Candle length: 1m, 5m, 15m, 30m, 1h, 4h (default), 1d, 1w and others","schema":{"type":"string"},"example":"4h"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"coin":{"type":"string"},"interval":{"type":"string"},"bars":{"type":"number"},"close":{"type":"number"},"rsi14":{"type":"number"},"macd":{"type":"object","properties":{"macd":{"type":"number"},"signal":{"type":"number"},"histogram":{"type":"number"}}},"sma":{"type":"object","properties":{"20":{"type":"number"},"50":{"type":"number"},"200":{"type":"number"}}},"ema":{"type":"object","properties":{"12":{"type":"number"},"26":{"type":"number"},"50":{"type":"number"}}},"bollinger":{"type":"object","properties":{"upper":{"type":"number"},"middle":{"type":"number"},"lower":{"type":"number"},"percentB":{"type":"number"},"bandwidth":{"type":"number"}}},"atr14":{"type":"number"},"realizedVolPct":{"type":"number"},"readings":{"type":"array","items":{"type":"string"}},"source":{"type":"string"}}},"example":{"coin":"BTC","interval":"4h","bars":250,"close":81870,"rsi14":48.21,"macd":{"macd":-152.3,"signal":-98.4,"histogram":-53.9},"sma":{"20":82110,"50":83340,"200":79870},"ema":{"12":81990,"26":82240,"50":82900},"bollinger":{"upper":83560,"middle":82110,"lower":80660,"percentB":0.42,"bandwidth":0.035},"atr14":812.5,"realizedVolPct":41.2,"readings":["RSI neutral (30-70)","MACD below its signal line","price below SMA 50","price above SMA 200"],"source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/hyperliquid/prices":{"get":{"operationId":"hyperliquid_prices","summary":"All crypto prices, Hyperliquid: mid prices of every perpetual","description":"Current mid prices of every Hyperliquid perpetual in one call (BTC, ETH, SOL, HYPE and about 200 more), as a coin-to-price map, or only the coins you name. Read live from Hyperliquid's public API. Use for a quick price snapshot of many coins at once, portfolio marks or a price ticker; for funding and open interest use hyperliquid_market.","tags":["crypto-prices","price-ticker","hyperliquid","crypto","market-data","prices"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"coins","in":"query","required":false,"description":"Optional comma-separated symbols such as BTC,ETH,SOL (default: every perpetual)","schema":{"type":"string"},"example":"BTC,ETH,SOL"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"},"prices":{"type":"object","properties":{"BTC":{"type":"number"},"ETH":{"type":"number"},"SOL":{"type":"number"}}},"time":{"type":"string"},"source":{"type":"string"}}},"example":{"count":3,"prices":{"BTC":81870.5,"ETH":3920.15,"SOL":187.42},"time":"2026-10-23T13:24:02.893Z","source":"Hyperliquid public info API"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/crypto/fear-greed":{"get":{"operationId":"crypto_fear_greed","summary":"Fear and greed index, crypto: today's value and history","description":"The Crypto Fear & Greed Index (0 = extreme fear, 100 = extreme greed) from alternative.me: today's value and label, the change against 1, 7 and 30 days ago, the low, high and average over the window, and the daily history (up to 90 days, default 30). Updated once a day. Use as a market-sentiment input for a trading agent, a dashboard or a daily brief; for live prices use price_token.","tags":["fear-and-greed","crypto-sentiment","market-sentiment","crypto","bitcoin","data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"days","in":"query","required":false,"description":"Days of history, 1-90 (default 30)","schema":{"type":"integer"},"example":30}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"number"},"classification":{"type":"string"},"date":{"type":"string"},"change":{"type":"object","properties":{"vs1d":{"type":"number"},"vs7d":{"type":"number"},"vs30d":{"type":"number"}}},"range":{"type":"object","properties":{"low":{"type":"number"},"high":{"type":"number"},"average":{"type":"number"},"days":{"type":"number"}}},"nextUpdateSeconds":{"type":"number"},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"value":{"type":"number"},"classification":{"type":"string"}}}},"source":{"type":"string"},"attribution":{"type":"string"}}},"example":{"value":51,"classification":"Neutral","date":"2026-10-24","change":{"vs1d":1,"vs7d":-17,"vs30d":9},"range":{"low":38,"high":72,"average":54.2,"days":30},"nextUpdateSeconds":62493,"history":[{"date":"2026-10-24","value":51,"classification":"Neutral"}],"source":"alternative.me","attribution":"Crypto Fear & Greed Index by alternative.me (https://alternative.me/crypto/fear-and-greed-index/)"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/keccak":{"get":{"operationId":"keccak","summary":"Keccak256, function selector: Keccak-256 hash, 4-byte selector and event topic","description":"Keccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots. Use when building or decoding EVM calls.","tags":["keccak","ethereum","hash","utility","basics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text, or 0x-prefixed hex bytes, up to 10,000 characters","schema":{"type":"string"},"example":"transfer(address,uint256)"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"string"},"inputType":{"type":"string"},"keccak256":{"type":"string"},"selector":{"type":"string"}}},"example":{"input":"transfer(address,uint256)","inputType":"text","keccak256":"0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","selector":"0xa9059cbb"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/network":{"get":{"operationId":"network","summary":"Base network and USDC facts: Base network facts for payment clients: chain id, USDC contract, RPC and explorer URLs","description":"Reference facts for paying and reading on Base mainnet: chain id, native USDC contract and decimals, block explorer and public RPC URLs, and the x402 network identifier. Use to configure an x402 or Base client.","tags":["base","usdc","network","utility","basics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"chainId":{"type":"number"},"caip2":{"type":"string"},"usdc":{"type":"object","properties":{"address":{"type":"string"},"decimals":{"type":"number"}}}}},"example":{"chain":"Base","chainId":8453,"caip2":"eip155:8453","usdc":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6}}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/qwen3-30b":{"get":{"operationId":"ai_model_qwen3_30b","summary":"Qwen3 30B chat API: pay per call, no API key","description":"Chat with Alibaba's Qwen3 30B-A3B mixture-of-experts model (Apache 2.0) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 1,024 output tokens; its reasoning is removed from the answer. Also reachable as model \"qwen3-30b\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["qwen","qwen3","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/qwen/qwen3-30b-a3b-fp8","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/gpt-oss-20b":{"get":{"operationId":"ai_model_gpt_oss_20b","summary":"GPT-OSS 20B chat API: pay per call, no API key","description":"Chat with OpenAI's open-weight gpt-oss-20b reasoning model (Apache 2.0) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 1,024 output tokens. Also reachable as model \"gpt-oss-20b\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["gpt-oss","openai","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"2000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/openai/gpt-oss-20b","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/gpt-oss-120b":{"get":{"operationId":"ai_model_gpt_oss_120b","summary":"GPT-OSS 120B chat API: pay per call, no API key","description":"Chat with OpenAI's open-weight gpt-oss-120b reasoning model (Apache 2.0) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 1,024 output tokens. Also reachable as model \"gpt-oss-120b\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["gpt-oss","openai","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/openai/gpt-oss-120b","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/mistral-small":{"get":{"operationId":"ai_model_mistral_small","summary":"Mistral Small 3.1 chat API: pay per call, no API key","description":"Chat with Mistral AI's Mistral Small 3.1 24B model (Apache 2.0) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 1,024 output tokens. Also reachable as model \"mistral-small\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["mistral","mistral-small","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/mistralai/mistral-small-3.1-24b-instruct","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/qwen-coder":{"get":{"operationId":"ai_model_qwen_coder","summary":"Qwen2.5 Coder 32B, code LLM API: pay per call, no API key","description":"Chat with Alibaba's Qwen2.5 Coder 32B code model (Apache 2.0) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 1,024 output tokens. Also reachable as model \"qwen-coder\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["code-llm","qwen","coding","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"5000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-1024 (default 400)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/qwen/qwen2.5-coder-32b-instruct","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/model/deepseek-r1":{"get":{"operationId":"ai_model_deepseek_r1","summary":"DeepSeek R1 reasoning model API: pay per call, no API key","description":"Chat with DeepSeek's R1 reasoning model distilled into Qwen 32B (MIT) through one paid HTTP call: send a prompt and an optional system prompt, get the answer, up to 2,048 output tokens; its reasoning is removed from the answer. Also reachable as model \"deepseek-r1\" on the OpenAI-compatible /v1/chat/completions. No account or provider key. Use when an agent wants this model by name.","tags":["deepseek","deepseek-r1","reasoning-model","llm","chat-completions","ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt, up to 8,000 characters","schema":{"type":"string"},"example":"Explain x402 in one sentence."},{"name":"system","in":"query","required":false,"description":"Optional system prompt, up to 2,000 characters","schema":{"type":"string"},"example":"You are a concise assistant."},{"name":"maxTokens","in":"query","required":false,"description":"Maximum output tokens, 1-2048 (default 1500)","schema":{"type":"integer"},"example":200},{"name":"temperature","in":"query","required":false,"description":"0-1.5 (default 0.6)","schema":{"type":"number"},"example":0.6}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"response":{"type":"string"}}},"example":{"model":"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b","response":"x402 lets software pay for an HTTP request with a stablecoin by answering a 402 Payment Required challenge."}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/sentiment":{"get":{"operationId":"ai_sentiment","summary":"Sentiment analysis of text: tell whether a text is positive or negative, with a confidence score","description":"Positive or negative sentiment of English text with a confidence score, from a DistilBERT model fine-tuned on SST-2. Use to triage reviews, support messages, social posts and replies.","tags":["sentiment","nlp","classification","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"English text, up to 4,000 characters","schema":{"type":"string"},"example":"The checkout was fast and support answered within minutes."}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"score":{"type":"number"},"scores":{"type":"object","properties":{"POSITIVE":{"type":"number"},"NEGATIVE":{"type":"number"}}},"model":{"type":"string"}}},"example":{"label":"POSITIVE","score":0.9987,"scores":{"POSITIVE":0.9987,"NEGATIVE":0.0013},"model":"@cf/huggingface/distilbert-sst-2-int8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/classify":{"get":{"operationId":"ai_classify","summary":"Text classification into labels: sort text into one of your labels (zero-shot), for routing and tagging","description":"Zero-shot classification: give text and 2-20 candidate labels, get the best label, a short reason and a ranking. Use for routing tickets, tagging content, intent detection and moderation queues.","tags":["classification","zero-shot","routing","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to classify, up to 8,000 characters","schema":{"type":"string"},"example":"My card was charged twice for the same order."},{"name":"labels","in":"query","required":true,"description":"Comma-separated candidate labels (2-20)","schema":{"type":"string"},"example":"billing,shipping,technical,other"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string"},"reason":{"type":"string"},"ranking":{"type":"array","items":{"type":"string"}},"model":{"type":"string"}}},"example":{"label":"billing","reason":"The customer reports a duplicate charge.","ranking":["billing","other","technical","shipping"],"model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/keywords":{"get":{"operationId":"ai_keywords","summary":"Keyword extraction: pull the main keywords and key phrases out of a text","description":"The most important keywords and key phrases of a text, most relevant first. Use for tagging, SEO, search indexing and topic detection.","tags":["keywords","seo","tagging","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text, up to 12,000 characters","schema":{"type":"string"},"example":"Cloudflare Workers run JavaScript at the edge. Workers AI adds GPU inference for open models."},{"name":"count","in":"query","required":false,"description":"How many, 3-30 (default 10)","schema":{"type":"integer"},"example":5}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"keywords":{"type":"array","items":{"type":"string"}},"model":{"type":"string"}}},"example":{"keywords":["Cloudflare Workers","Workers AI","edge computing","GPU inference","open models"],"model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/rewrite":{"get":{"operationId":"ai_rewrite","summary":"Rewrite text in a style: rewrite text to be more formal, casual, simpler, shorter or more persuasive","description":"Rewrite text to be more formal, casual, simpler, shorter, friendlier, more professional or more persuasive, keeping the meaning and language. Use to polish emails, replies, product copy and messages.","tags":["rewrite","paraphrase","writing","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text, up to 8,000 characters","schema":{"type":"string"},"example":"hey, cant make it tmrw, can we move to thu?"},{"name":"style","in":"query","required":false,"description":"formal, casual, simpler, shorter, friendly, professional or persuasive (default professional)","schema":{"type":"string","enum":["formal","casual","simpler","shorter","friendly","professional","persuasive"]},"example":"professional"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"style":{"type":"string"},"text":{"type":"string"},"model":{"type":"string"}}},"example":{"style":"professional","text":"Unfortunately I can't make it tomorrow. Could we move the meeting to Thursday?","model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ai/outline":{"get":{"operationId":"ai_outline","summary":"Outline a text or topic: make a structured Markdown outline of a text or topic","description":"A structured Markdown outline (headings and bullet points) of a text you send, or a suggested outline for a topic. Use to plan articles, reports, talks and documentation.","tags":["outline","writing","planning","ai","llm","text"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"text","in":"query","required":true,"description":"Text to outline, or a topic, up to 12,000 characters","schema":{"type":"string"},"example":"How small businesses can accept stablecoin payments"},{"name":"depth","in":"query","required":false,"description":"Heading levels, 1-3 (default 2)","schema":{"type":"integer"},"example":2}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"outline":{"type":"string"},"model":{"type":"string"}}},"example":{"outline":"## Why stablecoins\n- Low fees\n## Setting up\n- Choose a wallet","model":"@cf/meta/llama-3.1-8b-instruct-fp8"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/coin":{"get":{"operationId":"coin","summary":"Flip a coin","description":"Flip one or more fair coins using a cryptographic random source. Returns each result and the totals. Use for fair decisions and games.","tags":["coin","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"count","in":"query","required":false,"description":"How many coins (1-100, default 1)","schema":{"type":"integer"},"example":1}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"flips":{"type":"array","items":{"type":"string"}},"heads":{"type":"number"},"tails":{"type":"number"}}},"example":{"flips":["heads"],"heads":1,"tails":0}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/dice":{"get":{"operationId":"dice","summary":"Roll dice","description":"Roll dice in standard notation such as 2d6+3 or 1d20, up to 100 dice of up to 1000 sides, with a cryptographic random source. Returns every roll, the modifier and the total. Use for tabletop games and simulations.","tags":["dice","games","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"roll","in":"query","required":false,"description":"Dice notation, e.g. 2d6+3 (default 1d6)","schema":{"type":"string"},"example":"2d6+3"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"roll":{"type":"string"},"rolls":{"type":"array","items":{"type":"number"}},"modifier":{"type":"number"},"total":{"type":"number"}}},"example":{"roll":"2d6+3","rolls":[4,6],"modifier":3,"total":13}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/number":{"get":{"operationId":"random_number","summary":"Random number","description":"One or more random whole numbers in a range (inclusive), optionally all different, from a cryptographic random source. Use for draws, sampling and games.","tags":["number","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"min","in":"query","required":false,"description":"Lowest value (default 1)","schema":{"type":"integer"},"example":1},{"name":"max","in":"query","required":false,"description":"Highest value (default 100)","schema":{"type":"integer"},"example":100},{"name":"count","in":"query","required":false,"description":"How many (1-1000, default 1)","schema":{"type":"integer"},"example":3},{"name":"unique","in":"query","required":false,"description":"true for no repeats","schema":{"type":"string"},"example":"true"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"numbers":{"type":"array","items":{"type":"number"}}}},"example":{"numbers":[42,7,93]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/pick":{"get":{"operationId":"random_pick","summary":"Pick at random from a list","description":"Pick one or more items at random (without repeats) from a comma- or line-separated list. Use for raffles, choosing who goes first, or breaking ties fairly.","tags":["pick","raffle","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"items","in":"query","required":true,"description":"Comma-separated items","schema":{"type":"string"},"example":"Ada,Alan,Grace,Linus"},{"name":"count","in":"query","required":false,"description":"How many to pick (default 1)","schema":{"type":"integer"},"example":1}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"picked":{"type":"array","items":{"type":"string"}},"from":{"type":"number"}}},"example":{"picked":["Grace"],"from":4}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/shuffle":{"get":{"operationId":"random_shuffle","summary":"Shuffle a list","description":"Shuffle a comma- or line-separated list into a random order (Fisher-Yates with a cryptographic random source). Use for draw orders, seating and playlists.","tags":["shuffle","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"items","in":"query","required":true,"description":"Comma-separated items","schema":{"type":"string"},"example":"1,2,3,4,5"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"shuffled":{"type":"array","items":{"type":"string"}}}},"example":{"shuffled":["3","5","1","4","2"]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/teams":{"get":{"operationId":"random_teams","summary":"Split people into teams","description":"Split a list of names into a given number of random, evenly sized teams. Use for games, workshops and classrooms.","tags":["teams","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"items","in":"query","required":true,"description":"Comma-separated names","schema":{"type":"string"},"example":"Ada,Alan,Grace,Linus,Margaret,Tim"},{"name":"teams","in":"query","required":false,"description":"Number of teams (default 2)","schema":{"type":"integer"},"example":2}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"type":"array","items":{"type":"string"}}}}},"example":{"teams":[["Grace","Tim","Ada"],["Linus","Alan","Margaret"]]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/magic-8-ball":{"get":{"operationId":"magic_8_ball","summary":"Magic 8-ball","description":"Ask a yes-or-no question and get one of the 20 classic Magic 8-Ball answers, chosen at random. For fun only. Use for games and chat bots.","tags":["8ball","games","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"question","in":"query","required":false,"description":"Your question (optional, not stored)","schema":{"type":"string"},"example":"Will it ship today?"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"},"kind":{"type":"string"}}},"example":{"question":"Will it ship today?","answer":"Signs point to yes.","kind":"positive"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/password":{"get":{"operationId":"random_password","summary":"Password generator: generate a strong random password","description":"Generate strong random passwords or passphrase-style strings: choose length and character sets, from a cryptographic random source. Generated on demand; nothing is stored or logged. Use when creating accounts or secrets.","tags":["password","security","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"length","in":"query","required":false,"description":"8-128 characters (default 20)","schema":{"type":"integer"},"example":20},{"name":"symbols","in":"query","required":false,"description":"false to leave out symbols","schema":{"type":"string"},"example":"true"},{"name":"count","in":"query","required":false,"description":"How many (1-20, default 1)","schema":{"type":"integer"},"example":1}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"passwords":{"type":"array","items":{"type":"string"}},"entropyBits":{"type":"number"}}},"example":{"passwords":["q7#Lx9v!Tz2@pW4m$Rk8"],"entropyBits":130}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/random/color":{"get":{"operationId":"random_color","summary":"Random colour","description":"One or more random colours in hex, RGB and HSL, optionally limited to pastel or dark tones. Use for placeholders, avatars and design ideas.","tags":["color","design","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"count","in":"query","required":false,"description":"How many (1-50, default 1)","schema":{"type":"integer"},"example":3},{"name":"tone","in":"query","required":false,"description":"any (default), pastel or dark","schema":{"type":"string"},"example":"pastel"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"colors":{"type":"array","items":{"type":"object","properties":{"hex":{"type":"string"},"rgb":{"type":"string"},"hsl":{"type":"string"}}}}}},"example":{"colors":[{"hex":"#a7c7e7","rgb":"rgb(167, 199, 231)","hsl":"hsl(210, 60%, 78%)"}]}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/yes-no":{"get":{"operationId":"yes_no","summary":"Yes or no","description":"A fair random yes or no, with a cryptographic random source. For quick decisions when the options are equally good. Use to break ties.","tags":["decision","fun","random"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"string"}}},"example":{"answer":"yes"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/echo":{"get":{"operationId":"echo","summary":"Echo a message: send a message and get it back, to test a paid call end to end","description":"Returns the message you send, with its length and the server time. Use to test an x402 client, payment flow or agent tool wiring end to end.","tags":["echo","testing","utility","basics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"message","in":"query","required":true,"description":"Message, up to 2,000 characters","schema":{"type":"string"},"example":"hello"}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"length":{"type":"number"},"receivedAt":{"type":"string"}}},"example":{"message":"hello","length":5,"receivedAt":"2026-10-18T12:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/ping":{"get":{"operationId":"ping","summary":"Ping, x402 payment test: a minimal paid call to test that an x402 payment settles","description":"A paid round-trip check: returns pong and the server time. Use to test that an x402 wallet, client or MCP setup can pay and receive a result.","tags":["ping","testing","utility","basics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}},{"mpp":{"method":"evm","intent":"charge","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"}}],"offers":[{"amount":"10000","currency":"0x20c000000000000000000000b9537d11c60e8b50","method":"tempo","intent":"charge"},{"amount":"10000","currency":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","method":"evm","intent":"charge"}]},"parameters":[{"name":"only","in":"query","required":false,"description":"Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result","schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pong":{"type":"boolean"},"time":{"type":"string"}}},"example":{"pong":true,"time":"2026-10-18T12:00:00.000Z"}}}},"400":{"description":"Invalid input (not charged)"},"402":{"description":"Payment Required"}}}},"/credits/buy/1":{"get":{"operationId":"buy-credits-1","summary":"Buy 1,000 prepaid tool credits for $1 (card, MPP)","description":"An agent pays $1 by card through MPP (Stripe, Link agent wallet) and gets an API key worth 1,000 credits (1 credit = $0.001) in the response, with no checkout page. The key pays any of the service's tools over HTTP (Authorization: Bearer <key>) or MCP (/mcp/k/<key>); most tools cost 3 credits per call and failed calls are refunded. To add credits to a key you already hold, send it as X-API-Key.","tags":["credits"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"mpp":{"method":"stripe","intent":"charge","currency":"usd"}}],"offers":[{"amount":"100","currency":"usd","method":"stripe","intent":"charge"}]},"parameters":[{"name":"X-API-Key","in":"header","required":false,"description":"Optional existing adt_ key to top up instead of creating a new one","schema":{"type":"string","pattern":"^adt_[A-Za-z0-9_-]{20,}$"}}],"responses":{"200":{"description":"Credits issued; the new key is shown only in this response","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"New adt_ key (absent on a top-up)"},"mcpUrl":{"type":"string","description":"MCP connector URL with the key embedded"},"creditsAdded":{"type":"integer"},"balanceCredits":{"type":"integer"},"toppedUp":{"type":"boolean"},"use":{"type":"string"}}}}}},"402":{"description":"Payment Required (MPP: WWW-Authenticate: Payment, method stripe, intent charge)"}}}},"/credits/buy/5":{"get":{"operationId":"buy-credits-5","summary":"Buy 5,000 prepaid tool credits for $5 (card, MPP)","description":"An agent pays $5 by card through MPP (Stripe, Link agent wallet) and gets an API key worth 5,000 credits (1 credit = $0.001) in the response, with no checkout page. The key pays any of the service's tools over HTTP (Authorization: Bearer <key>) or MCP (/mcp/k/<key>); most tools cost 3 credits per call and failed calls are refunded. To add credits to a key you already hold, send it as X-API-Key.","tags":["credits"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.00"},"protocols":[{"mpp":{"method":"stripe","intent":"charge","currency":"usd"}}],"offers":[{"amount":"500","currency":"usd","method":"stripe","intent":"charge"}]},"parameters":[{"name":"X-API-Key","in":"header","required":false,"description":"Optional existing adt_ key to top up instead of creating a new one","schema":{"type":"string","pattern":"^adt_[A-Za-z0-9_-]{20,}$"}}],"responses":{"200":{"description":"Credits issued; the new key is shown only in this response","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"New adt_ key (absent on a top-up)"},"mcpUrl":{"type":"string","description":"MCP connector URL with the key embedded"},"creditsAdded":{"type":"integer"},"balanceCredits":{"type":"integer"},"toppedUp":{"type":"boolean"},"use":{"type":"string"}}}}}},"402":{"description":"Payment Required (MPP: WWW-Authenticate: Payment, method stripe, intent charge)"}}}},"/credits/buy/20":{"get":{"operationId":"buy-credits-20","summary":"Buy 22,000 prepaid tool credits for $20 (card, MPP)","description":"An agent pays $20 by card through MPP (Stripe, Link agent wallet) and gets an API key worth 22,000 credits (1 credit = $0.001) in the response, with no checkout page. The key pays any of the service's tools over HTTP (Authorization: Bearer <key>) or MCP (/mcp/k/<key>); most tools cost 3 credits per call and failed calls are refunded. To add credits to a key you already hold, send it as X-API-Key.","tags":["credits"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"20.00"},"protocols":[{"mpp":{"method":"stripe","intent":"charge","currency":"usd"}}],"offers":[{"amount":"2000","currency":"usd","method":"stripe","intent":"charge"}]},"parameters":[{"name":"X-API-Key","in":"header","required":false,"description":"Optional existing adt_ key to top up instead of creating a new one","schema":{"type":"string","pattern":"^adt_[A-Za-z0-9_-]{20,}$"}}],"responses":{"200":{"description":"Credits issued; the new key is shown only in this response","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"New adt_ key (absent on a top-up)"},"mcpUrl":{"type":"string","description":"MCP connector URL with the key embedded"},"creditsAdded":{"type":"integer"},"balanceCredits":{"type":"integer"},"toppedUp":{"type":"boolean"},"use":{"type":"string"}}}}}},"402":{"description":"Payment Required (MPP: WWW-Authenticate: Payment, method stripe, intent charge)"}}}},"/credits/buy/100":{"get":{"operationId":"buy-credits-100","summary":"Buy 125,000 prepaid tool credits for $100 (card, MPP)","description":"An agent pays $100 by card through MPP (Stripe, Link agent wallet) and gets an API key worth 125,000 credits (1 credit = $0.001) in the response, with no checkout page. The key pays any of the service's tools over HTTP (Authorization: Bearer <key>) or MCP (/mcp/k/<key>); most tools cost 3 credits per call and failed calls are refunded. To add credits to a key you already hold, send it as X-API-Key.","tags":["credits"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"100.00"},"protocols":[{"mpp":{"method":"stripe","intent":"charge","currency":"usd"}}],"offers":[{"amount":"10000","currency":"usd","method":"stripe","intent":"charge"}]},"parameters":[{"name":"X-API-Key","in":"header","required":false,"description":"Optional existing adt_ key to top up instead of creating a new one","schema":{"type":"string","pattern":"^adt_[A-Za-z0-9_-]{20,}$"}}],"responses":{"200":{"description":"Credits issued; the new key is shown only in this response","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"New adt_ key (absent on a top-up)"},"mcpUrl":{"type":"string","description":"MCP connector URL with the key embedded"},"creditsAdded":{"type":"integer"},"balanceCredits":{"type":"integer"},"toppedUp":{"type":"boolean"},"use":{"type":"string"}}}}}},"402":{"description":"Payment Required (MPP: WWW-Authenticate: Payment, method stripe, intent charge)"}}}}}}