{"service":"x402 web tools","network":"eip155:8453","mode":"cdp","pay_to":"0x2d3af92Df6129878509F152E531E1beC2b34C423","networks":[{"network":"eip155:8453","pay_to":"0x2d3af92Df6129878509F152E531E1beC2b34C423"},{"network":"eip155:137","pay_to":"0x2d3af92Df6129878509F152E531E1beC2b34C423"},{"network":"eip155:42161","pay_to":"0x2d3af92Df6129878509F152E531E1beC2b34C423"},{"network":"eip155:480","pay_to":"0x2d3af92Df6129878509F152E531E1beC2b34C423"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","pay_to":"AytHnvc6bZx1ALTy7b5Px7hcavoSYszG9aeKvDcZ8R1u"}],"endpoints":{"GET /extract":{"price":"$0.002","method":"GET","query":{"url":"str (e.g. https://example.com/article)","render":"bool"},"description":"Fetch a public URL and return clean markdown/text + metadata (trafilatura).","tags":["web","scraping","markdown","extract"]},"GET /search":{"price":"$0.001","method":"GET","query":{"query":"str (e.g. x402 protocol)","max_results":"int"},"description":"Free-text web search, returns title/url/snippet list (DuckDuckGo).","tags":["web","search","data"]},"GET /price":{"price":"$0.01","method":"GET","query":{"token":"str (e.g. ETH)"},"description":"On-chain USD spot price of a token from Chainlink feeds or the most-liquid Base DEX pool (computed from public chain state).","tags":["crypto","price","onchain","chainlink","dex","base","market-data"]},"GET /gas":{"price":"$0.005","method":"GET","query":{},"description":"Current Base L2 gas price (gwei) read from chain state (eth_gasPrice).","tags":["crypto","gas","onchain","base","market-data"]},"GET /market/report":{"price":"$0.05","method":"GET","query":{"token":"str (e.g. ETH)"},"description":"Rich cross-source market report: Chainlink + DEX pools, TVL-weighted VWAP, total pool TVL, recent change & volatility — all computed by us from on-chain state.","tags":["crypto","market-data","onchain","vwap","tvl","volatility","base"]},"GET /token/meta":{"price":"$0.005","method":"GET","query":{"token":"str (e.g. 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)","network":"str (e.g. base)"},"description":"ERC-20 token metadata on Base, Ethereum, Arbitrum, Optimism, Polygon or BNB (default Base): name, symbol, decimals and totalSupply (raw + human), read live from contract state by address.","tags":["crypto","onchain","base","ethereum","multichain","erc20","token","metadata"]},"GET /wallet/balances":{"price":"$0.005","method":"GET","query":{"address":"str (e.g. 0x2d3af92Df6129878509F152E531E1beC2b34C423)","tokens":"list","usd":"bool","network":"str (e.g. base)"},"description":"Native-coin balance + ERC-20 token balances (raw + human) for any address on Base, Ethereum, Arbitrum, Optimism, Polygon or BNB (default Base). On Base pass token symbols or 0x addresses (or a default common set); on other networks pass explicit 0x token addresses.","tags":["crypto","onchain","base","ethereum","multichain","wallet","balances","erc20","portfolio"]},"GET /code":{"price":"$0.003","method":"GET","query":{"address":"str (e.g. 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)","network":"str (e.g. base)"},"description":"Is an address a contract or an EOA on Base, Ethereum, Arbitrum, Optimism, Polygon or BNB (default Base)? Returns is_contract, deployed code size in bytes, and the keccak256 code hash (eth_getCode).","tags":["crypto","onchain","base","ethereum","multichain","contract","bytecode","eoa"]},"GET /tx":{"price":"$0.01","method":"GET","query":{"hash":"str (e.g. 0x0000000000000000000000000000000000000000000000000000000000000000)","network":"str (e.g. base)"},"description":"Look up a transaction by hash on Base, Ethereum, Arbitrum, Optimism, Polygon or BNB (default Base): from/to/value/nonce/gas, block, and receipt fields (status, gasUsed, logs count). Pending/not-found handled.","tags":["crypto","onchain","base","ethereum","multichain","transaction","receipt","explorer"]},"GET /resolve":{"price":"$0.005","method":"GET","query":{"name":"str (e.g. jesse.base.eth)"},"description":"Basename/ENS resolution on Base: forward name->address (give 'name') or reverse address->name (give 'address', forward-verified against spoofing).","tags":["crypto","onchain","base","identity","basename","ens","resolve"]},"POST /crypto/verify":{"price":"$0.003","method":"POST","body":{"scheme":"str (e.g. eip191)","message":"str (e.g. Hello, Ethereum!)","signature":"str (e.g. 0x<65-byte-hex-signature>)","expected_signer":"str (e.g. 0x52908400098527886E0F7030069857D2E4169EE7)"},"description":"Verify an EIP-191 personal_sign or EIP-712 typed-data signature and recover the signer address from public inputs (message + signature). Verification/recovery only — never signs.","tags":["crypto","signature","eip712","eip191","verify","ecrecover","onchain"]},"POST /crypto/abi":{"price":"$0.003","method":"POST","body":{"op":"str (e.g. encode_call)","signature":"str (e.g. transfer(address,uint256))","args":"list"},"description":"ABI-encode a function call (selector + args) or encode/decode arbitrary ABI types — build and parse EVM calldata correctly.","tags":["crypto","abi","encode","decode","calldata","ethereum"]},"GET /crypto/hash":{"price":"$0.001","method":"GET","query":{"algo":"str (e.g. selector)","input":"str (e.g. transfer(address,uint256))"},"description":"Compute keccak256/sha256, a 4-byte function selector, an event topic0, or an ENS namehash/labelhash from a string or hex input.","tags":["crypto","keccak256","sha256","selector","namehash","ens","hash"]},"GET /crypto/convert":{"price":"$0.001","method":"GET","query":{"op":"str (e.g. units)","value":"str (e.g. 1.5)","from":"str (e.g. ether)","to":"str (e.g. gwei)"},"description":"Convert token units (wei/gwei/ether or arbitrary decimals), between hex and int, and compute/validate an EIP-55 checksummed address.","tags":["crypto","units","wei","gwei","ether","decimals","eip55","checksum","convert"]},"POST /convert":{"price":"$0.001","method":"POST","body":{"data":"str (e.g. {\"a\":1,\"b\":2})","from":"str (e.g. json)","to":"str (e.g. yaml)"},"description":"Pure-compute data format conversion (no network): JSON<->CSV, JSON<->YAML, JSON normalize/minify, Markdown->HTML (sanitized), HTML->Markdown/text, base64/hex, TOML->JSON. Operates only on the supplied data.","tags":["convert","transform","json","csv","yaml","markdown","html","base64","data","compute"]},"GET /structured":{"price":"$0.003","method":"GET","query":{"url":"str (e.g. https://example.com/article)","include":"list"},"description":"Structured parse of a public web page: main text, headings, links, tables and rich metadata (description, canonical, lang, Open Graph, Twitter cards, JSON-LD) as separate fields. Browserless, robots.txt-respecting.","tags":["web","scraping","structured","metadata","opengraph","json-ld","headings","tables","links","html"]},"GET /feed":{"price":"$0.002","method":"GET","query":{"url":"str (e.g. https://news.ycombinator.com/rss)","max_items":"int"},"description":"Parse an RSS, Atom or JSON Feed URL into a normalized item list (title/link/published/summary/id/author) plus feed-level metadata.","tags":["web","feed","rss","atom","json-feed","syndication","news"]},"GET /links":{"price":"$0.002","method":"GET","query":{"url":"str (e.g. https://example.com)","same_host_only":"bool"},"description":"Extract every link from a public page for crawling agents: de-duplicated absolute URLs with anchor text, internal/external counts, declared feeds and a sitemap hint.","tags":["web","links","crawl","scraping","sitemap","feed","discovery"]},"GET /sitemap":{"price":"$0.003","method":"GET","query":{"url":"str (e.g. https://example.com)"},"description":"Discover and parse a site's sitemap: pass a site root (found via robots.txt or /sitemap.xml) or a direct .xml. Returns URLs with lastmod/priority; handles <sitemapindex> (one level).","tags":["web","sitemap","crawl","discovery","seo","urls"]},"GET /dex/swaps":{"price":"$0.01","method":"GET","query":{"token":"str (e.g. WETH)","window":"str (e.g. 1h)","limit":"int"},"description":"Recent DEX swap history + buy/sell flow for a token or pool on Base: per-swap trader/side/amount/price plus a summary (count, buy/sell volume, net flow, largest swaps), decoded by us from public Aerodrome/Uniswap-V3 Swap event logs.","tags":["defi","dex","swaps","flow","onchain","base","aerodrome","uniswap","volume","trading"]},"GET /dex/trending":{"price":"$0.05","method":"GET","query":{"window":"str (e.g. 30m)","limit":"int"},"description":"Trending Base DEX pools ranked by recent swap volume and net buy/sell flow over a short window, computed by us from public Aerodrome/Uniswap-V3 Swap event logs.","tags":["defi","trending","dex","volume","momentum","onchain","base","movers"]},"GET /enrich/domain":{"price":"$0.015","method":"GET","query":{"domain":"str (e.g. stripe.com)","include":"list"},"description":"Enrich a domain / company / email into one aggregated profile from public sources: registration (RDAP/WHOIS age, registrar, expiry, nameservers), DNS (A/AAAA/MX/NS, SPF, DMARC), TLS certificate (issuer, validity, expiry), homepage metadata (title, description, Open Graph, JSON-LD Organization, social links, role contacts) and a tech-stack detection. Each block is null-on-failure (partial, never 500). Business/domain data only — no personal data of individuals.","tags":["enrichment","domain","company","whois","rdap","dns","ssl","tls","tech-stack","metadata","data","company-data","lead-enrichment"]},"GET /enrich/email":{"price":"$0.005","method":"GET","query":{"email":"str (e.g. support@stripe.com)"},"description":"Validate and classify an email DOMAIN from public DNS: MX hosts + mail-provider, SPF and DMARC policy, plus disposable / free-webmail / role-account flags and a deliverability signal. No SMTP probing of individual mailboxes (privacy + ToS).","tags":["enrichment","email","validation","mx","spf","dmarc","deliverability","disposable","data","email-verification"]},"GET /dev/github":{"price":"$0.005","method":"GET","query":{"repo":"str (e.g. coinbase/x402)"},"description":"GitHub repository health & intelligence for due-diligence / dependency choice: stars, forks, open issues, watchers, size, language, topics, license, archived/fork flags, and computed signals (days_since_push, age, issues_per_star, is_active). From the official GitHub REST API, normalized.","tags":["dev","github","oss","repository","stars","due-diligence","competitive-analysis","open-source","health"]},"GET /dev/package":{"price":"$0.005","method":"GET","query":{"ecosystem":"str (e.g. npm)","name":"str (e.g. react)"},"description":"Package intelligence across npm / PyPI / crates: latest version, age, release cadence, deprecation/yank, license, and download stats (last day/week/month) with a rising/falling trend. Aggregates the official registry + downloads API + deps.dev.","tags":["dev","package","npm","pypi","crates","downloads","dependencies","due-diligence","supply-chain","maintenance","oss"]},"GET /dev/hn":{"price":"$0.003","method":"GET","query":{"query":"str (e.g. x402 protocol)","days":"int"},"description":"Hacker News engagement / dev-sentiment for a project or topic: story count, total & average points and comments, and the top stories (title/url/points/comments/date). From the keyless HN Algolia search API.","tags":["dev","hackernews","hn","sentiment","engagement","buzz","competitive-analysis","social","news"]},"GET /dev/trending":{"price":"$0.005","method":"GET","query":{"language":"str (e.g. rust)","topic":"str (e.g. wasm)","sort":"str (e.g. stars)","limit":"int"},"description":"Top GitHub repositories by language and/or topic (optionally newer than a date), ranked by stars/forks/recently-updated: name, full_name, stars, language, description, url, pushed_at. From the official GitHub Search API.","tags":["dev","github","trending","oss","discovery","competitive-analysis","open-source","topic","language","search"]},"GET /geocode":{"price":"$0.002","method":"GET","query":{"address":"str (e.g. 1600 Pennsylvania Ave NW, Washington, DC)"},"description":"Forward-geocode a street address or place name (WORLDWIDE) to coordinates + parsed address components via OpenStreetMap Nominatim (public, keyless).","tags":["geo","geocode","address","location","osm","global"]},"GET /geocode/reverse":{"price":"$0.002","method":"GET","query":{"lat":"float","lon":"float"},"description":"Reverse-geocode coordinates (WORLDWIDE) to a street address + parsed components via OpenStreetMap Nominatim; enriched with the nearest NWS city/state when the point is in the US.","tags":["geo","geocode","reverse","location","osm","global"]},"GET /weather":{"price":"$0.003","method":"GET","query":{"address":"str (e.g. 233 S Wacker Dr, Chicago, IL)"},"description":"Current US weather conditions (temp in C+F, humidity, wind, pressure, description) from the NWS for coordinates OR a US address (auto-geocoded).","tags":["weather","geo","us","conditions","nws"]},"GET /forecast":{"price":"$0.004","method":"GET","query":{"lat":"float","lon":"float","hourly":"bool","days":"int"},"description":"Normalized US weather forecast periods (NWS) for coordinates OR a US address. Optional hourly resolution and a day limit. Temp in C+F.","tags":["weather","forecast","geo","us","nws"]}}}