{"openapi":"3.1.0","info":{"title":"Agent Research Tools","version":"2.0.0","description":"Pay-per-call research and onchain data tools for AI agents over x402 (USDC on Base, Polygon, Arbitrum, Solana, Avalanche or Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","x-guidance":"Use /report for a cited answer to a question, /read to turn a known URL into markdown, /news for recent headlines on a topic, /price or /solana-price for a verifiable onchain token price (+24h change on EVM), /balance for wallet holdings, /tx to check or decode a transaction, /gas for current fees, /check to validate an x402 endpoint. Call without payment to get the 402 challenge, then retry with PAYMENT-SIGNATURE."},"servers":[{"url":"https://x402-seller-pmlm.onrender.com"}],"paths":{"/health":{"get":{"operationId":"health","summary":"Service status (free)","security":[],"responses":{"200":{"description":"Status JSON"}}}},"/llms.txt":{"get":{"operationId":"llmsTxt","summary":"Agent-readable usage guide (free)","security":[],"responses":{"200":{"description":"text/plain"}}}},"/report":{"get":{"operationId":"researchBrief","summary":"Research brief with citations","description":"Research brief with citations: a quick, sourced answer to any question or topic. Use before writing, deciding, or searching deeper. Pass q (question). Returns a summary, 3-6 cited bullets and sources (official docs, Wikipedia, Stack Overflow, GitHub, papers) with URLs and dates; off-topic sources dropped. 0.01 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Research"],"parameters":[{"name":"q","in":"query","required":true,"description":"Research question or topic","schema":{"type":"string","minLength":2,"maxLength":300}},{"name":"depth","in":"query","required":false,"description":"quick or standard (default)","schema":{"type":"string","enum":["quick","standard"]}},{"name":"lang","in":"query","required":false,"description":"Wikipedia language code (default en)","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.01"}},"responses":{"200":{"description":"Research brief","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"summary":{"type":"string","description":"2-4 sentence answer with [n] citations"},"bullets":{"type":"array","items":{"type":"string"},"description":"Key points, each with [n] citations"},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","enum":["encyclopedia","instant_answer","discussion","paper","web_page"]},"provider":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"snippet":{"type":"string"},"publishedAt":{"type":["string","null"]}},"required":["id","title","url"]}},"sourceCount":{"type":"integer"},"providers":{"type":"array","items":{"type":"string"}},"method":{"type":"string","description":"extractive or llm-synthesis:<model>"},"depth":{"type":"string"},"lang":{"type":"string"},"latencyMs":{"type":"integer"},"generatedAt":{"type":"string"}},"required":["query","summary","bullets","sources"]},"example":{"query":"What is retrieval-augmented generation?","summary":"Retrieval-augmented generation (RAG) is a technique that lets large language models retrieve and incorporate new information from external sources before answering. [1]","bullets":["The term retrieval-augmented generation (RAG) was introduced in a 2020 paper that described combining a parametric language model with a non-parametric external memory accessed through retrieval at inference time. [1]","Retrieval-augmented generation is a technique for enhancing the accuracy and reliability of generative AI models with information fetched from specific and relevant data sources. [2]"],"sources":[{"id":1,"type":"encyclopedia","provider":"wikipedia","title":"Retrieval-augmented generation","url":"https://en.wikipedia.org/wiki/Retrieval-augmented_generation","snippet":"Retrieval-augmented generation (RAG) is a technique that enables large language models to retrieve and incorporate new information...","publishedAt":"2026-09-20T10:00:00Z"}],"sourceCount":3,"providers":["wikipedia","hackernews"],"method":"extractive","depth":"standard","lang":"en","latencyMs":1450,"generatedAt":"2026-10-03T18:00:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/read":{"get":{"operationId":"readPage","summary":"Web page to clean markdown","description":"URL to markdown: read any public web page as clean, LLM-ready markdown. Use when an agent has a URL (article, docs, blog, product page) and needs its text without HTML, scripts or nav clutter. Pass url (https). Returns title, description, publish date, markdown, word count, headings and links. 0.005 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Web"],"parameters":[{"name":"url","in":"query","required":true,"description":"Public https URL","schema":{"type":"string","format":"uri"}},{"name":"maxChars","in":"query","required":false,"description":"Max markdown chars (default 20000)","schema":{"type":"integer","minimum":1000,"maximum":100000}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"Page content","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"integer"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"publishedAt":{"type":["string","null"]},"markdown":{"type":"string"},"wordCount":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object"}},"links":{"type":"array","items":{"type":"object"}},"fetchedAt":{"type":"string"}},"required":["url","markdown"]},"example":{"url":"https://example.com/blog/post","finalUrl":"https://example.com/blog/post","status":200,"contentType":"text/html; charset=utf-8","title":"Example post title","description":"Meta description of the page.","lang":"en","publishedAt":"2026-09-30T12:00:00Z","markdown":"# Example post title\n\nFirst paragraph of the article as clean markdown with [links](https://example.com/x).","wordCount":812,"truncated":false,"headings":[{"level":1,"text":"Example post title"}],"links":[{"text":"links","url":"https://example.com/x"}],"fetchMs":420,"fetchedAt":"2026-10-03T18:00:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/check":{"get":{"operationId":"checkX402Endpoint","summary":"x402 endpoint readiness + Bazaar ranking check","description":"x402 endpoint readiness and Bazaar ranking check. Use before paying for or listing an x402 API. Makes one unpaid probe (never pays the target) and grades the 402 challenge: PAYMENT-REQUIRED header, accepts, amount, payTo, network, description, mimeType, serviceName, tags, bazaar schemas and examples, latency. Returns a score and fixes. 0.005 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Developer"],"parameters":[{"name":"url","in":"query","required":true,"description":"x402 endpoint URL","schema":{"type":"string","format":"uri"}},{"name":"method","in":"query","required":false,"description":"Probe method","schema":{"type":"string","enum":["GET","POST"]}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"Score and fixes","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string"},"score":{"type":"integer","minimum":0,"maximum":100},"passed":{"type":"integer"},"total":{"type":"integer"},"indexable":{"type":"boolean"},"priceUsdIfUsdc":{"type":["number","null"]},"network":{"type":["string","null"]},"latencyMs":{"type":"integer"},"checks":{"type":"array","items":{"type":"object"}},"fixes":{"type":"array","items":{"type":"string"}},"checkedAt":{"type":"string"}},"required":["target","score","checks","fixes"]},"example":{"target":"https://api.example.com/paid","method":"GET","score":82,"passed":14,"total":17,"indexable":true,"priceUsdIfUsdc":0.01,"network":"eip155:8453","latencyMs":180,"checks":[{"id":"status_402","pass":true,"severity":"required","detail":"HTTP 402 (unpaid probe must return 402)"}],"fixes":["tags_set: missing (resource.tags, up to 5)"],"checkedAt":"2026-10-03T18:00:00.000Z","note":"One unpaid probe; this service never pays the target."}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/news":{"get":{"operationId":"newsSearch","summary":"Recent news headlines on a topic","description":"News search: recent headlines on any topic from 1,000s of outlets. Use when an agent needs what happened in the last 1-7 days. Pass q (keywords). Returns deduplicated headlines with outlet, link, publish time and match score, from the GDELT global news index, major-outlet feeds and Hacker News. 0.005 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["News"],"parameters":[{"name":"q","in":"query","required":true,"description":"Keywords","schema":{"type":"string","minLength":2,"maxLength":200}},{"name":"hours","in":"query","required":false,"description":"Look-back window in hours (default 72)","schema":{"type":"integer","minimum":1,"maximum":168}},{"name":"limit","in":"query","required":false,"description":"Max articles (default 10)","schema":{"type":"integer","minimum":1,"maximum":25}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"Headlines","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"terms":{"type":"array","items":{"type":"string"}},"hours":{"type":"integer"},"count":{"type":"integer"},"articles":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"source":{"type":"string","description":"Outlet or domain"},"publishedAt":{"type":["string","null"]},"provider":{"type":"string","enum":["gdelt","hackernews","rss"]},"score":{"type":"number","description":"0-1 keyword match (IDF-weighted)"},"partialMatch":{"type":"boolean","description":"true if not every keyword matched"}},"required":["title","url","source"]}},"outlets":{"type":"array","items":{"type":"string"}},"providers":{"type":"array","items":{"type":"string"}},"providerStatus":{"type":"object"},"latencyMs":{"type":"integer"},"generatedAt":{"type":"string"}},"required":["query","count","articles"]},"example":{"query":"bitcoin ETF","terms":["bitcoin","etf"],"hours":72,"count":2,"articles":[{"title":"Bitcoin ETFs kick off 'Uptober' with $103M inflow","url":"https://cointelegraph.com/news/example","source":"Cointelegraph","publishedAt":"2026-10-02T08:20:00.000Z","provider":"rss","score":1},{"title":"Spot bitcoin ETFs log $2.7 billion in September inflows","url":"https://www.theblock.co/post/example","source":"The Block","publishedAt":"2026-10-02T05:50:00.000Z","provider":"rss","score":1}],"outlets":["Cointelegraph","The Block"],"providers":["rss"],"providerStatus":{"gdelt":"ok","hackernews":0,"rssFeeds":"25/26"},"note":"Headlines and links only; open the url (or use /read) for full text.","latencyMs":410,"generatedAt":"2026-10-03T18:00:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/price":{"get":{"operationId":"tokenPrice","summary":"Token price + 24h change, read onchain (EVM Uniswap v3, Solana DEXs)","description":"Token price: live USD price + 24h change for a crypto token, read onchain (Uniswap v3 on Ethereum/Base/Arbitrum/Polygon; Orca, Raydium, PumpSwap on Solana). Pass token (ETH, BTC, SOL, PEPE... or contract/mint address), optional chain. Returns price, 24h change, pools, depth, spread, confidence, block. 0.002 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Crypto"],"parameters":[{"name":"token","in":"query","required":true,"description":"Symbol, ERC-20 address or Solana mint","schema":{"type":"string","minLength":1,"maxLength":44}},{"name":"chain","in":"query","required":false,"description":"Chain for an address (default ethereum; mints use solana)","schema":{"type":"string","enum":["ethereum","base","arbitrum","polygon","solana"]}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"Price with pool evidence","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"object","properties":{"symbol":{"type":["string","null"]},"name":{"type":["string","null"]},"address":{"type":"string"},"decimals":{"type":"integer"},"chain":{"type":"string"}}},"priceUsd":{"type":"number"},"change24hPct":{"type":["number","null"],"description":"% change vs ~24 h ago (EVM: pool oracle or archive node; null on Solana)"},"priceUsd24hAgo":{"type":"number"},"confidence":{"type":"string","enum":["high","medium","low"]},"poolSpreadPct":{"type":"number"},"totalDepthUsd":{"type":"number"},"pools":{"type":"array","items":{"type":"object"}},"block":{"type":"object","properties":{"number":{"type":"integer"},"timestamp":{"type":"string"}}},"method":{"type":"string"},"generatedAt":{"type":"string"}},"required":["token","priceUsd","pools","block"]},"example":{"token":{"symbol":"WETH","name":"Wrapped Ether","address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","decimals":18,"chain":"ethereum"},"priceUsd":2690.6431,"change24hPct":1.45,"priceUsd24hAgo":2652.18,"change24h":{"pool":"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640","at":"2026-10-02T18:00:11.000Z","method":"archive slot0 at block 26116021"},"confidence":"high","poolSpreadPct":0.54,"totalDepthUsd":330722389,"pools":[{"dex":"uniswap-v3","pool":"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640","feeTier":500,"quote":"USDC","priceUsd":2690.12,"depthUsd":120000000,"explorer":"https://etherscan.io/address/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640"}],"block":{"number":23500000,"timestamp":"2026-10-03T18:00:00.000Z"},"method":"Uniswap v3 spot price (slot0) from public RPC; depth-weighted across pools within 3% of the deepest; USDC/USDT treated as $1","note":"priced as WETH","cached":false,"latencyMs":470,"generatedAt":"2026-10-03T18:00:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/solana-price":{"get":{"operationId":"solanaTokenPrice","summary":"Solana token price by symbol or mint (Orca, Raydium, PumpSwap, pump.fun)","description":"Solana token price: live USD price of any SPL token by symbol or mint, read onchain from Orca Whirlpool, Raydium CLMM, PumpSwap and pump.fun bonding curves (no third-party API). Pass token (SOL, JUP, BONK, WIF... or mint). Returns price, pools with depth, spread, confidence, slot. 0.002 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Crypto"],"parameters":[{"name":"token","in":"query","required":true,"description":"Symbol (SOL, JUP, BONK...) or SPL mint address","schema":{"type":"string","minLength":1,"maxLength":44}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"Price with pool evidence","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"object","properties":{"symbol":{"type":["string","null"]},"name":{"type":["string","null"]},"mint":{"type":"string"},"decimals":{"type":"integer"},"chain":{"type":"string"}}},"priceUsd":{"type":"number"},"confidence":{"type":"string","enum":["high","medium","low"]},"thinLiquidity":{"type":"boolean"},"poolSpreadPct":{"type":"number"},"totalDepthUsd":{"type":"number"},"pools":{"type":"array","items":{"type":"object"}},"solUsd":{"type":"number"},"slot":{"type":"integer"},"generatedAt":{"type":"string"}},"required":["token","priceUsd","pools","slot"]},"example":{"token":{"symbol":"JUP","name":"Jupiter","mint":"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","decimals":6,"chain":"solana"},"priceUsd":0.331471,"confidence":"medium","poolSpreadPct":0.49,"outlierPools":0,"totalDepthUsd":814354,"pools":[{"dex":"orca-whirlpool","pool":"C1MgLojNLWBKADvu9BHdtgzz1oZX4dZ5zGdGcgvvW8Wz","quote":"SOL","priceUsd":0.33162,"depthUsd":512000,"explorer":"https://solscan.io/account/C1MgLojNLWBKADvu9BHdtgzz1oZX4dZ5zGdGcgvvW8Wz"}],"change24hPct":null,"solUsd":121.2119,"slot":453447029,"method":"Orca Whirlpool + Raydium CLMM sqrt_price, PumpSwap reserves and pump.fun bonding curves read from public Solana RPC","cached":false,"latencyMs":440,"generatedAt":"2026-10-05T02:30:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/balance":{"get":{"operationId":"walletBalance","summary":"Wallet balances with USD values (EVM chains or Solana)","description":"Wallet balance: native coin + token balances with USD values for any wallet, read live onchain. EVM (Ethereum, Base, Arbitrum, Polygon in one call; ENS names work) or Solana (SOL + SPL tokens). Pass address, optional chain and tokens. Returns per-chain balances, prices and total USD. 0.003 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Crypto"],"parameters":[{"name":"address","in":"query","required":true,"description":"0x address, ENS name or Solana address","schema":{"type":"string","minLength":3,"maxLength":64}},{"name":"chain","in":"query","required":false,"description":"Default all EVM chains","schema":{"type":"string","enum":["all","ethereum","base","arbitrum","polygon","solana"]}},{"name":"tokens","in":"query","required":false,"description":"Extra token contracts or mints, comma-separated (max 20)","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003"}},"responses":{"200":{"description":"Balances","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"ens":{"type":"string"},"chains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"native":{"type":"object"},"tokens":{"type":"array","items":{"type":"object"}},"totalUsd":{"type":"number"}}}},"totalUsd":{"type":"number"},"generatedAt":{"type":"string"}},"required":["address","chains","totalUsd"]},"example":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","ens":"vitalik.eth","chains":[{"chain":"ethereum","block":26123221,"native":{"symbol":"ETH","balance":5.749318263,"priceUsd":2731.4,"usd":15703.67},"tokens":[{"symbol":"WETH","address":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","balance":1.465109425,"priceUsd":2731.4,"usd":4001.8}],"totalUsd":20072.13}],"totalUsd":33703.46,"generatedAt":"2026-10-05T02:30:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/tx":{"get":{"operationId":"transactionLookup","summary":"Transaction status + decoded token transfers (EVM or Solana)","description":"Transaction lookup: status and decoded details for any tx hash or Solana signature, read onchain. EVM (auto-detects Ethereum, Base, Arbitrum, Polygon): success/reverted, block time, from/to, method, fee in USD, every token transfer decoded; flags x402/EIP-3009 USDC payments. Solana: status, fee, SOL + token balance changes. 0.003 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Crypto"],"parameters":[{"name":"hash","in":"query","required":true,"description":"0x tx hash or Solana signature","schema":{"type":"string","minLength":64,"maxLength":90}},{"name":"chain","in":"query","required":false,"description":"Optional; auto-detected","schema":{"type":"string","enum":["ethereum","base","arbitrum","polygon","solana"]}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003"}},"responses":{"200":{"description":"Transaction","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"status":{"type":"string","enum":["success","reverted","failed","pending"]},"timestamp":{"type":["string","null"]},"from":{"type":"string"},"to":{"type":["string","null"]},"method":{"type":"object"},"fee":{"type":"object"},"tokenTransfers":{"type":"array","items":{"type":"object"}},"tokenChanges":{"type":"array","items":{"type":"object"}},"explorer":{"type":"string"}},"required":["chain","status","explorer"]},"example":{"chain":"base","status":"success","hash":"0xa565aff51f0109d9a9c9028faa45338b3ebab49543fc25457e82326664ca8c52","blockNumber":52088549,"timestamp":"2026-10-02T18:40:45.000Z","from":"0x8F5cB67B49555E614892b7233CFdDEBFB746E531","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","method":{"selector":"0xe3ee160e","name":"transferWithAuthorization (EIP-3009, used by x402 USDC payments)"},"fee":{"amount":6.346e-7,"symbol":"ETH","usd":0.0017},"tokenTransfers":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","standard":"erc20","from":"0x4C29Ec4F680CA88d0019edBfe3A8FF5c80499494","to":"0x079471E6F43b6feeF80895E19cBFcBB496904852","amount":0.01}],"explorer":"https://basescan.org/tx/0xa565aff51f0109d9a9c9028faa45338b3ebab49543fc25457e82326664ca8c52"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}},"/gas":{"get":{"operationId":"gasPrice","summary":"Live gas / priority fees with USD cost per transaction type","description":"Gas price tracker: live gas and priority fees for Ethereum, Base, Arbitrum, Polygon and Solana in one call, from public nodes. Returns base fee, slow/standard/fast tips, max fee, block congestion, and the USD cost of a transfer, an ERC-20 transfer and a swap, plus the cheapest chain. Optional chain. 0.002 USDC (Base/Polygon/Arbitrum/Solana/Avalanche/Sei). Errors are never charged: 400 bad input, 422 nothing found or target unreachable, 503 busy.","tags":["Crypto"],"parameters":[{"name":"chain","in":"query","required":false,"description":"Default all","schema":{"type":"string","enum":["all","ethereum","base","arbitrum","polygon","solana"]}}],"x-payment-info":{"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"787RZwDGpjmRsG5wgnyBeWQHBuARax8Qo6P7dmDuqKeW"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:43114","asset":"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}},{"x402":{"version":2,"scheme":"exact","network":"eip155:1329","asset":"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392","payTo":"0x079471E6F43b6feeF80895E19cBFcBB496904852"}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"Fees","content":{"application/json":{"schema":{"type":"object","properties":{"chains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"baseFeeGwei":{"type":"number"},"priorityFeeGwei":{"type":"object"},"costStandard":{"type":"object"}}}},"cheapestEvmForErc20Transfer":{"type":["string","null"]},"generatedAt":{"type":"string"}},"required":["chains"]},"example":{"chains":[{"chain":"ethereum","block":26123258,"baseFeeGwei":0.0714,"priorityFeeGwei":{"slow":0.00001,"standard":0.0109,"fast":1},"nativeUsd":2732.59,"costStandard":{"nativeTransfer":{"native":0.0000017,"usd":0.0047},"erc20Transfer":{"native":0.0000054,"usd":0.0146},"swap":{"native":0.0000148,"usd":0.0405}}},{"chain":"solana","slot":453448050,"baseFeeLamportsPerSignature":5000,"priorityFeeMicroLamportsPerCu":{"slow":0,"standard":796,"fast":2936},"nativeUsd":121.4}],"cheapestEvmForErc20Transfer":"base","generatedAt":"2026-10-05T02:30:00.000Z"}}}},"400":{"description":"Missing or invalid input (not charged)"},"402":{"description":"Payment required: x402 v2 challenge in PAYMENT-REQUIRED header"},"422":{"description":"Nothing usable found / target unreachable (not charged)"},"503":{"description":"Temporarily unavailable (not charged)"}}}}}}