{"openapi":"3.1.0","info":{"title":"x402 web tools","version":"1.0"},"paths":{"/donation5":{"get":{"tags":["donation"],"summary":"Tip $5.00 to support the author","description":"Leave a voluntary **$5.00** tip for the author of these agent tools. Pay via x402 (USDC on Base); returns a thank-you message.","operationId":"donation_donation5_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/donation":{"get":{"tags":["donation"],"summary":"Tip $1.00 to support the author","description":"Leave a voluntary **$1.00** tip for the author of these agent tools. Pay via x402 (USDC on Base); returns a thank-you message.","operationId":"donation_donation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/donation001":{"get":{"tags":["donation"],"summary":"Tip $0.01 to support the author","description":"Leave a voluntary **$0.01** tip for the author of these agent tools. The smallest amount -- handy to smoke-test the x402 payment flow end to end. Pay via x402 (USDC on Base); returns a thank-you message.","operationId":"donation_donation001_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["infra"],"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"tags":["infra"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/usage":{"get":{"tags":["infra"],"summary":"Usage","operationId":"usage_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/usage/events":{"get":{"tags":["metadata"],"summary":"Usage Events","operationId":"usage_events_usage_events_get","parameters":[{"name":"since_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Since Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":1000,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/slowlog":{"get":{"tags":["metadata"],"summary":"Slowlog Events","operationId":"slowlog_events_slowlog_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}},{"name":"reason","in":"query","required":false,"schema":{"type":"string","default":"","title":"Reason"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usage/rejected/clear":{"post":{"tags":["metadata"],"summary":"Usage Rejected Clear","operationId":"usage_rejected_clear_usage_rejected_clear_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/x402":{"get":{"tags":["infra"],"summary":"Well Known","operationId":"well_known__well_known_x402_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/x402.json":{"get":{"tags":["infra"],"summary":"Well Known Json","operationId":"well_known_json__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/402index-verify.txt":{"get":{"tags":["infra"],"summary":"Index402 Verify","operationId":"index402_verify__well_known_402index_verify_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"tags":["infra"],"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/extract":{"get":{"tags":["paid"],"summary":"Fetch a public URL and return clean markdown/text + metadata (trafilatura).","description":"Extract the readable main content of any public web page as clean markdown or plain text plus metadata (title). Robots.txt-respecting, public content only.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"extract_extract_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"title":"...","content":"# Clean markdown...","format":"markdown"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public http(s) URL to extract"},{"name":"render","in":"query","required":false,"schema":{"type":"boolean"},"description":"Render JS via headless browser"},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["markdown","text"]}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/search":{"get":{"tags":["paid"],"summary":"Free-text web search, returns title/url/snippet list (DuckDuckGo).","description":"Free-text web search returning a ranked list of title/url/snippet results. The default backend is a multi-engine auto-fusion across Brave, DuckDuckGo, Google, Wikipedia, Yandex and more (deduped by URL + ranked) — not a single engine. Optional filters: a `timelimit` freshness/time filter (past day/week/month/year, for fresh results), a `region` locale, a `safesearch` level, and an explicit `backend` engine pin (or CSV) to override the multi-engine default.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"search_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":5,"results":[{"title":"...","url":"..."}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20}},{"name":"timelimit","in":"query","required":false,"schema":{"type":"string","enum":["d","w","m","y"]},"description":"Freshness/time filter: past day/week/month/year"},{"name":"region","in":"query","required":false,"schema":{"type":"string"},"description":"Locale like 'us-en', 'uk-en', 'de-de' (default us-en)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","enum":["on","moderate","off"]},"description":"SafeSearch level (default moderate)"},{"name":"backend","in":"query","required":false,"schema":{"type":"string"},"description":"auto (default multi-engine fusion) or a specific engine: brave/duckduckgo/google/mojeek/startpage/wikipedia/yahoo/yandex, or a CSV of them"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/search/news":{"get":{"tags":["paid"],"summary":"Keyword news search across web news engines (Bing/DuckDuckGo/Yahoo via ddgs). Returns dated headlines with title/url/snippet/source/image + freshness/region/safesearch filters.","description":"General-purpose keyword news search: dated headlines from across web news engines (Bing, DuckDuckGo, Yahoo via ddgs), each item with title, url, snippet, publication date, source name and a thumbnail image. Covers news/latest/headlines/breaking/current-events queries on ANY topic (not only crypto), a distinct discovery surface from keyword web search. Optional freshness (`timelimit` day/week/month/year), `region` locale, `safesearch` level, and explicit news-`backend` pin. An empty or upstream-blocked result returns a valid 200 with count:0 (never a 500).\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"search_news_search_news_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"...","count":5,"results":[{"title":"...","url":"https://...","snippet":"...","date":"2026-07-16T...","source":"CryptoSlate","image":"https://..."}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20}},{"name":"timelimit","in":"query","required":false,"schema":{"type":"string","enum":["d","w","m","y"]},"description":"Freshness/time filter: past day/week/month/year"},{"name":"region","in":"query","required":false,"schema":{"type":"string"},"description":"Locale like 'us-en', 'uk-en', 'de-de' (default us-en)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","enum":["on","moderate","off"]},"description":"SafeSearch level (default moderate)"},{"name":"backend","in":"query","required":false,"schema":{"type":"string"},"description":"auto (default multi-engine) or a specific news engine: bing/duckduckgo/yahoo, or a CSV of them"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/price":{"get":{"tags":["paid"],"summary":"On-chain USD spot price for 50+ assets from Chainlink feeds or the most-liquid Base DEX pool (computed from public chain state): crypto majors, stablecoins, Base-native tokens, forex currencies and precious metals.","description":"USD spot price of an asset computed by us from Base mainnet state: a Chainlink USD price feed when available, otherwise the most-liquid Base DEX pool. Covers 50+ assets — crypto majors (ETH, BTC, SOL, BNB, AVAX, XRP, DOGE, and more), BTC and ETH variants (CBBTC, WBTC, LBTC, TBTC, CBETH), stablecoins for peg-watch (USDT, USDC, USDe, USDS, GHO, RLUSD, EURC), Base-native tokens (AERO, DEGEN, PEPE, VIRTUAL, TRUMP), forex currencies (EUR, GBP, CHF, CAD, AUD, and more) and precious metals (XAU gold, XAG silver). New assets are added as data rows, never new code.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"price_price_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"token":"ETH","price_usd":1706.69,"source":"chainlink","block":47547637,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"Symbol to price. Crypto e.g. ETH, BTC, SOL, XRP, DEGEN. Stablecoin e.g. USDT, USDC, USDe. Forex e.g. EUR, GBP, JPY. Metal e.g. XAU (gold), XAG (silver)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/gas":{"get":{"tags":["paid"],"summary":"Current Base L2 gas price (gwei) read from chain state (eth_gasPrice).","description":"Current Base L2 gas price in gwei and wei, read live from chain state.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"gas_gas_get","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"gas_price_gwei":0.006,"gas_price_wei":6000000,"block":47547636,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/market/report":{"get":{"tags":["paid"],"summary":"Rich cross-source market report for 50+ assets (crypto, stablecoins, forex, metals): Chainlink + DEX pools, TVL-weighted VWAP, total pool TVL, recent change and volatility — all computed by us from on-chain state.","description":"Cross-source market report for a token: Chainlink reference price plus DEX pools, TVL-weighted VWAP, total pool TVL, cross-source spread, recent change and volatility — fully computed by us from public Base on-chain state, no third-party API.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"market_report_market_report_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"token":"ETH","reference_price_usd":1706.69,"aggregate":{"dex_vwap_usd":1706.11,"total_dex_tvl_usd":17002165.56,"num_sources":3},"recent":{"change_pct":0.08,"volatility_pct":0.21},"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"Symbol, e.g. ETH, BTC, SOL, USDT, EUR, XAU. Assets without a DEX pool return a valid Chainlink-only report."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/token/meta":{"get":{"tags":["paid"],"summary":"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.","description":"Resolve an ERC-20 contract on Base to its name, symbol, decimals and totalSupply (both raw integer and human-scaled), read directly from on-chain state. Handles bytes32-style name/symbol tokens. EOA/non-contract -> 404; non-ERC-20 -> 400.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"token_meta_token_meta_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","name":"USD Coin","symbol":"USDC","decimals":6,"total_supply_raw":"...","total_supply":1234567.89,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 contract address (0x..)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network to read from (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/wallet/balances":{"get":{"tags":["paid"],"summary":"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.","description":"Portfolio snapshot of an address on any supported EVM network: native-coin balance plus ERC-20 balances, each as raw integer and human-scaled value. On Base you may use token symbols and a default set, with optional best-effort USD valuation via our on-chain price feed; on Ethereum/Arbitrum/Optimism/Polygon/BNB pass explicit 0x token addresses (symbol map and USD valuation are Base-only).\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"wallet_balances_wallet_balances_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0x2d3af92Df6129878509F152E531E1beC2b34C423","native":{"symbol":"ETH","balance_raw":"...","balance":0.12},"tokens":[{"token":"USDC","balance_raw":"...","balance":42.5}],"network":"base","chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Wallet address (0x..)"},{"name":"tokens","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Base: token symbols or 0x addresses (default common set, max 25). Other networks: explicit 0x addresses only"},{"name":"usd","in":"query","required":false,"schema":{"type":"boolean"},"description":"Add best-effort USD values (Base only)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network to read from (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/code":{"get":{"tags":["paid"],"summary":"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).","description":"Classify a Base address as a smart contract or an externally-owned account, with the deployed bytecode size and its keccak256 hash — read from eth_getCode.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"code_code_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","is_contract":true,"code_size":1234,"code_hash":"0x...","chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Address (0x..)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network to read from (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/tx":{"get":{"tags":["paid"],"summary":"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.","description":"Fetch a Base transaction and its receipt by hash: sender, recipient, value (wei + ETH), nonce, gas/fees, block number & hash, input size, plus receipt status (1/0 or 'pending'), gas used, effective gas price, created contract and log count. Not-found -> 404.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"tx_tx_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"hash":"0x...","from":"0x...","to":"0x...","value_wei":"0","value_eth":0.0,"block_number":47547637,"status":1,"gas_used":21000,"logs_count":0,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"hash","in":"query","required":true,"schema":{"type":"string"},"description":"Transaction hash (0x..., 32 bytes)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network to read from (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/tx/explain":{"get":{"tags":["paid"],"summary":"Plain-language explanation of an EVM transaction by hash across 12 networks: net token movements per participant (ERC-20, ERC-721, ERC-1155, native, WETH), the operation type (swap, transfer, approve, mint, deploy, wrap, and more), protocol labels, gas in native plus USD, and a readable summary.","description":"Turn any mined EVM transaction into a human-readable narrative from public on-chain state (no account or API key). Decodes every transfer log into NET movements per participant across ERC-20, ERC-721, ERC-1155, native coin and WETH wrap/unwrap; classifies the operation (swap, transfer, receive, approve, mint, burn, deploy, wrap, unwrap, NFT buy/sell, contract call); labels known routers and pools; reconstructs internal native transfers via the public Blockscout explorer where available (keyless RPC exposes no trace, so coverage is stated honestly); prices gas in native and USD; and returns a one-line summary. Deterministic — no LLM. Works on Base, Ethereum, Arbitrum, Optimism, Polygon, BNB, Avalanche, Gnosis, Linea, Scroll, Celo and Mantle.\n\nPrice: $0.012 (USDC on Base, x402).","operationId":"tx_explain_tx_explain_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"tx_hash":"0x71e6…97d2","network":"base","chain":"eip155:8453","status":"success","operation":"swap","summary":"Swapped 100 USDC for 0.0312 WETH via Uniswap V3; gas 0.00002 ETH (~$0.05).","actor":"0x2d3a…C423","counterparty":"0x2626…e481","movements":[{"address":"0x2d3a…C423","is_actor":true,"assets":[{"asset":"0x8335…2913","symbol":"USDC","amount":-100.0,"amount_raw":"-100000000"},{"asset":"0x4200…0006","symbol":"WETH","amount":0.0312,"amount_raw":"31200000000000000"}]}],"protocols":[{"address":"0x2626…e481","name":"Uniswap V3 SwapRouter02"}],"gas":{"gas_used":142000,"fee_native":2.13e-05,"native_symbol":"ETH","fee_usd":0.05},"coverage":{"method":"log-decode","internal_tx":"included","trace":"unavailable-on-keyless-rpc"}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"hash","in":"query","required":true,"schema":{"type":"string"},"description":"Transaction hash (0x + 64 hex characters)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb","avalanche","gnosis","linea","scroll","celo","mantle"]},"description":"EVM network to read from (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012"},"protocols":[{"x402":{}}]}}},"/resolve":{"get":{"tags":["paid"],"summary":"Basename/ENS resolution on Base: forward name->address (give 'name') or reverse address->name (give 'address', forward-verified against spoofing).","description":"Resolve Base names (Basenames, the *.base.eth ENS fork) on-chain: forward lookup (name -> address) via the L2Resolver, or reverse lookup (address -> primary name), which is best-effort and forward-verified (the returned name must resolve back to the queried address). Input is expected normalized/lowercase (no ENSIP-15 in MVP).\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"resolve_name_resolve_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"jesse.base.eth","direction":"forward","name":"jesse.base.eth","address":"0x...","chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Basename/ENS name to resolve (forward)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Address for reverse lookup (->name)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/crypto/verify":{"post":{"tags":["paid"],"summary":"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.","description":"Recover the Ethereum address that produced a signature and (optionally) check it matches an expected signer. Supports EIP-191 personal_sign (plain text or 0x-hex message) and EIP-712 typed structured data (pass the full typed-data object). This is verification/recovery only: it never holds or uses a private key and never signs.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"crypto_verify_crypto_verify_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"scheme":{"type":"string","enum":["eip191","eip712"],"description":"eip191 personal_sign or eip712 typed-data"},"message":{"description":"Plain text / 0x-hex (eip191) OR a full typed-data object with types/domain/primaryType/message (eip712)"},"signature":{"type":"string","description":"0x 65-byte signature"},"expected_signer":{"type":"string","description":"Optional address to compare the recovered signer against"}},"type":"object","required":["scheme","message","signature"]},"example":{"scheme":"eip191","message":"Hello, Ethereum!","signature":"0xb44193cab85bbebd5fd04528a1b54c684418e8c025602174fede446dec814eac0f05db58a6b7b953c1806cecba389686cdebefdfa701c29014b0c486fc5550301c","expected_signer":"0x19E7E376E7C213B7E7e7e46cc70A5dD086DAff2A"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"scheme":"eip191","signer":"0x52908400098527886E0F7030069857D2E4169EE7","matches":true}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/crypto/abi":{"post":{"tags":["paid"],"summary":"ABI-encode a function call (selector + args) or encode/decode arbitrary ABI types — build and parse EVM calldata correctly.","description":"ABI helper. op=encode_call builds calldata for a function: keccak selector + abi-encoded args from a signature like transfer(address,uint256). op=encode abi-encodes a list of types+args to 0x bytes. op=decode parses 0x bytes back into values (bytes returned as 0x-hex, big ints as strings). Tuple/nested types are not supported yet (returns 400). Pure local computation.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"crypto_abi_crypto_abi_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"op":{"type":"string","enum":["encode_call","encode","decode"]},"signature":{"type":"string","description":"Function signature for op=encode_call, e.g. transfer(address,uint256)"},"types":{"items":{"type":"string"},"type":"array","description":"ABI type list for op=encode/decode"},"args":{"type":"array","description":"Argument values for op=encode_call/encode"},"data":{"type":"string","description":"0x calldata/abi bytes for op=decode"}},"type":"object","required":["op"]},"example":{"op":"encode_call","signature":"transfer(address,uint256)","args":["0x52908400098527886E0F7030069857D2E4169EE7","1000000"]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"selector":"0xa9059cbb","calldata":"0xa9059cbb00000000000000000000000052908400098527886e0f7030069857d2e4169ee700000000000000000000000000000000000000000000000000000000000f4240"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/crypto/hash":{"get":{"tags":["paid"],"summary":"Compute keccak256/sha256, a 4-byte function selector, an event topic0, or an ENS namehash/labelhash from a string or hex input.","description":"Hashing utility with a data-driven algorithm registry: keccak256 and sha256 (over a utf8 or hex input), `selector` (4-byte function selector from a signature), `event_topic` (full 32-byte topic0 from an event signature), and ENS `namehash` / `labelhash`. namehash(\"\") is 0x00*32. Pure local computation, no network.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"crypto_hash_crypto_hash_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"algo":"selector","hash":"0xa9059cbb"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"algo","in":"query","required":true,"schema":{"type":"string","enum":["keccak256","sha256","selector","event_topic","namehash","labelhash"]}},{"name":"input","in":"query","required":true,"schema":{"type":"string"},"description":"String / signature / ENS name / 0x-hex"},{"name":"encoding","in":"query","required":false,"schema":{"type":"string","enum":["utf8","hex"]},"description":"How to read `input` for keccak256/sha256 (default utf8)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/crypto/convert":{"get":{"tags":["paid"],"summary":"Convert token units (wei/gwei/ether or arbitrary decimals), between hex and int, and compute/validate an EIP-55 checksummed address.","description":"Conversion utility, all exact integer/Decimal math (no float precision loss). op=units converts an amount between wei/gwei/ether or any integer `decimals` (arbitrary token). op=checksum returns the EIP-55 checksummed form of an address plus a validity flag. op=hex converts between hex and int. Pure local computation.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"crypto_convert_crypto_convert_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"value":"1500000000","from":"ether","to":"gwei"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"op","in":"query","required":true,"schema":{"type":"string","enum":["units","checksum","hex"]}},{"name":"value","in":"query","required":false,"schema":{},"description":"Amount for op=units; integer or 0x hex for op=hex"},{"name":"from","in":"query","required":false,"schema":{},"description":"Source unit for op=units: wei, gwei, ether, or an integer decimals count"},{"name":"to","in":"query","required":false,"schema":{},"description":"Target unit for op=units; for op=hex use int or hex"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Address to checksum/validate (op=checksum)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/convert":{"post":{"tags":["paid"],"summary":"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.","description":"Convert structured/text data between formats by pure local computation (zero network, no keys). Supported pairs: json->csv (Array of objects -> CSV (nested keys dotted, lists as JSON)); csv->json (CSV rows -> array of objects (optional `delimiter`)); json->yaml (JSON -> YAML (safe_dump, unicode preserved)); yaml->json (YAML -> JSON (safe_load only)); json->json (Normalize JSON: pretty / `minify` / `sort_keys` / `indent`); markdown->html (Markdown -> sanitized HTML (scripts/handlers stripped)); html->markdown (HTML -> Markdown); html->text (HTML -> plain text); text->base64 (UTF-8 text -> base64); base64->text (base64 -> UTF-8 text); text->hex (UTF-8 text -> hex); hex->text (hex -> UTF-8 text); toml->json (TOML -> JSON). The request carries the document as the `data` string plus `from`/`to`; optional `options` (e.g. minify/sort_keys/indent for JSON, delimiter for CSV). YAML uses safe_load only and Markdown->HTML output is sanitized (scripts/event handlers/javascript: URIs removed). Malformed input returns 4xx, never 5xx; input is size-capped.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"convert_convert_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"string","description":"The data to convert (the source document as a string)"},"from":{"type":"string","enum":["base64","csv","hex","html","json","markdown","text","toml","yaml"],"description":"Source format"},"to":{"type":"string","enum":["base64","csv","hex","html","json","markdown","text","toml","yaml"],"description":"Target format"},"options":{"type":"object","description":"Per-conversion options, e.g. {minify, sort_keys, indent, delimiter}"}},"type":"object","required":["data","from","to"]},"example":{"data":"{\"a\":1,\"b\":2}","from":"json","to":"yaml"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"from":"json","to":"yaml","result":"a: 1\nb: 2\n","bytes":9}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/structured":{"get":{"tags":["paid"],"summary":"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.","description":"Parse any public web page into structured fields in one call: the readable main text (trafilatura), an ordered heading outline (level+text), de-duplicated absolute links, HTML tables as cell matrices, and a metadata block — meta description, canonical URL, html lang, all Open Graph (og:*) and Twitter-card (twitter:*) tags, and every JSON-LD block parsed to objects. Pass `include` to fetch only some sections. Browserless (no JS render), robots.txt-respecting, public content only.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"structured_structured_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"title":"...","text":"main article text...","headings":[{"level":1,"text":"..."}],"links":[{"text":"...","url":"https://..."}],"tables":[[["h1","h2"],["a","b"]]],"metadata":{"description":"...","canonical":"https://...","lang":"en","open_graph":{"og:title":"..."},"twitter":{"twitter:card":"summary"},"json_ld":[]}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public http(s) URL to parse"},{"name":"include","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["text","headings","links","tables","metadata"]}},"description":"Which sections to return (default: all)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/feed":{"get":{"tags":["paid"],"summary":"Parse an RSS, Atom or JSON Feed URL into a normalized item list (title/link/published/summary/id/author) plus feed-level metadata.","description":"Normalize a syndication feed into clean JSON: RSS 2.0, Atom 1.0 (via feedparser) and JSON Feed (jsonfeed.org) are all supported and returned in one schema — a feed block (title/link/description/updated) and a list of items (title/link/published/summary/id/author), with the detected `format`. Capped at 100 items. A feed that cannot be parsed returns 422.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"feed_feed_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"feed":{"title":"...","link":"https://...","description":"...","updated":"..."},"items":[{"title":"...","link":"https://...","published":"...","summary":"...","id":"...","author":"..."}],"count":20,"format":"rss20"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public RSS/Atom/JSON-feed URL"},{"name":"max_items","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max items to return (default 20, cap 100)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/links":{"get":{"tags":["paid"],"summary":"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.","description":"List all outbound links of a public page for crawler/agent navigation: each <a> as an absolute, de-duplicated URL with its anchor text, split into internal vs external counts (relative to the page host), plus any declared RSS/Atom/JSON feeds (<link rel=alternate>) and a sitemap hint read from robots.txt. `same_host_only` restricts to the page's own host. Capped at 1000 links (`truncated` flags overflow).\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"links_links_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"links":[{"url":"https://example.com/a","text":"A"}],"internal_count":1,"external_count":0,"feeds":["https://example.com/rss.xml"],"sitemap_hint":"https://example.com/sitemap.xml","truncated":false}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public http(s) URL"},{"name":"same_host_only","in":"query","required":false,"schema":{"type":"boolean"},"description":"Keep only links on the same host (default false)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/sitemap":{"get":{"tags":["paid"],"summary":"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).","description":"Find and parse a website's XML sitemap. Given a site root, the sitemap is located via the robots.txt `Sitemap:` directive, falling back to /sitemap.xml; a direct .xml URL is parsed as-is. Returns each URL with optional lastmod and priority, the `source` it was read from, and a `count`. A <sitemapindex> is followed one level (<=5 child sitemaps, <=5000 URLs total; `truncated` flags caps). Nothing found -> 404.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"sitemap_sitemap_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"urls":[{"loc":"https://example.com/","lastmod":"2026-06-01","priority":"1.0"}],"count":1,"source":"https://example.com/sitemap.xml","truncated":false}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Site root URL or a direct sitemap .xml URL"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/dex/swaps":{"get":{"tags":["paid"],"summary":"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.","description":"Swap-level flow analytics for a Base token or DEX pool, computed by us from public on-chain Swap event logs (no third-party API). Give a token symbol (aggregates all its tracked pools) or an explicit `pool` address, plus an optional look-back `window` (30m/1h/6h, capped ~6h). Returns each swap normalized to trader, side (buy/sell), base/quote amounts (human + raw), execution price and USD volume, plus a summary over the whole window: total/buy/sell volume, net flow (buy-sell USD), counts and the largest swaps. Supports Aerodrome (Velo-V2) and Uniswap-V3 pools. Timestamps are exact when the RPC returns them, otherwise estimated from block height (`ts_estimated`). Invalid token/pool -> 400, never 500.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"dex_swaps_dex_swaps_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"pools":[{"pool":"0xd0b5...","dex":"univ3","pair":"WETH/USDC","base":"ETH","quote":"USDC"}],"summary":{"count":42,"total_volume_usd":125000.0,"buy_count":20,"sell_count":22,"buy_volume_usd":60000.0,"sell_volume_usd":65000.0,"net_flow_usd":-5000.0,"window_blocks":1800,"largest_swaps":[]},"swaps":[{"block":47623000,"tx_hash":"0x...","trader":"0x...","side":"sell","amount_base":1.26,"amount_quote":2169.14,"price":1721.54,"volume_usd":2169.14,"ts":1781200000,"ts_estimated":false}],"truncated":false,"block":47623156,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"token","in":"query","required":false,"schema":{"type":"string"},"description":"Base token symbol (e.g. WETH/AERO); aggregates all its tracked pools"},{"name":"pool","in":"query","required":false,"schema":{"type":"string"},"description":"Explicit pool address (0x..) instead of a token symbol"},{"name":"window","in":"query","required":false,"schema":{"type":"string"},"description":"Look-back window, e.g. 30m / 1h / 6h (default 1h, max ~6h)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500},"description":"Max swaps to return (default/cap 500; summary covers the full window)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/dex/trending":{"get":{"tags":["paid"],"summary":"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.","description":"Momentum view of tracked Base DEX pools: over a short look-back `window` (15m/30m/1h, capped ~1h) we fetch each pool's Swap logs and rank pools by total USD volume, also reporting swap count, buy/sell split and net flow (buy-sell USD). Coverage grows by data (more pools in the registry). Computed entirely from public on-chain event logs (Aerodrome + Uniswap-V3), no third-party API resold. Heaviest call — long TTL-cached.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"dex_trending_dex_trending_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"window_blocks":900,"pools_scanned":3,"trending":[{"pool":"0xd0b5...","dex":"univ3","pair":"WETH/USDC","base":"ETH","quote":"USDC","swap_count":320,"buy_count":150,"sell_count":170,"volume_usd":540000.0,"buy_volume_usd":250000.0,"sell_volume_usd":290000.0,"net_flow_usd":-40000.0}],"block":47623156,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"window","in":"query","required":false,"schema":{"type":"string"},"description":"Look-back window, e.g. 15m / 30m / 1h (default 30m, max ~1h)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":6},"description":"Max pools to return, ranked by volume (default all tracked)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/enrich/domain":{"get":{"tags":["paid"],"summary":"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.","description":"One-call enrichment of a domain, company or email-domain aggregated by us from several PUBLIC sources and returned in a single normalized object (1 request instead of 6 different lookups): `registration` from RDAP (domain age, registrar org, expiry, statuses, nameservers — personal registrant data is dropped by an allow-list), `dns` via DNS-over-HTTPS (A/AAAA/MX with mail-provider classification, NS, SPF & DMARC policy), `tls` from a live certificate handshake (subject CN, issuer org, not_before/not_after, days_to_expiry, SAN count, validity), `web` from the homepage (final URL, HTTP status, server, title, description, Open Graph, JSON-LD Organization name/logo/social links, and role-only contact emails of the same domain), and `tech` (a lightweight tech-stack detection from headers + markup). Pass `include` to fetch only some blocks. Each block fails independently to null (a `summary.partial` flag + per-source `errors`); the call never returns 500. NOT a resale of a paid enrichment API — only public data (RDAP, public DoH resolvers, TLS, robots-respecting homepage). Privacy: business/domain metadata only, never personal data of natural persons.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"enrich_domain_enrich_domain_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"stripe.com","queried":["registration","dns","tls","web","tech"],"registration":{"created":"2009-...","age_days":6200,"expires":"2027-...","registrar":"MarkMonitor Inc.","statuses":["client transfer prohibited"],"nameservers":["ns-1.example.net"],"registered":true},"dns":{"resolves":true,"a":["1.2.3.4"],"mx":[{"preference":10,"exchange":"..."}],"has_mail":true,"mail_provider":"Google Workspace","spf":{"present":true,"policy":"-all"},"dmarc":{"present":true,"policy":"reject"}},"tls":{"subject_cn":"stripe.com","issuer":"...","days_to_expiry":70,"san_count":3,"valid":true,"expired":false},"web":{"final_url":"https://stripe.com/","http_status":200,"server":"nginx","title":"Stripe","description":"...","open_graph":{"og:title":"Stripe"},"organization":{"name":"Stripe","logo":"https://...","social":["https://..."]},"contacts":["support@stripe.com"]},"tech":{"technologies":["Nginx","React"],"count":2},"summary":{"sources_ok":5,"sources_requested":5,"partial":false,"errors":{}}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Domain to enrich (e.g. stripe.com)"},{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a URL (its host is used)"},{"name":"email","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: an email (its domain is used)"},{"name":"include","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["registration","dns","tls","web","tech"]}},"description":"Which blocks to collect (default: all)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/enrich/email":{"get":{"tags":["paid"],"summary":"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).","description":"Domain-level email intelligence computed from public DNS only: MX records (with the mail provider classified from MX hostnames — Google Workspace, Microsoft 365, etc.), SPF and DMARC presence + policy, and boolean flags for disposable-domain, free-webmail-provider and role-account (info@/support@/sales@…). A `deliverability_signal` (strong/moderate/weak/undeliverable) is derived from has-MX + SPF + DMARC. We do NOT perform SMTP RCPT probing of specific mailboxes — that targets individuals, is unreliable and often violates ToS; the email's local-part is only matched against role/free lists and is never stored or returned. Public data only, no third-party API resold.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"enrich_email_enrich_email_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"stripe.com","has_mx":true,"mx":[{"preference":10,"exchange":"aspmx.l.google.com"}],"providers":["aspmx.l.google.com"],"mail_provider":"Google Workspace","spf":{"present":true,"policy":"-all"},"dmarc":{"present":true,"policy":"reject"},"is_disposable":false,"is_free_provider":false,"is_role_account":true,"deliverability_signal":"strong"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"email","in":"query","required":false,"schema":{"type":"string"},"description":"Email address (its domain is checked)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: the email domain directly"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/dev/github":{"get":{"tags":["paid"],"summary":"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.","description":"One-call health summary of a public GitHub repository for agents doing competitive analysis or dependency due-diligence. Returns the core stats (stargazers, forks, open issues, watchers/subscribers, repo size, primary language, topics, SPDX license, homepage, default branch, created/updated/pushed timestamps, archived/disabled/fork flags) PLUS signals we compute: days since last push, repo age in days, a rough issues-per-star and forks-per-star ratio, and an `is_active` flag (pushed < 90d and not archived/disabled). Computed from the official GitHub REST API (no scraping); an optional server-side token raises the rate limit. Invalid 'owner/name' -> 400, missing repo -> 404, never 500.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"dev_github_dev_github_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"full_name":"coinbase/x402","stars":1234,"forks":210,"open_issues":18,"language":"TypeScript","license":"Apache-2.0","archived":false,"signals":{"days_since_push":2,"age_days":400,"issues_per_star":0.0146,"is_active":true}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"repo","in":"query","required":true,"schema":{"type":"string"},"description":"GitHub repository as 'owner/name', e.g. coinbase/x402"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/dev/package":{"get":{"tags":["paid"],"summary":"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.","description":"Cross-ecosystem package health & popularity in one call, for dependency selection and supply-chain due-diligence. Supports npm, PyPI and crates.io (aliases pip/python, cargo/rust, node). Aggregates THREE public keyless sources into one normalized object: the official registry (latest version, license, deprecation/yank), the download-stats API (last day/week/month for npm/PyPI, recent + total for crates) and deps.dev (uniform version history → release count, median release cadence in days, package age). Adds computed signals: a download `trend` (rising/falling/stable from weekly vs monthly rate) and an `is_maintained` flag (recent cadence and not deprecated). Coverage grows by data (a new ecosystem is one registry row). Unknown ecosystem -> 400, missing package -> 404, never 500.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"dev_package_dev_package_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ecosystem":"npm","name":"react","latest_version":"18.3.1","license":"MIT","age_days":4200,"releases_count":150,"release_cadence_days":21.0,"deprecated":false,"yanked":false,"downloads":{"last_day":4200000,"last_week":28000000,"last_month":120000000},"signals":{"download_trend":"stable","is_maintained":true}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi","crates"]},"description":"Package ecosystem (aliases: pip/python, cargo/rust, node)"},{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name (npm scoped @scope/name allowed)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/dev/hn":{"get":{"tags":["paid"],"summary":"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.","description":"Hacker News engagement as a developer-sentiment proxy for a project, library or topic. Searches HN stories (Algolia API, keyless) within a look-back window and returns the number of matching stories, the total HN match count, total and average points and comments, and the top stories (title, url, points, comment count, date, item id). Useful for gauging buzz/interest in competitive analysis. Engagement is a proxy for attention, not a verified opinion score. Empty query -> 400, never 500.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"dev_hn_dev_hn_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"x402 protocol","window_days":365,"count_stories":7,"total_points":540,"total_comments":210,"avg_points":77.14,"top":[{"title":"...","url":"https://...","points":240,"num_comments":90,"date":"2026-01-10T00:00:00.000Z"}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Free-text search query (project/topic name)"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3650},"description":"Look-back window in days (default 365)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/dev/trending":{"get":{"tags":["paid"],"summary":"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.","description":"Discover the top GitHub repositories for a language and/or topic via the official GitHub Search API. At least one of `language`/`topic` is required; add `created_after` (YYYY-MM-DD) to find recently-created projects, choose `sort` (stars/forks/updated) and a `limit` (<=20). Each result has name, full_name, owner, stars, forks, open issues, language, description, topics, html_url and created/pushed timestamps. Good for competitive landscape scans and finding rising projects. NB: GitHub's unauth Search budget is 10 req/min (a server-side token lifts it) so results are TTL-cached. Invalid input -> 400, never 500.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"dev_trending_dev_trending_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"language:rust topic:wasm","sort":"stars","total_count":320,"count":10,"repos":[{"full_name":"owner/repo","stars":9000,"language":"Rust","description":"...","html_url":"https://github.com/owner/repo","pushed_at":"2026-06-20T00:00:00Z"}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"language","in":"query","required":false,"schema":{"type":"string"},"description":"Programming language filter (e.g. rust)"},{"name":"topic","in":"query","required":false,"schema":{"type":"string"},"description":"GitHub topic filter (e.g. wasm)"},{"name":"created_after","in":"query","required":false,"schema":{"type":"string"},"description":"Only repos created after this date (YYYY-MM-DD)"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["stars","forks","updated"]},"description":"Ranking (default stars)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20},"description":"Max repos to return (default 10, cap 20)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/geocode":{"get":{"tags":["paid"],"summary":"Forward-geocode a street address or place name (WORLDWIDE) to coordinates + parsed address components via OpenStreetMap Nominatim (public, keyless).","description":"Forward-geocode a street address or place name into latitude/longitude plus parsed address components (house number, road, city, county, state, postcode, country) using OpenStreetMap Nominatim — no API key, GLOBAL coverage. An unmatched query returns 404, bad input 400, never 500.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"geocode_geocode_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"matched_address":"White House, 1600, Pennsylvania Avenue NW, Washington, District of Columbia, 20500, USA","lat":38.8977,"lon":-77.0365,"components":{"house_number":"1600","road":"Pennsylvania Avenue NW","city":"Washington","state":"District of Columbia","postcode":"20500","country":"United States","country_code":"us"},"country":"United States","country_code":"us","source":"osm_nominatim"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Street address or place name (any country)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/geocode/reverse":{"get":{"tags":["paid"],"summary":"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.","description":"Reverse-geocode coordinates into a street address plus parsed components (road, city, county, state, postcode, country) via OpenStreetMap Nominatim — no API key, GLOBAL coverage. For US coordinates the result is enriched with the nearest city/state from the NWS (skipped gracefully outside the US). Coordinates with no map coverage return 404, bad input 400.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"geocode_reverse_geocode_reverse_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"lat":38.9,"lon":-77.04,"matched_address":"Washington, District of Columbia, USA","components":{"city":"Washington","county":"District of Columbia","state":"District of Columbia","postcode":"20500","country":"United States","country_code":"us"},"country":"United States","country_code":"us","nearest_city":"Washington","nearest_state":"DC","source":"osm_nominatim"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number"},"description":"Latitude [-90,90]"},{"name":"lon","in":"query","required":true,"schema":{"type":"number"},"description":"Longitude [-180,180]"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/weather":{"get":{"tags":["paid"],"summary":"Current US weather conditions (temp in C+F, humidity, wind, pressure, description) from the NWS for coordinates OR a US address (auto-geocoded).","description":"Current weather conditions for a US location from the National Weather Service (public-domain, no key, commercial OK). Accepts EITHER {lat, lon} OR a US {address} (auto-geocoded via the Census Geocoder in the same call — geocode + weather bundled). Returns temperature in both Celsius and Fahrenheit, humidity, wind speed (km/h + mph) and direction, pressure, text description, and the reporting station. The {address} must be a US STREET address (number + street); a bare city name does not geocode — use {lat, lon} for city-level points. US coverage only; outside the US returns 404, bad input 400, never 500.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"weather_weather_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"location":{"lat":41.88,"lon":-87.63,"city":"Chicago","state":"IL"},"current":{"description":"Partly Cloudy","temperature_c":23.0,"temperature_f":73.4,"humidity_pct":64.7,"wind_speed_kmh":11.0,"wind_speed_mph":6.8,"station":{"id":"KORD","name":"Chicago O'Hare"}},"coverage":"US"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US address (alternative to lat/lon)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/forecast":{"get":{"tags":["paid"],"summary":"Official US weather forecast from the National Weather Service (NOAA): multi-day and hourly periods for any US coordinates or street address. Temperature in Celsius and Fahrenheit, precipitation probability, wind speed and direction, and plain-language conditions. Authoritative government public-domain data, commercial use OK.","description":"Weather forecast for a US location from the National Weather Service (public-domain, no key, commercial OK). Accepts EITHER {lat, lon} OR a US {address} (auto-geocoded). Returns normalized forecast periods with temperature in Celsius and Fahrenheit, precipitation probability, wind, and short/detailed text. Set `hourly: true` for hourly periods and `days: N` (1-7) to limit the horizon. The {address} must be a US STREET address (number + street); a bare city name does not geocode — use {lat, lon} for city-level points. US coverage only; outside the US returns 404, bad input 400, never 500.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"forecast_forecast_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"location":{"lat":39.74,"lon":-104.98,"city":"Denver","state":"CO"},"type":"daily","count":6,"periods":[{"name":"Today","is_daytime":true,"temperature_f":88.0,"temperature_c":31.1,"precip_probability_pct":20,"short_forecast":"Mostly Sunny","wind_speed":"7 to 13 mph","wind_direction":"NW"}],"coverage":"US"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US address (alternative to lat/lon)"},{"name":"hourly","in":"query","required":false,"schema":{"type":"boolean"},"description":"Hourly instead of day/night periods"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":7},"description":"Limit number of days returned"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/crypto/news":{"get":{"tags":["paid"],"summary":"Aggregated crypto news with sentiment: deduplicated headlines from many major crypto outlets (CoinDesk, Cointelegraph, Decrypt, Bitcoin Magazine, The Block, CryptoSlate), each scored bullish/bearish/neutral by a crypto-tuned lexicon, optionally filtered by coin or query. One call instead of polling a dozen feeds and running your own NLP.","description":"One-call crypto news radar with built-in sentiment for trading and research agents. We fetch a curated set of major crypto RSS feeds (CoinDesk, Cointelegraph, Decrypt, Bitcoin Magazine, The Block, CryptoSlate), merge and deduplicate near-identical headlines, optionally filter by `coin` (ticker or name) and/or a free-text `query`, and score each item bullish/bearish/neutral with a crypto-tuned lexicon (VADER plus crypto/market valences such as rally, surge, crash, hack, rug). Each item returns only syndicated metadata (title, link-back to the publisher, source, published time, a short feed-summary) plus its sentiment; full articles stay at the publisher's link. The summary block reports how many sources succeeded, how many items were merged, an aggregate sentiment with a bullish/bearish/neutral breakdown, and any feed errors. A failed feed is skipped (never a 500); a total upstream failure is a 502; an empty filter result is a 422; bad input is a 400. Source hosts are fixed server-side (you pass only coin/query), so there is no SSRF surface.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"crypto_news_crypto_news_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"coin":"BTC","count":2,"items":[{"title":"Bitcoin rallies past resistance","link":"https://www.coindesk.com/...","source":"CoinDesk","published":"Tue, 30 Jun 2026 14:32:33 +0000","summary":"BTC climbed as inflows...","sentiment":{"label":"bullish","score":0.66}}],"summary":{"sources_ok":6,"sources_failed":0,"total_fetched":120,"after_dedup":98,"sentiment":{"label":"bullish","score":0.31,"items_scored":2,"breakdown":{"bullish":1,"bearish":0,"neutral":1}},"errors":[]},"attribution":"Headlines syndicated from their publishers ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"coin","in":"query","required":false,"schema":{"type":"string"},"description":"Filter to a coin by ticker or name (BTC, ETH, SOL, bitcoin, ethereum, ...)"},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text filter on headline + summary (e.g. ETF, staking)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":30},"description":"Max items to return (default 20, cap 30)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/crypto/sentiment":{"get":{"tags":["paid"],"summary":"Composite crypto market sentiment: the Fear & Greed index (value, classification, trend) blended with aggregated news-headline sentiment into one bullish/bearish/neutral score, optionally focused on a coin or query. Data by alternative.me (attributed) + curated RSS headlines.","description":"A single composite read on crypto market mood for trading/risk agents. We combine the canonical Crypto Fear & Greed index from alternative.me (current value 0-100, its classification, and a rising/falling/flat trend over a recent history window) with the aggregated sentiment of current headlines across major crypto outlets (scored by a crypto-tuned lexicon), and blend them into one composite bullish/bearish/neutral label and score in [-1, 1]. Pass `coin` (ticker or name) or a free-text `query` to focus the news component on a topic; the Fear & Greed component is market-wide. Each source is best-effort: if one is down it is reported under sources.errors and the composite uses what is available; only a total failure of every source is a 502. The Fear & Greed data is attributed to alternative.me per its terms. Bad input is a 400.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"crypto_sentiment_crypto_sentiment_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"coin":"ETH","composite":{"label":"bearish","score":-0.38},"fear_greed":{"value":15,"classification":"Extreme Fear","trend":"falling","window_points":14,"history":[]},"news_sentiment":{"label":"bearish","score":-0.21,"items_scored":7,"breakdown":{"bullish":2,"bearish":4,"neutral":1}},"sources":{"fear_greed":true,"news_feeds_ok":6,"errors":[]},"attribution":"Data by alternative.me"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"coin","in":"query","required":false,"schema":{"type":"string"},"description":"Focus news sentiment on a coin by ticker or name (BTC, ETH, ...); F&G is market-wide"},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text filter for the news-sentiment component"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/token/risk":{"get":{"tags":["paid"],"summary":"Composite rug-check risk score for an ERC-20 token: a 0-100 score, a category (low/medium/high/critical), per-dimension flags, reasons and weighted signals. Scored deterministically across six dimensions — contract integrity, ownership, holder concentration, liquidity, honeypot and age. Multi-chain EVM. Automated risk indicators, not financial advice.","description":"One-call rug-check / token-safety score for pre-trade agents. Given an ERC-20 address and an EVM network (base, ethereum, arbitrum, optimism, polygon; default base), we bundle many on-chain reads into one deterministic 0-100 score and a low / medium / high / critical category across six dimensions: contract integrity (source verified, upgradeable proxy, dangerous functions like mint/pause/blacklist via ABI or bytecode selectors), ownership (renounced / paused / proxy admin), holder concentration, liquidity, honeypot (absence of successful sells), and contract age. Each dimension is best-effort and degrades to an unavailable flag rather than failing; a coverage block reports how many were evaluated, and the weighted signals are returned so an agent can re-rank with its own policy. Contract/holder/age data via the public-good Blockscout explorer. Automated risk indicators, not financial advice. Invalid address/network -> 400; not-a-contract -> 404.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"token_risk_token_risk_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"token":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","network":"base","chain":"eip155:8453","risk_score":58,"risk_category":"high","reasons":["Active owner can mint (infinite-supply risk).","Source not verified on the explorer."],"dimensions":{"contract_integrity":{"verified":false,"dangerous_functions":["has_mint"]},"ownership":{"ownership_renounced":false},"holder_concentration":{"top10_concentration_pct":34.1}},"coverage":{"dimensions_total":6,"dimensions_evaluated":4,"confidence":0.67},"disclaimer":"Automated on-chain risk indicators, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 token contract address (0x-prefixed, 40 hex chars)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon"]},"description":"EVM network the token lives on (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/screen/address":{"get":{"tags":["paid"],"summary":"Check whether a crypto address appears on the official public sanctions lists (OFAC SDN, UK, EU, UN). Deterministic exact lookup; returns the matched record (list, program, entity name, reference, currency).","description":"Screen a single crypto address against the consolidated official PUBLIC sanctions lists (US OFAC SDN, UK FCDO, EU consolidated, UN Security Council) that this service refreshes in-process. Returns listed true or false plus, when listed, every matched record: the source list, sanctions program, designated entity name, source reference id, the published address and its currency symbol. EVM addresses match case-insensitively. Pass chain to restrict to one currency symbol. This returns only the fact of a match against a public list, not legal advice. See /screen/sources for list freshness.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"screen_address_screen_address_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"listed":true,"query":"0x7FF9cFad3877F21d41Da833E2F775dB0569eE3D9","chain":"ETH","match_count":1,"matches":[{"list":"UK","ref":"RUS0123","name":"GARANTEX EUROPE OU","type":"entity","programs":["Russia regulations"],"matched_address":"0x7FF9cFad3877F21d41Da833E2F775dB0569eE3D9","currency":"ETH","match_type":"exact"}],"disclaimer":"Informational match against public sanctions lists; not legal advice. Verify against official sources."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Crypto address to screen (any chain)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","examples":["ETH","XBT","TRX","USDT","SOL"]},"description":"Optional currency symbol to restrict the match"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/screen/entity":{"get":{"tags":["paid"],"summary":"Fuzzy-screen a person or organization name against the official public sanctions lists (OFAC SDN, UK, EU, UN), including aliases. Returns scored matches with list, program, country, type, and reference.","description":"Fuzzy-match a person or organization name (and all published aliases) across the consolidated official PUBLIC sanctions lists (US OFAC SDN, UK FCDO, EU consolidated, UN Security Council). Returns scored matches sorted high to low, each with a match_type of exact, alias or fuzzy, plus the source list, sanctions program, country, designation type (individual, entity or vessel), date of birth for individuals, and the source reference id. Tune min_score (default 85) for recall versus precision and limit the result count. Optionally filter by type. This returns only matches against public lists, not legal advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"screen_entity_screen_entity_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"Saddam Hussein","min_score":85,"match_count":1,"matches":[{"list":"EU","ref":"EU.27.28","name":"Saddam Hussein Al-Tikriti","type":"individual","programs":["IRQ"],"country":"IRAQ","dob":"1937-04-28","score":90.0,"match_type":"fuzzy","matched_name":"Saddam Hussein Al-Tikriti"}],"disclaimer":"Informational match against public sanctions lists; not legal advice. Verify against official sources."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Person or organization name to screen"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["individual","entity","vessel"]},"description":"Optional filter by designation type"},{"name":"min_score","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":100},"description":"Minimum fuzzy match score (default 85)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Maximum matches to return (default 10)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/preflight":{"get":{"tags":["paid"],"summary":"Preflight trust check of another x402 endpoint before an agent pays it. From the target resource URL: a composite trust score 0-100, a category (trusted / caution / untrusted / unknown), per-dimension flags, reasons and weighted signals. Scored from CDP x402 Bazaar discovery, an on-chain USDC payment-diversity sample, and a live 402 probe that the served payTo matches the listing. Trust indicators, not a guarantee.","description":"One-call preflight trust check for a buyer agent about to pay an unfamiliar x402 endpoint. Input: the resource URL (+ optional network hint). Output: a deterministic composite trust score 0-100, a category (trusted / caution / untrusted / unknown), per-dimension flags, reasons and raw weighted signals so the agent can re-rank. Seven dimensions: Bazaar listing (exact URL / origin / payTo), 30-day traction (payers + calls), freshness, suspected wash usage (calls-to-payers ratio + on-chain USDC sender diversity), price vs category median, metadata quality, and payment consistency — a live 402 probe checks the served payTo/network match the listing (catches hijack, spoof or typo-squat). Best-effort per dimension (degrades to unavailable); a coverage block reports how many were evaluated. Data: CDP x402 Bazaar + our on-chain reads and live probe. Automated trust indicators, not a guarantee. Bad url returns 400; a warming catalog returns 503 (no charge).\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"preflight_preflight_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"url":"https://api.example.com/some-paid-route","trust_score":82,"trust_category":"trusted","reasons":["Exact URL listed in the CDP x402 Bazaar catalog.","Live 402 probe payTo/network match the listing."],"coverage":{"dimensions_total":7,"dimensions_evaluated":6,"confidence":0.86},"disclaimer":"Automated trust indicators, not a guarantee or financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"The x402 resource/endpoint URL the buyer agent intends to pay"},{"name":"resource","in":"query","required":false,"schema":{"type":"string"},"description":"Synonym for url (the target resource URL)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon"]},"description":"Optional payment network hint for the target (default any)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/mcp/scan":{"post":{"tags":["paid"],"summary":"Static security scan of an MCP manifest or tool list. Detects tool poisoning, hidden unicode instructions, prompt injection, data-exfiltration directives, dangerous capabilities, tool shadowing and post-approval rug-pull drift. Returns a 0-100 risk score, category, per-tool findings and content hashes. Security indicators, not a guarantee.","description":"One-call defensive scanner an agent runs on a tool/MCP manifest BEFORE it grants the tool any capability. Input is the caller's own manifest (a 'tools' list, or a single tool object) or a 'tools' array; nothing is crawled or fetched, so there is no network side effect. Deterministic static analysis across eight dimensions: hidden unicode (zero-width, bidi override, ASCII-smuggling tag chars), prompt injection (override / do-not-tell-user / role-hijack / pseudo-tags), data exfiltration (sensitive credential paths, send-to-URL directives, embedded URLs), dangerous capability (code execution, path traversal, unrestricted file, arbitrary fetch), tool shadowing / cross-origin, rug-pull drift (compare each tool to a caller-pinned hash), obfuscation (encoded blobs, whitespace runs, non-ASCII), and metadata hygiene. Output: a 0-100 risk score, a category (clean / low / suspicious / malicious), per-tool findings with safe truncated evidence, and a manifest_hash plus a tool_hash per tool so the caller can pin a trusted definition and pass it back later as known_hashes to catch a post-approval change. Security indicators, not a guarantee; a clean score is not an endorsement.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"mcp_scan_mcp_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"manifest":{"type":"object","description":"MCP manifest object (with a tools list) or a single tool object"},"tools":{"items":{"type":"object"},"type":"array","description":"Alternatively, a list of tool objects (name, description, inputSchema)"},"known_hashes":{"type":"object","description":"Optional map of tool name to a previously pinned tool_hash, to detect rug-pull drift"}},"type":"object","required":[]},"example":{"manifest":{"tools":[{"name":"get_weather","description":"Get the weather for a city.","inputSchema":{"type":"object","properties":{"city":{"type":"string"}}}}]}}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"manifest","tool_count":1,"risk_score":0,"risk_category":"clean","reasons":[],"findings":[],"per_tool":{"get_weather":{"score":0,"category":"clean","tool_hash":"sha256:…","findings":[]}},"manifest_hash":"sha256:…","coverage":{"dimensions_total":8,"dimensions_flagged":[],"tools_scanned":1},"disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/mcp/inspect":{"post":{"tags":["paid"],"summary":"Static security scan of a single text or prompt blob: hidden unicode, prompt injection, data-exfiltration directives, dangerous-capability and tool-shadowing language, and obfuscation. Returns a 0-100 risk score, category and findings. Security indicators, not a guarantee.","description":"The single-blob form of the MCP security scan: pass one description, prompt or arbitrary text and get the same deterministic static analysis (hidden unicode, prompt injection, exfiltration directives, dangerous-capability and tool-shadowing language, encoded/obfuscated content) as a 0-100 risk score, a category and a list of findings with safe, invisible-escaped evidence. Pure local computation, no network. Security indicators, not a guarantee.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"mcp_inspect_mcp_inspect_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"type":"string","description":"The text/prompt/tool description to inspect"},"kind":{"type":"string","enum":["description","prompt","text"],"description":"What the blob is (affects labelling only)"}},"type":"object","required":["text"]},"example":{"text":"Get the weather for a city and return a short summary.","kind":"description"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"text","kind":"description","risk_score":0,"risk_category":"clean","reasons":[],"findings":[],"text_hash":"sha256:…","coverage":{"dimensions_total":8,"dimensions_flagged":[]},"disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/entity/resolve":{"get":{"tags":["paid"],"summary":"Resolve one legal entity across three public registries from a single identifier. Give exactly one of name, ticker, cik, lei, qid or isin and get back the reconciled set of ids (SEC CIK, GLEIF LEI, Wikidata QID, ISIN, ticker, EIN) plus legal name, jurisdiction and status, with per-id provenance and an optional GLEIF parent/child hierarchy.","description":"One-call cross-registry entity resolution for KYB, compliance, due-diligence and corporate-graph work. Supply exactly ONE primary identifier (name, ticker, cik, lei, qid or isin); the route reconciles the entity across SEC EDGAR, the GLEIF LEI Golden Copy and Wikidata and returns every id it can bridge to (CIK, LEI, QID, ISIN, ticker, EIN) with per-id provenance, the legal name, jurisdiction and status (GLEIF is authoritative here), plus a match block (deterministic or fuzzy, a score, and an ambiguous flag when two registries disagree on a hard id). Add include=hierarchy (or resolve by lei) to also get the GLEIF direct parent, ultimate parent and direct children. The value is the FUSION, not a raw resell: it handles the CIK zero-padding mismatch between SEC and Wikidata and the GLEIF relationship endpoints for you. Partial answers are returned when a source is down (never a 500); one id required otherwise 400; nothing found returns resolved=false. Business-entity metadata only, never data about private individuals. Sources are US-public-domain and CC0.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"entity_resolve_entity_resolve_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"resolved":true,"query":{"type":"ticker","value":"AAPL"},"ids":{"cik":"0000320193","lei":"HWUPKR0MPOU8FGXBT394","qid":"Q312","isin":"US0378331005","ticker":"AAPL","ein":"94-2404110"},"entity":{"legal_name":"Apple Inc.","jurisdiction":"US-CA","status":"ACTIVE","country":"US"},"sources":{"provenance":{"cik":"sec","lei":"wikidata","qid":"sec"},"errors":{},"partial":false},"match":{"method":"deterministic","score":100.0,"ambiguous":false},"attribution":["SEC EDGAR (public domain)","GLEIF LEI (CC0)","Wikidata (CC0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Legal or common company name (fuzzy match)"},{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR CIK (any zero-padding accepted)"},{"name":"lei","in":"query","required":false,"schema":{"type":"string"},"description":"GLEIF Legal Entity Identifier, 20 characters"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Wikidata item id, e.g. Q312"},{"name":"isin","in":"query","required":false,"schema":{"type":"string"},"description":"ISIN security identifier, 12 characters"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country hint for disambiguation, e.g. US"},{"name":"include","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["hierarchy"]}},"description":"Optional extras. Use hierarchy for GLEIF parents and children"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/entity/search":{"get":{"tags":["paid"],"summary":"Disambiguate a company by name: fuzzy legal-name search returning ranked candidates, each with the ids known for it (Wikidata QID, GLEIF LEI, SEC CIK, ticker), country and a match score. Cheaper first step before entity/resolve.","description":"Fuzzy company-name disambiguation as the light first step of a two-step flow (search then resolve, mirroring the sanctions screen-then-detail pattern). Searches the SEC ticker map, the GLEIF fulltext legal-name index and Wikidata entity search, merges the hits, and ranks them by name similarity. Each candidate carries whatever ids that source knows (QID, LEI, CIK, ticker), a country and a score, so a caller can pick the right entity and then call entity/resolve with a precise id. Optional country filter narrows the set. Returns a partial result when a source is down (never a 500); an empty name is 400. Business-entity metadata only. Sources are US-public-domain and CC0.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"entity_search_entity_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"Apple","count":2,"candidates":[{"name":"Apple Inc.","qid":"Q312","lei":"HWUPKR0MPOU8FGXBT394","cik":"0000320193","ticker":"AAPL","country":"US","score":100.0,"source":"sec"},{"name":"Apple Leisure Group","lei":"254900KZR24L5GN8TE52","country":"US","score":74.0,"source":"gleif"}],"attribution":["SEC EDGAR (public domain)","GLEIF LEI (CC0)","Wikidata (CC0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Company name to search for"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country filter, e.g. US"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Max candidates to return, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/edgar/financials":{"get":{"tags":["paid"],"summary":"Normalized company financials from SEC EDGAR XBRL filings. Give a ticker or CIK and get income statement, balance sheet and cash flow lines mapped to one clean schema, each value cited to its real XBRL tag and filing. Compact cited JSON instead of megabytes of raw XBRL.","description":"One-call normalized fundamentals for financial due-diligence, screening and agent tie-outs. Supply a ticker or CIK; the route pulls the issuer's SEC EDGAR companyfacts and maps the inconsistently-tagged XBRL onto a single canonical schema for the income statement, balance sheet and cash-flow statement. The value is the normalization plus token economy: a raw 10-K companyfacts is megabytes of XBRL, while this returns a compact JSON where every figure carries its real source tag, unit, period (start, end, fiscal year, fiscal period) and the filing it came from (accession, form, filed date and EDGAR index URL) so an agent can trace any number back to the source. Pick annual or quarterly, cap the number of periods, and optionally filter which statements you want. Restated figures (the same period reported with different values across filings) are flagged. Data is about the issuing company, never private individuals; the SEC source is US public domain.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"edgar_financials_edgar_financials_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Apple Inc.","cik":"0000320193","ticker":"AAPL"},"freq":"annual","statements":{"income":[{"line":"revenue","sourceTag":"RevenueFromContractWithCustomerExcludingAssessedTax","label":"Revenue","unit":"USD","periods":[{"value":391035000000,"unit":"USD","period":{"start":"2023-10-01","end":"2024-09-28","fy":2024,"fp":"FY","frame":"CY2024"},"filing":{"accn":"0000320193-24-000123","form":"10-K","filed":"2024-11-01","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/0000320193-24-000123-index.htm"},"restated":false}]}]},"restatements":[],"attribution":"SEC EDGAR (public domain); data.sec.gov XBRL frames API"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR CIK, any zero-padding accepted"},{"name":"statements","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["income","balance","cashflow"]}},"description":"Optional filter of which statements to return"},{"name":"freq","in":"query","required":false,"schema":{"type":"string","enum":["annual","quarterly"]},"description":"Reporting frequency, default annual"},{"name":"periods","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":12},"description":"Number of recent periods to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/edgar/concept":{"get":{"tags":["paid"],"summary":"Cited time-series for a single financial line-item from SEC EDGAR XBRL. Give a ticker or CIK plus a concept (a canonical name like revenue or netIncome, or a raw us-gaap tag) and get the normalized period values, each cited to its filing. Cheap granular pull.","description":"A focused, cheap pull of one financial line-item's history for an issuer. Supply a ticker or CIK and a concept, which can be a canonical name (revenue, grossProfit, netIncome, operatingCashFlow, totalAssets, equity and more) or a raw us-gaap tag if you already know it. The route uses the small SEC companyconcept endpoint (not the full multi-megabyte bundle), so it is the efficient choice when you only need one metric over time. For a canonical name it tries the ordered candidate tags and reports the one actually used, so you get the right series even though issuers tag the same fact differently. Values come as a normalized series, each with its unit, period and the filing it came from. Annual or quarterly; number of periods is capped. Company data only; SEC source is US public domain.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"edgar_concept_edgar_concept_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"cik":"0000320193","ticker":"AAPL","name":"Apple Inc."},"concept":{"requested":"revenue","canonical":"revenue","sourceTag":"RevenueFromContractWithCustomerExcludingAssessedTax","label":"Revenue","taxonomy":"us-gaap"},"freq":"annual","series":[{"value":391035000000,"unit":"USD","period":{"start":"2023-10-01","end":"2024-09-28","fy":2024,"fp":"FY","frame":"CY2024"},"filing":{"accn":"0000320193-24-000123","form":"10-K","filed":"2024-11-01","url":"https://www.sec.gov/..."},"restated":false}],"attribution":"SEC EDGAR (public domain); data.sec.gov XBRL frames API"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR CIK, any zero-padding accepted"},{"name":"concept","in":"query","required":true,"schema":{"type":"string"},"description":"Canonical line name like revenue, or a raw us-gaap tag"},{"name":"freq","in":"query","required":false,"schema":{"type":"string","enum":["annual","quarterly"]},"description":"Reporting frequency, default annual"},{"name":"periods","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":12},"description":"Number of recent periods to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/edgar/ratios":{"get":{"tags":["paid"],"summary":"Key financial ratios computed from SEC EDGAR XBRL: margins, liquidity, leverage and growth. Give a ticker or CIK and get ratios over recent periods, each computed number citing the source facts it was derived from, plus restatement flags and simple anomaly flags.","description":"Ready-to-use financial ratios derived from an issuer's SEC EDGAR fundamentals, so an agent does not have to pull raw lines and do the arithmetic. Supply a ticker or CIK; the route computes profitability margins (gross, operating, net), returns on assets and equity, liquidity (current ratio), leverage (debt to equity and debt to assets), free cash flow, and period-over-period growth in revenue, net income and operating cash flow. Every computed number carries a derived_from list naming the exact source lines, tags and accession numbers it was built from, so the math is auditable. The result also surfaces restatements (a period reported with different values across filings) and simple red-flag anomalies such as negative equity, a net loss or a current ratio below one. Annual or quarterly; number of periods is capped. These are indicators, not investment advice; company data only; SEC source is US public domain.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"edgar_ratios_edgar_ratios_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Apple Inc.","cik":"0000320193","ticker":"AAPL"},"freq":"annual","ratios":[{"name":"grossMargin","kind":"ratio","latest":0.462,"change_vs_prev":0.018,"series":[{"period":{"end":"2024-09-28","fy":2024,"fp":"FY"},"value":0.462,"derived_from":[{"line":"grossProfit","sourceTag":"GrossProfit","accn":"0000320193-24-000123"},{"line":"revenue","sourceTag":"RevenueFromContractWithCustomerExcludingAssessedTax","accn":"0000320193-24-000123"}]}]}],"restatements":[],"anomalies":[],"attribution":"SEC EDGAR (public domain); data.sec.gov XBRL frames API"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR CIK, any zero-padding accepted"},{"name":"freq","in":"query","required":false,"schema":{"type":"string","enum":["annual","quarterly"]},"description":"Reporting frequency, default annual"},{"name":"periods","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":12},"description":"Number of recent periods to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/kyb/screen":{"get":{"tags":["paid"],"summary":"Screen a company name against the GLEIF business registry: fuzzy name search returning ranked candidates, each with its LEI, legal name, jurisdiction, registration status and corroboration level. Cheap first step before kyb/verify.","description":"The light first step of a two-step KYB flow (screen then verify, mirroring the sanctions screen-then-detail pattern). Give a company name and get back ranked GLEIF candidates, each carrying the LEI, legal name, jurisdiction, the registration status (ISSUED, LAPSED, RETIRED, ANNULLED, MERGED and the like) and the GLEIF corroboration level, so an agent can disambiguate the right entity and then call kyb/verify with a precise LEI for the full legitimacy verdict. An optional country filter narrows the set. Returns a partial result when the source is down rather than failing; an empty name is a 400. Business-entity metadata only, never data about individuals. Source is the GLEIF LEI Golden Copy (CC0).\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"kyb_screen_kyb_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"Apple","count":2,"candidates":[{"lei":"HWUPKR0MPOU8FGXBT394","legal_name":"Apple Inc.","jurisdiction":"US-CA","country":"US","registration_status":"ISSUED","entity_status":"ACTIVE","corroboration_level":"FULLY_CORROBORATED","score":71.4},{"lei":"254900KZR24L5GN8TE52","legal_name":"Apple Leisure Group","jurisdiction":"US-DE","country":"US","registration_status":"LAPSED","entity_status":"ACTIVE","corroboration_level":"PARTIALLY_CORROBORATED","score":55.0}],"attribution":["GLEIF LEI Golden Copy (CC0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Company name to screen for"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country filter, e.g. US"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Max candidates to return, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/kyb/verify":{"get":{"tags":["paid"],"summary":"Verify a business is real and get a legitimacy verdict plus a 0-100 risk score. Give one of name, lei, cik, ticker, isin or qid and get a verdict (real, likely_real, inactive, dissolved or not_found), a risk category, per-dimension flags, reasons, the official registry and which registries corroborated. Deterministic scoring, no LLM. Legitimacy indicators, not legal or credit advice.","description":"One-call business-legitimacy verification for KYB, counterparty onboarding, vendor due-diligence and anti-fraud. Supply exactly one identifier (name, lei, cik, ticker, isin or qid); the route resolves the entity across the GLEIF LEI Golden Copy, SEC EDGAR and Wikidata, pulls the rich GLEIF record, and returns a legitimacy verdict (real, likely_real, inactive, dissolved or not_found) with a 0-100 risk score and a low, medium, high or critical category. The score is a deterministic weighted sum across dimensions: registry existence and corroboration level, registration status (lapsed, retired, annulled, merged, duplicate), entity active status, renewal and freshness, entity age, shell and registered-agent address heuristics, and lifecycle (successor and expiration). Each fired signal returns its weight and a human-readable reason, so an agent can re-rank with its own policy. The response also names the official registration authority and the registration number, and reports which registries corroborated the entity. Partial answers are returned when a source is down rather than failing; nothing found returns verdict not_found. Business-entity metadata only, never data about individuals. Sources are CC0 and US public domain. Legitimacy indicators, not legal or credit advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"kyb_verify_kyb_verify_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"real","risk_score":6,"category":"low","query":{"type":"lei","value":"HWUPKR0MPOU8FGXBT394"},"resolved_ids":{"lei":"HWUPKR0MPOU8FGXBT394","cik":"0000320193","qid":"Q312","isin":"US0378331005","ticker":"AAPL"},"entity":{"legal_name":"Apple Inc.","jurisdiction":"US-CA","entity_status":"ACTIVE","registration_status":"ISSUED","legal_form":"H1UM","age_days":5140},"official_registry":{"code":"RA000598","organization":"Secretary of State","country":"US","jurisdiction":"California","registered_as":"806592","website":"https://businesssearch.sos.ca.gov/"},"signals":[{"signal":"registered_agent_address","dimension":"address","severity":"low","weight":6,"reason":"The legal address is a known registered-agent address."}],"corroboration":{"gleif":true,"sec":true,"wikidata":true,"authoritative":true},"attribution":["GLEIF LEI Golden Copy (CC0)","SEC EDGAR (public domain)"],"disclaimer":"Automated legitimacy indicators, not legal or credit advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Legal or common company name (fuzzy match)"},{"name":"lei","in":"query","required":false,"schema":{"type":"string"},"description":"GLEIF Legal Entity Identifier, 20 characters"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR CIK (any zero-padding accepted)"},{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"isin","in":"query","required":false,"schema":{"type":"string"},"description":"ISIN security identifier, 12 characters"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Wikidata item id, e.g. Q312"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country hint for disambiguation, e.g. US"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/legal/litigation":{"get":{"tags":["paid"],"summary":"Find US court cases, opinions and dockets naming a business entity. Returns normalized records with case name, court, date, citation, docket number and nature of suit, plus a total count. Source: CourtListener, public-domain.","description":"Litigation and case-law lookup for due-diligence, KYB and legal-risk workflows. Supply a business entity or party name (optionally with a cik or qid id hint) and get back the US court record: matching cases, judicial opinions and dockets from CourtListener (the Free Law Project), each normalized to case name, court, filing date, reporter citation, docket number, nature of suit and a link to the record, plus the total upstream match count. Choose the record type with type=o for opinions (public-domain case law, the default), type=d for dockets or type=r for RECAP federal dockets. The value is the normalization into a compact cited shape, not a raw resale: we query live within the source API limits and never redistribute bulk dumps. Aggressively cached to respect CourtListener throttling; on a rate limit the response is marked rate_limited and partial rather than failing. Public records about business entities only; natural persons appear solely as publicly-named parties. Not legal advice and not a consumer report; not for FCRA-regulated eligibility decisions.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"legal_litigation_legal_litigation_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"Apple Inc","type":"o"},"count":342,"recent":[{"caseName":"Apple Inc. v. Example Corp","court":"Fed. Cir.","date":"2024-03-11","citation":"123 F.3d 456","docketNumber":"22-1234","natureOfSuit":"Patent"}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Business entity / party name to search"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"Optional SEC CIK id hint"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Wikidata QID id hint"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["o","r","d"]},"description":"Record type: opinions, RECAP dockets, or dockets"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max records to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/legal/patents":{"get":{"tags":["paid"],"summary":"Look up the US patent portfolio of an organization (by assignee) or an inventor (by name). Returns granted patents with id, title, grant date, type and assignees, plus a total count. Source: USPTO PatentsView, public-domain.","description":"US patent-portfolio lookup for due-diligence, competitive-intelligence and IP workflows. Supply an organization name (matched as the patent assignee) or an inventor last name, optionally with a cik or qid id hint, and get back granted patents from the USPTO PatentsView PatentSearch API: patent id, title, grant date, patent type and assignee organizations, newest first, with the total portfolio count. The value is the normalization into a compact cited shape over public-domain USPTO data, not a raw resale. This provider needs a free PatentsView API key injected at runtime; when the key is absent the route still returns cleanly with the provider marked not_configured (partial) rather than failing, and the other legal routes remain live. Patents are an innovation signal and are reported informationally; they do not raise the legal-risk score in /legal/profile. Public records only. Not legal advice and not a consumer report; not for FCRA-regulated eligibility decisions.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"legal_patents_legal_patents_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"Apple Inc"},"total":12000,"recent":[{"patent_id":"11111111","title":"Example device","date":"2024-05-07","type":"utility","assignees":["Apple Inc."]}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Organization name (used as assignee if assignee absent)"},{"name":"assignee","in":"query","required":false,"schema":{"type":"string"},"description":"Assignee organization name to match"},{"name":"inventor","in":"query","required":false,"schema":{"type":"string"},"description":"Inventor last name to match instead of assignee"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"Optional SEC CIK id hint"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Wikidata QID id hint"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max patents to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/legal/regulatory":{"get":{"tags":["paid"],"summary":"Find US federal regulatory and enforcement documents mentioning an entity in the Federal Register. Returns rules, proposed rules and notices with title, type, agency, date, abstract and link. Source: Federal Register, public-domain.","description":"Federal regulatory and enforcement footprint for due-diligence and compliance workflows. Supply a business entity name (optionally with a cik or qid id hint) and get back the documents that name it in the US Federal Register: rules, proposed rules, notices and presidential documents, each normalized to title, document type, issuing agency, publication date, abstract and a link, newest first, with the total match count. Narrow to one agency with the agency slug filter. The value is the normalization over public-domain government data, not a raw resale. Keyless and cached; on an upstream problem the response is marked partial rather than failing. Public records about business entities only. Not legal advice and not a consumer report; not for FCRA-regulated eligibility decisions.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"legal_regulatory_legal_regulatory_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"Apple Inc"},"count":57,"recent":[{"title":"Notice of Proposed Rulemaking","type":"Proposed Rule","agency":"Federal Trade Commission","date":"2024-02-20","html_url":"https://www.federalregister.gov/documents/1","document_number":"2024-01234"}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Business entity name to search"},{"name":"agency","in":"query","required":false,"schema":{"type":"string"},"description":"Optional agency slug filter, e.g. federal-trade-commission"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"Optional SEC CIK id hint"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Wikidata QID id hint"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max documents to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/legal/profile":{"get":{"tags":["paid"],"summary":"Composite legal due-diligence profile of a business entity: litigation, patents and federal regulatory records in one call, plus a deterministic legal-risk signal (score 0-100, band, per-dimension flags and reasons).","description":"One-call composite legal due-diligence dossier for a business entity, and the moat of this service: it does the cross-source normalization and fusion for you rather than reselling three raw feeds. Supply an entity name (optionally an assignee or inventor for patents, an agency filter for regulatory, and a cik or qid id hint) and get back all three dimensions at once — court litigation from CourtListener, the US patent portfolio from USPTO PatentsView, and federal regulatory documents from the Federal Register — each as compact cited records with counts, plus a deterministic legal-risk signal: a 0 to 100 score, a low, medium or high band, per-dimension flags and human-readable reasons, computed from litigation and regulatory record counts weighted by recency. Patents contribute as an innovation signal only and never raise the risk score. The scoring is fully deterministic and data-driven (weights and thresholds live in a registry), so identical inputs give identical outputs. Partial answers are returned when a source is down, rate-limited or unconfigured (never a 500). Public records about business entities only. Not legal advice and not a consumer report; not for FCRA-regulated eligibility decisions.\n\nPrice: $0.06 (USDC on Base, x402).","operationId":"legal_profile_legal_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"Apple Inc"},"litigation":{"count":342,"recent":[]},"patents":{"total":12000,"recent":[]},"regulatory":{"count":57,"recent":[]},"legal_risk":{"score":21,"band":"low","flags":{"has_litigation":true},"reasons":["2 litigation records within 3y"]},"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Business entity name (primary identifier)"},{"name":"assignee","in":"query","required":false,"schema":{"type":"string"},"description":"Optional patent assignee override"},{"name":"inventor","in":"query","required":false,"schema":{"type":"string"},"description":"Optional inventor last name for patents"},{"name":"agency","in":"query","required":false,"schema":{"type":"string"},"description":"Optional agency slug filter for regulatory"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"Optional SEC CIK id hint"},{"name":"qid","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Wikidata QID id hint"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max records per dimension, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.06"},"protocols":[{"x402":{}}]}}},"/legislative/bill":{"get":{"tags":["paid"],"summary":"Look up one US federal bill by id: title, sponsor, cosponsors, committees, policy area, full action history and computed lifecycle stages (introduced to enacted). Source: Congress.gov + GovInfo, public-domain.","description":"Federal bill lookup for legislative-tracking, policy-intelligence and compliance workflows. Supply a bill id like hr3076-118 (or congress + billType + billNumber) and get back the normalized bill from the Congress.gov API (Library of Congress): title, sponsor and cosponsor count, committees, policy area, origin chamber, whether it became law, its full action history, and — the differentiator — a computed, stateless LIFECYCLE: the ordered stages the bill has reached (introduced, referred to committee, reported, passed House, passed Senate, resolving differences, to president, became law or vetoed or failed), each with the date and the source action text. When a free api.data.gov key is configured, GovInfo text and PDF links are attached as a supplement. The value is the fusion and lifecycle classification into a compact cited shape over public-domain US-government data, not a raw resale; we query live within the source API limits and never redistribute bulk dumps. Without the key the route returns cleanly marked not_configured rather than failing. Informational aggregation of public records; not legal advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"legislative_bill_legislative_bill_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"bill_id":"hr3076-118"},"found":true,"bill":{"congress":118,"type":"HR","number":"3076","title":"Example Act","introducedDate":"2023-05-01","becameLaw":true},"lifecycle":[{"stage":"introduced","date":"2023-05-01"},{"stage":"became_law","date":"2023-12-20"}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bill_id","in":"query","required":false,"schema":{"type":"string"},"description":"Bill id like hr3076-118 (billtype+number-congress)"},{"name":"congress","in":"query","required":false,"schema":{"type":"integer"},"description":"Congress number, e.g. 118 (with billType+billNumber)"},{"name":"billType","in":"query","required":false,"schema":{"type":"string","enum":["hr","s","hjres","sjres","hconres","sconres","hres","sres"]},"description":"Bill type"},{"name":"billNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Bill number, e.g. 3076"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/legislative/search":{"get":{"tags":["paid"],"summary":"Search US federal bills by keyword (optionally within one Congress) and get a ranked list of matching bills with id, title and latest action. Source: Congress.gov, public-domain.","description":"Federal-bill discovery for legislative-tracking and policy-monitoring workflows. Supply a keyword or phrase (optionally scoped to a single Congress, and optionally narrowed by a policy-area keyword) and get back a ranked list of matching bills from the Congress.gov API (Library of Congress): each with its bill id, type, number, title and latest action, newest activity first, plus the total upstream match count. Use the returned bill_id with /legislative/bill for the full record and lifecycle, or with /legislative/timeline for a date-windowed event diff. The value is the normalization into a compact cited shape over public-domain US-government data, not a raw resale; queried live within the source API limits. Needs a free api.data.gov key at runtime; absent, the route returns cleanly marked not_configured rather than failing. Informational aggregation of public records; not legal advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"legislative_search_legislative_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"keyword":"artificial intelligence","congress":118},"count":42,"returned":1,"results":[{"bill_id":"hr4568-118","type":"HR","number":"4568","title":"Example AI Act"}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Keyword / phrase to search bill text"},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for q"},{"name":"sponsor","in":"query","required":false,"schema":{"type":"string"},"description":"Optional sponsor name filter"},{"name":"congress","in":"query","required":false,"schema":{"type":"integer"},"description":"Optional Congress number to scope the search"},{"name":"policyArea","in":"query","required":false,"schema":{"type":"string"},"description":"Optional policy-area keyword to filter results"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max bills to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/legislative/rulemaking":{"get":{"tags":["paid"],"summary":"Find US proposed rules and rulemaking dockets by docket id, keyword or agency: documents, comment period, public-comment count and Federal Register links. Source: Regulations.gov + Federal Register, public-domain.","description":"US proposed-rulemaking and public-comment intelligence for regulatory-affairs and compliance workflows. Supply a Regulations.gov docket id, or search by keyword and agency, and get back proposed-rule documents from the Regulations.gov API (eRulemaking Program): document id and type, docket id, comment start and end dates, whether the docket is open for comment, the Federal Register document number and posted date — plus, for a specific docket, the COUNT of public comments (a count and summary, never a raw dump of comment bodies). Every result is cross-linked to Federal Register proposed-rule metadata (keyless linkback). With a free api.data.gov key you get the regulations.gov docket and comment counts; WITHOUT the key the route degrades gracefully to Federal-Register-only proposed-rule metadata (keyless, marked keyless_degraded) rather than failing. The value is the fusion and normalization over public-domain US-government data, not a raw resale. Informational aggregation of public records; not legal advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"legislative_rulemaking_legislative_rulemaking_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"keyword":"clean water","agency":"EPA"},"count":3,"documents":[{"documentId":"EPA-HQ-OAR-2021-0317-0001","documentType":"Proposed Rule","docketId":"EPA-HQ-OAR-2021-0317","openForComment":false}],"commentCount":1200,"keyless_degraded":false,"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"docketId","in":"query","required":false,"schema":{"type":"string"},"description":"Regulations.gov docket id, e.g. EPA-HQ-OAR-2021-0317"},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"},"description":"Keyword to search rulemaking docs"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for keyword"},{"name":"agency","in":"query","required":false,"schema":{"type":"string"},"description":"Agency id filter, e.g. EPA"},{"name":"documentType","in":"query","required":false,"schema":{"type":"string","enum":["Proposed Rule","Rule","Notice"]},"description":"Document type to match"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max documents to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/legislative/timeline":{"get":{"tags":["paid"],"summary":"Stateless event diff for a US federal bill: which lifecycle stages it reached over a date window (introduced, committee, passed, enacted), each with date and source action. Source: Congress.gov, public-domain.","description":"What changed on a US federal bill over a period — a stateless event diff for legislative-tracking, alerting and policy-intelligence workflows. Supply a bill id (or congress + billType + billNumber) and optionally a since date or a window_days, and get back the bill's lifecycle events within that window: the ordered stages it reached (introduced, referred to committee, reported, passed House, passed Senate, resolving differences, to president, became law or vetoed or failed), each with its date and the source action text, plus the bill's current stage. The classification is STATELESS — it is derived entirely from the bill's own upstream action history from the Congress.gov API (Library of Congress), not from any stored snapshot, so the same inputs always give the same diff and there is no memory-store dependency. Use it to answer did this bill move since date X. Needs a free api.data.gov key at runtime; absent, the route returns cleanly marked not_configured rather than failing. Informational aggregation of public records; not legal advice.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"legislative_timeline_legislative_timeline_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"bill_id":"hr3076-118","window_days":90},"found":true,"current_stage":"became_law","events":[{"stage":"passed_senate","date":"2023-11-15"},{"stage":"became_law","date":"2023-12-20"}],"sources":{"partial":false,"rate_limited":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bill_id","in":"query","required":false,"schema":{"type":"string"},"description":"Bill id like hr3076-118 (billtype+number-congress)"},{"name":"congress","in":"query","required":false,"schema":{"type":"integer"},"description":"Congress number (with billType+billNumber)"},{"name":"billType","in":"query","required":false,"schema":{"type":"string","enum":["hr","s","hjres","sjres","hconres","sconres","hres","sres"]},"description":"Bill type"},{"name":"billNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Bill number"},{"name":"since","in":"query","required":false,"schema":{"type":"string"},"description":"Only events on or after this ISO date, e.g. 2024-01-01"},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer"},"description":"Alternatively, events within the last N days"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/nutrition/search":{"get":{"tags":["paid"],"summary":"Search foods by name in USDA FoodData Central (public domain). Returns ranked matches with fdc_id, description, brand, GTIN and key macros per 100g.","description":"Search the USDA FoodData Central database (350K+ foods, U.S. government public domain) by product or ingredient name. Returns ranked matches, each with its FoodData Central id (fdc_id — pass it to /nutrition/food for the full profile), description, USDA data type (Foundation / SR Legacy / Branded / Survey / Experimental), brand, GTIN/UPC, serving size and the key macronutrients (calories, protein, fat, carbohydrates) per 100g. Optional `limit` (1-25) and `dataType` filter. Empty query returns 400; if the server has no USDA key configured the route returns 503 (the barcode route needs no key). Never 500.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"nutrition_search_nutrition_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"cheddar cheese","total_hits":4231,"count":1,"matches":[{"fdc_id":2057648,"description":"CHEDDAR CHEESE","data_type":"Branded","brand":"GRAFTON VILLAGE","macros_per_100g":{"calories_kcal":393.0,"protein_g":21.4,"fat_g":28.6,"carbohydrates_g":3.6}}],"attribution":"Data from USDA FoodData Central (public domain, U.S. Department of Agriculture)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"Food name to search for"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max ranked matches (default 10)"},{"name":"dataType","in":"query","required":false,"schema":{"type":"string","enum":["Foundation","SR Legacy","Branded","Survey (FNDDS)","Experimental"]},"description":"Optional USDA data-type filter"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/nutrition/food":{"get":{"tags":["paid"],"summary":"Full normalized nutrition profile for a USDA FoodData Central food by fdc_id: calories, macros and micronutrients per 100g and per serving.","description":"Full normalized nutrition profile for one USDA FoodData Central food, keyed by its fdc_id (obtain it from /nutrition/search). Returns a single unified schema: calories plus macronutrients (protein, total fat, saturated fat, trans fat, carbohydrates, sugars, fiber, sodium, salt, cholesterol) both per 100g AND per serving, the serving size (amount, unit, household measure), brand, food category, ingredient list, and any additional micronutrients (vitamins and minerals) the record carries. This is the same normalized schema returned by /nutrition/barcode, so USDA and Open Food Facts results are directly comparable. Unknown fdc_id returns 404; missing server USDA key returns 503. Never 500.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"nutrition_food_nutrition_food_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"source":"usda_fdc","id":2057648,"description":"CHEDDAR CHEESE","data_type":"Branded","brand":"GRAFTON VILLAGE","serving_size":{"amount":28.0,"unit":"g","household":"1 ONZ"},"nutrients":{"per_100g":{"calories_kcal":393.0,"protein_g":21.4,"fat_g":28.6,"saturated_fat_g":21.4,"carbohydrates_g":3.6,"sodium_mg":679.0},"per_serving":{"calories_kcal":110.0,"protein_g":6.0}},"attribution":"Data from USDA FoodData Central (public domain, U.S. Department of Agriculture)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fdc_id","in":"query","required":true,"schema":{"type":"integer"},"description":"USDA FoodData Central id (from /nutrition/search)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/nutrition/barcode":{"get":{"tags":["paid"],"summary":"Look up a packaged product by GTIN/barcode via Open Food Facts (global). Returns the normalized nutrition profile plus allergens, diet flags, Nutri-Score and NOVA.","description":"Look up a packaged food product worldwide by its GTIN/barcode (EAN-8, UPC-A, EAN-13 or GTIN-14) through Open Food Facts (3M+ products, ODbL open data). Returns the SAME normalized nutrition schema as /nutrition/food — calories and macros per 100g and per serving — PLUS packaged-product extras Open Food Facts provides: allergens, dietary flags (vegan, vegetarian, palm-oil-free as true/false/null when unknown), the Nutri-Score grade (a-e), the NOVA processing group (1-4), product labels, brand, quantity and ingredient text. This barcode path is the global-brand coverage USDA-only sources lack. The barcode must be 8-14 digits (else 400); an unknown product returns 404. Every response carries ODbL attribution. Needs no API key. Never 500.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"nutrition_barcode_nutrition_barcode_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"source":"openfoodfacts","barcode":"3017620422003","description":"Nutella","brand":"Nutella","nutrients":{"per_100g":{"calories_kcal":539.0,"sugars_g":56.3,"fat_g":30.9,"saturated_fat_g":10.6}},"allergens":["milk","nuts","soybeans"],"diet_flags":{"vegan":false,"palm_oil_free":false},"nutriscore_grade":"e","nova_group":4,"attribution":"Data © Open Food Facts contributors, ODbL"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"barcode","in":"query","required":true,"schema":{"type":"string"},"description":"GTIN/barcode, 8-14 digits (EAN-8/UPC-A/EAN-13/GTIN-14)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/hazard/risk":{"get":{"tags":["paid"],"summary":"US property/location natural-hazard risk profile: FEMA National Risk Index composite (18 hazards, expected annual loss, social vulnerability) plus the FEMA flood zone, as one cited JSON verdict for a US address, coordinates, or FIPS.","description":"One-call due-diligence hazard profile for a US location, built entirely from public-domain US-government data. Accepts a US {address} (auto-geocoded), {lat, lon}, or a {fips} (5-digit county or 11-digit census tract). Returns the FEMA National Risk Index composite — overall Risk Index score + rating + national percentile, Expected Annual Loss in USD, social-vulnerability and community-resilience ratings — plus a per-hazard breakdown across all 18 NRI hazards (earthquake, wildfire, hurricane, tornado, riverine and coastal flooding, hail, heat/cold wave, drought, landslide, and more) with each hazard's risk score, rating, annual frequency, and expected annual loss. A nested FEMA flood-zone lookup adds the Special Flood Hazard Area flag, flood zone, and base flood elevation for the point. Tract-level where available, county fallback otherwise. Every value cites its FEMA source and NRI version. Risk indicators for informational due-diligence, not insurance/engineering/legal advice. US coverage only; outside the US returns 404, bad input 400, never 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"hazard_risk_hazard_risk_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"location":{"county":"Los Angeles","county_fips":"06037","tract_fips":"06037206202","level":"tract"},"composite":{"risk_score":96.3,"risk_rating":"Relatively High","national_percentile":96.3,"expected_annual_loss_usd":3265266,"social_vulnerability":"Very High","community_resilience":"Very Low"},"hazards":[{"code":"ERQK","label":"Earthquake","risk_score":99.3,"rating":"Very High","eal_usd":1200000}],"flood":{"in_sfha":false,"flood_zone":"X (unmapped / minimal risk)"},"source":"FEMA National Risk Index (public domain), via FEMA ArcGIS Online"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"fips","in":"query","required":false,"schema":{"type":"string"},"description":"5-digit county or 11-digit census-tract FIPS"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/hazard/flood":{"get":{"tags":["paid"],"summary":"FEMA flood-zone lookup for a US point: Special Flood Hazard Area flag, FEMA flood zone (such as AE, VE, X), zone subtype, and base flood elevation, for a US address or coordinates.","description":"Point lookup against the FEMA National Flood Hazard Layer (public domain) for a US location. Accepts a US {address} (auto-geocoded) or {lat, lon}. Returns whether the point falls inside a Special Flood Hazard Area (the 1%-annual-chance / 100-year floodplain), the FEMA flood zone designation (for example AE, VE, X), any zone subtype, the static base flood elevation in feet where published, and a human-readable hazard description. A point outside any mapped flood polygon is a valid result (mapped=false, zone X / minimal risk), not an error. Flood indicators for informational due-diligence, not an official FEMA determination or insurance advice. US coverage; bad input returns 400, never 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"hazard_flood_hazard_flood_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"lat":25.77,"lon":-80.19,"in_sfha":true,"flood_zone":"AE","static_bfe_ft":9,"mapped":true,"description":"1% Annual Chance Flood Hazard","source":"FEMA National Flood Hazard Layer (public domain), via ArcGIS Living Atlas"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/hazard/seismic":{"get":{"tags":["paid"],"summary":"USGS ASCE 7 seismic design values for a US point: Ss, S1, SDS, SD1, seismic design category, and PGA, for a US address or coordinates. Optional reference document, risk category, and site class.","description":"Seismic design parameters for a US location from the USGS ASCE 7 building-codes web service (public domain, no key). Accepts a US {address} (auto-geocoded) or {lat, lon}. Returns the mapped spectral accelerations Ss and S1, site-adjusted SMS/SM1, design values SDS and SD1, the Seismic Design Category, peak ground acceleration, and long-period transition. Optional {ref_doc} selects the ASCE 7 edition (asce7-22 default, asce7-16, asce7-10); {risk_category} sets occupancy category I to IV (default II); {site_class} sets the soil class A to E (default D, the code default when a geotechnical study is unavailable). Design indicators for informational due-diligence, not a substitute for a licensed engineer. US coverage; outside the US returns 404, bad input 400, never 500.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"hazard_seismic_hazard_seismic_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"lat":34.05,"lon":-118.24,"ss":2.24,"s1":0.72,"sds":1.51,"sd1":1.1,"seismic_design_category":"D","pga":0.87,"reference_document":"ASCE7-22","risk_category":"II","site_class":"D","source":"USGS Seismic Design (ASCE 7) building-codes web service (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"ref_doc","in":"query","required":false,"schema":{"type":"string","enum":["asce7-22","asce7-16","asce7-10"]},"description":"ASCE 7 reference document (default asce7-22)"},{"name":"risk_category","in":"query","required":false,"schema":{"type":"string","enum":["I","II","III","IV"]},"description":"Occupancy risk category (default II)"},{"name":"site_class","in":"query","required":false,"schema":{"type":"string","enum":["A","B","C","D","E","default"]},"description":"Soil site class (default D)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/govcon/awards":{"get":{"tags":["paid"],"summary":"Search awarded US federal contracts and grants from USASpending.gov, filtered by award type, recipient, agency, NAICS, keyword and fiscal year, returning a normalized award list plus a summary.","description":"One call to search the authoritative record of awarded US federal spending (contracts, IDVs, grants, loans, direct payments) from USASpending.gov, the US Treasury's official open API under the DATA Act. Supply any combination of award_type (a friendly group such as contracts or grants), recipient/contractor name, awarding agency, NAICS industry code, a description keyword and a federal fiscal year; the route builds the upstream filter for you, returns a normalized list of awards (award id, recipient, amount, awarding and sub agency, start and end dates, description, and a generated_internal_id you can pass to /govcon/award for full drill-down), and adds a computed summary over the returned page (total dollars, top recipients and top agencies). The value is the normalization plus the computed signals, not a raw resell. Sort by amount or date. Partial answers are returned if the upstream is briefly unavailable (never a 500); bad input is an honest 400. This is the awarded-spending layer for sales-intelligence, competitive-intelligence and vendor due-diligence agents; forward-looking solicitations (SAM.gov) are a planned separate route. Data is US public domain (CC0), attributed to USAspending.gov on every response.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"govcon_awards_govcon_awards_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"has_next":true,"awards":[{"award_id":"Z61H","recipient":"LOCKHEED MARTIN CORPORATION","amount":16416.33,"awarding_agency":"Department of Defense","generated_internal_id":"CONT_AWD_Z61H_9700_FA822408G0001_9700"}],"summary":{"count":1,"total_amount":16416.33},"attribution":["Data from USAspending.gov (U.S. Treasury, CC0 public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"award_type","in":"query","required":false,"schema":{"type":"string","enum":["contracts","direct_payments","grants","idvs","loans","other"]}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"agency","in":"query","required":false,"schema":{"type":"string"}},{"name":"naics","in":"query","required":false,"schema":{"type":"string"},"description":"NAICS code, 2-6 digits"},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Federal fiscal year"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["amount","date"]}},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["desc","asc"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/govcon/recipient":{"get":{"tags":["paid"],"summary":"Profile a federal contractor's spending footprint by name or UEI in one call: total federal dollars, top agencies, top NAICS, a fiscal-year trend and recent awards, fused from several USASpending.gov queries.","description":"A one-call federal footprint for a single contractor, fusing what would otherwise be three or more separate USASpending.gov queries into one object. Give a recipient name (or a UEI) and get the total federal dollars over the window, the matched recipient entities with their UEIs (a company name can span several recipient records, which this reconciles), the top awarding agencies buying from them, the top NAICS industries they win under, a per-fiscal-year spend trend, and their most recent awards each with a generated_internal_id for drill-down via /govcon/award. Pin a specific fiscal year to scope the aggregates, or take the default multi-year lookback. The value is the fusion and the computed trend, not a raw resell. Cross-link the returned name or UEI to /entity/resolve to bridge to CIK, LEI and QID for full KYB. Partial answers are returned if a source block is briefly unavailable (never a 500); a missing recipient is a 400. Data is US public domain (CC0), attributed to USAspending.gov on every response.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"govcon_recipient_govcon_recipient_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"recipient":{"name":"Lockheed Martin","uei":"G4KDGE4JFFK7"},"total_federal_amount":21614748273.82,"top_agencies":[{"name":"Department of Defense","amount":50837516929.93}],"trend_by_fiscal_year":[{"fiscal_year":2024,"total":21614748273.82}],"attribution":["Data from USAspending.gov (U.S. Treasury, CC0 public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"recipient","in":"query","required":false,"schema":{"type":"string"},"description":"Contractor name"},{"name":"uei","in":"query","required":false,"schema":{"type":"string"},"description":"Recipient UEI, if known"},{"name":"award_type","in":"query","required":false,"schema":{"type":"string","enum":["contracts","direct_payments","grants","idvs","loans","other"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Federal fiscal year"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/govcon/agency":{"get":{"tags":["paid"],"summary":"Profile a US federal agency's procurement in one call: reported obligations and outlays plus top vendors, top NAICS and top product-service codes. Give an agency name or toptier code.","description":"A one-call procurement profile for a US federal agency, fusing the USASpending.gov toptier-agency reference table with category aggregations. Give an agency name (matched case-insensitively, with abbreviation and toptier-code fallbacks) or an exact toptier code and get the agency's reported obligations, outlays and budget authority for its active fiscal year, plus the top vendors it buys from, the top NAICS industries and the top product and service codes (PSC) it spends under. Scope the vendor and industry rankings by award-type group and fiscal year. The value is the fusion of the authoritative agency totals with the ranked breakdowns, not a raw resell. Useful for competitive-intelligence and market-sizing agents mapping who sells what to which agency. Partial answers are returned if a block is briefly unavailable (never a 500); a missing agency is a 400. Data is US public domain (CC0), attributed to USAspending.gov on every response.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"govcon_agency_govcon_agency_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"agency":{"name":"NASA","toptier_code":"080","obligated_amount":764117585.8},"top_vendors":[{"name":"CALIFORNIA INSTITUTE OF TECHNOLOGY","amount":2175598667.68}],"top_naics":[{"name":"Aircraft Manufacturing","code":"336411"}],"attribution":["Data from USAspending.gov (U.S. Treasury, CC0 public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"agency","in":"query","required":false,"schema":{"type":"string"},"description":"Agency name"},{"name":"toptier_code","in":"query","required":false,"schema":{"type":"string"},"description":"Toptier agency code"},{"name":"award_type","in":"query","required":false,"schema":{"type":"string","enum":["contracts","direct_payments","grants","idvs","loans","other"]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Federal fiscal year"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/govcon/award":{"get":{"tags":["paid"],"summary":"Get the full detail of one US federal award by its generated_internal_id (returned from /govcon/awards): award id, type, description, total obligation, dates, awarding agency hierarchy and recipient with parent. The drill-down step after a /govcon/awards search.","description":"The drill-down companion to /govcon/awards: pass a generated_internal_id from a search result and get the full normalized detail of that single federal award. Returns the award id (PIID or FAIN), award type and description, total obligation and base-and-all-options value, the date signed and full period of performance, the awarding agency hierarchy (toptier, subtier and contracting office) and the recipient with its UEI and parent entity. The value is the clean normalization of a verbose upstream record into a compact object. A missing id returns found=false (not an error); a malformed id is a 400. Data is US public domain (CC0), attributed to USAspending.gov on every response.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"govcon_award_govcon_award_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"award":{"award_id":"Z61H","type":"C","type_description":"DELIVERY ORDER","total_obligation":16416.33,"date_signed":"2012-11-08","awarding_agency":{"toptier":"Department of Defense","subtier":"Defense Logistics Agency"},"recipient":{"name":"LOCKHEED MARTIN CORPORATION","uei":"G4KDGE4JFFK7"}},"attribution":["Data from USAspending.gov (U.S. Treasury, CC0 public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"generated_internal_id","in":"query","required":true,"schema":{"type":"string"},"description":"The award's generated_internal_id from /govcon/awards"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/freight/carrier":{"get":{"tags":["paid"],"summary":"Fit-to-haul verdict for a US motor carrier from FMCSA registration data. Give one of dot, mc or name and get a verdict (fit, caution, unfit or not_found), a 0-100 fit score, per-dimension flags, reasons and weighted signals across authority status, operation, hazmat, safety rating, history, registration freshness, address and fleet. Deterministic, no LLM. Carrier vetting indicators, not legal or compliance advice.","description":"One-call carrier vetting for freight brokers, 3PLs, load boards and logistics agents about to tender a load. Supply exactly one identifier (dot, mc or name) and, optionally, the haul_type you need (general, hazmat, household_goods, passengers or oil). The route resolves the carrier in the FMCSA Company Census and returns a fit-to-haul verdict (fit, caution, unfit or not_found) with a 0-100 fit score and an excellent, good, fair or poor category. The score is a deterministic weighted model across dimensions: operating authority and carrier status (active, inactive or pending, and whether an MC/MX/FF for-hire docket is active), operation fit (interstate versus intrastate), hazmat fit (does the carrier carry a hazmat flag when a hazmat haul is requested), FMCSA safety rating (satisfactory, conditional or unsatisfactory), history (prior authority revocation, a reincarnated-carrier signal), registration freshness (new entrant and overdue MCS-150 biennial update), address heuristics (PO-box or care-of physical address, physical and mailing state mismatch) and fleet anomalies (zero power units or drivers while active). Each fired signal returns its weight and a human-readable reason so an agent can re-rank with its own policy, and a coverage block reports which dimensions were evaluated. Insurance-on-file adequacy and CSA/SMS safety percentiles are an optional enrichment tier that lights up when an FMCSA webKey is configured; otherwise coverage marks them unavailable and the verdict is built from the keyless census dimensions. Partial answers are returned when the source is down rather than failing; nothing found returns verdict not_found. Business and carrier metadata only, never personal data about drivers or officers. Source is the FMCSA Company Census via the US DOT public-domain Socrata API. Carrier vetting indicators, not legal, safety or compliance advice; verify authority and insurance directly with FMCSA before dispatch.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"freight_carrier_freight_carrier_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"fit","fit_score":100,"category":"excellent","haul_type":"hazmat","carrier":{"dot_number":"284477","mc_number":"MC-193481","legal_name":"WACCAMAW TRANSPORT INC","carrier_status":"active","authority_status":"active","operation":"interstate","hazmat":true,"safety_rating":"satisfactory","fleet":{"power_units":96,"drivers":95},"location":{"state":"NC"}},"signals":[],"reasons":["No adverse vetting indicators detected."],"coverage":{"insurance_tier":"unavailable (no FMCSA webKey)"},"disclaimer":"Carrier vetting indicators, not legal or compliance advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"dot","in":"query","required":false,"schema":{"type":"string"},"description":"USDOT number of the carrier"},{"name":"mc","in":"query","required":false,"schema":{"type":"string"},"description":"MC, MX or FF docket number (digits only, no prefix)"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Carrier legal name (best match is used)"},{"name":"haul_type","in":"query","required":false,"schema":{"type":"string","enum":["general","hazmat","household_goods","passengers","oil"]},"description":"Type of haul to check fitness for, default general"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter state hint to disambiguate a name"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/freight/lookup":{"get":{"tags":["paid"],"summary":"Search US motor carriers by name in the FMCSA Company Census and get ranked candidates, each with its USDOT number, MC docket, legal name, state, decoded carrier status, authority status and operation. Cheap first step before freight/carrier.","description":"The light first step of a two-step carrier-vetting flow (lookup then carrier, mirroring the sanctions and KYB screen-then-verify pattern). Give a carrier name and get back ranked FMCSA Company Census candidates, each carrying its USDOT number, its MC/MX/FF docket, the legal name, the physical state, the decoded carrier status (active, inactive or pending), the operating-authority status and the operation class (interstate or intrastate), so an agent can disambiguate the right carrier and then call freight/carrier with a precise DOT number for the full fit-to-haul verdict. An optional state filter narrows the set; ranking is exact then prefix then substring, active carriers first. Returns an empty list when nothing matches and a partial result when the source is down rather than failing; an empty name is a 400. Carrier and business metadata only, never data about individuals. Source is the FMCSA Company Census via the US DOT public-domain Socrata API.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"freight_lookup_freight_lookup_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"WACCAMAW TRANSPORT","count":1,"candidates":[{"dot_number":"284477","mc_number":"MC-193481","legal_name":"WACCAMAW TRANSPORT INC","state":"NC","carrier_status":"active","authority_status":"active","operation":"interstate"}],"attribution":["FMCSA Company Census via the US DOT Socrata SoDA API"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Carrier name to search for"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter physical state filter"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":15},"description":"Max candidates to return, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/safety/vehicle":{"get":{"tags":["paid"],"summary":"Vehicle safety and recall check for a car, by make/model/year or by VIN. Fuses NHTSA open recalls, a complaint summary (crash, fire, injuries, deaths) and the 5-star NCAP safety rating into one cited JSON with a deterministic risk score. Risk indicators, not advice.","description":"One-call vehicle due-diligence for a buying agent, a used-car shopper or an insurance/fleet workflow. Supply the make, model and year, or just a 17-character VIN (we decode it to make/model/year via the NHTSA vPIC decoder), and get back a fused, normalized and cited safety picture drawn entirely from public-domain US government data: every open NHTSA safety recall (campaign number, component, summary, consequence, remedy, and the severe Do-Not-Drive park-it and Park-Outside fire-risk flags); an aggregated complaint summary from the NHTSA complaints database (total and recent counts of crashes, fires, injuries and deaths plus the top components, never the raw personal complaint bodies); and the 5-star NCAP safety rating walk (overall, front, side and rollover). On top of the raw registries the route computes a deterministic 0 to 100 risk score with a low, medium, high or critical band, per-dimension flags and human-readable reasons, all from data-driven weights so identical inputs give identical outputs. The moat is the fusion of three separate government registries under one query plus the risk score, not a resale. Partial answers are returned if one registry is briefly down (never a 500). Public government data only. These are automated risk indicators, not safety advice and not a guarantee; verify current recall status with the manufacturer before acting.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"safety_vehicle_safety_vehicle_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"vehicle_identity":{"make":"HONDA","model":"ACCORD","year":"2015"},"recalls_count":5,"complaints_summary":{"count":592,"recent":{"crash":3,"fire":0,"injuries":1,"deaths":0}},"safety_rating":{"overall":"5","rollover":"5"},"risk_score":{"score":36,"band":"medium","flags":{"has_open_recall":true,"do_not_drive":false}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"make","in":"query","required":false,"schema":{"type":"string"},"description":"Vehicle make, e.g. Honda"},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Vehicle model, e.g. Accord"},{"name":"year","in":"query","required":false,"schema":{"type":"integer","minimum":1949,"maximum":2030},"description":"Vehicle model year, e.g. 2015"},{"name":"vin","in":"query","required":false,"schema":{"type":"string"},"description":"17-char VIN; decoded to make/model/year instead of supplying them"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/safety/product":{"get":{"tags":["paid"],"summary":"Product recall and safety check for a consumer good, food, drug or medical device by brand or product name. Fuses CPSC and openFDA recalls into one cited JSON with hazard, FDA class, remedy, status and a deterministic risk score. Risk indicators, not advice.","description":"One-call product safety due-diligence for a shopping agent or a compliance workflow. Supply a brand or product name and, optionally, a domain to target (all, consumer, food, drug or device), and get back matched recalls fused from two public-domain US government registries: the Consumer Product Safety Commission SaferProducts recalls (consumer goods) and the openFDA enforcement reports for food, drug and medical-device recalls. Each match is normalized to one cited shape (source, recall id, date, hazard, FDA hazard classification, remedy, active or terminated status, distribution and a link where available), fuzzy-matched to the query and de-duplicated across sources, with a match_score so the caller can re-rank. On top of the raw registries the route computes a deterministic 0 to 100 risk score with a low, medium, high or critical band, per-dimension flags and human-readable reasons, driven by the highest FDA hazard class present (Class I is the most serious), whether any recall is still active, the recall count and an injury or death hazard lexicon. The scoring is fully data-driven so identical inputs give identical outputs. The moat is the cross-registry fusion plus the risk score, not a resale; a new registry is one row in the source registry. Partial answers are returned if one source is briefly down (never a 500). openFDA data is used under its terms and does not imply FDA endorsement. These are automated risk indicators, not safety advice and not a guarantee.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"safety_product_safety_product_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"query":"peanut butter","domain":"all"},"matched_count":3,"matched_recalls":[{"source":"openfda_food","classification":"Class I","status":"terminated","date":"2022-05-20","hazard":"Salmonella contamination","match_score":100}],"risk_score":{"score":57,"band":"high","flags":{"max_fda_classification":"Class I"}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Brand or product name to search, e.g. peanut butter"},{"name":"domain","in":"query","required":false,"schema":{"type":"string","enum":["all","consumer","food","drug","device"]},"description":"Which registries to search"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Max matched recalls to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/energy/petroleum":{"get":{"tags":["paid"],"summary":"US petroleum prices and stocks from the EIA: retail gasoline and diesel by PADD region (weekly), WTI and Brent crude spot (daily), and weekly crude/gasoline/distillate inventories. Returns latest value, change vs prior period, short history, and a region-vs-US spread.","description":"One call for authoritative US petroleum market data from the U.S. Energy Information Administration (EIA), normalized with computed signals. Metrics: gas_prices and diesel_prices (weekly retail average, selectable by PADD region — us, east_coast, midwest, gulf_coast, rocky_mountain, west_coast), crude_wti and crude_brent (daily spot in dollars per barrel), and weekly inventories crude_stocks, gasoline_stocks and distillate_stocks (thousand barrels). Every response carries the latest value with its EIA period and units, the change and percent change versus the previous period, a short history array (set history=N, up to 120 points), and — for regional retail prices — a regional_spread block giving the difference against the national average. Data is US-government public domain; the required attribution string is included. Unknown metric or region returns 400, an empty result 404, an upstream failure 502, and a missing key 503.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"energy_petroleum_energy_petroleum_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"metric":"gas_prices","region":"west_coast","unit":"$/gal","as_of":"2026-06-29","latest":{"period":"2026-06-29","value":4.42,"units":"$/GAL"},"change":{"change":-0.08,"change_pct":-1.78},"regional_spread":{"vs":"us","spread":0.59}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["gas_prices","diesel_prices","crude_wti","crude_brent","crude_stocks","gasoline_stocks","distillate_stocks"]},"description":"Which petroleum series to return (default gas_prices)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["us","east_coast","midwest","gulf_coast","rocky_mountain","west_coast"]},"description":"PADD region for retail gasoline/diesel (default us)"},{"name":"history","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":120},"description":"Number of recent data points to include"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/energy/natural-gas":{"get":{"tags":["paid"],"summary":"US natural gas data from the EIA: Henry Hub spot price (daily) and weekly working gas in underground storage (Bcf, Lower 48 or region). Returns latest value, change vs the prior period (week-over-week for storage), and short history. Source: U.S. Energy Information Administration.","description":"Authoritative US natural gas data from the U.S. Energy Information Administration (EIA). Metric henry_hub returns the daily Henry Hub natural gas spot price (dollars per million Btu) with the latest value, change and percent change versus the prior trading day, and a short history array. Metric storage returns weekly working natural gas in underground storage (billion cubic feet) for the Lower 48 or one of the EIA storage regions (east, midwest, south_central, mountain, pacific), with the latest level and the week-over-week change and percent change (the number markets watch on the Thursday EIA storage report). Set history=N (up to 120) for a longer series. Data is US-government public domain; the required attribution is included. Unknown metric/region returns 400, empty 404, upstream failure 502, missing key 503.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"energy_natural_gas_energy_natural_gas_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"metric":"storage","region":"east","unit":"Bcf","frequency":"weekly","as_of":"2026-06-26","latest":{"period":"2026-06-26","value":620.0,"units":"BCF"},"wow_change":{"previous_value":598.0,"change":22.0,"change_pct":3.68},"attribution":"Source: U.S. Energy Information Administration"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["henry_hub","storage"]},"description":"Henry Hub spot price or working-gas storage (default henry_hub)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["lower_48","east","midwest","south_central","mountain","pacific"]},"description":"Storage region (default lower_48)"},{"name":"history","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":120},"description":"Number of recent data points to include"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/energy/electricity":{"get":{"tags":["paid"],"summary":"US electricity data from the EIA grid monitor and retail survey: generation mix by fuel type with percentage breakdown (latest hour), demand by region, and average retail price by state/sector (monthly).","description":"Authoritative US electricity data from the U.S. Energy Information Administration (EIA). Metric generation_mix returns the latest hourly electricity generation by fuel type for a grid region (us or a regional aggregate such as texas, california, new_england) with each fuel's megawatthours and percentage of the generation total, the renewable share, and a separate storage block (battery/pumped storage are excluded from the generation percentages because they can be negative when charging). Metric demand returns the latest hourly electricity demand for a grid region with the change versus the prior hour. Metric retail_price returns the average monthly retail electricity price in cents per kilowatt-hour by state (a two-letter state code or US for the national total) for all sectors, with the month-over-month change and a short history. Data is US-government public domain; the required attribution is included. Unknown metric/region/state returns 400, empty 404, upstream failure 502, missing key 503.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"energy_electricity_energy_electricity_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"metric":"generation_mix","region":"texas","unit":"MWh","as_of":"2026-07-03T03","total_generation_mwh":640000.0,"renewable_share_pct":32.4,"mix":[{"fueltype":"NG","value_mwh":286795.0,"pct":44.8}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["generation_mix","demand","retail_price"]},"description":"Which electricity series (default generation_mix)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["us","california","carolinas","central","florida","mid_atlantic","midwest","new_england","new_york","northwest","southeast","southwest","tennessee","texas"]},"description":"Grid region for generation_mix/demand (default us)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter state code or US for retail_price (default US)"},{"name":"history","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":120},"description":"Recent data points for demand/retail_price"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/energy/renewables":{"get":{"tags":["paid"],"summary":"Renewable share of US electricity generation from the EIA grid monitor: solar, wind, hydro and geothermal as a percentage of the latest hourly generation total, by grid region. Source: U.S. Energy Information Administration.","description":"The renewable share of US electricity generation, computed from the U.S. Energy Information Administration (EIA) hourly grid monitor. For a grid region (us or a regional aggregate such as california, texas, new_england) it returns the renewable share as a percentage of the latest hour's total generation, the renewable megawatthours, the total megawatthours, and the list of contributing renewable fuels (solar, wind, hydro, geothermal, and solar/wind paired with battery storage). Biomass is not separable at grid-monitor granularity (it is folded into other). A clean single number for ESG, carbon-intensity and clean-energy agents. Data is US-government public domain; the required attribution is included. Unknown metric/region returns 400, empty 404, upstream failure 502, missing key 503.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"energy_renewables_energy_renewables_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"metric":"share","region":"california","frequency":"hourly","as_of":"2026-07-03T03","renewable_share_pct":41.7,"renewable_generation_mwh":12500.0,"total_generation_mwh":30000.0,"attribution":"Source: U.S. Energy Information Administration"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["share"]},"description":"Renewable share of generation (default share)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","enum":["us","california","carolinas","central","florida","mid_atlantic","midwest","new_england","new_york","northwest","southeast","southwest","tennessee","texas"]},"description":"Grid region (default us)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/quant/options":{"get":{"tags":["paid"],"summary":"Black-Scholes European option calculator: fair price, all greeks (delta, gamma, vega, theta, rho), or implied volatility from a market price. Pure computation over your inputs.","description":"European Black-Scholes helper with continuous dividend yield q. op=price returns the fair value. op=greeks returns the price together with delta, gamma, vega (per 1% vol), theta (per calendar day) and rho (per 1% rate). op=iv recovers the implied volatility from a supplied market_price using a Newton solver with a bisection fallback that is guaranteed to converge. The normal CDF uses math.erf. Reference vector S=K=100, T=1, r=0.05, sigma=0.2 gives call 10.4506 and put 5.5735. Pure local computation, no market data fetched.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"quant_options_quant_options_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"op":"greeks","type":"call","price":10.4506,"delta":0.6368,"gamma":0.0188,"vega":0.3752,"theta":-0.0176,"rho":0.5323,"disclaimer":"computation only, not financial advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"op","in":"query","required":true,"schema":{"type":"string","enum":["price","greeks","iv"]},"description":"price returns the fair value; greeks returns price plus all greeks; iv solves for implied volatility"},{"name":"S","in":"query","required":true,"schema":{"type":"number"},"description":"Spot price of the underlying (> 0)"},{"name":"K","in":"query","required":true,"schema":{"type":"number"},"description":"Strike price (> 0)"},{"name":"T","in":"query","required":true,"schema":{"type":"number"},"description":"Time to expiry in years (> 0)"},{"name":"r","in":"query","required":true,"schema":{"type":"number"},"description":"Risk-free rate, continuous, as a decimal"},{"name":"sigma","in":"query","required":false,"schema":{"type":"number"},"description":"Volatility as a decimal (needed for price and greeks)"},{"name":"q","in":"query","required":false,"schema":{"type":"number"},"description":"Continuous dividend yield as a decimal, default 0"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["call","put"]},"description":"Option type, default call"},{"name":"market_price","in":"query","required":false,"schema":{"type":"number"},"description":"Observed option price, used for op=iv instead of sigma"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/quant/risk":{"post":{"tags":["paid"],"summary":"Portfolio risk metrics over an array of periodic returns: value-at-risk, conditional VaR, Sharpe, Sortino, max drawdown, Calmar, volatility, and more. Pure computation over your inputs.","description":"Compute risk and performance metrics over a returns array. Available metrics are a data-driven registry: mean, std, volatility (annualized), var_historical, var_parametric (Gaussian), cvar (expected shortfall), downside_deviation, sharpe, sortino, max_drawdown, calmar. Sharpe and Sortino are annualized by periods_per_year; VaR and CVaR use the confidence level. Losses are reported as positive numbers. The array is capped at 10000 entries. Pure local computation.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"quant_risk_quant_risk_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"returns":{"items":{"type":"number"},"type":"array","description":"Periodic returns as decimals, at most 10000 entries"},"metrics":{"items":{"type":"string","enum":["mean","std","volatility","var_historical","var_parametric","cvar","downside_deviation","sharpe","sortino","max_drawdown","calmar"]},"type":"array","description":"Which metrics to compute; omit for all"},"confidence":{"type":"number","description":"Confidence for VaR and CVaR, default 0.95"},"risk_free":{"type":"number","description":"Annual risk-free rate as a decimal, default 0"},"periods_per_year":{"type":"number","description":"Annualization factor, default 252"}},"type":"object","required":["returns"]},"example":{"returns":[0.01,-0.02,0.03,-0.01,0.02],"metrics":["sharpe","var_historical","max_drawdown"],"confidence":0.95,"periods_per_year":252}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":5,"confidence":0.95,"periods_per_year":252,"metrics":{"sharpe":4.59,"var_historical":0.018,"max_drawdown":0.02},"disclaimer":"computation only, not financial advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/quant/kelly":{"get":{"tags":["paid"],"summary":"Kelly-criterion optimal bet fraction and position sizing from a win probability and payoff, or from an edge and odds. Pure computation over your inputs.","description":"Kelly-criterion sizing. Supply win_prob and win_loss_ratio for the classic form f = (p*b - (1-p)) / b, or supply edge and odds for f = edge/odds. The reference vector p=0.6, b=1 gives f=0.2. An optional fraction multiplier applies fractional Kelly, and an optional bankroll turns the fraction into a position size. By default the fraction is clamped to [0, 1]. Pure local computation.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"quant_kelly_quant_kelly_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"kelly_fraction":0.2,"clamped":true,"applied_fraction":0.1,"win_prob":0.6,"win_loss_ratio":1,"position_size":1000.0,"disclaimer":"computation only, not financial advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"win_prob","in":"query","required":false,"schema":{"type":"number"},"description":"Probability of a win in [0, 1]"},{"name":"win_loss_ratio","in":"query","required":false,"schema":{"type":"number"},"description":"Payoff ratio b of win size to loss size (> 0)"},{"name":"edge","in":"query","required":false,"schema":{"type":"number"},"description":"Expected edge, alternative input paired with odds"},{"name":"odds","in":"query","required":false,"schema":{"type":"number"},"description":"Odds b, alternative input paired with edge (> 0)"},{"name":"fraction","in":"query","required":false,"schema":{"type":"number"},"description":"Fractional-Kelly multiplier, default 1"},{"name":"bankroll","in":"query","required":false,"schema":{"type":"number"},"description":"Bankroll to size the position against"},{"name":"clamp","in":"query","required":false,"schema":{"type":"boolean"},"description":"Clamp the Kelly fraction to [0, 1], default true"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/quant/montecarlo":{"get":{"tags":["paid"],"summary":"Monte-Carlo geometric-Brownian-motion simulation of terminal price and European option payoff, with percentiles and a standard error. Pure computation over your inputs.","description":"Monte-Carlo GBM simulation. Returns the mean, standard deviation and percentiles of the terminal price, and when a strike K is supplied also the discounted European option price with its standard error and the probability of finishing in the money. The compute is hard-capped at paths times steps of 200000 to bound CPU on the host. With a seed the run is reproducible, and the discounted price converges to the Black-Scholes value. Pure local computation using the standard library RNG.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"quant_montecarlo_quant_montecarlo_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"paths":20000,"steps":1,"terminal":{"mean":105.1,"std":21.2,"p05":74.9,"p50":103.0,"p95":143.8,"min":40.1,"max":250.0},"option":{"type":"call","strike":100,"price":10.46,"standard_error":0.1,"prob_itm":0.54},"disclaimer":"computation only, not financial advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"S","in":"query","required":true,"schema":{"type":"number"},"description":"Spot price of the underlying (> 0)"},{"name":"K","in":"query","required":false,"schema":{"type":"number"},"description":"Strike; include it to also price a European payoff"},{"name":"T","in":"query","required":true,"schema":{"type":"number"},"description":"Horizon in years (> 0)"},{"name":"r","in":"query","required":true,"schema":{"type":"number"},"description":"Drift or risk-free rate as a decimal"},{"name":"sigma","in":"query","required":true,"schema":{"type":"number"},"description":"Volatility as a decimal (> 0)"},{"name":"q","in":"query","required":false,"schema":{"type":"number"},"description":"Continuous dividend yield as a decimal, default 0"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["call","put"]},"description":"Option type for the payoff, default call"},{"name":"paths","in":"query","required":false,"schema":{"type":"integer"},"description":"Number of simulated paths, default 10000"},{"name":"steps","in":"query","required":false,"schema":{"type":"integer"},"description":"Time steps per path, default 1"},{"name":"seed","in":"query","required":false,"schema":{"type":"integer"},"description":"Optional RNG seed for reproducibility"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/quant/defi":{"get":{"tags":["paid"],"summary":"DeFi math helper: APR and APY conversion, funding annualization, impermanent loss, liquidation price, and leverage. Pure computation over your inputs.","description":"DeFi math dispatcher with a data-driven op registry. apr_to_apy and apy_to_apr convert rates for a compounding frequency n. funding_annualized scales a per-period funding rate. impermanent_loss uses IL = 2*sqrt(k)/(1+k) - 1 for a price ratio k, so k=2 gives -5.7191%. liquidation_price computes the long or short liquidation level from leverage and maintenance margin. leverage returns the leverage and margin from notional and equity. lp_value compares an LP position to holding. apr_to_apy with apr=0.10 and n=12 gives 0.104713. Pure local computation.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"quant_defi_quant_defi_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"op":"apr_to_apy","apr":0.1,"n":12,"apy":0.104713,"disclaimer":"computation only, not financial advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"op","in":"query","required":true,"schema":{"type":"string","enum":["apr_to_apy","apy_to_apr","funding_annualized","impermanent_loss","liquidation_price","leverage","lp_value"]},"description":"Which DeFi formula to evaluate"},{"name":"apr","in":"query","required":false,"schema":{"type":"number"},"description":"APR as a decimal for op=apr_to_apy"},{"name":"apy","in":"query","required":false,"schema":{"type":"number"},"description":"APY as a decimal for op=apy_to_apr"},{"name":"n","in":"query","required":false,"schema":{"type":"number"},"description":"Compounding periods per year for the rate conversions"},{"name":"rate","in":"query","required":false,"schema":{"type":"number"},"description":"Per-period funding rate for op=funding_annualized"},{"name":"periods_per_year","in":"query","required":false,"schema":{"type":"number"},"description":"Funding periods per year, default 1095"},{"name":"price_ratio","in":"query","required":false,"schema":{"type":"number"},"description":"Price ratio k for impermanent loss and LP value"},{"name":"entry_price","in":"query","required":false,"schema":{"type":"number"},"description":"Entry price for op=liquidation_price"},{"name":"leverage","in":"query","required":false,"schema":{"type":"number"},"description":"Leverage for op=liquidation_price and op=leverage"},{"name":"maintenance_margin","in":"query","required":false,"schema":{"type":"number"},"description":"Maintenance margin as a decimal, default 0.005"},{"name":"side","in":"query","required":false,"schema":{"type":"string","enum":["long","short"]},"description":"Position side for op=liquidation_price"},{"name":"notional","in":"query","required":false,"schema":{"type":"number"},"description":"Notional for op=leverage"},{"name":"equity","in":"query","required":false,"schema":{"type":"number"},"description":"Equity for op=leverage"},{"name":"initial_value","in":"query","required":false,"schema":{"type":"number"},"description":"Optional initial value for op=lp_value"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/phone/intel":{"get":{"tags":["paid"],"summary":"Phone-number intelligence in one call: validity and E.164 normalization, line type (mobile, fixed line, VOIP, toll free, premium rate), country and region, carrier hint, timezones, and a deterministic 0-100 fraud/KYC risk score with a band and reasons. Offline number-plan metadata from Google libphonenumber. Risk indicators only, not a definitive fraud verdict; no live status and no owner identity; the input number is not stored.","description":"One-call phone-number intelligence for fraud, KYC and contact-verification loops, computed ENTIRELY OFFLINE from Google libphonenumber (Apache-2.0) — no third-party telecom API is resold. Given a number in E.164, or a national number plus a 'country' (ISO-3166 alpha-2), it returns: validity (is_valid / is_possible), the E.164, international and national formats, the numeric country calling code and ISO region, the line type (mobile, fixed_line, fixed_line_or_mobile, voip, toll_free, premium_rate, shared_cost, personal_number, pager, uan, voicemail or unknown), a geography hint, a carrier hint (sparse for North American numbers due to number portability), and the IANA timezones. On top of that it fuses a DETERMINISTIC risk_score (0-100) with a low/medium/high band and human-readable reasons, derived from the line type, the validity state and a data-driven registry of known VOIP / virtual-number / disposable carriers and number prefixes — the differentiator over a bare format-validator. The fired signals and weights are returned so a caller can re-rank with its own policy. IMPORTANT: these are risk INDICATORS from offline numbering-plan metadata, NOT a definitive fraud verdict and NOT legal/KYC advice; they do NOT reflect live line status, portability, reassignment or the identity of any subscriber, and the input number is never stored or logged. Uparseable input returns a 4xx, never a 500.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"phone_intel_phone_intel_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"valid":true,"possible":true,"e164":"+14155552671","international":"+1 415-555-2671","national":"(415) 555-2671","country_code":1,"region_code":"US","location":"San Francisco, CA","number_type":"fixed_line_or_mobile","timezones":["America/Los_Angeles"],"risk_score":0,"risk_band":"low","reasons":[],"signals":[],"disclaimer":"Automated offline number-plan risk indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"number","in":"query","required":true,"schema":{"type":"string"},"description":"Phone number. E.164 (e.g. +14155552671) or a national number when 'country' is also given."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional ISO-3166 alpha-2 country code (e.g. US, GB, DE) for national-format input."},{"name":"region","in":"query","required":false,"schema":{"type":"string"},"description":"Alias of 'country' (ISO-3166 alpha-2)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/trade/tariff":{"get":{"tags":["paid"],"summary":"Estimate the effective US import duty for one HTS code from one origin country. Returns the base rate (MFN or FTA), the additional trade-war layers (Section 301, Section 232, IEEPA) with their Chapter 99 provisions, the combined effective rate, and an optional landed-cost estimate.","description":"A computed duty-exposure estimate for one product entering the United States, built entirely from public-domain government data. Give an HTS or HS code and an ISO country of origin and the route resolves the base tariff rate from the USITC Harmonized Tariff Schedule — the MFN general rate, or the preferential FTA special rate when the origin qualifies for a program such as USMCA, KORUS or the Australia FTA, or the statutory column-2 rate for a non-NTR origin — then layers on the additional trade-war duties that apply: Section 301 (China lists), Section 232 (steel, aluminum, autos) and IEEPA actions, each drawn from a data registry that cites the Chapter 99 provision carrying it, its legal basis, ad-valorem rate, effective date and a source link. The route sums these into an effective ad-valorem rate and, if you pass a customs value, estimates the ad-valorem duty and landed cost. The value is the COMPUTATION and fusion, not a raw resell: it reconciles the HTS rate columns, the origin-to-FTA-symbol mapping and the additional-duty programs for you and links every layer back to a verifiable Chapter 99 provision. Per-unit and compound specific duties are flagged, not silently computed. This is an estimate of duty exposure, not customs or legal advice and not shipment-level; verify the cited provisions and consult a licensed broker. Rates in the additional-duty registry are refreshed periodically because the 2025-26 tariff landscape changes frequently.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"trade_tariff_trade_tariff_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"hts":"8471.30","origin":"CN"},"base_rate":{"column":"general_mfn","raw":"Free","ad_valorem_percent":0.0},"additional_duties":[{"program":"Section 301 China List 4A","legal_basis":"Section 301","ad_valorem_percent":7.5,"chapter99_provision":"9903.88.15"}],"effective_rate":{"effective_ad_valorem_percent":7.5},"landed_cost":{"estimated_ad_valorem_duty":750.0,"estimated_landed_cost":10750.0},"attribution":["Tariff rates from the USITC Harmonized Tariff Schedule (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"hts","in":"query","required":true,"schema":{"type":"string"},"description":"HTS or HS code, 4 to 10 digits, dots optional"},{"name":"origin","in":"query","required":true,"schema":{"type":"string"},"description":"Country of origin as an ISO code, e.g. CN, MX, DE"},{"name":"customs_value","in":"query","required":false,"schema":{"type":"number"},"description":"Optional entered customs value in USD for landed cost"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/trade/hts":{"get":{"tags":["paid"],"summary":"Classify goods against the US Harmonized Tariff Schedule. Give a keyword or an HTS code and get the matching HTS lines with their duty-rate columns, units and footnotes. The cheap supporting lookup that feeds trade/tariff.","description":"Look up US tariff classification lines straight from the authoritative, public-domain USITC Harmonized Tariff Schedule. Search by a product-description keyword to find candidate HTS numbers, or pass an HTS or HS code (4 to 10 digits) to expand it into its subheading and statistical lines. Each returned line carries its description, units of quantity, all three duty-rate columns (the general MFN rate, the special preferential rate with its program symbols, and the column-2 rate) and any Chapter 99 footnotes that flag additional Section 301 or 232 duties. The value is the normalized, rate-bearing view of the schedule, which feeds the trade/tariff compute. Partial answers are returned when the upstream is briefly unavailable rather than an error. Data is US public domain; this is reference information, not customs or legal advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"trade_hts_trade_hts_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"keyword":"laptop"},"count":1,"results":[{"hts":"8471.30.01.00","description":"Portable data processing machines","units":["No."],"general":"Free","special":"","other":"35%"}],"attribution":["Tariff rates from the USITC Harmonized Tariff Schedule (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string"},"description":"Product description keyword to search the HTS"},{"name":"hts","in":"query","required":false,"schema":{"type":"string"},"description":"HTS or HS code to expand into its lines, 4 to 10 digits"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":60},"description":"Max lines to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/trade/flow":{"get":{"tags":["paid"],"summary":"US monthly import or export trade flow for a commodity from the Census Bureau. Give an HS code, a direction and an optional partner country and get monthly values, a trend and a supplier-concentration index. Degrades cleanly when the Census key is not configured.","description":"Monthly US international-trade flow for one commodity, computed from the US Census Bureau International Trade API. Give an HS or HTS code and a direction (imports or exports), optionally a partner country and calendar year, and the route returns the monthly customs values, a first-to-last trend, the top trading partners and a Herfindahl-Hirschman supplier-concentration index that scores how dependent that flow is on a few sources — a supply-chain-risk signal an agent can act on. The value is the computed trend and concentration, not a raw resell, and every response is attributed to the U.S. Census Bureau. This route needs a free Census API key; when the key is not configured or the upstream is unreachable it returns a clean available:false with the reason rather than failing, and the trade/tariff and trade/hts routes keep working without it. Public-domain data; not investment or trade advice.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"trade_flow_trade_flow_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"hs6":"847130","direction":"imports","year":2025},"available":true,"count":24,"signals":{"latest_month":"2025-06","latest_value":1234567.0,"trend_pct_first_to_last":12.5,"supplier_concentration_hhi":3200.0,"top_partners":[{"cty_code":"5700","name":"China","value":9000000.0}]},"attribution":["Source: U.S. Census Bureau"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"hs6","in":"query","required":true,"schema":{"type":"string"},"description":"HS or HTS code, 2 to 10 digits, dots optional"},{"name":"direction","in":"query","required":false,"schema":{"type":"string","enum":["imports","exports"]}},{"name":"partner","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Census partner country code to filter by"},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Calendar year, defaults to recent"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/provider/screen":{"get":{"tags":["paid"],"summary":"Screen a US healthcare provider against the OIG LEIE federal exclusion list. Exact NPI match returns an authoritative exclusion; a name match returns potential matches for review. Accepts an npi, a name, or an organization.","description":"Screen a US healthcare provider against the HHS OIG List of Excluded Individuals and Entities (LEIE), the federal exclusion list that makes it unlawful to bill Medicare or Medicaid for items or services furnished by the excluded party. Provide a 10-digit NPI for an authoritative exact match, or a last name (optionally first name, date of birth and state) or an organization name for a fuzzy match. An exact NPI hit is authoritative and sets excluded true with the exclusion type, statutory basis and date. A name hit is returned as a potential match with a similarity score and never sets excluded true, because many LEIE rows carry no NPI on file — confirm identity by date of birth and state before acting. This screens the in-memory LEIE index this service refreshes; see /provider/sources for freshness. Informational only, not legal advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"provider_screen_provider_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"excluded":true,"query":{"npi":"1122334455","is_organization":false},"exclusion_records":[{"name":"DOE JOHN","npi":"1122334455","exclusion_type":"1128a1","exclusion_basis":"Conviction of a program-related crime (mandatory)","exclusion_date":"20180312","state":"NY","specialty":"NURSING","match_type":"exact_npi"}],"potential_matches":[],"match_count":1,"source":{"list":"LEIE","published":"Tue, 30 Jun 2026 16:34:35 GMT","records":80231,"last_refresh":"2026-07-03T00:00:00Z"},"disclaimer":"Informational compliance screening against public OIG/CMS data; not legal advice. Verify against official sources before any payment or credentialing decision."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"npi","in":"query","required":false,"schema":{"type":"string"},"description":"10-digit National Provider Identifier"},{"name":"last_name","in":"query","required":false,"schema":{"type":"string"},"description":"Individual provider last name"},{"name":"first_name","in":"query","required":false,"schema":{"type":"string"},"description":"Individual provider first name"},{"name":"organization","in":"query","required":false,"schema":{"type":"string"},"description":"Organization/business name"},{"name":"dob","in":"query","required":false,"schema":{"type":"string"},"description":"Date of birth to corroborate a name match (YYYY-MM-DD)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter US state code"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/provider/verify":{"get":{"tags":["paid"],"summary":"Full compliance verdict for a US healthcare provider: fuses live NPPES registration status, taxonomy and license, Medicare PECOS enrollment, and OIG LEIE exclusion into a deterministic verdict with risk flags. Accepts an npi, a name, or an organization.","description":"Reconcile a US healthcare provider across three authoritative public sources in one call and return a deterministic compliance verdict. Fetches live NPPES NPI Registry data (enumeration type, active or deactivated status, primary taxonomy and licensure), live CMS Medicare Fee-for-Service PECOS enrollment, and the OIG LEIE exclusion screen. Provide a 10-digit NPI, or a name or organization (a name resolves to an NPI via NPPES first). The verdict is one of clear, review, excluded or not_found, computed deterministically from risk flags such as excluded, npi_deactivated, npi_not_found, not_enrolled_medicare, potential_name_exclusion, no_active_license and name_mismatch. An exact LEIE NPI match forces the excluded verdict and names the exclusion source; a fuzzy name hit only raises a review flag, never an exclusion. Each upstream is collected independently, so a single source outage returns a partial answer with the error noted, never a failure. Informational compliance screening, not legal advice — verify against official sources before any billing, payment or credentialing decision.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"provider_verify_provider_verify_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"clear","excluded":false,"query":{"npi":"1003000126","is_organization":false},"npi":{"found":true,"record":{"npi":"1003000126","type":"individual","status":"active","name":"ARDALAN ENKESHAFI","credential":"M.D.","primary_taxonomy":{"code":"207R00000X","desc":"Internal Medicine","primary":true,"license":"D0000290","state":"MD"},"licenses":[{"number":"D0000290","state":"MD","taxonomy":"Internal Medicine"}]}},"medicare_enrollment":{"enrolled":true,"enrollment_count":2,"provider_types":["PRACTITIONER - INTERNAL MEDICINE"],"states":["MD"]},"exclusion":{"excluded":false,"records":[],"potential_matches":[]},"risk_flags":[],"sources":{"errors":{},"partial":false,"checked":["NPPES","PECOS","LEIE"]},"verdict_values":["clear","review","excluded","not_found"],"disclaimer":"Informational compliance screening against public OIG/CMS data; not legal advice. Verify against official sources before any payment or credentialing decision."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"npi","in":"query","required":false,"schema":{"type":"string"},"description":"10-digit National Provider Identifier"},{"name":"last_name","in":"query","required":false,"schema":{"type":"string"},"description":"Individual provider last name"},{"name":"first_name","in":"query","required":false,"schema":{"type":"string"},"description":"Individual provider first name"},{"name":"organization","in":"query","required":false,"schema":{"type":"string"},"description":"Organization/business name"},{"name":"dob","in":"query","required":false,"schema":{"type":"string"},"description":"Date of birth to corroborate exclusion screening (YYYY-MM-DD)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter US state code to narrow a name search"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/fraud/ip":{"get":{"tags":["paid"],"summary":"Reputation of a public IP address for anti-abuse and KYC. Returns ASN, AS-org, country, datacenter/hosting classification, Tor-exit and Spamhaus DROP flags, plus a deterministic risk score with reasons.","description":"Classify a single public IPv4 address for anti-abuse and KYC decisions, over free public bulk datasets this service refreshes in-process: the iptoasn ASN table (Public Domain), the Tor Project exit-relay list, and the Spamhaus DROP and ASN-DROP lists. Returns the announcing ASN, its organization name, the country, our own datacenter/hosting classification (heuristic over the AS-org name and a curated hosting-ASN set), whether the address is a Tor exit, whether it sits on a Spamhaus DROP netblock or DROP autonomous system, and an optional geo-mismatch flag when a claimed country is supplied. A deterministic weighted risk score from 0 to 100 with a category and per-signal reasons lets an agent re-rank. IPv6 is accepted but returns a partial result (the index is IPv4-only). These are reputation indicators, not a guarantee, and contain no personal data.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"fraud_ip_fraud_ip_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ip":"185.220.101.1","ip_version":4,"supported":true,"asn":60729,"as_org":"TORSERVERS-NET","country":"DE","is_datacenter":true,"is_tor":true,"on_drop":false,"risk_score":48,"risk_category":"medium","reasons":[{"signal":"is_tor","weight":30,"dimension":"anonymity","severity":"high","reason":"IP is a known Tor exit relay."}],"disclaimer":"These are automated reputation indicators, NOT a guarantee and NOT a statement about any individual. A high score is not proof of fraud; a low score is not an endorsement. Contains no personal data. Verify before acting."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ip","in":"query","required":true,"schema":{"type":"string"},"description":"Public IPv4 address to screen"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter country the caller claims the IP is in, for a geo-mismatch check"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/fraud/score":{"get":{"tags":["paid"],"summary":"Fusion anti-abuse risk score for an email and/or IP in one call. Combines domain-level email intelligence (MX, SPF, DMARC, disposable, free, role) with IP reputation into a deterministic 0-100 score with per-dimension reasons. Works with either input alone.","description":"Compute one fusion anti-abuse risk score for a signup or transaction, from an email address and/or a public IPv4 address. The email side reuses this service's existing domain-level email intelligence (MX records, SPF and DMARC posture, and disposable, free and role-account classification) and NEVER performs SMTP mailbox probing, by design. The IP side reuses the IP-reputation classification (ASN, hosting/datacenter, Tor, Spamhaus DROP, geo-mismatch). The two are merged into a single deterministic weighted score from 0 to 100 with a category, a per-dimension breakdown, and per-signal reasons. Supply either input alone or both; if one source is unavailable the score is computed over the other and marked partial. These are reputation indicators, not a guarantee, and contain no personal data.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"fraud_score_fraud_score_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"email_domain":"example.com","ip":"185.220.101.1","claimed_country":"US"},"risk_score":63,"risk_category":"high","inputs_scored":["email","ip"],"partial":false,"dimensions":{"email":{"score":15,"signals":["email_weak_auth"]},"anonymity":{"score":30,"signals":["is_tor"]}},"reasons":[{"signal":"is_tor","weight":30,"dimension":"anonymity","severity":"high","reason":"IP is a known Tor exit relay."}],"disclaimer":"These are automated reputation indicators, NOT a guarantee and NOT a statement about any individual. A high score is not proof of fraud; a low score is not an endorsement. Contains no personal data. Verify before acting."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"email","in":"query","required":false,"schema":{"type":"string"},"description":"Email address to assess (domain-level only, no mailbox probing)"},{"name":"ip","in":"query","required":false,"schema":{"type":"string"},"description":"Public IPv4 address to assess"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter country the caller claims, for a geo-mismatch check on the IP"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/notarize":{"get":{"tags":["paid"],"summary":"Notarize a public URL: we fetch it ourselves and return a signed snapshot (final URL, HTTP status, content-type, sha256 of the body, server timestamp, upstream host) with TWO cryptographic attestations — a plain EIP-712 signature and an EAS off-chain (Version2) attestation. Proves what this endpoint observed at fetch time (integrity + timestamp + non-repudiation). mode=hash (default) returns metadata + hash only; mode=full also returns the body.","description":"A notarize-on-demand oracle for AI agents that need to CRYPTOGRAPHICALLY PIN an external web fact for a later computation, settlement or dispute (a price, a status, an availability, a policy/terms string, an on-page number). You pass a public URL; we fetch it ourselves (SSRF-guarded, robots.txt respected, public content only — no login/paywall bypass), then return a server-observed snapshot: final_url after redirects, http_status, content_type, content_length, sha256(body), a server-side fetched_at (ISO-8601 UTC), and the upstream host. The snapshot is signed TWO ways so any counterparty can verify with tooling it already has: (1) a plain EIP-712 typed-data signature under our own domain (recover with eth_account/ethers/viem, or this same service's POST /crypto/verify), and (2) an EAS off-chain attestation (Version2) that is byte-compatible with the Ethereum Attestation Service SDK and easscan.org's off-chain verifier — same domain, type layout and UID derivation as the EAS SDK. mode=hash returns metadata + hash only (cheaper, and it never re-exposes the body); mode=full additionally returns the fetched body as base64 within a size cap. We attest ONLY what WE fetched — an arbitrary caller-supplied 'observed payload' is never signed as if we saw it. HONEST framing: this proves integrity + timestamp + non-repudiation of our observation (root of trust = our attestor key + reputation); it is NOT a trustless proof of the origin server, which would require zkTLS/web-proof (a deferred extension). The attestor address, schema and verification instructions are public at the free GET /attest/info. Bad/again-private URL => 400; robots-blocked => 403; upstream failure => 502; if the attestor key is unconfigured => a clean 503.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"notarize_notarize_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mode":"hash","snapshot":{"final_url":"https://example.com/","http_status":200,"content_type":"text/html","content_length":1256,"sha256":"0xb1946ac9...","fetched_at":"2026-07-03T00:00:00Z","upstream_host":"example.com"},"attestor":"0x48Cb...8960","attestations":{"eip712":{"signer":"0x48Cb...8960","signature":"0x..."},"eas_offchain":{"uid":"0x...","signer":"0x48Cb...8960"}}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Public http(s) URL to fetch and notarize"},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["hash","full"]},"description":"hash = metadata + sha256 only (default); full = also return the fetched body (base64)"},{"name":"network","in":"query","required":false,"schema":{"type":"string"},"description":"Reserved (attestations are chainId 8453 / Base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/attest/verify":{"post":{"tags":["paid"],"summary":"Verify an attestation produced by /notarize (either the EIP-712 or the EAS off-chain form) — pure compute, no network and no keys. Recovers the signer and reports whether it matches this service's attestor, whether the EAS UID recomputes, and (if you supply the original body as payload_base64) whether its sha256 matches the attested hash.","description":"The counterpart verifier for /notarize attestations, offered as a convenience so a buyer agent can check an attestation in one call without wiring an EIP-712 / EAS library itself — though it never has to trust us to do so (the whole point is that anyone can verify independently; see GET /attest/info). PURE COMPUTE: no network, no RPC, no private key (canon #10) — it only recovers signatures and recomputes hashes over the inputs you provide. Accepts either attestation form emitted by /notarize: the plain EIP-712 object, or the EAS off-chain (Version2) object. It returns: `valid` (the signature recovered to an address), `signer` (that address), `matches_attestor` (whether it equals THIS service's published attestor address), `uid_ok` (for EAS: whether the off-chain UID recomputes byte-identically from the message fields), and `hash_ok` (if you pass payload_base64, whether sha256(payload) equals the attested content hash — this is how you prove a body you hold is the one we notarized). Malformed input => 400, never a 500.\n\nPrice: $0.001 (USDC on Base, x402).","operationId":"attest_verify_attest_verify_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"attestation":{"type":"object","description":"An attestation object from /notarize (eip712 or eas_offchain form)"},"payload_base64":{"type":"string","description":"Optional: base64 of the original body to re-hash against the attested sha256"}},"type":"object","required":["attestation"]},"example":{"attestation":{"standard":"eip712","domain":{"name":"AgentsTools Attestation","version":"1","chainId":8453},"primaryType":"Snapshot","types":{"Snapshot":[{"name":"finalURL","type":"string"},{"name":"contentHash","type":"bytes32"},{"name":"httpStatus","type":"uint256"},{"name":"contentType","type":"string"},{"name":"upstreamHost","type":"string"},{"name":"fetchedAt","type":"uint256"}]},"message":{"finalURL":"https://example.com/","contentHash":"0xb1946ac92492d2347c6235b4d2611184b1946ac92492d2347c6235b4d2611184","httpStatus":200,"contentType":"text/html","upstreamHost":"example.com","fetchedAt":1783000000},"signature":"0x2dfdc459248c95cb62cbe4c458e91806a1a89fde7af05ab0a68d60f7f7215abc36b573d18dcc4e61ef6a8392b020e4f7561b778bcee04d15193c36782fb97e6d1b","signer":"0x48Cbbbf38Bae6394B0D921Fa8c00d4A90e088960"}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"standard":"eas-offchain","valid":true,"signer":"0x48Cb...8960","matches_attestor":true,"uid_ok":true}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001"},"protocols":[{"x402":{}}]}}},"/agri/production":{"get":{"tags":["paid"],"summary":"US crop production, yield, acreage and grain stocks from USDA NASS QuickStats by commodity, with an optional state and year. Returns a normalized cited series plus the year-over-year change.","description":"One call for authoritative US crop statistics from USDA National Agricultural Statistics Service (NASS) QuickStats, normalized with a computed year-over-year signal. Metrics: production (annual, in the commodity's physical unit), yield (per harvested acre), acreage (acres harvested), and grain stocks (quarterly, the total on-farm plus off-farm figure). Commodities include corn, soybeans, wheat and cotton; a new commodity or metric is one row in the registry. Pass an optional 2-letter state code for a state-level series (default is the national total) and an optional year as the as-of point. Each response carries the latest value with its NASS period and unit, the year-over-year change and percent change (same-quarter for stocks), a short history array, and the exact NASS short_desc used as provenance. The canonical survey series is isolated from the dollar-valued, forecast, census-breakdown and on-farm and off-farm variant rows. Data is US-government public domain and the required attribution to USDA NASS QuickStats is included. Unknown commodity, metric, state or year returns 400, an empty result 404, an upstream failure 502, and a missing API key 503.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"agri_production_agri_production_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"commodity":"corn","metric":"production","region":"US","unit":"bushels","as_of":"2025","latest":{"period":"2025","value":17020549000.0,"unit":"BU"},"yoy_change":{"previous_period":"2024","change_pct":14.29}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"commodity","in":"query","required":false,"schema":{"type":"string","enum":["corn","soybeans","wheat","cotton"]},"description":"Commodity (default corn)"},{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["production","yield","acreage","stocks"]},"description":"Which series to return (default production)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code (default national)"},{"name":"year","in":"query","required":false,"schema":{"type":"integer","minimum":2000,"maximum":2100},"description":"Optional as-of year (default latest available)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/agri/signal":{"get":{"tags":["paid"],"summary":"USDA NASS production and grain-stocks signal for a commodity: the QuickStats production and stocks series computed into context - production and stocks year-over-year change and history percentiles. When a USDA Market News key is configured it also folds in the spot/auction price and its change; without one it returns the NASS side and notes the gap.","description":"A computed agricultural signal over the USDA NASS QuickStats production and grain-stocks series for one commodity: the latest production with its year-over-year change, the latest grain stocks with a same-quarter year-over-year context where available, and history percentiles. When a USDA AMS Market News API key is configured the route additionally folds in the Market News spot or auction price and its change versus the prior report; without a key it returns the NASS production side and records the gap in a summary block (partial-on-failure, never a wholesale failure). This is a derived analytic over the physical supply side, not a resale of either source. Data is US-government public domain; USDA NASS QuickStats, and USDA AMS Market News when used, are attributed in every response. Informational only, not trading or hedging advice. Unknown commodity returns 400; if the NASS source is unconfigured or unavailable the response returns 503.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"agri_signal_agri_signal_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"commodity":"corn","signals":{"spot_price":{"price":4.18,"unit":"$/bushel","price_percentile":34.0},"production":{"yoy_change":{"change_pct":14.29}}},"summary":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"commodity","in":"query","required":false,"schema":{"type":"string","enum":["corn","soybeans","wheat"]},"description":"Commodity to fuse (default corn)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/realestate/market":{"get":{"tags":["paid"],"summary":"A composite US real-estate market profile for one geography. Fuses the FHFA House Price Index momentum, Census ACS demographics, housing, income, tenure and vacancy, national housing context, and Fair Market Rents into one cited JSON with computed derivatives such as gross rental yield and affordability. Aggregate market tier, not a per address valuation.","description":"One geography in, a full normalized market profile out. The service resolves the geo token (a state as a two-letter code or name, a metropolitan CBSA code, a county FIPS code, a ZIP, or a street address) and fuses several free government sources: the FHFA House Price Index for price level and momentum (year over year, quarter over quarter, and a five year growth rate), Census American Community Survey five year estimates for median home value, median gross rent, median household income, population, owner and renter tenure and vacancy, an optional national housing context from the Federal Reserve, and optional HUD Fair Market Rents by bedroom count. On top it computes derivatives an agent cannot reliably derive from the raw feeds: a gross rental yield proxy, a price to income ratio, a rent to income share, a homeownership rate and a vacancy rate. Every value carries its own provenance with the source, source code, geography, period and unit, and the response lists the attribution for every source used. In auto mode a five digit number is read as a ZIP; pass type cbsa or county to read it as a metro or a county. This is an aggregate market tier profile, not an appraisal and not a per address valuation, and coverage is United States only. A blank or unknown geo returns 400 and a geography with no data returns 404.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"realestate_market_realestate_market_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"geo":{"input":"31080","kind":"cbsa","geography":"Metro CBSA 31080"},"prices":{"level":"msa","momentum":{"yoy_pct":4.2,"trend":"rising"}},"derivatives":{"gross_rental_yield_pct":2.9,"price_to_income":8.6},"attribution":["Source: U.S. Federal Housing Finance Agency, House Price Index (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"geo","in":"query","required":true,"schema":{"type":"string"},"description":"A state (2-letter code or name), metro CBSA code, county FIPS, ZIP, or an address"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["auto","state","county","cbsa","zip","address"]},"description":"How to read geo. In auto a 5-digit number is a ZIP; use cbsa or county to disambiguate"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40},"description":"Most recent N House Price Index observations of history"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/realestate/prices":{"get":{"tags":["paid"],"summary":"The FHFA House Price Index for a geography: the current index level plus year over year, quarter over quarter and five year growth, with momentum flags and a short history. State and metro CBSA levels are covered directly; county and ZIP resolve to the state level index. Public domain, US only.","description":"A focused read of the FHFA House Price Index for a geography. The service returns the latest index value, the change year over year and quarter over quarter, a five year compound growth rate, a simple rising, flat or falling trend flag, and a short history of the most recent observations. The index is the purchase only series and is computed from the seasonally adjusted values where available. State and metropolitan CBSA levels are served directly from the FHFA bulk index; a county FIPS or ZIP resolves to its state level index because county and ZIP House Price Index files are developmental and not yet included, and the response notes this. Give the geo as a state code or name, a metro CBSA code, a county FIPS, a ZIP or an address. The data is public domain and the attribution is included. A blank or unknown geo returns 400 and a geography with no index returns 404.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"realestate_prices_realestate_prices_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"geo":{"input":"CA","kind":"state","geography":"State: California"},"hpi":{"level":"state","place_id":"CA","frequency":"monthly","momentum":{"latest_index":812.4,"yoy_pct":3.1,"qoq_pct":0.8,"cagr_5yr_pct":7.2,"trend":"rising"}},"attribution":["Source: U.S. Federal Housing Finance Agency, House Price Index (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"geo","in":"query","required":true,"schema":{"type":"string"},"description":"A state, metro CBSA code, county FIPS, ZIP, or address"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["auto","state","county","cbsa","zip","address"]},"description":"How to read geo (auto reads a 5-digit number as a ZIP)"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40},"description":"Most recent N index observations of history"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/realestate/rents":{"get":{"tags":["paid"],"summary":"Rental market indicators for a geography: HUD Fair Market Rents by bedroom count when a HUD token is configured, plus the Census ACS median gross rent as context. Falls back to the ACS rent when HUD is not configured. Aggregate market tier, US only.","description":"Rental indicators for a geography. When a HUD USER token is configured the service returns HUD Fair Market Rents for the area by bedroom count, from an efficiency through a four bedroom unit, including Small Area Fair Market Rents keyed by ZIP where available. The Census American Community Survey median gross rent is always included as context, and when HUD is not configured the response is ACS only with a note. Each value carries its source, source code, geography, period and unit, and the attribution for every source used is listed. Give the geo as a state, a metro CBSA code, a county FIPS, a ZIP or an address. This is an aggregate market tier read and coverage is United States only. A blank or unknown geo returns 400 and a geography with no rent data returns 404.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"realestate_rents_realestate_rents_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"geo":{"input":"90001","kind":"zip","geography":"ZIP/ZCTA 90001"},"rents":{"median_gross_rent":{"value":1471.0,"source":"acs","unit":"USD/month"}},"attribution":["Source: U.S. Census Bureau, American Community Survey 5-Year"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"geo","in":"query","required":true,"schema":{"type":"string"},"description":"A state, metro CBSA code, county FIPS, ZIP, or address"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["auto","state","county","cbsa","zip","address"]},"description":"How to read geo (auto reads a 5-digit number as a ZIP)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/realestate/compare":{"get":{"tags":["paid"],"summary":"Compare several US geographies on one real-estate metric: price momentum, gross rental yield, price to income, median home value, median gross rent or median household income. Returns a ranking plus rank, highest and lowest, spread and mean signals.","description":"Rank several geographies against each other on a single real estate metric in one call. The metric is one of the House Price Index year over year change, the gross rental yield proxy, the price to income ratio, the median home value, the median gross rent or the median household income. Give two or more geographies as states, metro CBSA codes, county FIPS codes or ZIPs, comma separated. For each geography the service resolves the metric from the underlying sources and returns a ranking from best to worst along with signals: each geography rank, the highest and lowest values, the spread between them and the mean across the set. For the price to income ratio a lower value ranks higher because it is more affordable; for the other metrics a higher value ranks higher. Every response lists the attribution for the sources used. Fewer than two geographies returns 400, an unknown metric returns 400 and no data returns 404.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"realestate_compare_realestate_compare_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"metric":"price_momentum_yoy","ranking":[{"geo":"FL","value":5.1,"rank":1},{"geo":"CA","value":3.1,"rank":2}],"signals":{"count":3,"max":{"geo":"FL","value":5.1},"spread":3.0},"attribution":["Source: U.S. Federal Housing Finance Agency, House Price Index (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"geo","in":"query","required":true,"schema":{"type":"string"},"description":"Two or more geographies (states, metro CBSA codes, county FIPS or ZIPs), comma-separated"},{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["price_momentum_yoy","gross_rental_yield","price_to_income","median_home_value","median_gross_rent","median_household_income"]},"description":"The metric to rank on (default price_momentum_yoy)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/breach/password":{"post":{"tags":["paid"],"summary":"Check whether a password has appeared in known data breaches, using k-anonymity: the password is hashed locally and only a 5-character hash prefix is sent upstream, so the plaintext is never transmitted, logged or stored. Accepts a password, a SHA-1 hash or an NTLM hash. Returns compromised, breach_count and the hash prefix. Credential-exposure indicators, not a guarantee.","description":"A privacy-preserving password-exposure check an agent runs before accepting or reusing a credential. The input password is hashed locally with SHA-1 and only the first five hex characters of the hash are sent to the Pwned Passwords range API, which returns a bucket of hash suffixes plus counts; the suffix is matched locally, so the plaintext password is revealed to no one and is never logged or stored — the response carries only the k-anonymous 5-character prefix. You may instead send a ready SHA-1 or NTLM hash so the plaintext never leaves your side at all (NTLM uses MD4 which is not computable in this runtime, so send the hash for that corpus). Output: whether the password is compromised, how many times it appears in breach corpora, the hash prefix and mode. A non-zero count means the password is unsafe to use. Credential-exposure indicators, not a guarantee. Source: Have I Been Pwned (CC BY 4.0).\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"breach_password_breach_password_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string","description":"Plaintext password — hashed locally with SHA-1; never stored, logged or transmitted"},"sha1":{"type":"string","description":"Alternative input: a full 40-hex SHA-1 hash of the password (so the plaintext never leaves your side)"},"ntlm":{"type":"string","description":"Alternative input: a full 32-hex NTLM hash (MD4 cannot be computed here, so send the hash for the NTLM corpus)"}},"type":"object","required":[]},"example":{"password":"correct horse battery staple"}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"compromised":true,"breach_count":52372427,"hash_prefix":"5BAA6","hash_mode":"sha1","k_anonymity":true,"source":"pwnedpasswords","attribution":"Data from Have I Been Pwned (https://haveibeenpwned.com) ...","disclaimer":"Automated credential-exposure indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/breach/domain":{"get":{"tags":["paid"],"summary":"List the known public data breaches that affected a domain, from the Have I Been Pwned breach catalogue. Returns normalized breach metadata (name, date, account count, data classes, stealer-log and verified flags) plus a summary. This is which known breaches touched the domain, not whether a specific account is compromised. Breach indicators, not a guarantee.","description":"A due-diligence lookup of the known public data breaches associated with a domain, normalized from the free Have I Been Pwned breach catalogue. Input: a domain, URL or hostname. Output: a list of breaches, each with its name and title, breach and added dates, the number of affected accounts, the exposed data classes with a computed max-sensitivity tier (financial or government identifiers rank high), and the verified, fabricated, sensitive, stealer-log, spam-list and malware flags — plus a summary with the total breach and account counts, the most recent breach date, and whether any breach exposed passwords, was a stealer-log dump or exposed highly sensitive data. This answers which known breaches have touched the domain, which is different from whether one specific account on it is compromised (that is the keyed account route). Breach indicators, not a guarantee. Source: Have I Been Pwned (CC BY 4.0).\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"breach_domain_breach_domain_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"adobe.com","breaches":[{"name":"Adobe","title":"Adobe","breach_date":"2013-10-04","pwn_count":152445165,"data_classes":["Email addresses","Password hints","Passwords","Usernames"],"has_passwords":true,"max_sensitivity":"high","is_verified":true,"is_stealer_log":false}],"summary":{"total_breaches":1,"total_accounts":152445165,"most_recent_breach":"2013-10-04","has_password_breach":true,"has_stealer_log":false,"has_sensitive_data":true},"disclaimer":"Automated breach indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Domain to look up (e.g. example.com)"},{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a URL (its host is used)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/breach/assess":{"post":{"tags":["paid"],"summary":"Composite account-takeover risk score (0-100) fusing a privacy-preserving password exposure check with a domain's known breach history. The password is hashed locally (k-anonymity, never transmitted). Returns ato_risk_score, a category, per-signal reasons and the raw signals so the agent can re-rank. Risk indicators, not a guarantee.","description":"A one-call account-takeover triage that fuses two credential-exposure signals into a single deterministic risk score. The password (or a ready SHA-1 or NTLM hash) is checked against the Pwned Passwords corpus with k-anonymity — hashed locally, only the 5-character prefix sent upstream, plaintext never transmitted or logged — and its raw prevalence drives a weighted signal (a password seen millions of times is trivially credential-stuffed). If an optional domain is supplied, its known breach history from Have I Been Pwned adds further signals: stealer-log dumps (active malware-harvested credentials), password-exposing breaches, breaches of highly sensitive data, recency within the last year, and repeated exposure across many breaches. Output: a 0-100 account-takeover risk score, a category from minimal to critical, human-readable reasons and the raw weighted signals so the agent can re-rank, plus per-dimension coverage. Best-effort — an unavailable upstream is flagged, never an error. Risk indicators, not a guarantee. Source: Have I Been Pwned (CC BY 4.0).\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"breach_assess_breach_assess_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string","description":"Plaintext password — hashed locally with SHA-1; never stored, logged or transmitted"},"sha1":{"type":"string","description":"Alternative to password: a full 40-hex SHA-1 hash"},"ntlm":{"type":"string","description":"Alternative to password: a full 32-hex NTLM hash"},"domain":{"type":"string","description":"Optional domain to fold in its known breach history"}},"type":"object","required":[]},"example":{"password":"Summer2024!","domain":"example.com"}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ato_risk_score":55,"risk_category":"high","password_compromised":true,"password_breach_count":12345,"hash_prefix":"9F9D5","reasons":["This password appears many thousands of times in breach corpora ...","At least one known breach affecting this domain exposed passwords."],"coverage":{"password_evaluated":true,"domain_evaluated":true},"disclaimer":"Automated risk indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/breach/account":{"get":{"tags":["paid"],"summary":"Look up the known breaches an email address appears in, returning breach METADATA only (name, date, data classes) and never passwords or leaked personal data. Uses the keyed Have I Been Pwned account API; when no API key is configured the route returns available false and the keyless password and domain routes still work. Breach indicators, not a guarantee.","description":"An email-to-breach lookup that returns only the metadata of the known breaches an address appears in — the breach names, dates and exposed data classes — never any password or leaked personal data, exactly what Have I Been Pwned exposes publicly. It uses the keyed HIBP breached-account API; because that requires a paid HIBP subscription key, the route is optional: when no key is configured it returns available false with reason not_configured and stays alive, while the keyless password and domain routes remain fully functional. When a key is present it returns whether the email is breached, the normalized breach list with sensitivity tiers, and a summary. Breach indicators, not a guarantee. Source: Have I Been Pwned (CC BY 4.0).\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"breach_account_breach_account_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"available":true,"email":"test@example.com","breached":true,"breaches":[{"name":"Adobe","breach_date":"2013-10-04","data_classes":["Email addresses","Passwords","Usernames"],"max_sensitivity":"high"}],"summary":{"total_breaches":1,"has_password_breach":true},"disclaimer":"Automated breach indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string"},"description":"Email address to check against known breaches"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/cve/lookup":{"get":{"tags":["paid"],"summary":"Vulnerability intelligence for a single CVE id. Fuses NVD (CVSS base score and vector, CWE, patch links), CISA KEV known-exploited status, EPSS exploitation probability and OSV.dev affected and fixed versions into one cited JSON with a deterministic patch-priority score. Risk indicators, not advice.","description":"One-call vulnerability due-diligence for a security, dev or SBOM agent. Supply a CVE identifier and get back a fused, normalized and cited risk picture drawn entirely from free authoritative public vulnerability registries: the NVD (NIST) CVSS v3.1 or v4.0 base score, severity and vector string, the CWE weakness class, and vendor patch and advisory links; the CISA Known Exploited Vulnerabilities catalog flag (whether the CVE is exploited in the wild, its remediation due date and any known ransomware-campaign use); the FIRST.org EPSS probability and percentile that the CVE will be exploited in the next 30 days; and OSV.dev affected packages with the exact fixed versions plus the linked GitHub Security Advisory. On top of the raw registries the route computes a deterministic 0 to 100 patch-priority score with a low, medium, high or critical band, per-dimension flags and human-readable reasons, from data-driven weights so identical inputs give identical outputs (known-exploited and ransomware use dominate, then EPSS, CVSS and fix availability). If NVD carries no CVSS metric the score falls back to the OSV or GHSA qualitative severity. The moat is the fusion of four registries under one query plus the priority score, not a resale. Partial answers are returned if one registry is briefly down (never a 500); an unknown CVE returns a clean 404. This product uses the NVD API but is not endorsed or certified by the NVD. These are automated risk indicators, not security advice and not a guarantee; verify against the authoritative source and vendor advisories before acting.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"cve_lookup_cve_lookup_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"cve_id":"CVE-2021-44228","cvss":{"version":"3.1","base_score":10.0,"severity":"CRITICAL","source":"nvd"},"cwe":["CWE-502"],"epss":{"probability":0.99999,"percentile":1.0},"kev":{"listed":true,"known_ransomware_use":"Known"},"ghsa":"GHSA-jfh8-c2jp-5v3q","affected":[{"ecosystem":"Maven","package":"org.apache.logging.log4j:log4j-core","fixed_versions":["2.15.0"]}],"priority":{"score":100,"band":"critical","flags":{"kev_listed":true,"fix_available":true}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cve_id","in":"query","required":true,"schema":{"type":"string"},"description":"CVE identifier, e.g. CVE-2021-44228"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/cve/scan":{"get":{"tags":["paid"],"summary":"Vulnerability scan for a software package by ecosystem, name and version, or by package-URL (purl). Queries OSV.dev for known advisories, collects their CVE ids and enriches them with NVD CVSS, CISA KEV and EPSS, then returns a prioritized list of advisories with exact fixed versions. Risk indicators, not advice.","description":"One-call dependency vulnerability check for an SBOM, code-review or supply-chain agent. Supply a package ecosystem, name and version (npm, PyPI, Maven, crates.io, Go, Packagist, RubyGems or NuGet) or a single package-URL such as pkg:pypi/jinja2@2.4.1, and get back every known advisory for that package fused from free authoritative public registries: OSV.dev supplies the advisory records, aliases, the linked GitHub Security Advisory and the exact fixed versions; the CVE ids are then enriched with the NVD CVSS base score and vector and CWE class, the CISA Known Exploited Vulnerabilities flag, and the FIRST.org EPSS exploitation probability. Each advisory is normalized to one cited shape and gets a deterministic 0 to 100 patch-priority score and band, and the whole list is sorted so the most urgent patch comes first, with a consolidated recommended fix-version list. NVD enrichment is capped to the top advisories by severity to respect the NVD rate limit (the response marks whether it was truncated); the remaining advisories fall back to the OSV or GHSA severity for scoring. The moat is the cross-registry fusion plus the priority ranking, not a resale; a new ecosystem or registry is one row in the data registry. Partial answers are returned if one source is briefly down (never a 500); a package with no known vulnerabilities returns a clean 404. This product uses the NVD API but is not endorsed or certified by the NVD. These are automated risk indicators, not security advice and not a guarantee.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"cve_scan_cve_scan_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"ecosystem":"PyPI","name":"jinja2","version":"2.4.1"},"advisory_count":1,"advisories":[{"ghsa":"GHSA-462w-v97r-4m45","cve_ids":["CVE-2019-10906"],"severity_label":"HIGH","fixed_versions":["2.10.1"],"epss":{"probability":0.02,"percentile":0.85},"kev":{"listed":false},"priority":{"score":41,"band":"medium"}}],"recommended_fix_versions":["2.10.1"],"truncated":false,"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ecosystem","in":"query","required":false,"schema":{"type":"string","enum":["npm","PyPI","Maven","crates.io","Go","Packagist","RubyGems","NuGet"]},"description":"Package ecosystem"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Package name (Maven uses group:artifact)"},{"name":"version","in":"query","required":false,"schema":{"type":"string"},"description":"Package version, e.g. 2.4.1"},{"name":"purl","in":"query","required":false,"schema":{"type":"string"},"description":"Package-URL instead of ecosystem/name/version, e.g. pkg:pypi/jinja2@2.4.1"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/domain/trust":{"get":{"tags":["paid"],"summary":"Phishing/trust verdict for a website domain before an agent transacts with an unfamiliar merchant. Fuses registration age (RDAP), DNS/mail posture (SPF, DMARC, DNSSEC), TLS validity, Certificate Transparency history and a typosquat/homoglyph analysis into a composite trust score 0-100, a category (trusted / caution / untrusted / unknown), per-dimension flags and reasons. Trust indicators, not a guarantee.","description":"One-call phishing/trust triage of a website domain for an agent about to pay or share data with an unfamiliar merchant. Input: a domain, URL or hostname. Output: a deterministic composite trust score 0-100, a category (trusted / caution / untrusted / unknown), per-dimension flags, human-readable reasons and the raw signed-weighted signals so the agent can re-rank. Six dimensions, each best-effort (a failed network source degrades to unavailable, never a 500): age from RDAP registration (very-new domains are a phishing hallmark), DNS and mail posture (SPF, DMARC enforcement, DNSSEC authenticated answers), a live TLS certificate check, Certificate Transparency history (earliest certificate corroborates real age plus subdomain sprawl), a pure typosquat and homoglyph analysis (edit-distance to a curated brand list, look-alike character normalization, brand-in-subdomain lures, abused free-hosting suffixes and throwaway TLDs), and an OPTIONAL env-gated blocklist lookup that is off by default. All upstreams are free and public (RDAP, DoH, TLS, CT) computed by us, not a resale of a paid API. When the domain does not resolve or too few dimensions are available the category is unknown. Automated trust indicators, not a guarantee and not legal or financial advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"domain_trust_domain_trust_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"paypa1-secure-login.gq","registrable_domain":"paypa1-secure-login.gq","trust_score":8,"trust_category":"untrusted","is_typosquat":true,"on_blocklist":false,"age_days":3,"registered":true,"reasons":["The registrable domain is within a small edit-distance of a well-known brand it does not belong to — a classic typosquat pattern.","Domain was registered very recently — freshly-registered domains are the norm for phishing/scam sites with no track record."],"coverage":{"dimensions_total":6,"dimensions_evaluated":5,"confidence":0.83},"disclaimer":"Automated trust/phishing indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Domain or hostname to assess (e.g. example.com)"},{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a URL (its host is used)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/domain/typosquat":{"get":{"tags":["paid"],"summary":"Pure-compute typosquat and homoglyph check on a hostname: edit-distance to a curated brand list, look-alike character normalization, brand-in-subdomain lures, punycode/IDN, abused free-hosting suffixes and throwaway TLDs. Returns is_typosquat plus the nearest brand, edit distance and reasons. No network — instant, cheap.","description":"A pure-compute lexical safety check on a hostname — no network calls, so it is instant and cheap, useful as a pre-filter before a fuller /domain/trust lookup. Splits the host into subdomain, registrable label and public suffix (via the Public Suffix List) and runs: Damerau-Levenshtein edit-distance to a curated list of popular brands (a small distance to a brand the domain does not belong to is a typosquat), homoglyph or confusable-character normalization (look-alike digits and Cyrillic or Greek letters that spell a brand), brand-name-as-substring inside a subdomain while the real registrable domain is unrelated, punycode or non-ASCII internationalized names, TLDs disproportionately abused for throwaway phishing registrations, free app-hosting and site-builder suffixes frequently abused to stand up phishing pages, and shape heuristics (excessive hyphens, digit-heavy labels, deep subdomain nesting, over-long labels). Returns is_typosquat, the nearest brand and distance, and per-signal reasons. Indicators, not a guarantee.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"domain_typosquat_domain_typosquat_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"g00gle-login.tk","registrable_domain":"g00gle-login.tk","is_typosquat":true,"punycode_or_idn":false,"suspicious_tld":"tk","lexical_trust_delta":-12,"reasons":["Domain uses a TLD heavily abused for free/cheap throwaway registrations in phishing campaigns."],"disclaimer":"Automated trust/phishing indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Domain or hostname to analyze (e.g. example.com)"},{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a URL (its host is used)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/drug/profile":{"get":{"tags":["paid"],"summary":"Clinical safety profile for a drug by brand, generic or active-ingredient name or NDC. Fuses FDA identity and approval status, key label sections, an adverse-event summary and a deterministic severity indicator into one cited JSON. Informational, not medical advice.","description":"One-call clinical due-diligence for a pharmacy, prescribing-support or research agent. Supply a drug name (brand, generic or active ingredient) or a product NDC and get back a fused, normalized and cited safety picture drawn entirely from public-domain openFDA data: drug identity and marketing status from the NDC directory, FDA approval history from Drugs@FDA (application number, sponsor, approved products and submission history), the key structured-product-label sections (boxed warning, indications, dosing, contraindications, warnings, drug interactions and pregnancy, each truncated with a flag if very long), and an adverse-event summary from the FAERS database (total reports, the serious and death-flagged fractions, the top reported reactions and a demographic breakdown, all as aggregate counts, never raw case bodies). On top of the raw domains the route computes a deterministic 0 to 100 severity indicator with a low, medium, high or critical band, per-dimension flags and human-readable reasons, driven by the presence of a boxed warning, the serious and death fractions of adverse-event reports and the contraindication and interaction sections, all from data-driven weights so identical inputs give identical outputs. The moat is the cross-domain fusion plus the severity indicator, not a resale; a new openFDA domain or label section is one row in the registry. Partial answers are returned if one domain is briefly down (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"drug_profile_drug_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"drug":"warfarin"},"identity":{"label_openfda":{"generic_name":["WARFARIN SODIUM"]}},"label_sections":{"boxed_warning":{"truncated":true,"source_tag":"boxed_warning"}},"adverse_events":{"total_reports":133626,"death_fraction":0.13},"severity":{"score":62,"band":"high","flags":{"has_boxed_warning":true}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"drug","in":"query","required":false,"schema":{"type":"string"},"description":"Drug brand, generic or active-ingredient name, e.g. warfarin"},{"name":"ndc","in":"query","required":false,"schema":{"type":"string"},"description":"Product NDC instead of a name, e.g. 0093-1712"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/drug/adverse-events":{"get":{"tags":["paid"],"summary":"Adverse-event summary for a drug from the FDA FAERS database by name. Returns the top reported reactions, the serious and death-flagged fractions and a demographic breakdown as aggregate counts. Informational, not medical advice.","description":"A focused pharmacovigilance summary for a drug drawn from the public-domain FDA Adverse Event Reporting System (FAERS) via openFDA. Supply a drug name and get back aggregate counts only (never raw case bodies): the total number of reports, how many are flagged serious and how many involved a death, the serious and death fractions, the top reported adverse reactions with counts, and a breakdown by patient sex and age group. Counts are computed with openFDA count aggregations so the response stays compact and token-efficient. The moat is the normalized, cited summary rather than a raw dump. Partial or empty answers are returned cleanly if the domain is briefly down or the drug has no reports (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"drug_adverse_events_drug_adverse_events_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"drug":"ibuprofen"},"found":true,"adverse_events":{"total_reports":90000,"serious_fraction":0.6,"death_fraction":0.04,"top_reactions":[{"reaction":"NAUSEA","count":4200}]},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"drug","in":"query","required":true,"schema":{"type":"string"},"description":"Drug brand, generic or active-ingredient name"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/drug/label":{"get":{"tags":["paid"],"summary":"Key FDA structured-product-label sections for a drug by name: boxed warning, indications, dosing, contraindications, warnings, drug interactions and pregnancy. Informational, not medical advice.","description":"Extracts the clinically important sections of a drug's FDA structured product label (SPL) via openFDA and returns them as compact cited text. Supply a drug name and get back the boxed (black-box) warning, indications and usage, dosage and administration, contraindications, warnings and cautions, drug interactions and pregnancy or specific-population sections. Because manufacturers tag the same clinical section under different SPL field names, each canonical section resolves through an ordered list of candidate openFDA tags and takes the first present on the drug's label; the source tag is reported. Very long sections are truncated to a size cap and flagged so the response stays token-efficient. The moat is the canonical section normalization, not a raw label dump; a new section is one row in the registry. Partial or empty answers are returned cleanly (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"drug_label_drug_label_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"drug":"ibuprofen"},"found":true,"available_sections":["boxed_warning","indications","contraindications"],"label_sections":{"contraindications":{"truncated":false,"source_tag":"contraindications"}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"drug","in":"query","required":true,"schema":{"type":"string"},"description":"Drug brand, generic or active-ingredient name"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/drug/interactions":{"get":{"tags":["paid"],"summary":"Drug-interactions label section for a drug by name, with an optional check of whether the label mentions a second drug. A label-text heuristic, informational, not medical advice.","description":"Returns the drug-interactions section of a drug's FDA structured product label via openFDA, plus an optional two-drug mention check. Supply a primary drug name to get the normalized, cited interactions text (truncated with a flag if very long). Optionally supply a second drug via interacts_with and the route reports whether the first drug's label interactions text mentions the second drug's name. That mention check is a transparent label-text heuristic that adds value over a bare relay, but it is explicitly NOT a clinical interaction determination and absence of a mention is not proof of safety. Partial or empty answers are returned cleanly (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"drug_interactions_drug_interactions_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"drug":"warfarin","interacts_with":"aspirin"},"found":true,"interactions":{"truncated":true,"source_tag":"drug_interactions"},"interaction_check":{"interacts_with":"aspirin","mentioned_in_label":true},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"drug","in":"query","required":true,"schema":{"type":"string"},"description":"Primary drug brand, generic or ingredient name"},{"name":"interacts_with","in":"query","required":false,"schema":{"type":"string"},"description":"Optional second drug to check for a mention in the first drug's interactions section"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/device/adverse-events":{"get":{"tags":["paid"],"summary":"Adverse-event summary for a medical-device brand from the FDA MAUDE database. Returns counts of malfunctions, injuries and deaths by event type. Informational, not medical advice.","description":"A pharmacovigilance-style summary for a medical device drawn from the public-domain FDA MAUDE (Manufacturer and User Facility Device Experience) database via openFDA. Supply a device brand or generic device name and get back aggregate counts only (never raw report bodies): the total number of adverse-event reports and a breakdown by event type, with the malfunction, injury and death counts surfaced directly. Counts are computed with openFDA count aggregations so the response stays compact. The moat is the normalized, cited summary rather than a raw dump. Partial or empty answers are returned cleanly if the domain is briefly down or the brand has no reports (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"device_adverse_events_device_adverse_events_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"brand":"pacemaker"},"found":true,"device_events":{"total_reports":33709,"deaths":804,"injuries":7856,"malfunctions":24899,"by_event_type":{"Malfunction":24899,"Injury":7856}},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"brand","in":"query","required":true,"schema":{"type":"string"},"description":"Medical-device brand or generic device name, e.g. pacemaker"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/drug/shortages":{"get":{"tags":["paid"],"summary":"Current FDA drug-shortage records for a generic drug name: status, therapeutic category, dosage form, company and dates. Informational, not medical advice.","description":"Checks the public-domain FDA drug-shortages database via openFDA for a generic drug name. Supply a generic name and get back the current shortage records normalized to a compact cited shape: the reported status (for example current, resolved or to be discontinued), the therapeutic category, dosage form and presentation, the reporting company, the availability note and the initial-posting and last-update dates. The response also reports the record count and whether any record represents an active (unresolved, non-discontinued) shortage. The moat is the normalized, cited summary, not a raw dump. Partial or empty answers are returned cleanly if the domain is briefly down or the drug is not in shortage (never a 500). These are informational indicators aggregated from public FDA data, NOT medical advice, NOT a diagnosis and NOT a guarantee; consult a licensed professional and the FDA label before acting. openFDA data does not imply FDA endorsement.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"drug_shortages_drug_shortages_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"drug":"amoxicillin"},"found":true,"shortage_count":2,"has_active_shortage":true,"shortages":[{"generic_name":"Amoxicillin","status":"Current","therapeutic_category":["Anti-Infective"],"update_date":"2026-03-25"}],"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"drug","in":"query","required":true,"schema":{"type":"string"},"description":"Generic drug name to check for FDA shortages"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/macro/indicator":{"get":{"tags":["paid"],"summary":"One macroeconomic or development indicator for one or more countries as a cited time-series. Fuses free authoritative sources (World Bank, IMF) and tags every value with its source, source code, year and country ISO3. Accepts a canonical indicator key or a raw World Bank code.","description":"One indicator, one or more countries, returned as a normalized cited time-series. The indicator is a canonical key (for example gdp_current_usd, gdp_per_capita_usd, gdp_growth, inflation_cpi, unemployment, population, govt_debt_gdp, current_account_gdp, life_expectancy, gini, co2_per_capita, internet_users_pct) or a raw World Bank series code such as NY.GDP.MKTP.CD. Countries are given as ISO-3166 alpha-2 or alpha-3 codes, common names, or World Bank aggregate codes like WLD or EUU, comma-separated for several at once. Select the window with years (a single year or a Y1:Y2 range) or range (the most recent N years). For each country the service resolves the canonical indicator across an ordered list of candidate sources and takes the first that has data, so every value carries its own provenance: source, source code, year, country ISO3 and unit. The response includes the latest value and the full history per country, plus the attribution strings for every source used. World Bank data is CC-BY 4.0 and IMF WEO requires attribution; both are included. Unknown indicator or country returns 400, an empty result 404, and an upstream failure 502.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"macro_indicator_macro_indicator_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"indicator":"gdp_current_usd","unit":"USD","year_range":{"from":2022,"to":2023},"countries":[{"country_iso3":"USA","source":"worldbank","latest":{"year":2023,"value":27811517000000.0,"source":"worldbank","source_code":"NY.GDP.MKTP.CD","country_iso3":"USA","unit":"USD"}}],"attribution":["Source: World Bank, World Development Indicators (CC-BY 4.0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"indicator","in":"query","required":true,"schema":{"type":"string","examples":["gdp_current_usd","gdp_per_capita_usd","gdp_growth","gni_per_capita_atlas","gross_savings_gdp","inflation_cpi","real_interest_rate","broad_money_gdp","unemployment","labor_force","govt_debt_gdp","govt_health_exp_gdp","govt_education_exp_gdp","trade_balance_gdp","current_account_gdp","exports_gdp","imports_gdp","fdi_net_inflows_gdp","population","population_growth","life_expectancy","gini","poverty_headcount_national","urban_population_pct","co2_per_capita","renewable_energy_pct","electricity_access_pct","internet_users_pct","mobile_subscriptions_per_100"]},"description":"Canonical indicator key or a raw World Bank code such as NY.GDP.MKTP.CD"},{"name":"country","in":"query","required":true,"schema":{"type":"string"},"description":"One or more countries as ISO-2, ISO-3, name, or a World Bank aggregate code, comma-separated"},{"name":"years","in":"query","required":false,"schema":{"type":"string"},"description":"A single year or a Y1:Y2 range, e.g. 2015:2023"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":65},"description":"Most recent N years (ignored when years is set)"},{"name":"source","in":"query","required":false,"schema":{"type":"string","enum":["auto","worldbank","imf","fred"]},"description":"Preferred source (default auto = first with data)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/macro/country":{"get":{"tags":["paid"],"summary":"A curated headline basket of key macroeconomic and development indicators for one country: GDP, GDP per capita, growth, inflation, unemployment, population, government debt, current account, life expectancy and CO2 per capita. Latest value plus short history, each value cited to its source.","description":"A one-call macroeconomic profile for a single country: a curated basket of headline indicators (GDP in current US dollars, GDP per capita, GDP growth, consumer price inflation, unemployment, total population, central government debt as a share of GDP, current account balance as a share of GDP, life expectancy at birth and CO2 emissions per capita). Each indicator is resolved across candidate sources and returned with its latest value and a short history, and every value is cited with its source, source code, year, country ISO3 and unit. Give the country as an ISO-3166 alpha-2 or alpha-3 code or a common name, and choose the history depth with years or range. Indicators with no data for the country are returned with available set to false rather than failing the call. The response lists the attribution for every source used (World Bank CC-BY 4.0, IMF WEO). Unknown country returns 400, no data at all 404, upstream failure 502.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"macro_country_macro_country_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"country":"Germany","country_iso3":"DEU","indicators":[{"indicator":"gdp_current_usd","unit":"USD","available":true,"source":"worldbank","latest":{"year":2023,"value":4456081000000.0,"source":"worldbank","source_code":"NY.GDP.MKTP.CD","country_iso3":"DEU","unit":"USD"}}],"attribution":["Source: World Bank, World Development Indicators (CC-BY 4.0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"country","in":"query","required":true,"schema":{"type":"string"},"description":"A single country as ISO-2, ISO-3 or name"},{"name":"years","in":"query","required":false,"schema":{"type":"string"},"description":"A single year or a Y1:Y2 range"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":65},"description":"Most recent N years of history per indicator"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/macro/compare":{"get":{"tags":["paid"],"summary":"One indicator compared across several countries: the latest value for each plus computed signals — rank, highest and lowest, spread and mean. Each value is cited to its source.","description":"Compare one indicator across several countries in a single call. The indicator is a canonical key (such as gdp_per_capita_usd, gdp_growth, inflation_cpi, unemployment, govt_debt_gdp, co2_per_capita) or a raw World Bank code; countries are given as ISO-3166 alpha-2 or alpha-3 codes or names, comma-separated (at least two). For each country the service takes the latest available value (at or before an optional reference year) and returns a ranking from highest to lowest along with computed signals: each country's rank, the highest and lowest values, the spread between them and the mean across the set. Every value is cited with its source and source code, and the response lists the attribution for every source used. Fewer than two countries returns 400, an unknown indicator or country 400, no data 404, upstream failure 502.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"macro_compare_macro_compare_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"indicator":"gdp_per_capita_usd","unit":"USD","ranking":[{"country_iso3":"USA","year":2023,"value":82769.0,"rank":1,"source":"worldbank","source_code":"NY.GDP.PCAP.CD","unit":"USD"}],"signals":{"count":4,"max":{"country_iso3":"USA","value":82769.0},"min":{"country_iso3":"CN","value":12614.0},"spread":70155.0},"attribution":["Source: World Bank, World Development Indicators (CC-BY 4.0)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"indicator","in":"query","required":true,"schema":{"type":"string","examples":["gdp_current_usd","gdp_per_capita_usd","gdp_growth","gni_per_capita_atlas","gross_savings_gdp","inflation_cpi","real_interest_rate","broad_money_gdp","unemployment","labor_force","govt_debt_gdp","govt_health_exp_gdp","govt_education_exp_gdp","trade_balance_gdp","current_account_gdp","exports_gdp","imports_gdp","fdi_net_inflows_gdp","population","population_growth","life_expectancy","gini","poverty_headcount_national","urban_population_pct","co2_per_capita","renewable_energy_pct","electricity_access_pct","internet_users_pct","mobile_subscriptions_per_100"]},"description":"Canonical indicator key or a raw World Bank code"},{"name":"country","in":"query","required":true,"schema":{"type":"string"},"description":"Two or more countries as ISO-2, ISO-3 or names, comma-separated"},{"name":"year","in":"query","required":false,"schema":{"type":"integer"},"description":"Reference year; the latest available value at or before it is used (default latest)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/macro/forecast":{"get":{"tags":["paid"],"summary":"IMF World Economic Outlook forecasts for a country: real GDP growth, inflation, nominal GDP, GDP per capita, government debt, current account and unemployment, including projected future years. Values are cited to the IMF WEO.","description":"Forward-looking macro forecasts from the IMF World Economic Outlook (WEO) — the differentiator versus historical-only bundlers. For a single country it returns the requested forecast series (real GDP growth, average consumer price inflation, nominal GDP in US dollars, GDP per capita, general government gross debt as a share of GDP, current account balance as a share of GDP and the unemployment rate), or all of them when none is specified. Each series is a year to value list that includes the IMF's projected future years past the latest actual, so an agent can read the outlook directly. Give the country as an ISO-3166 alpha-2 or alpha-3 code or a name. Every value is cited to the IMF WEO with its indicator code, and the required attribution is included. Unknown country or forecast key returns 400, no data 404, upstream failure 502. The IMF endpoint occasionally returns a transient 403; the service retries.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"macro_forecast_macro_forecast_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"country":"United States","country_iso3":"USA","forecasts":[{"indicator":"real_gdp_growth","unit":"percent","source":"imf","source_code":"NGDP_RPCH","country_iso3":"USA","values":[{"year":2026,"value":2.3},{"year":2027,"value":2.1}]}],"attribution":["Source: IMF World Economic Outlook"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"country","in":"query","required":true,"schema":{"type":"string"},"description":"A single country as ISO-2, ISO-3 or name"},{"name":"indicators","in":"query","required":false,"schema":{"type":"string","examples":["real_gdp_growth","inflation","gdp_usd","gdp_per_capita_usd","govt_debt_gdp","current_account_gdp","unemployment"]},"description":"Comma-separated forecast keys (default all)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/pii/scan":{"post":{"tags":["paid"],"summary":"Detect structured PII in a text blob: emails, phones, credit cards, bank and tax ids, IP and MAC addresses, crypto addresses, dates of birth, geo coordinates and secrets. Returns findings with a confidence score plus a compliance summary. No transformed text. Structured PII indicators, not legal advice.","description":"A one-call detector an agent runs on any text BEFORE it forwards that text to a third-party LLM or API, so it can enforce GDPR / HIPAA / PCI handling. The object of the scan is the caller's own text (a JSON body) — nothing is crawled or fetched, so there is no network side effect and the marginal cost is ≈ zero. Deterministic detection combines curated regular expressions with checksum validators (Luhn for cards, mod-97 for IBAN, ABA for US routing numbers, structural checks for SSN and ITIN) and a context-word confidence boost, then resolves overlapping spans keeping the strongest. Coverage: emails, international and national phone numbers, credit cards, IBAN, US SSN and ITIN and EIN and bank routing numbers, Medicare beneficiary ids, passports and driver licenses, IPv4 and IPv6 and MAC addresses, Bitcoin and Ethereum addresses, dates of birth, geo coordinates, and a range of secrets and API keys (JWT, private keys, AWS and Google and GitHub and Slack and Stripe tokens). Each finding carries a 0-1 confidence score and its compliance tags; the summary counts by type and by compliance category. This route returns detection only — use /pii/redact to also get the transformed text. Structured PII only; it does not detect all PII (free-text names are out of scope); indicators, not legal advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"pii_scan_pii_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"type":"string","description":"The text to scan for PII"},"entities":{"items":{"type":"string"},"type":"array","description":"Optional allow-list of entity types to scan for (default: all). See GET /pii/recognizers."},"include_positions":{"type":"boolean","description":"Include character start/end offsets per finding (off by default for privacy)"}},"type":"object","required":["text"]},"example":{"text":"Contact me at jane.doe@example.com or 4111 1111 1111 1111."}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"pii_scan","input_bytes":57,"summary":{"total_findings":2,"counts_by_type":{"CREDIT_CARD":1,"EMAIL":1},"compliance_categories":{"GDPR":2,"PCI":1},"has_pii":true},"findings":[{"type":"EMAIL","score":0.85,"compliance_tags":["GDPR"]},{"type":"CREDIT_CARD","score":0.8,"compliance_tags":["PCI","GDPR"]}],"pack_version":"2026.07.05","disclaimer":"Structured PII indicators, not legal advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/pii/redact":{"post":{"tags":["paid"],"summary":"Detect and transform structured PII in a text blob. Returns the sanitized text plus a findings report. Modes: redact, mask, hash, or reversible tokenize (the token map is returned in the response — nothing is stored). Optional per-type mode overrides and an allow-list. Structured PII indicators, not legal advice.","description":"The transform companion to /pii/scan: it detects the same structured PII and returns the caller's text with each finding rewritten, plus the findings report and compliance summary. Four output modes, selectable globally and overridable per entity type: redact replaces a value with a type placeholder such as an EMAIL or CREDIT_CARD tag; mask keeps a useful remainder (a card's last four digits, an email's first letter); hash replaces the value with a salted SHA-256 digest so equal values stay linkable without exposing them; and tokenize is a reversible replacement that returns a token map in the response body so the caller can restore the original later. Tokenisation is fully STATELESS — the service stores nothing, which keeps it safe to run in an agent pipeline. Detection is deterministic (curated regular expressions plus checksum validators and a context boost); overlapping spans are resolved keeping the strongest. Use the entities allow-list to limit which types are touched and mode_overrides to, for example, mask phone numbers but tokenize emails in one call. Structured PII only; it does not detect all PII (free-text names are out of scope); indicators, not legal advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"pii_redact_pii_redact_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"type":"string","description":"The text to sanitize"},"mode":{"type":"string","enum":["redact","mask","hash","tokenize"],"description":"Default transform applied to every entity"},"entities":{"items":{"type":"string"},"type":"array","description":"Optional allow-list of entity types to act on (default: all). See GET /pii/recognizers."},"mode_overrides":{"type":"object","description":"Optional per-entity-type transform, keyed by type"},"salt":{"type":"string","description":"Optional salt mixed into hash mode"},"include_positions":{"type":"boolean","description":"Include character start/end offsets per finding"}},"type":"object","required":["text"]},"example":{"text":"Email jane.doe@example.com, card 4111 1111 1111 1111.","mode":"redact"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"pii_redact","mode":"redact","input_bytes":52,"sanitized_text":"Email <EMAIL>, card <CREDIT_CARD>.","summary":{"total_findings":2,"counts_by_type":{"CREDIT_CARD":1,"EMAIL":1},"compliance_categories":{"GDPR":2,"PCI":1},"has_pii":true},"findings":[{"type":"EMAIL","score":0.85,"compliance_tags":["GDPR"],"mode_applied":"redact"}],"pack_version":"2026.07.05","disclaimer":"Structured PII indicators, not legal advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/scholar/paper":{"get":{"tags":["paid"],"summary":"Resolve one research paper and fuse its metadata across OpenAlex, Crossref, Unpaywall and Semantic Scholar into a single cited JSON. Give a doi, arxiv, pmid, pmcid, openalex_id or title and get canonical metadata, authors with ORCID and affiliations, venue, citation counts, an open-access PDF link and a full id crosswalk.","description":"One-call fused metadata for a single research paper, and the flagship of this service. Supply exactly one identifier — a DOI, an arXiv id, a PubMed id, a PubMed Central id, an OpenAlex work id, or a title to resolve by search — and get a compact cited JSON that reconciles the work across several open scholarly registries rather than reselling one raw feed. OpenAlex (CC0) is the anchor for the canonical metadata: title, reconstructed abstract, authors with their ORCID and ROR-identified affiliations, venue with ISSN and publisher, publication year, work type, subject concepts and topics, and funding. Crossref adds an independent is-referenced-by citation count, a references count and funder awards. Unpaywall and OpenAlex locate the best legally-hosted open-access PDF with its license, version and host type — a link to the copy the source itself points at, never a rehosted or restricted full-text. Semantic Scholar, when a key is configured, contributes a TL;DR and the influential-citation count. PubMed enriches biomedical works. The result deduplicates by DOI, provides a full id crosswalk (DOI, PMID, PMCID, arXiv, OpenAlex, Semantic Scholar, MAG), and tags every fused field with the source that supplied it in a provenance map. If a source is down, rate-limited or unconfigured its fields are simply omitted and noted in sources.errors — the call never fails with a 500. Metadata and open-access links only.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"scholar_paper_scholar_paper_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"type":"doi","value":"10.1038/nature14539"},"ids":{"doi":"10.1038/nature14539","openalex":"W2743563197","pmid":"26017442"},"title":"Deep learning","authors":[{"name":"Yann LeCun","orcid":"0000-0002-1825-0097","affiliations":[]}],"venue":{"name":"Nature","issn":"0028-0836"},"year":2015,"type":"article","counts":{"cited_by":{"openalex":60000,"crossref":58000},"influential_citations":4200},"open_access":{"is_oa":true,"pdf_url":"https://example.org/paper.pdf","license":"cc-by","version":"publishedVersion"},"provenance":{"id.doi":"openalex","title":"openalex","open_access":"unpaywall"},"sources":{"partial":false,"used":["openalex","crossref","unpaywall"]},"attribution":["OpenAlex (openalex.org), CC0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"doi","in":"query","required":false,"schema":{"type":"string"},"description":"DOI, with or without a doi.org prefix"},{"name":"arxiv","in":"query","required":false,"schema":{"type":"string"},"description":"arXiv id such as 2401.01234"},{"name":"pmid","in":"query","required":false,"schema":{"type":"string"},"description":"PubMed id (digits)"},{"name":"pmcid","in":"query","required":false,"schema":{"type":"string"},"description":"PubMed Central id such as PMC1234567"},{"name":"openalex_id","in":"query","required":false,"schema":{"type":"string"},"description":"OpenAlex work id such as W2741809807"},{"name":"title","in":"query","required":false,"schema":{"type":"string"},"description":"Paper title to resolve by search"},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"Any single identifier; its type is auto-detected"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/scholar/search":{"get":{"tags":["paid"],"summary":"Search the scholarly literature by keyword or topic and get a ranked list of works with core metadata. Optional filters for year range, open-access only, concept and institution. Powered by OpenAlex. A cheap first step before /scholar/paper.","description":"Keyword and topic search over the OpenAlex catalogue of roughly 250 million works, returning a ranked list with the core metadata an agent needs to triage a literature review before paying for a full fusion. Supply search terms and optionally narrow by a publication-year range, open-access status, a subject concept, or an author institution. Each hit carries its DOI and OpenAlex id, title, leading authors, venue, year, work type, an OpenAlex citation count, and whether an open-access copy exists with its PDF link. This is the cheap first step: run a search, then call /scholar/paper on a promising DOI for the cross-registry cited fusion, or /scholar/citations to walk the citation graph. Results come straight from OpenAlex (CC0); if the upstream is rate-limited the response is marked partial rather than failing. Metadata only.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"scholar_search_scholar_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"search":"graph neural networks","filters":{"year_from":2020}},"count":48213,"returned":1,"results":[{"ids":{"doi":"10.1145/3459637","openalex":"W3126889"},"title":"A survey on graph neural networks","authors":["Jie Zhou"],"venue":"ACM Computing Surveys","year":2021,"cited_by_count":3100,"is_oa":true}],"sources":{"partial":false,"used":["openalex"]},"attribution":["OpenAlex (openalex.org), CC0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Keyword or topic search terms"},{"name":"year_from","in":"query","required":false,"schema":{"type":"integer"},"description":"Earliest publication year to include"},{"name":"year_to","in":"query","required":false,"schema":{"type":"integer"},"description":"Latest publication year to include"},{"name":"oa_only","in":"query","required":false,"schema":{"type":"boolean"},"description":"Restrict to open-access works when true"},{"name":"concept","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by a subject concept name"},{"name":"institution","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by an author institution name"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Max items to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/scholar/citations":{"get":{"tags":["paid"],"summary":"Citation graph of a paper: the works it references (outgoing) and the works that cite it (incoming), each as normalized records, plus the Semantic Scholar influential-citation count. Give a doi, arxiv, pmid, openalex_id or title. Ideal for literature review and prior-art mapping.","description":"Walk the citation graph around a single paper for literature review, prior-art search and bibliometric analysis. Supply one identifier (DOI, arXiv id, PubMed id, PubMed Central id, OpenAlex id, or a title to resolve) and get two normalized lists: the works this paper references (its outgoing bibliography) and the works that cite it (its incoming impact), each ranked by citation count and returned as compact records with DOI and OpenAlex id, title, authors, venue, year and citation count. Totals for each direction are reported alongside the capped page of returned items, and when a Semantic Scholar key is configured the response adds the influential citation count — the subset of citations Semantic Scholar judges genuinely built on the work. The graph edges come from OpenAlex; a rate-limited or missing source is reported as partial, never a 500. Metadata only.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"scholar_citations_scholar_citations_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"work":{"ids":{"doi":"10.1038/nature14539","openalex":"W2743563197"},"title":"Deep learning","year":2015},"references":{"total":100,"returned":1,"items":[{"ids":{"openalex":"W1"},"title":"Backprop","year":1986,"cited_by_count":900}]},"citing":{"total":60000,"returned":1,"items":[{"ids":{"doi":"10.1/x"},"title":"A later work","year":2019,"cited_by_count":12}]},"influential_citation_count":4200,"sources":{"partial":false,"used":["openalex","semanticscholar"]},"attribution":["OpenAlex (openalex.org), CC0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"doi","in":"query","required":false,"schema":{"type":"string"},"description":"DOI, with or without a doi.org prefix"},{"name":"arxiv","in":"query","required":false,"schema":{"type":"string"},"description":"arXiv id such as 2401.01234"},{"name":"pmid","in":"query","required":false,"schema":{"type":"string"},"description":"PubMed id (digits)"},{"name":"pmcid","in":"query","required":false,"schema":{"type":"string"},"description":"PubMed Central id such as PMC1234567"},{"name":"openalex_id","in":"query","required":false,"schema":{"type":"string"},"description":"OpenAlex work id such as W2741809807"},{"name":"title","in":"query","required":false,"schema":{"type":"string"},"description":"Paper title to resolve by search"},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"Any single identifier; its type is auto-detected"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Max items to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/scholar/author":{"get":{"tags":["paid"],"summary":"Disambiguate a researcher and return their profile: works count, citation count, h-index, institutions with ROR, top concepts and top works. Give an orcid for a resolved profile, or a name for ranked candidates. Distinct people are never merged.","description":"Resolve a researcher's identity and impact profile for author-level due diligence, expert-finding and bibliometrics. Supply an ORCID for a single resolved profile, or a name (optionally narrowed by an institution) for a ranked list of candidate authors — the route never silently merges two different people who share a name; an ambiguous name returns candidates for you to choose from and re-query by ORCID. A resolved profile carries the display name, ORCID, OpenAlex id, total works count, total citation count, h-index and i10-index, current institutions with their ROR identifiers, the author's top subject concepts, and a list of their most-cited works. Data comes from OpenAlex (CC0), which performs the underlying author disambiguation; a rate-limited upstream is reported as partial rather than failing. Public researcher metadata only.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"scholar_author_scholar_author_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"orcid":"0000-0002-1825-0097"},"author":{"name":"Yann LeCun","orcid":"0000-0002-1825-0097","ids":{"openalex":"W..."},"works_count":400,"cited_by_count":250000,"h_index":150,"institutions":[{"name":"New York University","ror":"0190ak572"}],"concepts":[{"name":"Artificial intelligence","score":0.9}],"top_works":[]},"sources":{"partial":false,"used":["openalex"]},"attribution":["OpenAlex (openalex.org), CC0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"orcid","in":"query","required":false,"schema":{"type":"string"},"description":"ORCID id for a single resolved author profile"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Author name for ranked candidate profiles"},{"name":"institution","in":"query","required":false,"schema":{"type":"string"},"description":"Optional institution name to narrow a name search"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max candidates for a name search, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/scholar/oa":{"get":{"tags":["paid"],"summary":"Locate a free open-access PDF for a DOI. Returns whether an open-access copy exists and the best PDF link with its license, version and host type, from Unpaywall and OpenAlex. A cheap, focused open-access locator.","description":"A cheap, focused open-access locator: give a DOI and find out whether a free, legally hosted copy of the paper exists and where. The route queries Unpaywall — the authority for open-access status — and falls back to OpenAlex, returning the best open-access location with its PDF url, landing page, license (for example cc-by), version (published, accepted or submitted) and host type (repository or publisher). It returns the link the source itself points at; it never proxies, rehosts or unlocks restricted or paywalled full-text. Use it when you already have a DOI and only need the free PDF, rather than the full /scholar/paper fusion. Attribution to Unpaywall is included as required. If a source is unavailable the response is marked partial rather than failing.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"scholar_oa_scholar_oa_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"doi":"10.1038/nature14539"},"title":"Deep learning","is_oa":true,"best_oa":{"is_oa":true,"pdf_url":"https://example.org/paper.pdf","landing_page":"https://example.org/paper","license":"cc-by","version":"publishedVersion","host_type":"repository","source":"unpaywall"},"sources":{"partial":false,"used":["unpaywall","openalex"]},"attribution":["Data from Unpaywall (unpaywall.org)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"doi","in":"query","required":false,"schema":{"type":"string"},"description":"DOI, with or without a doi.org prefix"},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"A DOI (alias for doi)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/tx/signature":{"post":{"tags":["paid"],"summary":"Pre-sign safety verdict for an off-chain EIP-712 signature (EIP-2612, Permit2, EIP-3009). Decodes what it authorizes (spender, token, amount, deadline), checks domain-spoof, approval-hygiene and scam-blocklist, returns allow, warn or block plus a 0-100 risk. Risk indicators, not advice.","description":"Pre-sign safety check for the off-chain typed-data an autonomous agent is about to sign — the gap wallets barely cover because a signature is not a transaction. Recognizes EIP-2612 Permit, Uniswap Permit2 (PermitSingle, PermitBatch, PermitTransferFrom) and EIP-3009 (TransferWithAuthorization, ReceiveWithAuthorization, the flow x402 itself uses). Deterministically decodes the authorized spender, token, amount, deadline and nonce, then scores several dimensions: domain-spoof (a Permit2 signature whose verifyingContract is not the canonical Permit2, or a domain naming a known token but pointing elsewhere), chain-id mismatch, approval-hygiene (unlimited or very large allowance, missing or far expiry, unrecognized spender) and a match against public scam blocklists. Optionally recovers the signer from a supplied signature. Multi-chain EVM only. Returns allow, warn or block with a 0-100 risk, per-dimension flags and cited reasons. Off-chain signatures are decoded, not end-to-end simulated. Automated risk indicators, not advice. Bad input returns 4xx.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"tx_signature_tx_signature_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"network":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"],"description":"EVM network the signature is for (default base)"},"typed_data":{"type":"object","description":"Full EIP-712 typed-data object with domain, primaryType and message"},"signature":{"type":"string","description":"Optional 0x signature to recover the signer"},"expected_signer":{"type":"string","description":"Optional address to compare the recovered signer against"}},"type":"object","required":["typed_data"]},"example":{"network":"base","typed_data":{"primaryType":"PermitSingle","domain":{"name":"Permit2","chainId":8453,"verifyingContract":"0x000000000022D473030F116dDEE9F6B43aC78BA3"},"message":{"details":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1461501637330902918203684832716283019655932542975","expiration":"281474976710655","nonce":"0"},"spender":"0x1111111111111111111111111111111111111111","sigDeadline":"1999999999"}}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"kind":"signature","network":"base","chain_id":8453,"recognized":true,"authorizes":{"standard":"Uniswap Permit2 PermitSingle","spender":"0x1111111111111111111111111111111111111111","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unlimited":true},"flags":{"unlimited_approval":true,"no_expiry":true,"unknown_spender":true},"risk_score":52,"verdict":"warn","reasons":["Grants an UNLIMITED (max-uint) spending allowance."],"disclaimer":"Automated risk indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/tx/raw":{"post":{"tags":["paid"],"summary":"Pre-sign safety verdict for a raw EVM transaction. Decodes the calldata against a known-signature registry, shows known-pattern effects (approval delta, transfer target), dry-runs eth_call for revert, checks scam-blocklist and approval-hygiene, and returns allow, warn or block plus a 0-100 risk. Risk indicators, not advice.","description":"Pre-sign safety check for a raw EVM transaction ({to, data, value}). Decodes the calldata selector against a known-signature registry (approve, increaseAllowance, transfer, transferFrom, setApprovalForAll, EIP-2612 permit, Permit2 approve, NFT safeTransferFrom and more) into a human-readable function plus decoded arguments. For known patterns it surfaces the effect deterministically: an approval shows the new allowance and an unlimited flag and, given a from address, reads the current allowance for the delta; a transfer shows the recipient and amount; setApprovalForAll flags full-collection operator control. It optionally dry-runs an eth_call to see whether the transaction reverts, and matches the target and any decoded spender against public scam blocklists. This is decode plus approval-hygiene plus known-pattern effects plus scam-match, not full trace-based generic asset-diff (public RPCs often lack tracing). Multi-chain EVM only. Returns allow, warn or block with a 0-100 risk and cited reasons. Automated risk indicators, not advice. Bad input returns 4xx.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"tx_raw_tx_raw_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"network":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"],"description":"EVM network the transaction is for (default base)"},"to":{"type":"string","description":"Destination contract address"},"data":{"type":"string","description":"0x-prefixed calldata hex"},"from":{"type":"string","description":"Optional sender address (enables allowance delta)"},"value":{"type":"string","description":"Optional native value in wei"},"simulate":{"type":"boolean","description":"Dry-run eth_call for revert (default true)"}},"type":"object","required":["to"]},"example":{"network":"base","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","data":"0x095ea7b30000000000000000000000001111111111111111111111111111111111111111ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"kind":"raw","network":"base","chain_id":8453,"to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decoded":{"selector":"0x095ea7b3","function":"approve","args":{"spender":"0x1111111111111111111111111111111111111111","amount":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}},"effects":{"type":"approval","unlimited":true},"flags":{"unlimited_approval":true,"unknown_spender":true},"risk_score":40,"verdict":"warn","disclaimer":"Automated risk indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/gdelt/news":{"get":{"tags":["paid"],"summary":"Recent global news articles from the GDELT Project by topic, country, entity or theme, normalized to title, link-back url, domain, source-country, language and ISO timestamp — plus coverage breakdowns (top source-countries, top domains, languages, count) derived from the same result. One call instead of querying and parsing GDELT yourself.","description":"A one-call global news radar over the GDELT Project's open monitoring of world media across 65+ languages. Filter by a free-text `query` (multi-word phrases are auto-quoted as GDELT phrase searches), a curated `theme` (protests, terrorism, elections, inflation, sanctions, ...), a `country` (friendly name mapped to GDELT's FIPS 10-4 source-country code server-side), a source `lang`, a `timespan` (15min..1m), `limit` and `sort`. Each article returns only syndicated metadata (title, link-back to the publisher, domain, source-country, language, ISO seendate, social image) — full articles stay at the publisher's link (GDELT's redistribution terms). From the same payload we derive coverage breakdowns: the top source-countries, top domains, languages and total count, so you get a distribution view without extra calls. Upstream is throttled + cached (GDELT is rate-limited), so this is intelligence/research latency, not real-time. Bad input is a 400; a total upstream failure is a 502; never a 500. The host is fixed server-side (you pass only filters), so there is no SSRF surface. GDELT attribution is included on every response.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"gdelt_news_gdelt_news_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"theme:PROTEST sourcecountry:FR","count":1,"articles":[{"title":"Thousands march in Paris","url":"https://example.fr/a","domain":"example.fr","source_country":"France","language":"French","seendate":"2026-07-07T23:45:00Z"}],"breakdowns":{"count":1,"top_source_countries":[{"value":"France","count":1}],"top_domains":[{"value":"example.fr","count":1}],"languages":[{"value":"French","count":1}]},"attribution":"Data via the GDELT Project ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text topic (multi-word phrases are auto-quoted). Optional if a theme/country is given."},{"name":"theme","in":"query","required":false,"schema":{"type":"string","enum":["protests","terrorism","conflict","war","inflation","sanctions","trade","elections","corruption","cyber","immigration","refugees","climate","disaster","epidemic","energy","economy","diplomacy","coup","unrest"]},"description":"Curated GDELT GKG theme filter (friendly name mapped to a GKG code)."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Source-country filter by friendly name (United States, Russia, China, ...); mapped to the GDELT FIPS 10-4 code server-side."},{"name":"lang","in":"query","required":false,"schema":{"type":"string"},"description":"Source-language filter by name (english, russian, arabic, ...)."},{"name":"timespan","in":"query","required":false,"schema":{"type":"string"},"description":"Lookback window: 15min, 24h, 3d, 1w, 1m (default 24h)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":250},"description":"Max articles (default 30, GDELT cap 250)."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["datedesc","dateasc","relevance","tonedesc","toneasc"]},"description":"Result ordering (default datedesc)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/gdelt/tone":{"get":{"tags":["paid"],"summary":"Native multilingual tone/sentiment for a topic from the GDELT Project: a tone histogram (emotional bins with example articles), a coverage-weighted average tone and label, the modal bin, and an optional tone trend over time. GDELT's own cross-language tone (a differentiator over English-only lexicon scoring).","description":"Sentiment for a world topic scored by GDELT's own multilingual tone engine — a real differentiator when the coverage is not in English. We request GDELT's ToneChart for your filter (a free-text `query`, curated `theme`, `country`, source `lang`, `timespan`) and return the tone histogram (emotional bins from strongly negative to strongly positive, each with a few example articles), the coverage-weighted average tone with a negative/neutral/positive label, the modal (most-covered) tone bucket, and the total article count. Set `trend` to also fetch a tone timeline (is the topic's tone rising or falling over the window). Each measurement is best-effort: a failing one is reported under `errors` and the rest are returned; only a total failure is a 502, never a 500. Upstream is throttled + cached (GDELT rate-limits), so this is research latency. The host is fixed server-side, so there is no SSRF surface; GDELT attribution is included.\n\nPrice: $0.006 (USDC on Base, x402).","operationId":"gdelt_tone_gdelt_tone_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"theme:ELECTION sourcecountry:US","tone":{"average_tone":-1.42,"tone_label":"neutral","modal_bin":-1,"total_articles":240,"bins":[{"tone":-5,"count":12,"examples":[]}]},"tone_trend":{"metric":"tone","latest":-1.4,"trend":"falling","points":[]},"errors":[],"attribution":"Data via the GDELT Project ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text topic (multi-word phrases are auto-quoted). Optional if a theme/country is given."},{"name":"theme","in":"query","required":false,"schema":{"type":"string","enum":["protests","terrorism","conflict","war","inflation","sanctions","trade","elections","corruption","cyber","immigration","refugees","climate","disaster","epidemic","energy","economy","diplomacy","coup","unrest"]},"description":"Curated GDELT GKG theme filter (friendly name mapped to a GKG code)."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Source-country filter by friendly name (United States, Russia, China, ...); mapped to the GDELT FIPS 10-4 code server-side."},{"name":"lang","in":"query","required":false,"schema":{"type":"string"},"description":"Source-language filter by name (english, russian, arabic, ...)."},{"name":"timespan","in":"query","required":false,"schema":{"type":"string"},"description":"Lookback window: 15min, 24h, 3d, 1w, 1m (default 24h)."},{"name":"trend","in":"query","required":false,"schema":{"type":"boolean"},"description":"Also include a tone trend over the window (1 extra call)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.006"},"protocols":[{"x402":{}}]}}},"/gdelt/timeline":{"get":{"tags":["paid"],"summary":"Coverage timeline for a topic from the GDELT Project: pick metric volume (share of all monitored coverage — is a topic heating up or cooling down) or tone (average-tone trend). Returns normalized time-series points plus the latest value and a rising/falling/flat trend. One upstream call.","description":"Track whether a world topic is heating up or cooling down over time. Choose `metric` = volume (GDELT's coverage-intensity timeline — the percentage of all monitored global coverage that matches your filter, the classic 'is this trending' signal) or tone (the average-tone trend). Filter by a free-text `query`, curated `theme`, `country`, source `lang`, and a `timespan` (15min..1m). We normalize the GDELT timeline into ISO-dated points and add the latest value, the first value, the delta and a rising/falling/flat trend. One upstream call, throttled + cached (GDELT rate-limits). Bad input is a 400; a total upstream failure is a 502; never a 500. The host is fixed server-side (you pass only filters), so there is no SSRF surface; GDELT attribution is included.\n\nPrice: $0.006 (USDC on Base, x402).","operationId":"gdelt_timeline_gdelt_timeline_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"\"climate summit\"","metric":"volume","timeline":{"series":"Volume Intensity","metric":"volume","latest":0.031,"first":0.012,"delta":0.019,"trend":"rising","points":[{"date":"2026-07-01T00:00:00Z","value":0.012}]},"attribution":"Data via the GDELT Project ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text topic (multi-word phrases are auto-quoted). Optional if a theme/country is given."},{"name":"theme","in":"query","required":false,"schema":{"type":"string","enum":["protests","terrorism","conflict","war","inflation","sanctions","trade","elections","corruption","cyber","immigration","refugees","climate","disaster","epidemic","energy","economy","diplomacy","coup","unrest"]},"description":"Curated GDELT GKG theme filter (friendly name mapped to a GKG code)."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Source-country filter by friendly name (United States, Russia, China, ...); mapped to the GDELT FIPS 10-4 code server-side."},{"name":"lang","in":"query","required":false,"schema":{"type":"string"},"description":"Source-language filter by name (english, russian, arabic, ...)."},{"name":"timespan","in":"query","required":false,"schema":{"type":"string"},"description":"Lookback window: 15min, 24h, 3d, 1w, 1m (default 24h)."},{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["volume","tone"]},"description":"volume = coverage share over time; tone = avg-tone trend."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.006"},"protocols":[{"x402":{}}]}}},"/gdelt/pulse":{"get":{"tags":["paid"],"summary":"Fusion intelligence for a world topic in ONE call: recent articles + coverage breakdowns (top source-countries, domains, languages) + a tone trend with the current average tone and direction — all normalized and cited. Saves 4-5 separate GDELT calls and their parsing. Research latency, not real-time trading.","description":"The moat route: a single normalized, cited intelligence brief on any world topic that fuses what would otherwise be several GDELT queries. From at most two cached upstream calls (an article list + a tone timeline) we return the recent articles (metadata + link-back), coverage breakdowns derived from the same article payload (top source-countries, top domains, languages, count), the tone trend over the window with the current average tone and a rising/falling/flat direction. Filter by a free-text `query`, curated `theme`, `country`, source `lang`, `timespan` and `limit`. This saves a buyer four to five GDELT calls with different modes plus the parsing and normalization. Each dimension is best-effort: a failing one is reported under `errors` with a `partial` flag and the rest are returned; only a total failure is a 502, never a 500. HONEST latency: up to ~15-20s on a cold cache because outbound GDELT calls are serialized under a rate-limit throttle — this is intelligence/research, not real-time trading. The host is fixed server-side, so there is no SSRF surface; GDELT attribution is included.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"gdelt_pulse_gdelt_pulse_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"theme:ECON_SANCTIONS sourcecountry:RS","articles":[{"title":"New measures announced","url":"https://example.ru/a","domain":"example.ru","source_country":"Russia","language":"Russian","seendate":"2026-07-07T20:00:00Z"}],"coverage":{"count":25,"top_source_countries":[{"value":"Russia","count":9}],"top_domains":[],"languages":[]},"tone_trend":{"metric":"tone","latest":-2.1,"trend":"falling","points":[]},"current_avg_tone":-2.1,"tone_direction":"falling","partial":false,"errors":[],"attribution":"Data via the GDELT Project ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text topic (multi-word phrases are auto-quoted). Optional if a theme/country is given."},{"name":"theme","in":"query","required":false,"schema":{"type":"string","enum":["protests","terrorism","conflict","war","inflation","sanctions","trade","elections","corruption","cyber","immigration","refugees","climate","disaster","epidemic","energy","economy","diplomacy","coup","unrest"]},"description":"Curated GDELT GKG theme filter (friendly name mapped to a GKG code)."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Source-country filter by friendly name (United States, Russia, China, ...); mapped to the GDELT FIPS 10-4 code server-side."},{"name":"lang","in":"query","required":false,"schema":{"type":"string"},"description":"Source-language filter by name (english, russian, arabic, ...)."},{"name":"timespan","in":"query","required":false,"schema":{"type":"string"},"description":"Lookback window: 15min, 24h, 3d, 1w, 1m (default 24h)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":250},"description":"Max articles in the fusion (default 30, GDELT cap 250)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/btc/fees":{"get":{"tags":["paid"],"summary":"Recommended Bitcoin transaction fee-rates in sat per vByte across five confirmation horizons (fastest, half hour, hour, economy, minimum) plus a live mempool congestion snapshot with an estimated block backlog. Informational, not advice.","description":"One-call Bitcoin fee intelligence for a wallet, exchange or payment agent that needs to price a transaction before broadcasting it. Returns the recommended fee rate in satoshis per virtual byte for five confirmation horizons: fastest (next block, about ten minutes), half hour (about three blocks), hour (about six blocks), economy (no time guarantee) and the minimum relay fee. Alongside the fee rates it returns a live mempool congestion snapshot drawn from the same source: the current unconfirmed transaction count, the total virtual size of the mempool and an estimated block backlog, so an agent can judge how quickly a given fee will confirm. Data is normalized from the free public mempool.space API into one compact cited shape; the value-add is the normalization and the congestion context, not a resale. Fees change every block; these are informational indicators, not advice, and not a guarantee of confirmation time.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"btc_fees_btc_fees_get","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"fee_estimates_sat_vb":{"fastest":{"sat_vb":3,"target":"next block (~10 min)"},"hour":{"sat_vb":1,"target":"within ~6 blocks (~60 min)"}},"congestion":{"mempool_tx_count":89345,"estimated_backlog_blocks":45.6},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/btc/mempool":{"get":{"tags":["paid"],"summary":"Live Bitcoin mempool snapshot: unconfirmed transaction count, total virtual size and total fees, a fee-rate histogram broken into buckets, and an estimated block backlog. Informational, not advice.","description":"One-call view of the Bitcoin mempool for a fee-estimation, monitoring or transaction-timing agent. Returns the current number of unconfirmed transactions, the total virtual size of the mempool in virtual bytes, the total fees offered by those transactions in satoshis, and a fee-rate histogram that groups pending transactions into buckets by their fee rate in satoshis per virtual byte with the virtual size in each bucket. From the total virtual size it also returns an estimated block backlog, the approximate number of blocks needed to clear the current mempool. This is a deeper view than the fee-rate summary: the histogram lets an agent reason about exactly where its chosen fee rate sits in the queue. Data is normalized from the free public mempool.space API into one compact cited shape; the value-add is the normalization and the backlog derivation, not a resale. The mempool changes every block; informational indicators only, not advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"btc_mempool_btc_mempool_get","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mempool_tx_count":89345,"mempool_vsize":45652382,"mempool_total_fee_sat":11284021,"fee_histogram":[{"fee_rate_sat_vb":7.72,"vsize":50009}],"estimated_backlog_blocks":45.6,"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/btc/address":{"get":{"tags":["paid"],"summary":"Balance and unspent outputs for a Bitcoin address. Returns confirmed and mempool balance, funded and spent totals, transaction count and a capped UTXO set for a legacy, p2sh or bech32 address. Informational, not advice.","description":"One-call balance and unspent-output lookup for a Bitcoin address, for a wallet, accounting, treasury or analytics agent. Accepts any Bitcoin mainnet address form (legacy starting with one, pay-to-script-hash starting with three, or native SegWit and Taproot bech32 starting with bc1) and returns the confirmed on-chain balance, the unconfirmed mempool balance and the combined total, each in both satoshis and BTC; the funded and spent output totals and the transaction count; and the set of current unspent transaction outputs, each with its txid, output index, value and confirmation state. The UTXO set is capped for anti-abuse with a truncated flag when the address holds more outputs than the cap. Reads use the Esplora REST schema with mempool.space as primary and Blockstream Esplora as an automatic fallback, so a single source outage does not break the call. The value-add is the normalization into one cited balance-and-UTXO shape; informational indicators only, not advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"btc_address_btc_address_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"bc1qgdjq...jwvw97","balance":{"confirmed_sat":13001007900798,"confirmed_btc":130010.079,"total_sat":13001007900798},"tx_count":334,"utxo_count":46,"utxos":[{"txid":"9f5d8b...0db3","vout":0,"value_sat":1628,"confirmed":true}],"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Bitcoin mainnet address (legacy 1.., p2sh 3.., or bech32 bc1..)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/btc/tx":{"get":{"tags":["paid"],"summary":"Decoded Bitcoin transaction by txid: inputs and outputs, fee, size, weight and virtual size, replace-by-fee flag, and confirmation status with a confirmation count. Informational, not advice.","description":"One-call decoded view of a Bitcoin transaction for a wallet, explorer or settlement-monitoring agent. Supply a transaction id and get back the version and locktime; the size in bytes, the weight and the computed virtual size; the fee in satoshis and BTC and the derived fee rate in satoshis per virtual byte; a replace-by-fee flag computed from the input sequence numbers per BIP 125; the input and output counts with the total input and output value; and the list of inputs (previous txid, output index, value and address where known, coinbase flag) and outputs (value, address and script type), each capped for anti-abuse with a truncated flag. It also returns the confirmation status: whether the transaction is confirmed, its block height and hash and time, and a confirmation count derived from the current chain tip. Reads use the Esplora REST schema with mempool.space as primary and Blockstream Esplora as an automatic fallback. The value-add is the normalization into one cited shape plus the derived virtual size, fee rate and confirmation count; informational indicators only, not advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"btc_tx_btc_tx_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"txid":"4a5e1e...da33b","fee_sat":2820,"vsize":141,"fee_rate_sat_vb":20.0,"rbf":false,"input_count":1,"output_count":2,"status":{"confirmed":true,"block_height":800000,"confirmations":157155},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"txid","in":"query","required":true,"schema":{"type":"string"},"description":"Bitcoin transaction id (64 hex characters)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/btc/block":{"get":{"tags":["paid"],"summary":"Bitcoin block metadata by height or hash (or the chain tip when neither is given), fused with the current difficulty-adjustment context, a computed halving countdown and a network hashrate snapshot. Informational, not advice.","description":"One-call composite view of Bitcoin block and network state for a mining, research or protocol-monitoring agent. Supply a block height or a block hash, or omit both to get the current chain tip, and receive the block metadata (hash, height, timestamp and median time, transaction count, size and weight, version, merkle root, previous block hash, nonce, bits and difficulty) with a confirmation count derived from the tip. On top of the raw block this route fuses network context that a plain block lookup does not give: the current difficulty-adjustment period (progress percent through the retarget, the estimated difficulty change, the remaining blocks and the next retarget height), a computed halving countdown (the halving interval, the current reward era and block subsidy, the next halving height, the blocks remaining until the halving and an estimated halving date), and a recent network hashrate snapshot in exahashes per second with the current difficulty. The halving countdown is computed by us from the tip height, not proxied. Block reads use the Esplora schema with mempool.space primary and Blockstream Esplora fallback; the difficulty, halving and hashrate context come from the mempool.space extended API and degrade gracefully if briefly unavailable. The value-add is this composite fusion plus the halving computation, not a resale; informational indicators only, not advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"btc_block_btc_block_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"block":{"height":800000,"tx_count":3721,"difficulty":53911173001054.586,"confirmations":157155},"halving":{"next_halving_height":1050000,"blocks_until_halving":92845,"current_block_subsidy_btc":3.125},"difficulty_adjustment":{"progress_percent":77.9,"remaining_blocks":445},"hashrate":{"current_hashrate_ehs":907.29},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"height","in":"query","required":false,"schema":{"type":"integer"},"description":"Block height; omit height and hash for the chain tip"},{"name":"hash","in":"query","required":false,"schema":{"type":"string"},"description":"Block hash (64 hex characters); alternative to height"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/tax/income":{"get":{"tags":["paid"],"summary":"US federal income tax estimate for a tax year: taxable income, tax, marginal and effective rate, per-bracket breakdown, with an optional state estimate. Pure computation over your inputs, not tax advice.","description":"Estimates US federal individual income tax for the given tax year from a layered progressive bracket table (each rate applies only to its slice of taxable income). Taxable income is gross_income minus deductions, using the standard deduction when deductions is omitted. Returns taxable_income, the standard_deduction, federal_tax, the marginal_rate (top bracket reached) and effective_rate (tax over gross income), plus a per-bracket breakdown. Supply a two-letter state code to add a flat-state income estimate and a combined total. Reference vector: single, gross 100000, 2026 gives taxable 83900 and federal_tax 13170. Rates from IRS Rev. Proc. 2025-32. Pure local computation; a reference estimate, not tax advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"tax_income_tax_income_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"filing_status":"single","taxable_income":83900.0,"standard_deduction":16100.0,"federal_tax":13170.0,"marginal_rate":0.22,"effective_rate":0.1317,"tax_year":2026,"disclaimer":"estimate for reference only, not tax advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"gross_income","in":"query","required":true,"schema":{"type":"number"},"description":"Total gross income before deductions (>= 0)"},{"name":"filing_status","in":"query","required":false,"schema":{"type":"string","enum":["single","married_jointly","married_separately","head_of_household"]},"description":"Filing status, default single"},{"name":"deductions","in":"query","required":false,"schema":{"type":"number"},"description":"Total deductions; omit to use the standard deduction"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional two-letter state code for a state estimate"},{"name":"tax_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Tax year, default 2026"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/tax/fica":{"get":{"tags":["paid"],"summary":"US payroll tax estimate: Social Security and Medicare on wages, or self-employment tax, including the additional Medicare surtax. Pure computation over your inputs, not tax advice.","description":"Estimates US payroll taxes. For an employee: Social Security (OASDI) at 6.2% up to the annual wage base, Medicare at 1.45% on all wages, and the additional Medicare 0.9% surtax above the filing-status threshold. For self_employed: both halves on 92.35% of net earnings (OASDI 12.4% to the wage base, Medicare 2.9%), the additional Medicare surtax, and the deductible half of the self-employment tax. Wage base and thresholds from SSA 2026 and IRS Rev. Proc. 2025-32. Pure local computation; a reference estimate, not tax advice.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"tax_fica_tax_fica_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"self_employed":false,"wages":200000.0,"social_security":11439.0,"medicare":2900.0,"additional_medicare":0.0,"total":14339.0,"tax_year":2026,"disclaimer":"estimate for reference only, not tax advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"wages","in":"query","required":true,"schema":{"type":"number"},"description":"Annual wages or net self-employment earnings (>= 0)"},{"name":"filing_status","in":"query","required":false,"schema":{"type":"string","enum":["single","married_jointly","married_separately","head_of_household"]},"description":"Filing status, default single"},{"name":"self_employed","in":"query","required":false,"schema":{"type":"boolean"},"description":"True computes self-employment tax, default false"},{"name":"tax_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Tax year, default 2026"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/tax/capgains":{"get":{"tags":["paid"],"summary":"US capital gains tax estimate: long-term 0/15/20 percent rates or short-term ordinary rates, plus the net investment income tax. Pure computation over your inputs, not tax advice.","description":"Estimates US tax on a capital gain. A long-term gain is stacked on top of ordinary taxable income and taxed layered across the 0, 15 and 20 percent breakpoints for the filing status. A short-term gain is taxed at ordinary rates, computed as the incremental tax of stacking the gain on ordinary income. The net investment income tax of 3.8 percent is added on the lesser of the gain and income above the filing-status threshold. Breakpoints and thresholds from IRS Rev. Proc. 2025-32. Pure local computation; a reference estimate, not tax advice.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"tax_capgains_tax_capgains_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"filing_status":"single","holding_period":"long","gain":50000.0,"cap_gains_rate":0.15,"cap_gains_tax":7500.0,"niit":0.0,"total":7500.0,"tax_year":2026,"disclaimer":"estimate for reference only, not tax advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"gain","in":"query","required":true,"schema":{"type":"number"},"description":"Capital gain amount (>= 0)"},{"name":"holding_period","in":"query","required":false,"schema":{"type":"string","enum":["long","short"]},"description":"long uses 0/15/20 rates; short uses ordinary rates"},{"name":"ordinary_income","in":"query","required":false,"schema":{"type":"number"},"description":"Other taxable income, used to stack the gain into brackets"},{"name":"filing_status","in":"query","required":false,"schema":{"type":"string","enum":["single","married_jointly","married_separately","head_of_household"]},"description":"Filing status, default single"},{"name":"tax_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Tax year, default 2026"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/tax/paycheck":{"get":{"tags":["paid"],"summary":"US take-home paycheck estimate: federal income tax plus payroll tax and an optional state estimate, giving net pay per period and disposable income. Pure computation over your inputs, not tax advice.","description":"Composite take-home estimate that reuses the income and FICA math internally. Federal income tax is computed on gross income less pretax deductions and the standard deduction; payroll tax is Social Security plus Medicare on gross wages; an optional two-letter state code adds a flat-state estimate. Returns the total tax, the total effective rate, net pay for the year and per pay period, and disposable income (take-home after all taxes and pretax withholdings). Pretax deductions reduce the income-tax base but not payroll wages, which is documented. Pure local computation; a reference estimate, not tax advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"tax_paycheck_tax_paycheck_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"filing_status":"single","pay_period":"biweekly","gross_income":100000.0,"federal_income_tax":13170.0,"total_tax":21389.0,"net_pay_annual":78611.0,"net_pay_per_period":3023.5,"disposable_income":78611.0,"tax_year":2026,"disclaimer":"estimate for reference only, not tax advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"gross_income","in":"query","required":true,"schema":{"type":"number"},"description":"Annual gross income (>= 0)"},{"name":"filing_status","in":"query","required":false,"schema":{"type":"string","enum":["single","married_jointly","married_separately","head_of_household"]},"description":"Filing status, default single"},{"name":"pay_period","in":"query","required":false,"schema":{"type":"string","enum":["annual","monthly","semimonthly","biweekly","weekly"]},"description":"Pay period for the per-period figures, default annual"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional two-letter state code"},{"name":"pretax_deductions","in":"query","required":false,"schema":{"type":"number"},"description":"Annual pretax deductions such as 401k, default 0"},{"name":"tax_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Tax year, default 2026"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/tax/brackets":{"get":{"tags":["paid"],"summary":"Reference tables for a US tax year and filing status: income brackets, standard deduction, FICA constants, and capital-gains breakpoints. Pure lookup, not tax advice.","description":"Cheap reference dump of the underlying data table for a tax year and filing status: the ordered income-tax brackets with their bounds, the standard deduction, the long-term capital-gains breakpoints, the FICA and self-employment constants (rates, wage base, additional-Medicare and net-earnings factors), and the net investment income tax threshold. Values from IRS Rev. Proc. 2025-32 and SSA 2026. Pure lookup, not tax advice.\n\nPrice: $0.002 (USDC on Base, x402).","operationId":"tax_brackets_tax_brackets_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"filing_status":"single","standard_deduction":16100,"brackets":[{"rate":0.1,"from":0,"to":12400}],"tax_year":2026,"disclaimer":"estimate for reference only, not tax advice"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tax_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Tax year, default 2026"},{"name":"filing_status","in":"query","required":false,"schema":{"type":"string","enum":["single","married_jointly","married_separately","head_of_household"]},"description":"Filing status, default single"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]}}},"/aeo/audit":{"get":{"tags":["paid"],"summary":"AI-search visibility (AEO) audit of a website for answer engines and agents. Fetches the target's own public surface and computes a composite visibility score 0-100 with a rating (poor, fair, good, excellent) across six axes: answerability, structured data, AI-crawler access, crawlability, llms.txt readiness and MCP well-known readiness, plus a prioritized list of fixes. Deterministic, no LLM. Visibility indicators, not a guarantee.","description":"One-call AI-search / answer-engine optimization (AEO, also called GEO — generative-engine optimization) audit of a website, for an agent deciding whether a site is discoverable and citeable by ChatGPT search, Perplexity, Google AI Overviews, Claude and autonomous agents. Input: a URL, domain or host. Output: a deterministic composite visibility score 0-100, a rating (poor / fair / good / excellent), a prioritized fix plan (each fix carries the axis, the issue, why it matters and a concrete recommendation) and the raw per-axis signals so the agent can re-rank. Six axes, each best-effort (an unreachable source drops out and the weighted mean renormalizes, never a 500): answerability (a single H1, an H2/H3 hierarchy, FAQ/QAPage answer blocks and how much content is readable as static text instead of hidden behind JavaScript), structured data (schema.org JSON-LD, OpenGraph, Twitter cards, meta description, canonical), AI-crawler access (a robots.txt access matrix for the 2026 cohort of AI crawlers such as GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Google-Extended and more, where blocking citation-relevant fetchers removes the site from AI answers), crawlability (sitemap.xml, robots not blocking everything, HTTPS, readable without JS), llms.txt readiness (presence and llmstxt.org validity of /llms.txt and /llms-full.txt) and MCP well-known readiness (agent manifests under /.well-known). All signals are computed by us from the site's own public surface, not a resale of a paid API. Automated visibility indicators, not a guarantee of being cited or ranked.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"aeo_audit_aeo_audit_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"example.com","visibility_score":62,"rating":"good","fixes":[{"axis":"answerability","issue":"The homepage has no H1 heading.","why_it_matters":"The H1 is the primary topic signal an answer engine uses.","recommendation":"Add exactly one descriptive H1 that states the page topic.","impact":"high"}],"coverage":{"axes_total":6,"axes_evaluated":6,"confidence":1.0},"disclaimer":"Automated AI-search visibility indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Target URL to audit (e.g. https://example.com)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare domain (e.g. example.com)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/aeo/llms":{"get":{"tags":["paid"],"summary":"Focused check of a site's /llms.txt and /llms-full.txt: presence, size and llmstxt.org structural validity (an H1 title, a blockquote summary, sections of markdown links). Returns a readiness score plus fixes. Cheap sub-check of the full AEO audit.","description":"A cheap, focused sub-check of a site's llms.txt readiness for LLM readers. Fetches /llms.txt and /llms-full.txt from the target host and validates each against the llmstxt.org format: a single H1 title line, a blockquote summary, and one or more sections of markdown links to key pages, plus the file size. llms.txt is the emerging convention that hands an LLM reader a curated, low-noise map of the most important pages instead of forcing it to guess from raw HTML. Returns per-file presence and structural flags, a 0-100 readiness score and any fixes. Computed by us from the site's own public files. Indicators, not a guarantee.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"aeo_llms_aeo_llms_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"example.com","llms_txt":{"present":true,"has_h1":true,"has_blockquote":true,"link_count":12,"size_bytes":1840,"valid":true},"llms_full_txt":{"present":false},"llms_score":100,"fixes":[],"disclaimer":"Automated AI-search visibility indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Target URL to audit (e.g. https://example.com)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare domain (e.g. example.com)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/aeo/crawlers":{"get":{"tags":["paid"],"summary":"robots.txt AI-crawler access matrix: for the 2026 cohort of AI and answer-engine crawlers (GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Google-Extended and more) reports allowed, blocked or unlisted per bot, whether the default rule blocks everything, declared sitemaps and a score. One network operation.","description":"A single-fetch analysis of a site's robots.txt from the point of view of AI answer engines. Parses robots.txt and, for each crawler in the 2026 AI cohort (OpenAI GPTBot, ChatGPT-User and OAI-SearchBot; Anthropic ClaudeBot, anthropic-ai and Claude-User; Perplexity PerplexityBot and Perplexity-User; Google-Extended and GoogleOther; Common Crawl CCBot; Applebot-Extended; ByteDance Bytespider; Meta meta-externalagent; Amazonbot), reports whether the bot is explicitly listed and whether it is allowed or blocked at the site root, flags each bot that actually fetches pages to cite in an answer engine, reports whether the default user-agent rule blocks the whole site, lists any declared sitemaps and returns a 0-100 score based on how many citation-relevant bots are allowed. Blocking citation-relevant fetchers removes the site from AI answers; blocking training-only bots is a separate policy choice. Computed by us from the site's own robots.txt. Indicators, not a guarantee.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"aeo_crawlers_aeo_crawlers_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"domain":"example.com","robots_present":true,"default_blocks_all":false,"crawler_matrix":[{"bot":"PerplexityBot","operator":"Perplexity","citation_relevant":true,"listed":false,"access":"allowed"}],"crawler_score":100,"fixes":[],"disclaimer":"Automated AI-search visibility indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Target URL to audit (e.g. https://example.com)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare domain (e.g. example.com)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/seo/audit":{"get":{"tags":["paid"],"summary":"Deterministic on-page technical-SEO audit of a single web page. Fetches the page (redirects + response headers) and runs 24 mechanical rules across six categories (indexability, title/meta, headings, structured data, images, i18n/mobile). Returns a 0-100 score, letter grade, per-rule pass/warn/fail checklist with fixes, and an indexability-critical flag. No LLM, no keys.","description":"One-call deterministic on-page technical-SEO audit of a single public web page, for an SEO/marketing agent, a site owner or a coding agent editing markup. Input: a full URL (path preserved), or a bare domain/host (audits the homepage). The page is fetched over HTTPS following redirects, and BOTH the HTML and the response headers and final URL are analysed, so header-only and redirect-only signals (X-Robots-Tag, Content-Type charset, HTTP-to-HTTPS, self-canonical) are caught. Twenty-four mechanical rules run across six weighted categories. Indexability and crawl directives: HTTPS, meta-robots noindex, X-Robots-Tag noindex, robots.txt access and a present, self-referencing canonical. Title and meta description: presence and SERP-snippet length bands (title about 30 to 60 characters, description about 70 to 160). Headings and content depth: exactly one H1, a heading outline that does not skip levels, and enough body text that the page is not thin. Structured data and social: schema.org JSON-LD that is present AND parses (a present-but-broken block is failed, which a naive counter misses), OpenGraph completeness and a Twitter card. Images: the share of img elements carrying a non-empty alt attribute. And i18n, mobile, encoding and crawl aids: a mobile viewport, a valid html lang, a declared charset, valid hreflang if used, a discoverable sitemap and a favicon. Output: a 0-100 score, a letter grade A to F and a word rating, a per-rule checklist (each rule carries its status, the evidence and, when not passing, the issue, why it matters and a concrete recommendation), a prioritized fix list sorted by impact, and per-category subscores. Crucially, an indexability-critical fail (noindex, an X-Robots-Tag noindex, a robots.txt block or a canonical pointing at a different URL) flags the verdict critical and caps the grade DOWN no matter how green the cosmetics are, because such a page physically will not rank. An unreachable, robots-blocked or non-200 page is itself the critical finding: its HTML rules become not-applicable and the audit still returns a verdict, never an error. All signals are computed by us from the page's own public surface, honoring robots.txt, with no third-party audit API resold. This is a deterministic, mechanical markup audit: it does not judge content quality, keyword intent, E-E-A-T, backlinks, Core Web Vitals or JavaScript-rendered content. Mechanical indicators, not a guarantee of ranking or indexation.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"seo_audit_seo_audit_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"url":"https://example.com","score":71,"grade":"C","rating":"good","critical":false,"summary":{"rules_total":24,"pass":16,"warn":3,"fail":3,"na":2},"fixes":[{"id":"single_h1","category":"headings","status":"fail","severity":"high","recommendation":"Use exactly one descriptive H1."}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"},"description":"Target page URL to audit, path preserved (e.g. https://example.com/pricing)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a bare domain, audits its homepage (e.g. example.com)"},{"name":"host","in":"query","required":false,"schema":{"type":"string"},"description":"Alternative input: a hostname"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/validator/vet":{"get":{"tags":["paid"],"summary":"Delegation-risk verdict for a Solana validator from public on-chain data. Give one of vote (vote-account) or identity (node) pubkey and get a verdict of safe, caution, avoid or not_found, a 0-100 risk score, per-dimension flags, reasons and weighted signals across delinquency, commission, commission-rug history, skip-rate percentile, vote-credit performance, agent version lag and superminority concentration. Deterministic, no LLM. Risk indicators, not financial or staking advice.","description":"One-call delegation due-diligence for agents choosing (or monitoring) a Solana validator to stake SOL with. Supply exactly one identifier, either a vote-account pubkey or a node identity pubkey, and optionally set include_history. The route resolves the validator in a cluster-wide snapshot this service refreshes in-process from keyless public Solana RPC and returns a delegation-risk verdict of safe, caution, avoid or not_found with a 0-100 risk score. The score is a deterministic weighted model that FUSES several dimensions rather than relaying raw fields: voting delinquency (a delinquent validator is missing rewards now), commission level and a confiscatory flag, a commission-rug signal built from this service's own accrued per-epoch commission history (fee raised after stake was gathered), leader skip-rate as a percentile of the whole network computed from block production, vote-credit performance as a network percentile, agent software version lag against the latest line the cluster runs, and whether the validator sits in the superminority whose combined stake can halt the chain. Each fired signal returns its weight, flag and a human-readable reason so an agent can re-rank with its own policy. All dimensions are computed by this service from public on-chain data; no third-party dashboard API is resold. Cold-start aware: before commission history accrues, the rug dimension reports no_history. An unknown pubkey returns verdict not_found rather than an error. Risk indicators only, not financial or staking advice; verify before delegating.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"validator_vet_validator_vet_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"safe","risk_score":8,"network":"solana","validator":{"vote_pubkey":"8tjRQLzor4dP4qd1e7pVDdQmsdwdVv4kSeCVEHwWEiQW","commission_pct":5,"activated_stake_sol":893257.1,"delinquent":false,"in_superminority":false},"flags":{"delinquency":"ok","commission_level":"ok"},"reasons":["No adverse risk indicators detected."],"epoch":1000,"disclaimer":"Risk indicators computed from public on-chain data; not financial or staking advice. Verify independently before delegating."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"vote","in":"query","required":false,"schema":{"type":"string"},"description":"Vote-account pubkey of the validator (base58)"},{"name":"identity","in":"query","required":false,"schema":{"type":"string"},"description":"Node identity pubkey (base58); alternative to vote"},{"name":"include_history","in":"query","required":false,"schema":{"type":"boolean"},"description":"Include accrued commission-history summary"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/validator/lookup":{"get":{"tags":["paid"],"summary":"Resolve a Solana validator identity pubkey to its vote-account (or the reverse) and optionally get the top-N lowest-risk safe validators by score. Give vote or identity to resolve, or top_n for safe candidates. Cheap first step before validator/vet.","description":"The light first step of a two-step validator-vetting flow (lookup then vet, mirroring the freight and sanctions screen-then-verify pattern). Use it two ways. Give a vote-account or a node identity pubkey and it resolves the pair plus the commission, activated stake in SOL and delinquency flag, so an agent can map between the identity a validator advertises and the vote-account it delegates to. Or give top_n and it returns that many validators the model currently rates safe, ranked by ascending risk score and then by stake, each with its vote and identity pubkeys, verdict, risk score, commission and activated stake, filtered to active non-delinquent vote accounts with meaningful stake. Then call validator/vet on a chosen vote-account for the full weighted verdict with per-dimension reasons. Data is a cluster-wide snapshot computed from keyless public Solana RPC. Risk indicators only, not financial or staking advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"validator_lookup_validator_lookup_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"solana","epoch":1000,"top_safe":[{"vote_pubkey":"8tjRQLzor4dP4qd1e7pVDdQmsdwdVv4kSeCVEHwWEiQW","verdict":"safe","risk_score":4,"commission_pct":5,"activated_stake_sol":893257.1}],"disclaimer":"Risk indicators computed from public on-chain data; not financial or staking advice. Verify independently before delegating."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"vote","in":"query","required":false,"schema":{"type":"string"},"description":"Vote-account pubkey to resolve to its identity"},{"name":"identity","in":"query","required":false,"schema":{"type":"string"},"description":"Node identity pubkey to resolve to its vote-account"},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Return this many lowest-risk safe validators"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/depin/hotspot":{"get":{"tags":["paid"],"summary":"Profile of a DePIN hotspot or gateway from public data. Give network (helium) and an entity or asset key and get owner wallet, subnetworks (IOT, MOBILE), obfuscated location (city, state, country and H3 cell), elevation, gain, onboarding fee and computed flags for asserted location, multi-network and deployment completeness. Each value is cited to its source.","description":"A one-call profile of a single Helium hotspot or gateway, fused from the official keyless Helium Entity API (provided free of charge, with location obfuscated to an H3 resolution-8 cell) plus an optional keyless Solana on-chain owner lookup. Pass the network (helium) and the hotspot's entity key or asset key. The response reports the subnetworks the hotspot participates in (IOT, MOBILE), a per-subnetwork obfuscated location (city, state, country and the H3 cell), elevation and antenna gain, the data credit onboarding fee, and the device type where present. On top of the raw fields it computes flags an agent can act on: whether a location is asserted, whether the hotspot spans multiple subnetworks, and a deployment completeness ratio. The owner wallet is resolved on-chain when available (partial on failure). An optional earnings trend is included when the Relay key is configured, otherwise it reports available false. Every value is cited with its source and the attribution list is always present. An unknown key returns found false rather than an error; bad input returns 400; upstream failure returns 502. These are network intelligence indicators, not investment advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"depin_hotspot_depin_hotspot_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"helium","found":true,"name":"Long Orchid Skunk","subnetworks":["iot","mobile"],"by_subnetwork":{"iot":{"location":{"city":"Seattle","country":"United States","h3":"8c28d55042403ff"},"gain":12}},"flags":{"has_asserted_location":true,"multi_network":true,"deployment_completeness":1.0},"owner_wallet":{"available":true,"value":"6mgp..."},"attribution":["Source: Helium Entity API (entities.nft.helium.io)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["helium"]},"description":"DePIN network id (default helium)"},{"name":"key","in":"query","required":true,"schema":{"type":"string"},"description":"Hotspot entity key or asset key (base58)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/depin/wallet":{"get":{"tags":["paid"],"summary":"Portfolio of a DePIN operator or investor wallet from public data. Give network (helium) and a Solana wallet pubkey and get the hotspot count, a breakdown by subnetwork, the geographic spread, token balances (HNT, IOT, MOBILE, DC) and computed signals for deployment diversification and concentration. Each value is cited.","description":"A one-call portfolio view for a Helium operator or investor wallet, from the official keyless Helium Entity API. Pass the network (helium) and a Solana wallet pubkey. The response returns the number of hotspots the wallet holds, a breakdown of how many are on the IOT subnetwork, the MOBILE subnetwork or both, the geographic spread across countries, states and cities, and the wallet's token balances for HNT, IOT, MOBILE and DC normalized by their on-chain decimals. It also computes portfolio signals: subnetwork diversity, country and state spread, the top country and a geographic concentration ratio. For very large operators the hotspot list is sampled and a truncated flag is set. Every value is cited to the Entity API with attribution. A wallet with nothing returns found false; a malformed pubkey returns 400; upstream failure returns 502. These are network intelligence indicators, not investment advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"depin_wallet_depin_wallet_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"helium","found":true,"hotspots_count":2,"subnetwork_breakdown":{"iot":2,"mobile":0,"both":0},"geo_spread":{"countries":1,"states":2,"cities":2},"token_balances":{"HNT":{"amount":12.5,"decimals":8}},"signals":{"subnetwork_diversity":1,"country_spread":1},"attribution":["Source: Helium Entity API (entities.nft.helium.io)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["helium"]},"description":"DePIN network id (default helium)"},{"name":"wallet","in":"query","required":true,"schema":{"type":"string"},"description":"Solana wallet pubkey (base58, 32-44 chars)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/depin/network":{"get":{"tags":["paid"],"summary":"Network health and token-economics verdict for a DePIN network from public data. Give network (helium) and get coverage size (IOT and MOBILE node counts), token supply for HNT, IOT, MOBILE and DC read on-chain, the emission and halving context, and a coverage-scale indicator. Each value is cited to its source.","description":"A one-call network health and token-economics verdict for a DePIN network, fused from the official keyless Helium Entity API and keyless Solana on-chain reads. Pass the network (helium). The response reports coverage size as the IOT and MOBILE node counts from the Entity API pagination metadata, and the token economics as the on-chain circulating supply for HNT, IOT, MOBILE and DC read with getTokenSupply, each with its mint, role and decimals. It adds the network's emission and halving context (HNT max supply, the two-year halving cadence and the burn-and-mint relationship to DC) as descriptive context, and a coarse coverage-scale indicator derived from the total node count. Every facet degrades independently: a source that fails is marked unavailable rather than failing the whole call. Every value is cited and the attribution list covers both sources. These are network intelligence indicators, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"depin_network_depin_network_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"helium","label":"Helium","coverage":{"iot":{"hotspots":1035517},"mobile":{"hotspots":56681}},"token_economics":{"HNT":{"supply":181941344.8,"role":"network","available":true}},"decentralization":{"coverage_scale":"very_large","total_hotspots":1092198},"attribution":["Source: Helium Entity API (entities.nft.helium.io)","Source: Solana on-chain via public JSON-RPC"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["helium"]},"description":"DePIN network id (default helium)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/depin/coverage":{"get":{"tags":["paid"],"summary":"Coverage density and deployment opportunity for a geography on a DePIN network. Give network (helium) and a geo string (city, state, country or an H3 cell). This is a keyed enrichment: without the Relay key configured it returns available false with a note; the keyless network, hotspot and wallet routes do not need it.","description":"Coverage density and a deployment-opportunity signal for a geography on a DePIN network. Pass the network (helium) and a geo string (a city, state or country, or an H3 cell). Because the Entity API does not cheaply aggregate hotspots by geography, this route is implemented as an optional keyed enrichment over the Relay Wireless API (a free Community-plan signup). Without the Relay key configured the route returns available false with an explanatory note, and the keyless core routes (network, hotspot, wallet) remain fully functional. With the key configured it returns the coverage density and a saturation or opportunity signal for the geography, cited to Relay. Bad input returns 400. These are network intelligence indicators, not investment advice.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"depin_coverage_depin_coverage_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"helium","geo":"Austin, Texas","available":true,"h3_cell":"85489fabfffffff","h3_resolution":5,"area_km2":252.9,"total_hotspots":412,"density_per_km2":1.63,"rating":"dense","opportunity":"low","attribution":["Geocoding © OpenStreetMap contributors (nominatim.openstreetmap.org)","Source: Relay Wireless (relaywireless.com)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["helium"]},"description":"DePIN network id (default helium)"},{"name":"geo","in":"query","required":true,"schema":{"type":"string"},"description":"A city, state, country string or an H3 cell"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/depin/rewards":{"get":{"tags":["paid"],"summary":"Reward economics and earnings trend for a DePIN entity or subnetwork. Give network (helium) with an entity key or a subnetwork (iot, mobile). This is a keyed enrichment: without the Relay key configured it returns available false with a note; the keyless network, hotspot and wallet routes do not need it.","description":"Reward economics, earnings trend and anomaly indicators for a DePIN entity or subnetwork. Pass the network (helium) with an entity key for a single hotspot or a subnetwork (iot or mobile) for the aggregate. Earnings history is not exposed by the keyless Entity API, so this route is an optional keyed enrichment over the Relay Wireless API (a free Community-plan signup). Without the Relay key configured the route returns available false with an explanatory note, and the keyless core routes remain fully functional. With the key configured it returns the earnings trend and reward-economics indicators, cited to Relay. Bad input returns 400. These are network intelligence indicators, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"depin_rewards_depin_rewards_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"helium","subnetwork":"mobile","available":true,"window":{"from":"2026-07-07T00:00:00Z","to":"2026-07-14T00:00:00Z","days":7},"total_reward_records":28006,"sampled_records":100,"by_reward_type":{"service_provider_reward":{"count":7,"total_amount":315000000000}},"attribution":["Source: Relay Wireless (relaywireless.com)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["helium"]},"description":"DePIN network id (default helium)"},{"name":"key","in":"query","required":false,"schema":{"type":"string"},"description":"Optional hotspot entity or asset key (base58)"},{"name":"subnetwork","in":"query","required":false,"schema":{"type":"string","enum":["iot","mobile"]},"description":"Optional subnetwork (default mobile)"},{"name":"days","in":"query","required":false,"schema":{"type":"integer"},"description":"Lookback window in days (default 7, max 30)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/farcaster/profile":{"get":{"tags":["paid"],"summary":"One-call Farcaster profile fusion. Give one of fid or username and get back the full profile (display name, bio, picture, url, location, socials), the primary Ethereum address, every verified on-chain wallet, the custody address, following and follower and cast counts, and the account age — the fused object that replaces four or five raw hub reads.","description":"The headline route: a single paid call that fuses the whole public Farcaster identity of one account. Supply exactly one of fid or username (resolved via the keyless fname registry). Returns the protocol profile fields, the in-profile primary Ethereum address, the full list of verified on-chain wallets (Ethereum and Solana), the on-chain custody address, following and follower and cast counts, and the account age derived from the on-chain registration event. Large accounts return follower and cast counts as a FLOOR with a capped flag (hub pagination is unbounded, so we count up to a page cap). The value is the FUSION, not a raw resell: one call replaces separate userData, verifications, registration, links and casts reads. Partial answers are returned when a facet is down (never a 500); an unknown fid or username returns found=false. Public protocol data only.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"farcaster_profile_farcaster_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"fid":3,"username":"dwr","profile":{"display_name":"Dan Romero","bio":"Working on Farcaster","primary_eth_address":"0x6Ce0...fe"},"custody_address":"0x6b0bda3f2ffed5efc83fa8c024acff1dd45793f1","primary_eth_address":"0x6Ce0...fe","verified_addresses":[{"address":"0x91031...","protocol":"ethereum"}],"counts":{"following":{"count":1200,"capped":false},"followers_floor":{"count":5000,"capped":true},"casts_floor":{"count":5000,"capped":true}},"account_age_days":1400,"attribution":["Farcaster protocol (open-source, MIT) — public social graph"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Farcaster ID (FID), a positive integer"},{"name":"username","in":"query","required":false,"schema":{"type":"string"},"description":"Farcaster username (fname or ENS), without the at-sign"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/farcaster/verifications":{"get":{"tags":["paid"],"summary":"Resolve a Farcaster identity to its verified on-chain wallets. Give one of fid or username and get every cryptographically verified address (Ethereum and Solana) linked to that FID, plus the in-profile primary Ethereum address and provenance. The forward identity to wallet direction for reputation and provenance work.","description":"The wallet-discovery route: map one Farcaster identity to the set of on-chain addresses its owner has cryptographically verified control of. Supply one of fid or username; the route returns each verified address with its chain (Ethereum or Solana), the in-profile declared primary Ethereum address, and the count. Every address is a signed verification message from the Farcaster protocol, not a guess. Useful for attaching a social identity and reputation to a wallet, or fanning a FID out to the wallets to watch. Partial on facet failure (never a 500); an unknown identity returns found=false. Public protocol data only.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"farcaster_verifications_farcaster_verifications_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"fid":3,"primary_eth_address":"0x6Ce0...fe","verified_addresses":[{"address":"0x91031dcfdea024b4d51e775486111d2b2a715871","protocol":"ethereum"},{"address":"ExAqci8uUVKtqHqFW58fmwgMMY9PATfRGGyv6837j9Lx","protocol":"solana"}],"count":2,"provenance":"Farcaster verificationsByFid (signed on-chain address proofs)","attribution":["Farcaster protocol (open-source, MIT) — public social graph"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Farcaster ID (FID), a positive integer"},{"name":"username","in":"query","required":false,"schema":{"type":"string"},"description":"Farcaster username (fname or ENS), without the at-sign"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/farcaster/resolve":{"get":{"tags":["paid"],"summary":"Bidirectional Farcaster identity and wallet resolver. Give an address to get the FID it belongs to (custody address resolves keyless; a verified address needs the optional enrichment), or give a fid or username to get the canonical identity (fid, username, custody address and verified wallets). Crypto-native reconciliation of social identity and wallet.","description":"The two-way bridge between a wallet and a Farcaster identity. Reverse direction: give an Ethereum address and the route maps a custody address to its FID with no key required; reversing a merely verified address to a FID is gated behind an optional runtime enrichment and honestly reports available=false when it is not configured. Forward direction: give a fid or username and get the canonical identity block (fid, username, display name, custody address and the list of verified wallets). This is the identity reconciliation a crypto agent needs to answer who is behind this address or what wallets does this account control. Partial on facet failure (never a 500); no match returns found=false. Public protocol data only.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"farcaster_resolve_farcaster_resolve_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"fid":3,"username":"dwr","custody_address":"0x6b0bda3f2ffed5efc83fa8c024acff1dd45793f1","verified_addresses":[{"address":"0x91031...","protocol":"ethereum"}],"query":{"type":"address","value":"0x6b0bda3f2ffed5efc83fa8c024acff1dd45793f1"},"match":"custody","attribution":["Farcaster protocol (open-source, MIT) — public social graph"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Farcaster ID (FID), a positive integer"},{"name":"username","in":"query","required":false,"schema":{"type":"string"},"description":"Farcaster username, without the at-sign"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Ethereum address (0x and 40 hex chars) to reverse to a FID"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/farcaster/reputation":{"get":{"tags":["paid"],"summary":"Deterministic Farcaster social-reputation score from zero to one hundred for a fid, username or address. Combines account age, verified wallets, a primary address, username presence, follower floor and cast activity into a score, a band and per-dimension reasons. Anti-sybil and provenance signal for crypto agents. Reputation indicators, not a guarantee.","description":"A verdict route, not a raw read: it computes a deterministic zero-to-one-hundred social-reputation score for a Farcaster identity supplied as a fid, username or Ethereum address (an address is first mapped to its FID). The score is additive over transparent, data-driven signals — a claimed username, a display name, a bio and picture, at least one verified on-chain wallet, a declared primary address, account tenure from the on-chain registration event, a follower floor and cast activity — and returns the numeric score, a band, every fired reason and the per-dimension breakdown so the caller can audit it. Built for anti-sybil, airdrop-eligibility and wallet-provenance checks by crypto agents on Base. These are reputation indicators derived from public data, NOT a guarantee of trustworthiness. Partial on facet failure (never a 500); an unresolvable input returns found=false. Public protocol data only.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"farcaster_reputation_farcaster_reputation_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"fid":3,"username":"dwr","resolved_via":"username","reputation":{"score":96,"band":"high","reasons":["Has a registered Farcaster username (fname/ENS) — a claimed, human-readable identity.","At least 1000 followers (broad reach)."],"disclaimer":"Reputation indicators derived from public Farcaster protocol data, NOT a guarantee."},"attribution":["Farcaster protocol (open-source, MIT) — public social graph"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Farcaster ID (FID), a positive integer"},{"name":"username","in":"query","required":false,"schema":{"type":"string"},"description":"Farcaster username, without the at-sign"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Ethereum address to score via its linked FID"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/farcaster/graph":{"get":{"tags":["paid"],"summary":"Farcaster social-graph slice for a fid or username: the following list with a count, the follower floor with a count, and a sample of mutual connections. Counts for large accounts are a floor with a capped flag. Social-graph context for reputation and network-analysis agents.","description":"A social-graph slice for network and reputation analysis. Supply one of fid or username and the route returns the accounts this FID follows (with a count and a sample of target FIDs), the followers as a floor (with a count and a sample), and a sample of mutual connections computed from the intersection. Because hub pagination is unbounded, following, follower and mutual figures are counted up to a page cap and flagged capped when the true number is larger — an honest floor, never a fabricated total. Useful for clustering, sybil-ring detection and influence mapping over the open Farcaster graph. Partial on facet failure (never a 500); an unknown identity returns found=false. Public protocol data only.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"farcaster_graph_farcaster_graph_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"fid":3,"following":{"count":1200,"capped":false,"sample":[2,2635,5650]},"followers_floor":{"count":5000,"capped":true,"sample":[1,2,4]},"mutual_sample":{"count":300,"sample":[2,5650]},"attribution":["Farcaster protocol (open-source, MIT) — public social graph"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Farcaster ID (FID), a positive integer"},{"name":"username","in":"query","required":false,"schema":{"type":"string"},"description":"Farcaster username (fname or ENS), without the at-sign"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/sports/scores":{"get":{"tags":["paid"],"summary":"Live and recent game scores for a major sports league, normalized to one cited JSON. Give a league such as mlb, nhl, nfl, nba or epl and get each game with both teams, the score, the game state, the period or inning and the start time. Sourced from official league APIs and ESPN, each record tagged with its source.","description":"Live and recently-finished scores for a whole league in one call, normalized to a single cited schema across sources. Supply a league key — mlb, nhl, nfl, nba or the English Premier League (epl) — and optionally an ISO date to pull a specific day's card; omit the date for live and current games. Each game is returned with both teams (display name, abbreviation and score), a normalized state (pre, in or post), the human status, the current period or inning, the venue and the scheduled start time. Official league APIs are the authority for their own league (MLB Stats API for baseball, the NHL Web API for hockey) with the broad ESPN public endpoints covering every league, and a commercial-clean TheSportsDB tier as the anchor when a key is configured. Every record carries the source that supplied it, and the response carries per-source attribution plus a facts-only, not-affiliated disclaimer. This is sports FACTS only — scores and game state — never editorial recaps, artwork or betting odds. If a source is down the response is marked partial rather than failing.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"sports_scores_sports_scores_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"league":"mlb","league_name":"MLB","count":1,"scores":[{"game_id":"776543","start_ts":"2025-10-01T23:05:00Z","state":"post","status":"Final","period":9,"home":{"name":"Pittsburgh Pirates","abbr":"PIT","score":7},"away":{"name":"Cincinnati Reds","abbr":"CIN","score":3},"source":"mlb"}],"provenance":{"scores":"mlb"},"sources":{"used":["mlb"],"partial":false,"errors":[]},"attribution":["Data via MLB Stats API (statsapi.mlb.com)"],"disclaimer":"Sports facts; not affiliated with any league. No odds."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"league","in":"query","required":true,"schema":{"type":"string","enum":["mlb","nhl","nfl","nba","epl"]},"description":"League key. One of the supported major leagues."},{"name":"date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional day filter as an ISO date such as 2025-10-01. Omit for live and current games."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 50"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/sports/schedule":{"get":{"tags":["paid"],"summary":"Upcoming fixtures and the game schedule for a major sports league, normalized to one cited JSON. Give a league such as mlb, nhl, nfl, nba or epl and an optional date, and get each scheduled game with both teams, start time and venue. A cheap way for an agent to plan around the sports calendar.","description":"The fixture list and game schedule for a league, normalized to a single cited schema. Supply a league key — mlb, nhl, nfl, nba or the English Premier League (epl) — and optionally an ISO date; omit the date for the current or upcoming card. Each scheduled game returns both teams, the scheduled start time, the venue and the state. Official league APIs are the authority for their own league, ESPN covers the rest, and a commercial-clean TheSportsDB tier anchors when a key is set. Use it to plan around the sports calendar — when a team next plays, what the day's slate looks like — then call /sports/scores for live results or /sports/game for a deep single-game view. Every record carries its source; the response carries per-source attribution and a facts-only, not-affiliated disclaimer. Facts only, no odds; a down source degrades to partial rather than a failure.\n\nPrice: $0.004 (USDC on Base, x402).","operationId":"sports_schedule_sports_schedule_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"league":"nhl","league_name":"NHL","date":"2025-10-08","count":1,"schedule":[{"game_id":"2025020001","start_ts":"2025-10-08T23:00:00Z","state":"pre","status":"Scheduled","home":{"name":"Chicago Blackhawks","abbr":"CHI"},"away":{"name":"Florida Panthers","abbr":"FLA"},"source":"nhl"}],"provenance":{"schedule":"nhl"},"sources":{"used":["nhl"],"partial":false,"errors":[]},"attribution":["Data via NHL Web API (nhle.com)"],"disclaimer":"Sports facts; not affiliated with any league. No odds."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"league","in":"query","required":true,"schema":{"type":"string","enum":["mlb","nhl","nfl","nba","epl"]},"description":"League key. One of the supported major leagues."},{"name":"date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional day filter as an ISO date such as 2025-10-01. Omit for live and current games."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 50"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004"},"protocols":[{"x402":{}}]}}},"/sports/standings":{"get":{"tags":["paid"],"summary":"League table and standings for a major sports league, normalized to one cited JSON. Give a league such as mlb, nhl, nfl, nba or epl and get each team with wins, losses, win percentage or points, games behind, streak and its division or conference group. Sourced from official league APIs and ESPN.","description":"The current league table for a whole league in one call, normalized to a single cited schema. Supply a league key — mlb, nhl, nfl, nba or the English Premier League (epl) — and optionally a season label (for example 2025 for baseball or 2024-2025 for hockey and soccer); the current season is the default. Each team row returns its rank within its division or conference group, games played, wins, losses, overtime losses or ties where the sport has them, win percentage or points, games behind the leader, and current streak. Official league APIs are the authority for their own league (MLB Stats API, the NHL Web API), the broad ESPN public endpoints cover every league, and a commercial-clean TheSportsDB tier anchors when a key is set. Every row carries the source that supplied it, and the response carries per-source attribution plus a facts-only, not-affiliated disclaimer. Standings are non-copyrightable facts; a rate-limited source degrades to partial, never a failure.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"sports_standings_sports_standings_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"league":"mlb","league_name":"MLB","season":"2025","count":1,"standings":[{"rank":1,"team":"Toronto Blue Jays","group":"AL East","games_played":162,"wins":94,"losses":68,"pct":".580","games_back":"-","streak":"W4","source":"mlb"}],"provenance":{"standings":"mlb"},"sources":{"used":["mlb"],"partial":false,"errors":[]},"attribution":["Data via MLB Stats API (statsapi.mlb.com)"],"disclaimer":"Sports facts; not affiliated with any league. No odds."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"league","in":"query","required":true,"schema":{"type":"string","enum":["mlb","nhl","nfl","nba","epl"]},"description":"League key. One of the supported major leagues."},{"name":"season","in":"query","required":false,"schema":{"type":"string"},"description":"Optional season label such as 2025 or 2024-2025. Defaults to the current season."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 50"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/sports/game":{"get":{"tags":["paid"],"summary":"Deep single-game state for one game by its id, normalized to one cited JSON. Give a league and a game_id and get the box-score numbers, the status and period or inning, team totals, statistical leaders and any reported injuries. The richest per-game view, fused from the league API or ESPN.","description":"The deepest per-game view this service offers: give a league key and a game_id (the id returned by /sports/scores or /sports/schedule) and get one game's full factual state in a single cited JSON. Depending on the sport and source you get the normalized state and status, the current period, inning or clock, both teams with their score, team-level box-score numbers (runs, hits, shots on goal and the like), the statistical leaders as player-plus-number facts, and any reported injuries or scratches. The league's official API (MLB Stats API boxscore and linescore, the NHL gamecenter boxscore) is preferred for its own league, with ESPN's game summary covering every league. This is facts only — numbers and status — and deliberately strips ESPN's odds, pick-center and editorial blocks: no betting lines, no recaps. The response tags the source, includes attribution and a not-affiliated disclaimer, and reports found:false rather than failing when the id is unknown.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"sports_game_sports_game_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"league":"nhl","game_id":"2025020001","game":{"state":"post","status":"OFF","period":3,"home":{"name":"Vegas Golden Knights","abbr":"VGK","score":0,"sog":22},"away":{"name":"Carolina Hurricanes","abbr":"CAR","score":3,"sog":23},"source":"nhl"},"provenance":{"game":"nhl"},"sources":{"used":["nhl"],"partial":false,"errors":[]},"attribution":["Data via NHL Web API (nhle.com)"],"disclaimer":"Sports facts; not affiliated with any league. No odds."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"league","in":"query","required":true,"schema":{"type":"string","enum":["mlb","nhl","nfl","nba","epl"]},"description":"League key. One of the supported major leagues."},{"name":"game_id","in":"query","required":false,"schema":{"type":"string"},"description":"The game id, as returned by /sports/scores or /sports/schedule for this league."},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for game_id"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/sports/team":{"get":{"tags":["paid"],"summary":"Team profile for a major sports league, normalized to one cited JSON. Give a league and a team name or abbreviation and get the team's record, home venue, country, year founded and recent form where available. Fused from official league APIs, ESPN and TheSportsDB.","description":"A factual profile of one team, normalized to a single cited JSON. Supply a league key — mlb, nhl, nfl, nba or the English Premier League (epl) — and a team name or abbreviation, and get the team's canonical name and short code, the sport, its home venue, country, year founded, its current win-loss record where the source exposes it, and recent form where available. Official league APIs are preferred for their own league, with ESPN and a commercial-clean TheSportsDB tier filling in profile detail such as venue and founding year. The result carries the source that supplied it, per-source attribution and a facts-only, not-affiliated disclaimer. Team metadata and record only — no logos, artwork or editorial. If the team can't be resolved the response reports found:false rather than failing, and a down source degrades to partial.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"sports_team_sports_team_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"league":"epl","query":"Arsenal","team":{"team":"Arsenal","abbr":"ARS","league":"epl","sport":"soccer","venue":"Emirates Stadium","country":"England","founded":1892,"source":"thesportsdb"},"provenance":{"team":"thesportsdb"},"sources":{"used":["thesportsdb"],"partial":false,"errors":[]},"attribution":["Data via TheSportsDB (thesportsdb.com)"],"disclaimer":"Sports facts; not affiliated with any league. No odds."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"league","in":"query","required":true,"schema":{"type":"string","enum":["mlb","nhl","nfl","nba","epl"]},"description":"League key. One of the supported major leagues."},{"name":"team","in":"query","required":false,"schema":{"type":"string"},"description":"Team name or abbreviation, such as Arsenal or NYY."},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for team"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/fec/contributions":{"get":{"tags":["paid"],"summary":"Federal campaign contributions from FEC Schedule A. Give a contributor name, committee id or candidate id and get normalized itemized receipts, each cited to its FEC filing, with contributor employer and occupation, amount, date and the recipient committee. Optional employer, two year period and minimum amount filters. Informational public disclosure data, not for donor solicitation.","description":"Normalized federal campaign contributions for compliance, PEP-exposure, ESG and opposition-research due-diligence. Query by contributor name, recipient committee id or candidate id, and narrow with an employer, an even-year cycle or a minimum amount. The route pulls the FEC Schedule A itemized receipts and returns a compact cited JSON: contributor name, employer, occupation, city and state, the amount and date, and the recipient committee and candidate, with each record citing its FEC transaction id and filing image so an agent can trace it back to the primary source. A summary totals the amount and ranks the top recipients. Data is primary US public-domain disclosure from the FEC; it is provided for informational due-diligence only and never as a marketing donor list or for soliciting contributions.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"fec_contributions_fec_contributions_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"total_matched":42,"returned":1,"summary":{"total_amount":500.0,"record_count":1,"top_recipients":[]},"contributions":[{"contributor_name":"SMITH, JANE","employer":"ACME CORP","occupation":"ENGINEER","city":"AUSTIN","state":"TX","amount":500.0,"date":"2024-03-15","recipient":{"committee_id":"C00401224","committee_name":"EXAMPLE PAC"},"citation":{"transaction_id":"SA11AI.123","pdf_url":"https://docquery.fec.gov/cgi-bin/fecimg/?2024..."}}],"attribution":["FEC / OpenFEC (api.open.fec.gov), US public domain"],"disclaimer":"Public government disclosure data (FEC/LDA). For due-diligence/compliance/research — NOT for soliciting contributions or commercial solicitation of donors (52 U.S.C. §30111(a)(4)); informational only, not legal or investment advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"contributor_name","in":"query","required":false,"schema":{"type":"string"},"description":"Contributor full or partial name"},{"name":"committee_id","in":"query","required":false,"schema":{"type":"string"},"description":"FEC recipient committee id, e.g. C00401224"},{"name":"candidate_id","in":"query","required":false,"schema":{"type":"string"},"description":"FEC candidate id, e.g. P80000722"},{"name":"employer","in":"query","required":false,"schema":{"type":"string"},"description":"Contributor employer filter"},{"name":"two_year_transaction_period","in":"query","required":false,"schema":{"type":"integer"},"description":"Even-year cycle, e.g. 2024"},{"name":"min_amount","in":"query","required":false,"schema":{"type":"number"},"description":"Minimum contribution amount"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/fec/committee":{"get":{"tags":["paid"],"summary":"FEC committee profile for a PAC, Super PAC or candidate committee. Give a committee id or a name query and get the committee type, party and designation plus per-cycle totals of receipts, disbursements and cash on hand, and a summary of independent expenditures it made supporting or opposing candidates. Public disclosure data for research and compliance.","description":"A one-call fused profile of a federal political committee. Supply the FEC committee id, or a name query to resolve the best match, and the route returns the committee type, designation, party and home state, its per-cycle financial totals (receipts, disbursements, cash on hand and reported independent expenditures), and a computed summary of the independent expenditures the committee itself made, split into amounts supporting versus opposing candidates. This fuses the committees, committee totals and Schedule E endpoints so an agent gets the whole picture in one response. Data is primary US public-domain disclosure from the FEC, provided for research and compliance due-diligence and not for soliciting contributions.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"fec_committee_fec_committee_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"committee":{"committee_id":"C00401224","name":"EXAMPLE PAC","committee_type":"Hybrid PAC","state":"DC"},"totals":[{"cycle":2024,"receipts":1000000.0,"disbursements":900000.0,"cash_on_hand":100000.0,"independent_expenditures":250000.0}],"independent_expenditures":{"total_amount":250000.0,"record_count":12,"support":200000.0,"oppose":50000.0,"partial":false},"attribution":["FEC / OpenFEC (api.open.fec.gov), US public domain"],"disclaimer":"Public government disclosure data (FEC/LDA). For due-diligence/compliance/research — NOT for soliciting contributions or commercial solicitation of donors (52 U.S.C. §30111(a)(4)); informational only, not legal or investment advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"committee_id","in":"query","required":false,"schema":{"type":"string"},"description":"FEC committee id, e.g. C00401224"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Committee name search query"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/lobbying/filings":{"get":{"tags":["paid"],"summary":"Federal lobbying filings from the Senate LDA disclosure system covering both chambers. Give a client name, registrant firm name, lobbyist name or issue code and get normalized filings with the registrant, client, reported income or expenses, issue areas, government entities lobbied and the lobbyists, each cited to its filing document. Optional filing year and period filters.","description":"Normalized federal lobbying disclosure for policy monitoring, compliance and due-diligence. Query by lobbying client, registrant firm, individual lobbyist or issue, and optionally a filing year and period. The route reads the Senate Lobbying Disclosure Act API, which is a unified structured superset covering both the House and the Senate, and returns a compact cited JSON for each filing: the registrant firm and client, the reported income or expenses, the issue areas and government entities lobbied, and the named lobbyists, each citing its filing document url and uuid. Data is public LDA disclosure, provided for informational due-diligence and not for donor solicitation.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"lobbying_filings_lobbying_filings_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"total_matched":128,"returned":1,"filings":[{"filing_uuid":"6bd1-...","filing_type":"Quarterly Report","filing_year":2024,"filing_period":"First Quarter","expenses":30000.0,"registrant":{"name":"EXAMPLE GR LLC"},"client":{"name":"GOOGLE CLIENT SERVICES LLC"},"issues":["CPT"],"lobbyists":["MATTHEW GERSON"],"citation":{"filing_uuid":"6bd1-...","filing_document_url":"https://lda.senate.gov/filings/..."}}],"attribution":["US Senate LDA (lda.senate.gov), public disclosure"],"disclaimer":"Public government disclosure data (FEC/LDA). For due-diligence/compliance/research — NOT for soliciting contributions or commercial solicitation of donors (52 U.S.C. §30111(a)(4)); informational only, not legal or investment advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"client_name","in":"query","required":false,"schema":{"type":"string"},"description":"Lobbying client name"},{"name":"registrant_name","in":"query","required":false,"schema":{"type":"string"},"description":"Registrant lobbying firm name"},{"name":"lobbyist_name","in":"query","required":false,"schema":{"type":"string"},"description":"Individual lobbyist name"},{"name":"issue","in":"query","required":false,"schema":{"type":"string"},"description":"Issue text or general issue code, e.g. TAX"},{"name":"filing_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Filing year filter, e.g. 2024"},{"name":"filing_period","in":"query","required":false,"schema":{"type":"string"},"description":"Filing period code, e.g. first_quarter"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/lobbying/spend":{"get":{"tags":["paid"],"summary":"Lobbying-spend profile for a company or organization by name. Fuses the entity's Senate LDA filings into total reported spend by year with a trend, the top issue areas and the registrant firms it hired, plus recent cited filings. Optionally adds a bounded summary of the LD-203 political contributions reported by its top registrant firms.","description":"A single cited profile of how much an organization spends on federal lobbying and on what. Supply the company or organization name and the route pulls its Senate LDA filings and aggregates them into the total reported spend, a year-by-year breakdown with a simple rising, falling or flat trend, the top issue areas by number of filings, and the registrant firms it retained, plus a few recent cited filings for traceability. Optionally set the political contributions flag to also fold in a bounded summary of the LD-203 political contribution reports filed by the top registrant firms. This replaces manual assembly across many filings with one response. Data is public LDA disclosure, provided for informational due-diligence and not for donor solicitation.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"lobbying_spend_lobbying_spend_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"client_name":"google","spend":{"total_reported_spend":12000000.0,"spend_by_year":[{"year":2023,"amount":6000000.0},{"year":2024,"amount":6000000.0}],"trend":"flat","top_issues":[{"issue_code":"CPT","filings":8}],"registrants":[{"name":"EXAMPLE GR LLC","filings":8}],"filing_count":20,"total_matched":20},"recent_filings":[],"attribution":["US Senate LDA (lda.senate.gov), public disclosure"],"disclaimer":"Public government disclosure data (FEC/LDA). For due-diligence/compliance/research — NOT for soliciting contributions or commercial solicitation of donors (52 U.S.C. §30111(a)(4)); informational only, not legal or investment advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"client_name","in":"query","required":false,"schema":{"type":"string"},"description":"Company or organization lobbying client name"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for client_name"},{"name":"filing_year","in":"query","required":false,"schema":{"type":"integer"},"description":"Filing year filter, e.g. 2024"},{"name":"include_political_contributions","in":"query","required":false,"schema":{"type":"boolean"},"description":"Also summarize LD-203 contributions of top registrants"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/politics/profile":{"get":{"tags":["paid"],"summary":"Cross-domain money-in-politics footprint of one entity by name. Fuses the entity's FEC campaign contributions as a donor with its Senate LDA lobbying spend as a client into one cited profile with aggregates across both domains. Partial on failure per domain. Informational public disclosure data for due-diligence, not for donor solicitation.","description":"The premium cross-domain view: a single money-in-politics footprint for one organization or person. Supply a name and the route fuses two primary disclosure domains: the entity's federal campaign contributions as a donor from FEC Schedule A (total given, record count and top recipients, with recent cited records) and its federal lobbying spend as a client from the Senate LDA system (total reported spend, year trend, top issues and registrant firms). A footprint block summarizes both domains side by side so an agent can gauge an entity's overall political-money exposure in one call. Each domain is collected independently and a failing or rate-limited source is reported without failing the whole response. This is the substantive due-diligence value the individual routes feed into. Data is primary US public-domain and public disclosure, for informational due-diligence and never for soliciting contributions.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"politics_profile_politics_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"acme corporation"},"footprint":{"fec_contributions_total":250000.0,"fec_contribution_records":40,"lobbying_spend_total":3000000.0,"lobbying_filings":12,"domains_present":["campaign_finance","lobbying"]},"campaign_finance":{"available":true,"as":"donor (FEC Schedule A)","total_matched":40,"summary":{},"recent":[]},"lobbying":{"available":true,"as":"client (LDA lobbying)","spend":{}},"attribution":["FEC / OpenFEC (api.open.fec.gov), US public domain","US Senate LDA (lda.senate.gov), public disclosure"],"disclaimer":"Public government disclosure data (FEC/LDA). For due-diligence/compliance/research — NOT for soliciting contributions or commercial solicitation of donors (52 U.S.C. §30111(a)(4)); informational only, not legal or investment advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Organization or person name to profile"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max records to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/bank/verify":{"get":{"tags":["paid"],"summary":"Bank account / IBAN verification in one call: ISO 13616 checksum + per-country structure validation, BIC / bank name / branch resolution, country details, SEPA-zone flag, and a deterministic 0-100 fraud/KYC risk score with a band, reasons and weighted signals. Offline open-registry data (schwifty, MIT). Structural + resolution + risk indicators only; NOT proof the account exists or who owns it, and no name matching. Input not stored.","description":"One-call bank-account / IBAN verification for fraud, KYC/AML, payout and supplier-onboarding loops, computed ENTIRELY OFFLINE from schwifty (MIT) — no paid bank/HLR-style API is resold. Given an IBAN (spaces optional, any case) plus an optional expected_country (ISO-3166 alpha-2), it returns: structural validity (ISO 13616 mod-97 checksum + the country's BBAN structure/length, 127 countries), the parsed country (name/alpha-2/alpha-3/numeric) and format spec, the resolved BIC, bank name, branch and bank code (open bank-registry coverage for roughly 45 countries — all SEPA plus UA/CH/NO/DK and more), the SEPA-zone flag, and a DETERMINISTIC risk_score (0-100) with a low/medium/high band and human-readable reasons. The score fuses independent, data-driven signals: a high-risk (FATF / sanctioned) jurisdiction, an expected-country mismatch, a known EMI / virtual-IBAN issuer (Wise, Revolut, Monzo and similar — a KYC signal, not fraud), a bank that does not resolve, and a non-SEPA country. The fired signals and weights are returned so a caller can re-rank with its own policy, and when the in-process sanctions index is warm the resolved bank name is fuzzy-checked and surfaced as an ADVISORY potential match only. IMPORTANT: these are risk INDICATORS from offline open-registry metadata, NOT a definitive fraud verdict and NOT legal/KYC advice; the result does NOT prove the account exists or belongs to any person or company (no Confirmation-of-Payee / account-holder name matching), and the input IBAN is never stored or logged. Invalid input returns a 4xx, never a 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"bank_verify_bank_verify_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"valid":true,"iban":"DE89370400440532013000","country":{"name":"Germany","alpha_2":"DE","alpha_3":"DEU","numeric":"276"},"format_spec":{"bban_spec":"8!n10!n","bban_length":18,"iban_length":22},"bic":"COBADEFFXXX","bank_name":"Commerzbank","bank_code":"37040044","in_sepa_zone":true,"expected_country":"DE","risk_score":0,"risk_band":"low","reasons":[],"signals":[],"disclaimer":"Offline IBAN verification indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"iban","in":"query","required":true,"schema":{"type":"string"},"description":"IBAN to verify (spaces optional, any case), e.g. DE89370400440532013000."},{"name":"expected_country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional ISO-3166 alpha-2 country the account is expected in (e.g. DE); a mismatch raises the risk score."},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Alias of expected_country (ISO-3166 alpha-2)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/bank/validate":{"get":{"tags":["paid"],"summary":"Cheap structural IBAN validation: ISO 13616 checksum + per-country structure/length. Returns valid plus, on rejection, a granular error_type (invalid_checksum, invalid_length, invalid_structure, invalid_country), the country and the format spec. Offline (schwifty, MIT); no network or keys. A cheap-first entry before the fuller /bank/verify fusion route.","description":"Cheap structural-only IBAN validation, computed OFFLINE from schwifty (MIT) — the low-cost first step before the fuller /bank/verify fusion route (the same pattern as /kyb/screen before /kyb/verify). It confirms the ISO 13616 mod-97 checksum and the per-country BBAN structure and length across 127 countries, returning valid true/false and, on a rejection, a machine-readable error_type (one of invalid_checksum, invalid_length, invalid_structure, invalid_country) together with the parsed country and the expected format spec so a caller can explain the failure. A structurally-parseable but invalid IBAN is a normal 200 result (valid false), not an error; only a missing or over-long input is a 4xx. It does NOT resolve the bank or score risk (use /bank/verify for that), does NOT prove the account exists, and the input IBAN is never stored or logged.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"bank_validate_bank_validate_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"valid":false,"iban":"DE89370400440532013001","error_type":"invalid_checksum","country":{"name":"Germany","alpha_2":"DE","alpha_3":"DEU","numeric":"276"},"format_spec":{"bban_spec":"8!n10!n","bban_length":18,"iban_length":22},"disclaimer":"Offline IBAN validation, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"iban","in":"query","required":true,"schema":{"type":"string"},"description":"IBAN to validate (spaces optional, any case)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/bank/bic":{"get":{"tags":["paid"],"summary":"Reverse BIC / SWIFT code lookup: given a BIC, return the resolved bank name(s), the country and the domestic bank codes. Offline open-registry data (schwifty, MIT); no network or keys. A malformed BIC returns valid false with an error_type, never a 500.","description":"Reverse BIC / SWIFT lookup, computed OFFLINE from schwifty's bundled BIC registry (MIT). Given an 8- or 11-character BIC it returns whether the code is structurally valid, the resolved bank name(s), the country (name/alpha-2/alpha-3/numeric) and any domestic bank codes mapped to that institution — the complement of the IBAN-to-BIC resolution in /bank/verify, at zero additional data cost. A malformed BIC returns a 200 result with valid false and an error_type rather than an error; only a missing or over-long input is a 4xx. This is open-registry metadata only; it does NOT confirm any account and is not legal/KYC advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"bank_bic_bank_bic_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"valid":true,"bic":"REVOGB21","bank_names":["REVOLUT LTD"],"country":{"name":"United Kingdom","alpha_2":"GB","alpha_3":"GBR","numeric":"826"},"domestic_bank_codes":["REVO"],"disclaimer":"Offline BIC lookup, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bic","in":"query","required":true,"schema":{"type":"string"},"description":"8- or 11-character BIC / SWIFT code, e.g. COBADEFFXXX."},{"name":"swift","in":"query","required":false,"schema":{"type":"string"},"description":"Alias of bic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/treasury/auctions":{"get":{"tags":["paid"],"summary":"US Treasury auction results plus the upcoming calendar from TreasuryDirect. Returns a normalized list of recent auctions for a security type with computed signals: bid-to-cover trend, indirect-bidder share and average cover. Each auction is cited with its CUSIP, auction date and source.","description":"Primary-market debt-issuance intelligence direct from TreasuryDirect. For a chosen security type (Bill, Note, Bond, TIPS, FRN or CMB) it returns the recent auction results over a lookback window, normalized to a compact cited record per auction: CUSIP, security term, auction and issue dates, offering and total accepted amounts, bid-to-cover ratio, high yield or high discount rate, and the competitive, indirect, direct, primary-dealer and SOMA accepted amounts. On top of the raw list it computes signals a bundler does not: the latest and average bid-to-cover, a bid-to-cover trend series across the recent auctions of that type, and the average indirect-bidder share as a demand gauge. Set upcoming to also attach the forward auction calendar (announced and scheduled auctions of that type). Filter to one tenor with the optional term. Every value is public-domain U.S. Government data with attribution echoed in the response. An unknown type returns 400, an upstream failure 502, never a 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"treasury_auctions_treasury_auctions_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"type":"Note","count":1,"auctions":[{"cusip":"91282CKK6","security_term":"10-Year","auction_date":"2026-07-09","bid_to_cover":2.61,"indirect_accepted":30125000000.0,"total_accepted":39000000000.0,"high_yield":4.362,"source":"treasurydirect"}],"signals":{"latest_bid_to_cover":2.61,"avg_bid_to_cover":2.55,"avg_indirect_share":0.77},"attribution":["Source: U.S. Department of the Treasury, TreasuryDirect (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string","enum":["Bill","Note","Bond","TIPS","FRN","CMB"]},"description":"Security type to fetch auctions for"},{"name":"term","in":"query","required":false,"schema":{"type":"string"},"description":"Optional exact security term filter, such as 10-Year"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3660},"description":"Look back this many days for auction results"},{"name":"upcoming","in":"query","required":false,"schema":{"type":"boolean"},"description":"Also include the upcoming-auction calendar"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/treasury/debt":{"get":{"tags":["paid"],"summary":"US federal debt from the Treasury Debt to the Penny series, split into debt held by the public and intragovernmental holdings, fused with interest expense on the debt. Returns the latest value, the history over a window and computed net issuance plus public and intragovernmental shares. Values are cited to Treasury Fiscal Data.","description":"The authoritative federal debt series straight from Treasury Fiscal Data (Debt to the Penny), not a re-bundled aggregate. It returns the latest total public debt outstanding split into the two components that matter for supply analysis: debt held by the public and intragovernmental holdings. Over the requested window it returns the full daily history and computes the net change in total debt across the window as a proxy for net issuance, plus the public versus intragovernmental shares of the total. It also fuses in the latest interest expense on the public debt, summed across security types with a per-security breakdown and both the current month and the fiscal-year-to-date figures. Every value carries its record date and source; the data is public-domain U.S. Government work. Choose the depth with days or its alias range. No data for the window returns 404, an upstream failure 502, never a 500.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"treasury_debt_treasury_debt_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"series":"debt_to_penny","unit":"USD","window_days":30,"latest":{"record_date":"2026-07-09","total_public_debt":39414179016130.09,"debt_held_by_public":31709399350223.4,"intragovernmental_holdings":7704779665906.69},"computed":{"net_issuance_over_window":152340000000.0,"public_share":0.8046,"intragovernmental_share":0.1954,"to_date":"2026-07-09"},"attribution":["Source: U.S. Department of the Treasury, Fiscal Data (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3660},"description":"Look back this many days of daily debt history"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3660},"description":"Alias for days"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/treasury/cash":{"get":{"tags":["paid"],"summary":"The US Treasury operating cash balance (the Treasury General Account) from the Daily Treasury Statement. Returns the latest TGA closing balance, the history over a window and the computed daily change flagged as a build or a drawdown. Cited to Treasury Fiscal Data.","description":"The government's checking-account balance, a widely watched liquidity signal. From the Daily Treasury Statement operating cash table it returns the Treasury General Account closing balance for the latest reporting day, the full daily history over the window, and the computed day-over-day change flagged as a build or a drawdown. The balance is in millions of US dollars. Choose the depth with days or its alias range. Values are cited to Treasury Fiscal Data with the record date; the data is public-domain U.S. Government work. No data for the window returns 404, an upstream failure 502, never a 500.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"treasury_cash_treasury_cash_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"series":"operating_cash_balance","account":"Treasury General Account (TGA)","unit":"USD_millions","window_days":30,"latest":{"record_date":"2026-07-09","balance":744637.0},"computed":{"daily_change":-4607.0,"direction":"drawdown"},"attribution":["Source: U.S. Department of the Treasury, Fiscal Data (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3660},"description":"Look back this many days of the daily cash balance"},{"name":"range","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":3660},"description":"Alias for days"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/treasury/statement":{"get":{"tags":["paid"],"summary":"The US Monthly Treasury Statement: federal receipts, outlays and the deficit or surplus for the latest month and fiscal year to date, fused with interest expense. Computes the deficit change year over year and interest expense as a share of receipts. Cited to Treasury Fiscal Data.","description":"The federal budget scorecard from the Monthly Treasury Statement. It resolves the latest published month and returns receipts, outlays and the deficit or surplus for both the current month and the fiscal year to date, together with the same figures for the prior fiscal year so an agent can compare. On top it computes the change in the fiscal-year-to-date deficit versus the prior year in both dollars and percent, and, by fusing in interest expense on the public debt, the interest expense as a share of fiscal-year-to-date receipts. The deficit is reported as a positive number; a negative value is a surplus. Every value carries its record date and source; the data is public-domain U.S. Government work. No statement available returns 404, an upstream failure 502, never a 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"treasury_statement_treasury_statement_get","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"statement":{"record_date":"2026-05-31","fiscal_year":"2026","month":"May","current_month":{"receipts":335512183227.42,"outlays":628160645311.16,"deficit":292648462083.74},"fiscal_ytd":{"receipts":3655648146756.66,"outlays":4901851413143.59,"deficit":1246203266386.93}},"computed":{"deficit_yoy_change":-529165923431.42,"interest_pct_of_receipts_fytd":0.219},"attribution":["Source: U.S. Department of the Treasury, Fiscal Data (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/treasury/rates":{"get":{"tags":["paid"],"summary":"US Treasury interest rates: the Daily Treasury Par Yield Curve fused with the average interest rates on the outstanding debt by security type. Computes the 2s10s spread and an inversion flag. The yield curve is a resilient partial grain that degrades to the average rates if its upstream is unreachable.","description":"A rates snapshot fusing two Treasury sources. The Daily Treasury Par Yield Curve gives the latest par yields across the maturity spectrum from one month to thirty years, and the average interest rates on the outstanding debt give the effective coupon Treasury actually pays by security type. From the curve it computes the 2s10s spread (the ten-year minus the two-year par yield) and an inversion flag, a classic recession and term-premium signal. The par yield curve is served as a resilient partial grain: if its upstream host is unreachable the route still returns the average interest rates with yield_curve_available set to false rather than failing. Give a four-digit year to select the curve year; the default is the current year. Values are cited to Treasury with record dates; the data is public-domain U.S. Government work. An upstream failure of both sources returns 502, never a 500.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"treasury_rates_treasury_rates_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"average_interest_rates":{"record_date":"2026-06-30","unit":"percent","rates":[{"security_type":"Marketable","security":"Treasury Bills","avg_interest_rate":3.706}]},"yield_curve_available":true,"par_yield_curve":{"date":"2026-07-09","unit":"percent","points":{"2y":3.73,"10y":4.21,"30y":4.79}},"computed":{"spread_2s10s":0.48,"inverted_2s10s":false},"attribution":["Source: U.S. Department of the Treasury, Fiscal Data (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","minimum":1990,"maximum":2100},"description":"Calendar year of the par yield curve (default current)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/prediction/search":{"get":{"tags":["paid"],"summary":"Cross-venue prediction-market search: one query returns a ranked list of NORMALIZED markets from Polymarket (real-money) and Manifold (play-money) under one schema — implied probability, outcomes, volume, liquidity, close date, status, money_type and a link-back. One call instead of hitting each venue's API and reconciling their shapes.","description":"A cross-venue prediction-market search for research, forecasting and trading agents. Pass a topic or free-text `query` and get back a ranked list of markets normalized into one schema across Polymarket (real-money markets that index on-chain USDC positions on Polygon) and Manifold (play-money mana markets), with Metaculus forecasts added when a token is configured. Each market carries its venue, a reference implied probability and which outcome it refers to, the full outcome/price list, traded volume and liquidity, the close/resolve date, status, a link-back to the source, and — crucially — its money_type (real / play / forecast) so a play-money mana probability is never mistaken for a real-money bet. Results are ranked real-money-and-volume first. Optionally restrict to one `venue`. A venue that is down is reported under summary.errors and the rest still return (never a 500); a total upstream failure is a 502; an empty result is a 422. Every response carries per-source attribution and a not-financial-advice disclaimer. Data about markets only — no trading, no resolution oracle.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"prediction_search_prediction_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"election","count":1,"markets":[{"venue":"polymarket","money_type":"real","question":"Will X win the 2028 election?","implied_prob":0.41,"implied_outcome":"Yes","volume":1200000.0,"close_date":"2028-11-07T00:00:00Z","status":"open","link":"https://polymarket.com/event/x-2028"}],"summary":{"venues_ok":2,"venues_failed":0,"errors":[]},"disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Topic or free-text query to search markets for"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket","manifold","metaculus"]},"description":"Restrict to one venue by key"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max markets to return (default 15, cap 25)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/prediction/event":{"get":{"tags":["paid"],"summary":"Cross-venue event fusion: match the SAME event across prediction venues (deterministic fuzzy title match + resolve-date proximity) and return each venue's implied probability, a money-type-weighted consensus, and a forecast-divergence signal (venue disagreement, not a tradeable arbitrage).","description":"The moat route: cross-venue consensus and divergence for one event. Give a free-text `query` (or a venue `market_id` + `venue` to seed the anchor) and the service fetches candidate markets from every configured venue, picks the best anchor market, and deterministically clusters the SAME event across the other venues using a rapidfuzz token-set-ratio over normalized question text plus resolve-date proximity (no LLM, fully reproducible). It returns each matched venue's implied probability with its match score, a single consensus probability weighted by money_type (real-money markets weigh more than play-money), a forecast-divergence signal (the spread and standard deviation of the probabilities) that is labelled honestly as disagreement between forecasts — NOT a tradeable arbitrage, since the venues differ in money type, liquidity and resolution — plus aggregated volume and liquidity. Partial on failure (a down venue is reported, never a 500); 502 only if every venue fails; 422 if nothing matches. Every market carries its money_type, and every response carries per-source attribution and a not-financial-advice disclaimer.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"prediction_event_prediction_event_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"will X win the 2028 election","event":{"question":"Will X win the 2028 election?","n_venues":2,"consensus_probability":{"probability":0.4331,"n_markets":2},"divergence":{"spread":0.08,"stdev":0.04,"note":"disagreement, not arbitrage"},"aggregated_volume":1260000.0,"per_venue":[{"venue":"polymarket","money_type":"real","implied_prob":0.46,"match_score":100.0}]},"summary":{"venues_ok":2,"matched_venues":2,"errors":[]},"disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"The event to fuse across venues (free text)"},{"name":"market_id","in":"query","required":false,"schema":{"type":"string"},"description":"Optional venue market id (anchor)"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket","manifold","metaculus"]},"description":"Optional venue key for market_id"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/prediction/market":{"get":{"tags":["paid"],"summary":"Detail of ONE prediction market or event by numeric id, 0x conditionId, market-slug or event-slug (auto-detected): normalized outcomes with implied probabilities, volume, liquidity, close date, status and a link-back.","description":"Fetch the full detail of a single Polymarket market or event by any of its identifiers — a Gamma numeric market/event id, a 0x conditionId, a market-slug or an event-slug — with the id type auto-detected (or pinned via id_type). If the id resolves to a lone market you get one normalized market; if it resolves to an event you get the event with its markets folded in. Every market is normalized into the service's common schema: the outcome/price list, a reference implied probability and which outcome it refers to, traded volume and liquidity, close/resolve date, status, money_type (real — Polymarket indexes on-chain USDC positions on Polygon) and a link-back. Polymarket returns outcomes and outcomePrices as JSON-encoded strings; this route parses them for you. Unknown id across every lookup is a 422; upstream failure is a 502. Every response carries attribution and a not-financial-advice disclaimer. Data about markets only — no trading, no resolution oracle.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"prediction_market_prediction_market_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"0xabc","type":"market","market":{"venue":"polymarket","money_type":"real","question":"Will Abiy Ahmed be the next PM of Ethiopia?","implied_prob":0.9565,"implied_outcome":"Yes","volume":102938.6,"status":"open","link":"https://polymarket.com/event/…"},"disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Market/event id: numeric id, 0x conditionId, market-slug or event-slug"},{"name":"id_type","in":"query","required":false,"schema":{"type":"string","enum":["market_id","condition_id","market_slug","event_slug"]},"description":"Optional hint; auto-detected if omitted"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket"]},"description":"Venue (default polymarket)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/prediction/trending":{"get":{"tags":["paid"],"summary":"Top trending prediction events by 24-hour traded volume: a normalized list with 24h and total volume, liquidity, market count, a top-market summary, close date, status and a link-back.","description":"The hot list: top prediction events ranked by 24-hour traded volume, so an agent can discover what the market is actually trading RIGHT NOW without knowing an id up front. Each event is normalized into the service schema: title, 24h volume and all-time volume, liquidity, number of markets, a compact top-market summary (the highest-volume market's question, implied probability and outcome), close date, status, money_type (real — on-chain USDC on Polygon) and a link-back. Pass limit (default 15, cap 25) and optionally closed=true to include settled events. Sorted by 24h volume descending. Upstream failure is a 502. Every response carries attribution and a not-financial-advice disclaimer. Data about markets only — no trading.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"prediction_trending_prediction_trending_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"order":"volume24hr","events":[{"venue":"polymarket","money_type":"real","title":"Next Prime Minister of Ethiopia?","volume24hr":11816400.4,"volume":201857308.2,"n_markets":33,"top_market":{"question":"Will Abiy Ahmed …?","implied_prob":0.9565,"implied_outcome":"Yes"},"status":"open","link":"https://polymarket.com/event/…"}],"disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max events (default 15, cap 25)"},{"name":"closed","in":"query","required":false,"schema":{"type":"boolean"},"description":"Include closed events (default false)"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket"]},"description":"Venue (default polymarket)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/prediction/trades":{"get":{"tags":["paid"],"summary":"Recent trades for one prediction market (by conditionId, slug or numeric id): a PII-stripped pseudonymous feed plus a derived summary — trade count, buy/sell volume and counts, size-weighted average price, last price and range.","description":"The recent-trade feed for one Polymarket market, plus a derived order-flow summary — the value-add over a raw relay. Give a market as a 0x conditionId, a slug or a numeric id (a slug/id is resolved to its conditionId first; an event resolves to its highest-volume market). Each trade is normalized to a PSEUDONYMOUS on-chain fact — proxy wallet, side, size, price, timestamp, outcome, outcome index and transaction hash. The trader's name, pseudonym, bio and avatar are STRIPPED (privacy invariant): only the pseudonymous wallet and the trade facts remain. Alongside the feed you get a summary computed over the returned trades: trade count, buy and sell volume and counts, a size-weighted average price (vwap), the last price at the most recent timestamp, the price range and the time window — so you get buy/sell pressure at a glance without parsing the feed yourself. Optional min_size (minimum cash value) and side (BUY or SELL) filters, limit default 25 cap 100. Upstream failure is a 502. Every response carries attribution and a not-financial-advice disclaimer. Data about markets only — no trading.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"prediction_trades_prediction_trades_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"market":"0x16d8…","count":1,"trades":[{"proxyWallet":"0xdfaad1…","side":"BUY","size":2.0,"price":0.967,"timestamp":1784305333,"outcome":"Yes","outcome_index":0,"tx_hash":"0xd10a05…"}],"summary":{"n_trades":1,"buy_volume":2.0,"sell_volume":0.0,"buy_count":1,"sell_count":0,"vwap":0.967,"last_price":0.967,"min_price":0.967,"max_price":0.967},"disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"market","in":"query","required":true,"schema":{"type":"string"},"description":"Market: 0x conditionId, slug or numeric id (resolved to a conditionId first)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max trades (default 25, cap 100)"},{"name":"min_size","in":"query","required":false,"schema":{"type":"number","minimum":0},"description":"Only trades at/above this cash value"},{"name":"side","in":"query","required":false,"schema":{"type":"string","enum":["BUY","SELL"]},"description":"Filter to one side"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket"]},"description":"Venue (default polymarket)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/prediction/prices":{"get":{"tags":["paid"],"summary":"Odds/price history for ONE outcome of a prediction market (by id, 0x conditionId or slug): a normalized implied-probability time series plus a momentum summary — change, percent change, min/max, current and trend.","description":"The odds-history route: a market-implied probability time series for ONE outcome of a Polymarket market, plus a derived momentum summary — the value-add over a raw CLOB relay. Give a market by any identifier (a Gamma numeric id, a 0x conditionId, a market-slug or an event-slug; an event resolves to its highest-volume market) and pick the outcome by name (case-insensitive, e.g. Yes or No) or by integer index (default index 0, usually Yes). Choose the history window with interval (1h, 6h, 1d, 1w, 1m or max; default 1d) and optionally the resolution in minutes with fidelity (a sensible per-interval default is applied and the series is capped to the most recent points so the payload stays bounded — truncation is flagged). The response is a clean list of {t, p} points (unix seconds, implied probability) — never Polymarket's JSON-in-strings — with a summary that gives start and end price, absolute and percent change, min and max with their timestamps, the current price, the time window and a trend label (up/down/flat), so a forecasting agent gets momentum at a glance without parsing the series itself. Robust to short series (empty or one point never errors). Unknown id or outcome is a 422, a bad interval is a 400, upstream failure is a 502. Every response carries money_type=real, attribution and a not-financial-advice disclaimer. Data about markets only — no trading.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"prediction_prices_prediction_prices_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"id":"will-abiy-ahmed-…","count":2,"points":[{"t":1783706403,"p":0.91},{"t":1784310845,"p":0.9565}],"summary":{"n_points":2,"start_price":0.91,"end_price":0.9565,"change":0.0465,"change_pct":5.11,"min_price":0.91,"max_price":0.9565,"current_price":0.9565,"trend":"up"},"context":{"question":"Will Abiy Ahmed be the next PM of Ethiopia?","outcome":"Yes","outcome_index":0,"interval":"1w"},"money_type":"real","disclaimer":"Prediction-market data, not financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Market/event id: numeric id, 0x conditionId, market-slug or event-slug"},{"name":"outcome","in":"query","required":false,"schema":{"type":"string"},"description":"Outcome name (e.g. Yes/No) or index; default index 0 (usually Yes)"},{"name":"interval","in":"query","required":false,"schema":{"type":"string","enum":["1h","6h","1d","1w","1m","max"]},"description":"History window (default 1d)"},{"name":"fidelity","in":"query","required":false,"schema":{"type":"integer","minimum":1},"description":"Resolution in minutes (default per interval)"},{"name":"venue","in":"query","required":false,"schema":{"type":"string","enum":["polymarket"]},"description":"Venue (default polymarket)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/match/name":{"get":{"tags":["paid"],"summary":"Fuzzy-match two names or addresses and return a 0-100 similarity score with a match decision. Normalizes legal forms, business stop-words, person titles and address abbreviations BEFORE the fuzzy compare, then fuses token, prefix, phonetic and edit similarity. Returns the score, the per-component scores, the normalized forms and is_match. Similarity indicators, not authoritative identity resolution.","description":"A one-call fuzzy matcher an agent runs to decide whether two records refer to the same entity — the core of CRM / lead / vendor list deduplication and master-data management. The differentiator is NORMALIZATION BEFORE MATCHING: a naive fuzzy ratio of Acme Inc against ACME Incorporated scores about 56 and falls below any threshold, but canonicalising the legal form and folding case first lifts a true match to about 100. The engine unicode-folds, lower-cases, strips punctuation, canonicalises multi-jurisdiction legal forms, drops business stop-words for companies, strips titles and generational suffixes and maps common nicknames for people, and folds USPS-style abbreviations for addresses, then fuses four similarity components: order-insensitive token overlap, prefix-weighted Jaro-Winkler, a phonetic-code agreement signal and a character edit ratio, each weighted per entity type. The response carries the composite score, the per-component scores, both normalized forms, the threshold and is_match, so a caller can re-rank with its own policy. All compute is over the caller's own strings — no network, no keys, no storage. Similarity indicators for linkage and dedup, NOT authoritative identity resolution and NOT libpostal-grade international address parsing.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"match_name_match_name_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"match_name","type":"company","a":{"input":"Acme Inc","canonical":"acme"},"b":{"input":"ACME Incorporated","canonical":"acme"},"score":100.0,"components":{"token_set":100.0,"jaro_winkler":100.0,"phonetic":100.0,"edit":100.0},"threshold":82,"is_match":true,"reasons":["normalized forms identical"],"pack_version":"2026.07.12","disclaimer":"Structural normalization plus fuzzy matching; indicators, not authoritative identity resolution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"a","in":"query","required":true,"schema":{"type":"string"},"description":"First string to compare"},{"name":"b","in":"query","required":true,"schema":{"type":"string"},"description":"Second string to compare"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["person","company","address","product","org"]},"description":"Entity type selecting the normalization pipeline (default company)"},{"name":"min_score","in":"query","required":false,"schema":{"type":"integer"},"description":"Optional match threshold 0-100 (default is the per-type threshold)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/match/key":{"get":{"tags":["paid"],"summary":"Compute a deterministic similarity key for a name or address: the cheap first step of client-side blocking and deduplication. Records that share a key are duplicate candidates to confirm. Returns the key, the normalized form and the tokens. Indicators, not authoritative identity resolution.","description":"Generate a stable blocking key so a caller can group a large list into candidate-duplicate buckets cheaply before running the more expensive pairwise /match/name confirmation only within each bucket — the standard record-linkage blocking pattern that keeps deduplication out of quadratic time. The key is built from the significant normalized tokens (sorted so word order does not matter, business stop-words dropped for companies) plus a phonetic code of the significant token(s) so spelling variants that sound alike still collide. Identical keys mean the two inputs are duplicate candidates. The response also returns the canonical normalized form and its tokens. Pure compute over the caller's string — no network, no keys, no storage. Indicators, not authoritative identity resolution.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"match_key_match_key_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"match_key","type":"company","input":"ACME Incorporated","similarity_key":"acme|#AKM","canonical":"acme","tokens":["acme"],"phonetic_backend":"jellyfish.metaphone","pack_version":"2026.07.12","disclaimer":"Structural normalization plus fuzzy matching; indicators, not authoritative identity resolution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"value","in":"query","required":true,"schema":{"type":"string"},"description":"The string to key"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["person","company","address","product","org"]},"description":"Entity type selecting the normalization pipeline (default company)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/match/standardize":{"get":{"tags":["paid"],"summary":"Standardize a company name, person name or address to a canonical form. Canonicalises legal forms, drops business stop-words, strips person titles and suffixes and folds address abbreviations. Returns the canonical form, the tokens and the rules that were applied. Indicators, not authoritative identity resolution.","description":"Clean and canonicalise one record so different surface forms collapse to a single standard string — the data-cleansing step before storage, matching or joining. For companies it unicode-folds, lower-cases, canonicalises multi-jurisdiction legal forms (Incorporated to a single Inc token, GmbH, Ltd, S.A. and more) and drops business stop-words; for people it strips titles and generational suffixes and maps common nicknames to the canonical first name; for addresses it folds USPS-style street-suffix, unit-designator and directional abbreviations. The response returns the canonical form, its tokens and an explicit list of the rules that fired so the transformation is auditable. Pure compute over the caller's string — no network, no keys, no storage. Structural normalization only, NOT libpostal-grade international address parsing; indicators, not authoritative identity resolution.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"match_standardize_match_standardize_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"match_standardize","type":"address","input":"123 North Main Street, Suite 100","canonical":"123 n main st ste 100","tokens":["123","n","main","st","ste","100"],"applied_rules":["address_abbrev:north->n","address_abbrev:street->st","address_abbrev:suite->ste"],"pack_version":"2026.07.12","disclaimer":"Structural normalization plus fuzzy matching; indicators, not authoritative identity resolution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"value","in":"query","required":true,"schema":{"type":"string"},"description":"The string to standardize"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["person","company","address","product","org"]},"description":"Entity type selecting the normalization pipeline (default company)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/match/dedupe":{"post":{"tags":["paid"],"summary":"Deduplicate a list of names or addresses into clusters of likely duplicates. Blocks by similarity key then confirms pairwise inside each block, returning clusters with a canonical representative plus a summary of input, cluster and duplicate counts. Similarity indicators, not authoritative identity resolution.","description":"Deduplicate a whole list in one call — the batch companion to /match/name. An agent posts a list of contact, lead or vendor names (or addresses) and gets back clusters of records that refer to the same entity, each with a canonical representative it can keep. The algorithm blocks the list by similarity key so only records that already share a key are compared pairwise, keeping the work near-linear instead of quadratic; within each block a pairwise composite score above the per-type threshold unions records into a cluster. The response includes each cluster's members with their normalized forms, a deterministic canonical representative, and a summary of the input, cluster and duplicate counts. The list is capped for abuse resistance and every string is size-bounded. This route is POST because an arbitrary list does not fit in query parameters — there are no secrets. Pure compute over the caller's own list — no network, no keys, no storage. Similarity indicators, not authoritative identity resolution.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"match_dedupe_match_dedupe_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"type":"string"},"type":"array","description":"The list of strings to deduplicate"},"type":{"type":"string","enum":["person","company","address","product","org"],"description":"Entity type selecting the normalization pipeline (default company)"},"min_score":{"type":"integer","description":"Optional match threshold 0-100 (default is the per-type threshold)"}},"type":"object","required":["items"]},"example":{"items":["Acme Inc","ACME Incorporated","Beta LLC"],"type":"company"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"match_dedupe","type":"company","threshold":82,"summary":{"input_count":3,"cluster_count":2,"duplicate_count":1},"clusters":[{"cluster_id":0,"size":2,"canonical_representative":"Acme Inc","similarity_key":"acme|#AKM","members":[{"index":0,"input":"Acme Inc","canonical":"acme"},{"index":1,"input":"ACME Incorporated","canonical":"acme"}]},{"cluster_id":1,"size":1,"canonical_representative":"Beta LLC","similarity_key":"beta llc","members":[{"index":2,"input":"Beta LLC","canonical":"beta llc"}]}],"pack_version":"2026.07.12","disclaimer":"Structural normalization plus fuzzy matching; indicators, not authoritative identity resolution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/env/facility":{"get":{"tags":["paid"],"summary":"US facility environmental due-diligence: one cited JSON verdict fusing EPA compliance status, enforcement history, penalties, toxic releases and reported greenhouse gases, with a 0 to 100 environmental-risk score, for a company name, EPA FRS registry id, address, or coordinates.","description":"One-call environmental due-diligence profile for a US EPA-regulated facility, built entirely from public-domain EPA data. Accepts a company/facility {name} (optionally narrowed by {state}), an EPA FRS {registry_id}, a US {address} (auto-geocoded), or {lat, lon} with an optional {radius}. Resolves the best-match facility and returns its current compliance status (significant-violation and noncompliance flags per Clean Air Act, Clean Water Act, RCRA and Safe Drinking Water Act), a three-year quarter-by-quarter compliance history, enforcement history (formal and informal actions, inspection recency, cumulative penalty dollars), a Toxics Release Inventory trend, and the reported Greenhouse Gas Reporting Program CO2e profile. It fuses these into a deterministic 0 to 100 environmental-risk score with a low, medium, high or critical rating and per-dimension reasons, each citing its EPA source and period. Every downstream source is best-effort: a source that fails yields a null block plus a summary.errors note and partial=true, never a failure. Environmental due-diligence indicators only, not legal or compliance advice. US coverage; bad input returns 400, no match returns 404, never 500.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"env_facility_env_facility_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"facility":{"registry_id":"110000486322","name":"PAR HAWAII REFINING","state":"HI","compliance":{"snc_flag":true}},"environmental_risk":{"score":82.4,"rating":"critical"},"greenhouse_gas":{"latest_co2e_tonnes":1250000},"summary":{"partial":false,"errors":[]}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company or facility name"},{"name":"registry_id","in":"query","required":false,"schema":{"type":"string"},"description":"EPA FRS Registry ID"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state (narrows a name search)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in miles (default 5, max 25)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/env/compliance":{"get":{"tags":["paid"],"summary":"US facility EPA compliance and enforcement detail: current significant-violation status by statute, quarters in noncompliance, formal and informal actions, penalties, and inspection dates, for a company name, FRS registry id, or location.","description":"Enforcement and compliance detail for a US EPA-regulated facility from the ECHO Detailed Facility Report, the violations grain of the environmental service. Accepts a company/facility {name} (optionally with {state}), an EPA FRS {registry_id}, a US {address}, or {lat, lon}. Returns the current significant-violation and noncompliance flags overall and per statute (Clean Air Act, Clean Water Act NPDES, RCRA hazardous waste, Safe Drinking Water Act), the number of quarters in noncompliance, per-statute enforcement summaries (formal and informal actions, cases, penalty and case-penalty dollars, last inspection), and inspection recency. Best-effort detail: a Detailed Facility Report failure yields a null detail block plus summary.errors and partial=true, never a failure. Environmental due-diligence indicators only, not legal or compliance advice. US coverage; bad input returns 400, no match 404, never 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"env_compliance_env_compliance_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"facility":{"registry_id":"110000486322","name":"PAR HAWAII REFINING","state":"HI"},"compliance":{"snc_flag":true,"quarters_in_noncompliance":12,"by_statute":{"CAA":"Significant Violation"}},"enforcement":{"formal_actions":4,"total_penalties_usd":31254432},"summary":{"partial":false,"errors":[]},"source":"US EPA ECHO (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company or facility name"},{"name":"registry_id","in":"query","required":false,"schema":{"type":"string"},"description":"EPA FRS Registry ID"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state (narrows a name search)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in miles (default 5, max 25)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/env/emissions":{"get":{"tags":["paid"],"summary":"US facility emissions profile: EPA Toxics Release Inventory toxic releases with trend plus the Greenhouse Gas Reporting Program CO2e profile by year, for a company name, FRS registry id, or location.","description":"Emissions profile for a US EPA-regulated facility fusing two public-domain EPA programs. Accepts a company/facility {name} (optionally with {state}), an EPA FRS {registry_id}, a US {address}, or {lat, lon}. Returns the Toxics Release Inventory history (total on-site and off-site toxic releases and total air emissions by year, the latest year, and the on-site release trend) and the Greenhouse Gas Reporting Program profile (annual reported CO2e in metric tonnes by year, the latest year, and the trend). Either source is best-effort: a failure yields a null block plus summary.errors and partial=true, never a failure. Environmental indicators only, not legal or compliance advice. US coverage; bad input returns 400, no match 404, never 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"env_emissions_env_emissions_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"facility":{"registry_id":"110000486322","name":"PAR HAWAII REFINING"},"toxic_releases":{"latest_on_site_releases_lbs":164890,"on_site_trend":"rising"},"greenhouse_gas":{"latest_year":2023,"latest_co2e_tonnes":1250000},"summary":{"partial":false,"errors":[]},"sources":["US EPA TRI (public domain)","US EPA GHGRP (public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company or facility name"},{"name":"registry_id","in":"query","required":false,"schema":{"type":"string"},"description":"EPA FRS Registry ID"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state (narrows a name search)"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Search radius in miles (default 5, max 25)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/env/screen":{"get":{"tags":["paid"],"summary":"Screen US EPA-regulated facilities: fuzzy name or location search returning ranked candidate facilities with their EPA FRS registry id and compliance status — the cheap first step before a full env facility verdict.","description":"Cheap discovery step for the environmental service: fuzzy-search US EPA-regulated facilities and get back ranked candidates with their EPA FRS registry id, before paying for a full facility verdict. Accepts a facility or company {name} (rapidfuzz-ranked), a {state}, a US {address} or {lat, lon} with an optional {radius} in miles, and an optional {naics} industry-code filter; combine them to narrow. Returns the total number of matching facilities and a ranked candidate list, each with registry id, name, city, state, county, coordinates, NAICS codes, current compliance status and significant-violation flag, and a match score when a name was given. Feed a returned registry_id into env facility, env compliance or env emissions. US coverage; bad input returns 400, never 500.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"env_screen_env_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"Exxon","state":"TX"},"total_matching":1622,"returned":2,"candidates":[{"registry_id":"110000486322","name":"EXXONMOBIL","state":"TX","compliance_status":"No Violation Identified","match_score":90.0}],"source":"US EPA ECHO (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company or facility name (fuzzy)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address (auto-geocoded)"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude [-90,90] (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude [-180,180] (with lat)"},{"name":"radius","in":"query","required":false,"schema":{"type":"number"},"description":"Radius miles (default 5, max 25)"},{"name":"naics","in":"query","required":false,"schema":{"type":"string"},"description":"NAICS industry code filter"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/trials/study":{"get":{"tags":["paid"],"summary":"Resolve one clinical trial by its NCT id and get a normalized cited profile: identity, recruitment status, phase, study design, target enrollment, lead sponsor and collaborators, conditions, interventions, primary outcomes, trial sites and key dates, plus computed signals from ClinicalTrials.gov.","description":"One-call normalized profile for a single clinical trial, flattened from the deeply nested ClinicalTrials.gov API v2 record into a compact cited JSON. Supply an NCT id and get the trial's identity (NCT id, brief title, organization, acronym), current recruitment status with any why-stopped reason, the study design (type, phase, allocation, intervention model, masking, primary purpose), target enrollment, the lead sponsor with its class and any collaborators, the conditions studied, the interventions with their type, the primary outcome measures, and the trial sites reduced to facility, city, state and country. Key dates (start, primary completion, completion, last update) are included alongside computed signals: whether the trial is recruiting or active, whether results have been posted, days since the last update, days to primary completion and the enrollment type. Natural-person contacts (investigators, central contacts) are deliberately never returned. Informational aggregation of public registry data, not medical advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"trials_study_trials_study_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"nct":"NCT03228186"},"trial":{"identity":{"nct_id":"NCT03228186","brief_title":"Trial of Pevonedistat Plus Docetaxel in NSCLC","org":"University of Michigan Rogel Cancer Center"},"status":{"overall_status":"terminated","primary_completion_date":"2021-11-04","results_posted":true},"design":{"study_type":"INTERVENTIONAL","phases":["Phase 2"],"enrollment":40},"sponsor":{"lead":"University of Michigan Rogel Cancer Center","lead_class":"OTHER","collaborators":[]},"conditions":["Non-small Cell Lung Cancer"],"interventions":[{"type":"DRUG","name":"Pevonedistat"}],"signals":{"is_recruiting":false,"has_results":true}},"attribution":["Source: ClinicalTrials.gov (U.S. National Library of Medicine, NIH)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"nct","in":"query","required":false,"schema":{"type":"string"},"description":"A ClinicalTrials.gov NCT id such as NCT03228186"},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for nct"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/trials/search":{"get":{"tags":["paid"],"summary":"Search ClinicalTrials.gov by indication, company, molecule or free text and get a ranked list of normalized trial records with total count and on-page facet summary. Optional phase, status, study-type and country filters. A cheap first step before /trials/study or /trials/pipeline.","description":"Keyword and facet search over ClinicalTrials.gov, returning a ranked list of normalized trial records rather than a raw registry dump. Supply any combination of a condition or indication, an intervention drug or molecule, a sponsor or lead sponsor, free-text terms, title or acronym terms, and narrow further by phase, recruitment status, study type or country. Each hit is compacted to its NCT id, brief title, phases, status, study type, lead sponsor, target enrollment and primary completion date, sorted by most-recently updated so active programs surface first. The response also carries the true total match count and an on-page facet summary by phase and status for quick triage. Use it as the cheap first step: run a search, then call /trials/study for a full profile of a promising NCT id, or /trials/pipeline for a by-phase and by-status aggregation across a whole program. Informational aggregation of public registry data, not medical advice.\n\nPrice: $0.015 (USDC on Base, x402).","operationId":"trials_search_trials_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"cond":"lung cancer","phase":"3"},"total_count":1380,"returned":1,"results":[{"nct_id":"NCT00000000","title":"A Phase 3 NSCLC Study","phases":["Phase 3"],"status":"recruiting","lead_sponsor":"Example Pharma","enrollment":600,"primary_completion_date":"2027-06-30"}],"facets_on_page":{"by_phase":{"Phase 3":1},"by_status":{"recruiting":1}},"attribution":["Source: ClinicalTrials.gov (U.S. National Library of Medicine, NIH)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cond","in":"query","required":false,"schema":{"type":"string"},"description":"Condition, indication or disease"},{"name":"intr","in":"query","required":false,"schema":{"type":"string"},"description":"Intervention, drug or molecule name"},{"name":"spons","in":"query","required":false,"schema":{"type":"string"},"description":"Sponsor or collaborator name"},{"name":"lead","in":"query","required":false,"schema":{"type":"string"},"description":"Lead sponsor name"},{"name":"term","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text other terms"},{"name":"titles","in":"query","required":false,"schema":{"type":"string"},"description":"Title or acronym terms"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Country to narrow trial sites"},{"name":"phase","in":"query","required":false,"schema":{"type":"string","enum":["0","1","2","3","4"]},"description":"Trial phase to filter by, where 0 is Early Phase 1"},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["recruiting","not_yet_recruiting","active_not_recruiting","completed","terminated","withdrawn","suspended"]},"description":"Overall recruitment status to filter by"},{"name":"study_type","in":"query","required":false,"schema":{"type":"string","enum":["int","obs","exp"]},"description":"Study type: int interventional, obs observational, exp expanded access"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Max records to return, default 10"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]}}},"/trials/pipeline":{"get":{"tags":["paid"],"summary":"Deterministic clinical pipeline aggregation for one molecule, indication or sponsor: trial counts by phase and by recruitment status, active, completed and recruiting totals, and a near-term readout list of trials with a primary completion date coming up soon. Computed from ClinicalTrials.gov, no model involved.","description":"A deterministic pipeline view of every trial for one molecule, one indication or one sponsor, computed with count-only queries against ClinicalTrials.gov rather than any language model. Supply exactly one of an intervention or molecule, a condition, or a sponsor and get the total trial count, a breakdown by phase from Early Phase 1 through Phase 4, and a breakdown by recruitment status covering recruiting, not yet recruiting, active not recruiting, completed, terminated, withdrawn and suspended. From those the route derives the active, completed and recruiting totals, and a near-term readout list: recruiting or active trials whose primary completion date falls within a window you choose (default 180 days), sorted by soonest and each annotated with days to readout. Upcoming primary completions are the clinical catalysts investors and competitive-intelligence agents watch. The number of upstream queries is capped and reported. Informational aggregation of public registry data, not medical or investment advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"trials_pipeline_trials_pipeline_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"intr":"pembrolizumab"},"total_trials":1800,"by_phase":{"phase1":300,"phase2":700,"phase3":500,"phase4":90},"by_status":{"recruiting":400,"completed":900,"terminated":60},"signals":{"active_trials":650,"completed_trials":900,"recruiting_trials":400},"near_term_readouts":{"window_days":180,"count":1,"items":[{"nct_id":"NCT00000000","title":"A study","phases":["Phase 3"],"status":"recruiting","primary_completion_date":"2026-09-30","days_to_readout":80}]},"attribution":["Source: ClinicalTrials.gov (U.S. National Library of Medicine, NIH)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"intr","in":"query","required":false,"schema":{"type":"string"},"description":"Intervention, drug or molecule name"},{"name":"cond","in":"query","required":false,"schema":{"type":"string"},"description":"Condition or indication"},{"name":"spons","in":"query","required":false,"schema":{"type":"string"},"description":"Sponsor or company name"},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":730},"description":"Near-term readout window in days, default 180"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/trials/results":{"get":{"tags":["paid"],"summary":"Summarize the posted results of a clinical trial by NCT id: results-posted date, aggregate participant flow, primary outcome measure metadata and aggregate serious adverse-event counts from ClinicalTrials.gov. Reports has_results false when no results have been posted.","description":"An aggregate summary of the results a sponsor has posted for a trial, for agents screening readouts without parsing the full ClinicalTrials.gov results section. Supply an NCT id and, when results exist, get the date results were first posted, the aggregate participant flow (how many were enrolled and how many completed across all arms), the metadata of the primary outcome measures (type, title, unit of measure and parameter type), and aggregate serious adverse-event counts (serious and death affected totals with the at-risk denominator and the reporting frequency threshold). Only aggregate figures are returned, never per-subject case bodies. When a sponsor has not posted results the route returns has_results false with the trial's current status rather than an error. Informational aggregation of public registry data, not medical advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"trials_results_trials_results_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"has_results":true,"query":{"nct":"NCT03228186"},"results_first_posted":"2023-01-15","participant_flow":{"enrolled":31,"completed":30},"primary_outcome_measures":[{"type":"PRIMARY","title":"Percentage of Patients That Respond","unit":"percentage of participants"}],"serious_adverse_events":{"serious_affected":12,"deaths_affected":24,"at_risk":30},"attribution":["Source: ClinicalTrials.gov (U.S. National Library of Medicine, NIH)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"nct","in":"query","required":false,"schema":{"type":"string"},"description":"A ClinicalTrials.gov NCT id such as NCT03228186"},{"name":"id","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for nct"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/nonprofit/profile":{"get":{"tags":["paid"],"summary":"Composite due-diligence profile of a US 501(c) nonprofit by EIN or name: identity (name, EIN, decoded NTEE, subsection, foundation type, ruling date), current IRS status fusion (Pub 78 deductibility, auto-revocation, exempt status), latest Form 990 financials, multi-year trend, cited filings, and a deterministic health and risk indicator set.","description":"The composite grantee/charity due-diligence report an AI grantmaking, donor-advised, or agentic-giving agent needs before sending funds to a US 501(c) nonprofit. Accepts an EIN directly or resolves an organization name (optionally narrowed by US state). Fuses three free public-domain sources: ProPublica Nonprofit Explorer for identity, decoded IRS classification codes (NTEE major group, subsection, foundation type, ruling date, exempt status) and the latest Form 990 financials with executive compensation; the IRS Publication 78 file for current charitable-deductibility; and the IRS Automatic Revocation list for loss-of-status with revocation and reinstatement dates. Returns normalized latest financials, a multi-year revenue/expense/net-asset trend, cited filing PDF links by tax year, computed ratios (program-support, overhead, officer-compensation share, net margin, revenue growth), and a deterministic health and risk score with the signals that fired. Returns status indicators from public data, not tax, legal or donation advice. See /nonprofit/sources for provenance and index freshness.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"nonprofit_profile_nonprofit_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"identity":{"ein":"530196605","name":"American National Red Cross","ntee":{"code":"P21","major_group":"Human Services"},"subsection":"501(c)(3) Charitable / religious / educational"},"current_status":{"pub78_deductible":true,"auto_revoked":false},"latest_financials":{"tax_year":2023,"revenue":3217077611,"expenses":2971106889},"risk":{"risk_score":0,"risk_band":"low","health_score":100},"attribution":"ProPublica Nonprofit Explorer + IRS (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ein","in":"query","required":false,"schema":{"type":"string"},"description":"9-digit IRS Employer Identification Number"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Organization name (used when ein is absent)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","examples":["NY","CA","DC"]},"description":"Optional 2-letter US state to disambiguate a name"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/nonprofit/status":{"get":{"tags":["paid"],"summary":"Crisp authoritative IRS tax-exempt status for a US nonprofit by EIN: whether it is currently tax-exempt, listed in Publication 78 as able to receive deductible contributions with the eligibility code, whether its status was automatically revoked with the revocation and reinstatement dates, and its 501(c) subsection.","description":"The cheap authoritative gate for donor-DD, grant-eligibility and KYC checks on a US 501(c) nonprofit. Reads the on-disk index built from the IRS Publication 78 (current charitable-deductibility) and Automatic Revocation of Exemption files, both public domain, keyed by EIN. Returns whether the organization is currently tax-exempt, whether donations are presently deductible with the Pub 78 eligibility code, whether tax-exempt status was automatically revoked with the revocation posting date, whether it was later reinstated with that date, and its 501(c) subsection. While the IRS index is still building the route returns a no-charge 503. Returns status indicators, not tax or legal advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"nonprofit_status_nonprofit_status_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ein":"530196605","tax_exempt":true,"pub78_deductible":true,"pub78_deductibility_code":"PC","auto_revoked":false,"reinstated":false,"subsection":"501(c)(3) Charitable / religious / educational","attribution":"ProPublica Nonprofit Explorer + IRS (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ein","in":"query","required":true,"schema":{"type":"string"},"description":"9-digit IRS Employer Identification Number"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/nonprofit/financials":{"get":{"tags":["paid"],"summary":"Normalized multi-period Form 990 financials for a US nonprofit by EIN: revenue, expenses, contributions, program revenue, assets, liabilities, net assets and officer compensation per tax year, plus computed ratios (program support, overhead, officer-compensation share, net margin) and gap flags, each number cited to its filing.","description":"The multi-year Form 990 financial picture an analyst agent needs to assess a US 501(c) nonprofit. Normalizes each available filing from the ProPublica Nonprofit Explorer 990 extract into one canonical schema: total revenue, functional expenses, contributions and grants, program service revenue, investment income, end-of-year assets, liabilities and net assets, and compensation of current officers. Per period it computes program-support, overhead, officer-compensation-share, expense and net-margin ratios and year-over-year revenue growth, and flags missing years. Every number is cited to its filing tax year and PDF link (linked, never rehosted). Form 990 data typically lags one to two years, so each figure is as-of its cited tax year. Public financial data, not investment or tax advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"nonprofit_financials_nonprofit_financials_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"ein":"530196605","name":"American National Red Cross","periods":[{"tax_year":2023,"revenue":3217077611,"expenses":2971106889,"net_assets":3019994931,"ratios":{"net_margin":0.0765}}],"revenue_growth_latest":0.05,"attribution":"ProPublica Nonprofit Explorer + IRS (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ein","in":"query","required":true,"schema":{"type":"string"},"description":"9-digit IRS Employer Identification Number"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/nonprofit/search":{"get":{"tags":["paid"],"summary":"Resolve a US nonprofit name to ranked candidate organizations, each with EIN, name, city, state, decoded NTEE, subsection and a match score. The cheap first step for EIN-to-name disambiguation, optionally narrowed by state, NTEE category or 501(c) subsection.","description":"The cheap first step to resolve a US 501(c) nonprofit by name to its EIN before pulling a full profile or financials. Searches the ProPublica Nonprofit Explorer index and returns ranked candidate organizations, each with EIN, name, city, state, decoded NTEE classification, 501(c) subsection, a has-filings flag and a relevance score. Narrow the search by 2-letter US state, NTEE category id (1 to 10) or 501(c) subsection number to disambiguate common names. Public registry data; returns candidates, not legal advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"nonprofit_search_nonprofit_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"name":"American Red Cross","state":"DC"},"total_results":2,"count":1,"candidates":[{"ein":"530196605","name":"American National Red Cross","city":"Washington","state":"DC","ntee":{"code":"P21","major_group":"Human Services"},"score":94.2}],"attribution":"ProPublica Nonprofit Explorer + IRS (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Organization name to search"},{"name":"state","in":"query","required":false,"schema":{"type":"string","examples":["NY","CA","DC"]},"description":"Optional 2-letter US state filter"},{"name":"ntee","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Optional NTEE category id (1 to 10)"},{"name":"c_code","in":"query","required":false,"schema":{"type":"integer"},"description":"Optional 501(c) subsection number, e.g. 3"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Maximum candidates to return (default 10)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/travel/entry":{"get":{"tags":["paid"],"summary":"International entry requirements for a passport and destination pair. Fuses the community visa requirement, a passport-validity rule, the US State Dept travel advisory level and summary, and current CDC travel-health notices into one cited JSON with derived documents and notes. Informational, not immigration advice.","description":"One-call international-entry due-diligence for a travel-booking or compliance agent. Supply a passport country and a destination (country name, ISO2 or ISO3) and get back a fused, normalized and cited entry picture drawn from free public travel sources: the community passport-index visa-matrix requirement (visa free, visa on arrival, e-visa, electronic travel authorization, visa required, or the visa-free day allowance); a curated indicative passport-validity rule for the destination (including the Schengen three-month rule); the US Department of State travel advisory level one to four with its label, summary and last-updated date; and the US CDC travel-health notices currently in effect for that destination plus any global-scope notices. On top of the raw sources the route derives a required-documents list and human-readable entry notes. The moat is the fusion of four layers under one country-pair query, not a resale. Advisory and health data are authoritative and live; the visa requirement is INDICATIVE, from a community dataset compiled from Wikipedia (Passport Index Dataset, MIT, attributed on every response), so verify with the destination embassy before booking or travelling. Partial answers are returned if one source is briefly down (never a 500); an unknown country returns a clean 400. Informational only and not immigration, visa or legal advice; the final admission decision rests with the destination's border authorities.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"travel_entry_travel_entry_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"passport_country":{"iso2":"US","iso3":"USA","name":"United States"},"destination":{"iso2":"TH","iso3":"THA","name":"Thailand"},"visa":{"requirement":"visa free","requirement_label":"Visa free","allowed_days":30,"source":"visa_matrix"},"passport_validity_rule":{"rule":"Passport valid 6 months beyond entry.","indicative":true},"advisory":{"level":1,"level_label":"Exercise Normal Precautions","updated":"2024-01-08","source":"state_advisory"},"health_notices":[{"level":1,"title":"Global Dengue","scope":"global","source":"cdc_health"}],"required_docs":["Valid passport"],"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"passport_country","in":"query","required":true,"schema":{"type":"string"},"description":"Passport country name, ISO2 or ISO3 code"},{"name":"destination","in":"query","required":true,"schema":{"type":"string"},"description":"Destination country name, ISO2 or ISO3 code"},{"name":"purpose","in":"query","required":false,"schema":{"type":"string"},"description":"Optional trip purpose, e.g. tourism"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/travel/advisory":{"get":{"tags":["paid"],"summary":"US State Department travel advisory for a destination country. Returns the advisory level one to four, its label, the summary and the last-updated date, normalized to one cited JSON. Authoritative and live. Informational, not travel advice.","description":"The current US Department of State travel advisory for a destination country. Supply a country name, ISO2 or ISO3 code and get back the normalized advisory level (one Exercise Normal Precautions, two Exercise Increased Caution, three Reconsider Travel, four Do Not Travel), the advisory title, the summary text and the last-updated date. The data is US-government public domain, fetched live and cached. A country with no current advisory returns found false rather than an error. Attributed to the US Department of State. Informational only and not a guarantee of safety; conditions change, so verify against travel.state.gov before travelling.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"travel_advisory_travel_advisory_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"destination":{"iso2":"FR","iso3":"FRA","name":"France"},"found":true,"advisory":{"level":2,"level_label":"Exercise Increased Caution","updated":"2024-01-08","source":"state_advisory"},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"destination","in":"query","required":true,"schema":{"type":"string"},"description":"Destination country name, ISO2 or ISO3 code"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/travel/health":{"get":{"tags":["paid"],"summary":"US CDC travel-health notices for a destination country. Returns the current outbreak and health notices for that country plus any global-scope notices, each with its level, title and link. Authoritative and live. Not medical advice.","description":"The current US CDC travel-health notices for a destination country. Supply a country name, ISO2 or ISO3 code and get back the outbreak, disease and vaccine notices the CDC currently has posted for that country (matched by country name in the notice), plus any global-scope notices that apply everywhere, each normalized to its notice level, title and link. The data is US-government public domain, fetched live from the CDC travel notices feed and cached. A country with no current notices returns an empty list rather than an error. Attributed to the US CDC. Informational only and not medical advice; consult a travel-medicine provider and cdc.gov/travel before travelling.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"travel_health_travel_health_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"destination":{"iso2":"UG","iso3":"UGA","name":"Uganda"},"notice_count":1,"health_notices":[{"level":2,"title":"Ebola in Uganda","scope":"country","source":"cdc_health"}],"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"destination","in":"query","required":true,"schema":{"type":"string"},"description":"Destination country name, ISO2 or ISO3 code"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/travel/visa":{"get":{"tags":["paid"],"summary":"Visa requirement for a passport and destination pair from a community visa-matrix. Returns the normalized requirement such as visa free, visa on arrival, e-visa, electronic travel authorization or visa required, with the visa-free day allowance where applicable. Indicative, not authoritative. Verify with the embassy.","description":"The visa requirement for a passport-and-destination pair, looked up in a community passport-index visa-matrix. Supply the passport country and the destination (country name, ISO2 or ISO3) and get back the normalized requirement: visa free, visa on arrival, e-visa, electronic travel authorization, visa required, or no admission, with a human label, a description and the visa-free day allowance when the source gives a number of days. The dataset is MIT-licensed and attributed on every response (Passport Index Dataset by Ilya Ilyankou) but is compiled from Wikipedia, so it is INDICATIVE, not authoritative: always verify with the destination embassy or official immigration authority before booking or travelling. An unknown pair returns found false rather than an error. Not immigration or legal advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"travel_visa_travel_visa_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"passport_country":{"iso2":"DE","iso3":"DEU","name":"Germany"},"destination":{"iso2":"JP","iso3":"JPN","name":"Japan"},"found":true,"visa":{"requirement":"visa free","requirement_label":"Visa free","allowed_days":90,"source":"visa_matrix"},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"passport_country","in":"query","required":true,"schema":{"type":"string"},"description":"Passport country name, ISO2 or ISO3 code"},{"name":"destination","in":"query","required":true,"schema":{"type":"string"},"description":"Destination country name, ISO2 or ISO3 code"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/osha/screen":{"get":{"tags":["paid"],"summary":"Search US employers in the public OSHA enforcement records by establishment name and get ranked candidates, each with its state, SIC and NAICS codes, last inspection date, inspection count, summed violation count and the most serious inspection trigger. Cheap first step before osha/company.","description":"The light first step of a two-step workplace-safety vetting flow (screen then company, mirroring the freight and KYB screen-then-verify pattern). Give an establishment or company name and get back ranked candidates grouped from the public OSHA Establishment Search, each carrying its physical state, SIC and NAICS industry codes, the date of its most recent inspection, how many inspections are on record, the summed number of violations across them and the most serious inspection trigger seen (a fatality or catastrophe, an accident, a complaint, a referral or a programmed inspection). An optional state code narrows the set; ranking is exact then prefix then substring on the normalized name, more-inspected and more-recent first. Establishment records that share a normalized name and state are deduplicated into one candidate. An agent uses this to pick the right employer and then calls osha/company for the full deterministic safety-risk verdict. Returns an empty list when nothing matches and a partial result when the source is down rather than failing; an empty name is a 400. Business and establishment metadata only, never personal data about workers. Source is the OSHA Establishment Search, US DOL public domain. Risk indicators, not legal or compliance advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"osha_screen_osha_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"DOLLAR GENERAL","count":1,"candidates":[{"establishment_name":"Dollar General Store","state":"AR","naics":"452319","inspection_count":3,"total_violations":4,"last_inspection_date":"04/24/2025","worst_impetus_label":"Complaint"}],"attribution":["OSHA Establishment Search (US DOL; US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Establishment or company name to search for"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code to narrow the search"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20},"description":"Max candidates to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/osha/company":{"get":{"tags":["paid"],"summary":"Workplace-safety risk verdict for a US employer from public OSHA enforcement records. Give an establishment name and optional state and get a 0-100 safety risk score, a low, medium, high or critical rating, per-dimension flags, reasons and a cited list of the inspections behind the score. Deterministic, no LLM. Risk indicators, not legal or compliance advice.","description":"One-call workplace-safety vetting for procurement, vendor-onboarding, ESG, supply-chain and M&A due-diligence agents screening a US employer. Give an establishment or company name and, optionally, a 2-letter state, and the route resolves the best-matching establishment in the public OSHA enforcement records, fetches the detail pages of its most recent inspections (capped for cost, with a truncated flag when more exist) and returns a deterministic safety-risk verdict: a 0-100 safety_risk_score and a low, medium, high or critical rating. The score is a transparent weighted model across dimensions: willful violations, repeat violations, serious violations, aggregate current penalties, whether an inspection was triggered by a fatality or catastrophe, the depth of the enforcement history, how recently an adverse inspection occurred and any failure-to-abate penalties. Each fired dimension returns its points, severity and a human-readable reason so an agent can re-rank with its own policy, and a coverage block reports how many inspections were detailed versus the total on record. The response cites every inspection behind the score with its number, date, case status, trigger, current penalty and a link to the OSHA detail page. Wage-and-hour and mine-safety datasets are registered as deferred coverage a future extension will enable. Partial answers are returned when the source is down rather than failing; nothing found returns verdict not_found. Business and establishment metadata only, never personal data about workers; the accident narrative is not surfaced. OSHA enforcement data lags (citations post about 30 days after an employer receives them and open cases may omit citation data), so verify inspection status and contest outcomes directly with OSHA. Source is the OSHA Establishment Search and Inspection Detail, US DOL public domain. Risk indicators, not legal, safety or compliance advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"osha_company_osha_company_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","safety_risk_score":46,"rating":"medium","company":{"establishment_name":"Dollar General Store","state":"AR","naics":"452319"},"aggregates":{"inspection_count_total":3,"serious_violations":4,"willful_violations":0,"repeat_violations":0,"current_penalty_total_usd":6400.0,"worst_impetus_label":"Complaint"},"signals":[{"dimension":"serious","points":14.4,"severity":"high","reason":"Serious violation(s) on record."}],"reasons":["Serious violation(s) on record."],"cited_inspections":[{"inspection_id":"1798228.015","date_opened":"04/24/2025","current_penalty_usd":6400.0}],"disclaimer":"Risk indicators, not legal or compliance advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Establishment or company legal name (best match is used)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code to disambiguate"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/price/discover":{"get":{"tags":["paid"],"summary":"Find a US hospital's machine-readable price files from its website domain. Reads the hospital's root cms-hpt.txt pointer and returns the location name, source page and machine-readable-file URL for each location, with the detected file format.","description":"The cheap first step of the hospital price-transparency workflow. Every US hospital must publish a plain-text cms-hpt.txt pointer file in the root of its website under the federal Hospital Price Transparency rule; this route fetches it (falling back to the known /documents/ path) and parses every location block a multi-hospital system lists into a normalized shape: the location name, the human source page, the machine-readable-file (MRF) URL and the detected file format (json, csv, json.gz or csv.gz). Pass a hospital domain to discover, or an mrf_url to classify a known file directly. Feed the returned mrf_url into /price/hospital to read actual negotiated, gross and cash prices for a procedure code. Not-found is returned cleanly (never a 500) when a hospital does not expose a readable pointer file. Informational price estimate from the hospital's own published file and US public data; NOT a quote or guarantee of coverage — verify with the provider and payer.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"hospitalprice_discover_price_discover_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"domain":"nemours.org"},"found":true,"location_count":1,"locations":[{"location_name":"NEMOURS CHILDREN'S HOSPITAL","mrf_url":"https://www.nemours.org/.../standardcharges.csv","detected_format":"csv","source":"https://nemours.org/cms-hpt.txt"}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Hospital website domain, e.g. nemours.org"},{"name":"mrf_url","in":"query","required":false,"schema":{"type":"string"},"description":"A machine-readable-file URL to classify directly instead of discovering from a domain"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/price/hospital":{"get":{"tags":["paid"],"summary":"Negotiated, gross and cash prices a hospital publishes for a procedure code, plus fused CMS Care Compare quality. Streams the slice of the hospital's own machine-readable file for one billing code and cites the file's hospital name, date and version. Informational, not a quote.","description":"The flagship route: a fused, cited price picture for one procedure at one hospital, drawn entirely from first-party and public data. Supply the hospital's machine-readable-file URL (from /price/discover, or a domain to auto-discover it) plus a procedure billing code and optional code system(s); the route streams just the slice of the file that matches the code — never loading the whole file into memory — and returns each matching charge normalized to one schema: description, care setting, gross charge, discounted cash price, de-identified minimum and maximum, and the list of payer-specific negotiated rates (payer, plan, dollar amount or percentage and methodology). An optional payer filter narrows the negotiated rates. Every value cites the file's own hospital name, last-updated date and version. When a 6-digit CMS Certification Number is supplied (or the hospital name resolves), the route fuses CMS Care Compare quality — the overall star rating and the safety, mortality and readmission measure counts — so price sits next to quality in one answer; that fusion plus the normalization of wildly heterogeneous file schemas (nested JSON and tall or wide CSV, gzip or plain) is the moat, not a bare lookup. A code absent from the file returns found:false (a rate is never invented); a very large file that hits the scan cap returns truncated:true with an honest scanned-bytes count; the quality grain degrades to null without failing the price answer. Informational price estimate from the hospital's own published file and US public data; NOT a quote or guarantee of coverage — verify with the provider and payer.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"hospitalprice_hospital_price_hospital_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"code":"27447","code_type":["CPT"]},"found":true,"match_count":1,"charges":[{"description":"Total knee arthroplasty","setting":"outpatient","gross_charge":29157.12,"discounted_cash":12000.0,"minimum":3397.96,"maximum":29157.12,"payers":[{"payer_name":"Aetna","plan_name":"PPO","standard_charge_dollar":7542.0,"methodology":"fee schedule"}]}],"quality":{"overall_star_rating":4,"state":"TX"},"citation":{"hospital_name":"The Methodist Hospital","last_updated_on":"2026-04-01","mrf_version":"3.0.0"},"coverage":{"truncated":false,"scanned_bytes":1048576,"quality_fused":true}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string"},"description":"Procedure billing code to look up, e.g. 27447"},{"name":"code_type","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CPT","HCPCS","MS-DRG","DRG","APC","NDC","ICD-10","CDM","local"]}},"description":"Optional billing-code system(s) to constrain the match"},{"name":"mrf_url","in":"query","required":false,"schema":{"type":"string"},"description":"The hospital machine-readable-file URL (from /price/discover)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Hospital domain to auto-discover the MRF instead of mrf_url"},{"name":"payer","in":"query","required":false,"schema":{"type":"string"},"description":"Optional payer or plan name substring to filter the returned negotiated rates"},{"name":"ccn","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 6-digit CMS Certification Number to fuse Care Compare quality"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/price/benchmark":{"get":{"tags":["paid"],"summary":"Medicare national reference price for a procedure code — a cheap anchor to compare hospital prices against. Returns the average Medicare submitted, allowed and payment amounts per place of service from CMS public data. Informational.","description":"A cheap comparison anchor that needs no heavy machine-readable file. Supply a CPT or HCPCS procedure code and get the Medicare national reference amounts for it from public-domain CMS data — the average submitted charge, the average Medicare allowed amount and the average Medicare payment amount, broken out by place of service — so an agent can judge how a hospital's negotiated or cash price from /price/hospital compares to what Medicare pays nationally. The source dataset and year are cited. The benchmark source is registry-driven, so a new code system or dataset is one row; a code Medicare does not price at the national level returns found:false cleanly (never a 500). Informational price estimate from the hospital's own published file and US public data; NOT a quote or guarantee of coverage — verify with the provider and payer.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"hospitalprice_benchmark_price_benchmark_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"code":"99213","code_type":["CPT"]},"found":true,"available":true,"benchmark":{"code":"99213","description":"Office/outpatient visit","by_place_of_service":[{"place_of_service":"F","avg_medicare_allowed":61.15,"avg_medicare_payment":43.96}]},"source_dataset":"Medicare Physician & Other Practitioners - by Geography and Service","year":2024}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string"},"description":"Procedure billing code, e.g. 99213"},{"name":"code_type","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CPT","HCPCS","MS-DRG","DRG","APC","NDC","ICD-10","CDM","local"]}},"description":"Billing-code system; national benchmark supports CPT and HCPCS"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/adviser/verify":{"get":{"tags":["paid"],"summary":"Composite due-diligence verdict for a US financial professional or firm, fusing FINRA BrokerCheck and SEC IAPD by CRD number into one cited JSON: registration status and scope, exams, employment history, disciplinary disclosures, a deterministic risk score from 0 to 100 and a verdict. Accepts a crd, or a name, or a firm.","description":"Reconcile a US financial professional or firm across the two authoritative public regulatory disclosure systems in one call and return a deterministic due-diligence verdict. The fusion key is the CRD number (Central Registration Depository), the identifier a person or firm shares across FINRA BrokerCheck (broker-dealer side) and SEC IAPD (investment-adviser side). Provide a CRD for an authoritative result, or a name or firm which resolves to a CRD first. The response normalizes registration status and scope (broker-dealer and investment-adviser), Series exams such as Series 7, 63, 65 and 66, employment history, registered states and SROs, and every disciplinary disclosure with its date, category, resolution and allegations. The risk score from 0 to 100 is the capped sum of per-disclosure weights, where each disclosure's category weight is scaled by its disposition so a matter closed with no action counts near zero and a settled, awarded or consent outcome counts in full. The verdict is one of clean, minor_disclosures, elevated or red_flag, with any materialised criminal or regulatory event forcing at least an elevated or red_flag verdict. A name that does not resolve to a single subject returns candidate matches rather than labelling a possibly-wrong person, and a score is only ever computed on a resolved CRD. Each registry is fetched live per call and fused independently, so one source being unavailable returns a partial answer, never a failure. Informational compliance and due-diligence screening, not a consumer report under the FCRA and not legal or investment advice; every paid response carries per-source attribution and the BrokerCheck Terms of Use notice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"adviser_verify_adviser_verify_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"elevated","risk_score":34,"subject":{"crd":"1785564","name":"JOHN JAY JOHN","type":"individual"},"registration":{"bc_scope":"Active","ia_scope":"Active","is_broker":true,"is_adviser":true},"disclosures":{"flag":true,"count":4,"by_type":{"Customer Dispute":4}},"reasons":["4 Customer Dispute disclosures"],"attribution":["Source: FINRA BrokerCheck","Source: SEC IAPD (Investment Adviser Public Disclosure)"],"retrieved_at":"2026-07-12T00:00:00Z","verdict_values":["clean","minor_disclosures","elevated","red_flag"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"crd","in":"query","required":false,"schema":{"type":"string"},"description":"CRD number of the professional or firm (authoritative)"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Full name of an individual to resolve to a CRD"},{"name":"firm","in":"query","required":false,"schema":{"type":"string"},"description":"Firm name to resolve to a CRD"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["individual","firm"]},"description":"Disambiguate whether the subject is a person or a firm"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter US state code to narrow a name search"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/adviser/screen":{"get":{"tags":["paid"],"summary":"Resolve a financial professional or firm name to ranked CRD candidates for disambiguation before an authoritative verify call. Each candidate carries its crd, name, current firm, broker and adviser scope, and a disclosure flag. Accepts a name, or a firm.","description":"The cheap first step of adviser due diligence: turn a name into ranked candidates so the caller can pick the right CRD before paying for a full verify. Searches both FINRA BrokerCheck and SEC IAPD, merges and de-duplicates hits by CRD number, and returns each candidate with its CRD, name, current firm, broker-dealer and investment-adviser scope and a disclosure flag. Provide a person name or a firm name, optionally narrowed by a two-letter US state code. No disciplinary score is assigned here — this route only disambiguates identity; pass the chosen CRD to /adviser/verify for the authoritative scored verdict. Data is fetched live per call from the two public registries; results carry per-source attribution and the BrokerCheck Terms of Use notice. Informational, not a consumer report under the FCRA and not legal or investment advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"adviser_screen_adviser_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"John John","type":"individual","count":1,"candidates":[{"crd":"1785564","name":"JOHN JAY JOHN","type":"individual","current_firm":"CALTON & ASSOCIATES, INC.","bc_scope":"Active","ia_scope":"Active","disclosure_flag":true}],"attribution":["Source: FINRA BrokerCheck","Source: SEC IAPD (Investment Adviser Public Disclosure)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Full name of an individual to search"},{"name":"firm","in":"query","required":false,"schema":{"type":"string"},"description":"Firm name to search"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["individual","firm"]},"description":"Search individuals or firms"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter US state code to narrow the search"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/insider/trades":{"get":{"tags":["paid"],"summary":"Normalized corporate-insider transactions from SEC Form 3, 4 and 5 filings. Give a ticker or issuer CIK and get each director, officer and 10-percent-owner transaction: transaction code, security, shares, price per share, value, acquired or disposed, direct or indirect holding, the insider role, and the disclosure lag, every record cited to its accession and form4.xml URL.","description":"One call returns the normalized insider-trading history for a company straight from the authoritative SEC source, so an agent does not scrape EDGAR or parse raw ownership XML. Supply a ticker or issuer CIK and an optional date window; the route runs SEC EDGAR full-text search over the issuer's Form 3, 4 and 5 filings, fetches each structured ownership document, and maps it to a clean schema. For every transaction you get the SEC transaction code and a human label (open-market purchase, open-market sale, grant, option exercise, tax withholding, gift and more), the security title, share count, price per share, computed value, whether shares were acquired or disposed, direct or indirect ownership, shares owned afterward, and the disclosure lag in days between the transaction and the filing. Each filing carries the insider's name, CIK and role (director, officer with title, ten-percent owner) and cites its accession number and the exact form4.xml URL so any number is traceable. Optional filters narrow to one person or a set of transaction codes. Data covers the issuing company's insiders only and comes from US public-domain SEC filings; informational, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"insider_trades_insider_trades_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Apple Inc.","cik":"0000320193","ticker":"AAPL"},"window":{"start":"2026-01-01","end":"2026-06-30"},"filings_returned":1,"transactions_returned":1,"filings":[{"owner":{"name":"Newstead Jennifer","cik":"0001780525","role":"officer (SVP, GC and Secretary)"},"form":"4","filing":{"accession":"0001140361-26-025622","filedDate":"2026-06-17","form4_url":"https://www.sec.gov/Archives/edgar/data/320193/000114036126025622/form4.xml"},"transactions":[{"securityTitle":"Common Stock","transactionCode":"S","transactionLabel":"Open-market or private sale","acquiredDisposed":"D","openMarket":true,"shares":16238,"pricePerShare":296.42,"transactionValue":4813267.96,"transactionDate":"2026-06-15","directOrIndirect":"D","disclosure_lag_days":2}]}],"attribution":"SEC EDGAR Form 3/4/5 (US public domain); efts.sec.gov + www.sec.gov"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR issuer CIK, any zero-padding accepted"},{"name":"startdt","in":"query","required":false,"schema":{"type":"string"},"description":"Window start date, ISO YYYY-MM-DD (default 90 days ago)"},{"name":"enddt","in":"query","required":false,"schema":{"type":"string"},"description":"Window end date, ISO YYYY-MM-DD (default today)"},{"name":"person","in":"query","required":false,"schema":{"type":"string"},"description":"Optional filter: insider name substring"},{"name":"tx_codes","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["P","S","A","D","F","M","X","C","G","V","J","I","W"]}},"description":"Optional filter of SEC Form-4 transaction codes to include"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/congress/trades":{"get":{"tags":["paid"],"summary":"Normalized US House congressional stock trades from STOCK Act Periodic Transaction Reports. Filter by ticker or member and an optional date window and get each disclosed trade: buy, sell or exchange, the amount range, ticker, asset description, transaction and disclosure dates, disclosure lag, and owner, each record cited to its filing PDF.","description":"Track what US House members disclose trading under the STOCK Act, normalized from the House Clerk's Periodic Transaction Report filings so an agent does not download and parse PDFs. Filter by a member surname, by a ticker, or both, over an optional date window; the route reads the House year index, selects the matching e-filed reports, extracts each PDF, and returns clean rows. Every trade carries the member and state-district, the transaction type (buy, sell or exchange), the disclosed dollar amount as a range with numeric low and high bounds, the ticker and asset description, the transaction date, the disclosure date, the disclosure lag in days, and whose account the trade was in (self, spouse, dependent child or joint). Each row cites the filing document id and its PDF URL. To stay fast the route scans the newest matching filings up to a bounded cap and reports a coverage note when results are truncated, so narrow by member or window for exhaustive coverage. House e-filed reports only; paper-scan filings and the Senate are noted as coverage gaps. Amounts are disclosed as ranges, not exact values. US public-domain data; informational, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"congress_trades_congress_trades_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"member":"Aderholt","chamber":"house"},"window":{"start":"2026-01-01","end":"2026-06-30"},"trades_returned":1,"filings_scanned":1,"trades":[{"member":"Robert B. Aderholt","chamber":"house","state_district":"AL04","ticker":"GSK","asset_description":"GSK plc American Depositary Shares","type":"sell","owner":"self","amount_range":"$1,001 - $15,000","amount_low":1001,"amount_high":15000,"transaction_date":"2025-07-28","disclosure_date":"2025-09-10","disclosure_lag_days":44,"filing":{"doc_id":"20032062","ptr_url":"https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2025/20032062.pdf"}}],"attribution":"US House Clerk Periodic Transaction Reports (US public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"member","in":"query","required":false,"schema":{"type":"string"},"description":"House member surname or full name substring"},{"name":"chamber","in":"query","required":false,"schema":{"type":"string","enum":["house","senate"]},"description":"Chamber, default house (senate is deferred)"},{"name":"startdt","in":"query","required":false,"schema":{"type":"string"},"description":"Window start date, ISO YYYY-MM-DD (default 90 days ago)"},{"name":"enddt","in":"query","required":false,"schema":{"type":"string"},"description":"Window end date, ISO YYYY-MM-DD (default today)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/insider/signal":{"get":{"tags":["paid"],"summary":"Composite deterministic insider and congressional signal for one ticker over a window. Fuses SEC Form-4 insider transactions and US House STOCK Act trades into a 0-100 signal score plus flags: net insider buying, cluster buy across distinct insiders, unusual volume, congressional activity, and average disclosure lag. Each flag references the underlying transactions.","description":"A premium due-diligence signal that fuses the two disclosure streams for a single ticker into one cited JSON, so an agent does not manually stitch together the insider and congressional routes. Supply a ticker and an optional window; the route pulls the issuer's SEC Form-4 insider transactions and the matching US House STOCK Act trades, then computes a deterministic, data-weighted signal score from 0 to 100 with a bullish, bearish or neutral direction. The response breaks out the drivers as explicit flags: net insider buying in shares and dollars with the count of distinct buyers and sellers; a cluster-buy flag when several different insiders bought in the window, a classic conviction signal; an unusual volume flag on large net buying; congressional activity with buy and sell counts and net direction; and the average disclosure lag. A components block shows how each factor moved the score, and a sources block reports how many filings and trades fed it plus any partial-coverage notes, so the score is transparent and auditable rather than a black box. The scoring weights and thresholds are data-driven. Informational only, not investment advice; built entirely on US public-domain filings.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"insider_signal_insider_signal_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Apple Inc.","cik":"0000320193","ticker":"AAPL"},"window":{"start":"2026-01-01","end":"2026-06-30"},"signal":{"signal_score":62.0,"direction":"bullish","window_days":180,"flags":{"net_insider_buy":{"net_shares":12000,"net_usd":3400000,"distinct_buyers":3,"distinct_sellers":1},"cluster_buy":{"detected":true,"distinct_buyers":3,"threshold":3},"unusual_volume":{"detected":true,"net_buy_usd":3400000},"congress_activity":{"trades":2,"buys":2,"sells":0,"net":2},"avg_disclosure_lag_days":5.0}},"sources":{"insider_filings":6,"congress_trades":2},"attribution":["SEC EDGAR Form 3/4/5 (US public domain)","US House Clerk PTRs (US public domain)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. AAPL"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR issuer CIK, any zero-padding accepted"},{"name":"startdt","in":"query","required":false,"schema":{"type":"string"},"description":"Window start date, ISO YYYY-MM-DD (default 90 days ago)"},{"name":"enddt","in":"query","required":false,"schema":{"type":"string"},"description":"Window end date, ISO YYYY-MM-DD (default today)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/insurance/model-law":{"get":{"tags":["paid"],"summary":"Per-state adoption of a NAIC insurance model law. Give a model number or a title keyword and get a normalized state-by-state table classifying each US jurisdiction as model adoption, previous version, related activity or no current activity, each with its statutory citation, plus a linkback to the NAIC source and required attribution.","description":"The flagship of this service and an insurance-compliance moat: one call turns a NAIC model law into a normalized, machine-readable adoption tracker across all 50 states, DC and the US territories. Supply a NAIC model number (for example 22, 170 for Long-Term Care Insurance, 880 for Insurance Data Security, 895 for Annuity Suitability) or a title keyword to resolve one, and the route fetches the authoritative NAIC state-page chart and parses it by column coordinate into a clean table. Each jurisdiction is classified by the NAIC Legal Division's own scheme — MODEL ADOPTION (adopted the current model in a substantially similar manner), PREVIOUS VERSION (an older version enacted), RELATED ACTIVITY (statutes, regulations or bulletins on the same subject that are not a substantially-similar adoption), or NO CURRENT ACTIVITY — together with the exact statutory citation the NAIC lists. The response includes a summary count by classification, the NAIC publication version (for example Fall 2025), a linkback to the source PDF, mandatory NAIC attribution and a not-legal-advice disclaimer. The adoption facts are normalized and cited; the copyrighted NAIC model text is never rehosted. Keyless, cached hard (the charts change roughly once every year or two). Ideal for regulatory-change tracking, multi-state compliance mapping and insurtech due diligence.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"insurance_model_law_insurance_model_law_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"model":"22"},"model":{"number":22,"title":"Health Carrier Prescription Drug Benefit Management Model Act"},"adoption":{"Arizona":{"classification":"RELATED_ACTIVITY","citation":"ARIZ. REV. STAT. ANN. Sec. 20-1057.02 (2000/2015)."},"Alabama":{"classification":"NO_CURRENT_ACTIVITY"}},"summary":{"states_total":56,"by_classification":{"RELATED_ACTIVITY":20,"NO_CURRENT_ACTIVITY":30}},"provenance":{"source_url":"https://content.naic.org/sites/default/files/model-law-state-page-22.pdf","naic_version":"Fall 2025"},"attribution":["Source: NAIC Model Laws (content.naic.org)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"NAIC model number such as 22, or a title keyword such as annuity suitability"},{"name":"number","in":"query","required":false,"schema":{"type":"integer"},"description":"NAIC model number (alias for model)"},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"},"description":"Title keyword (alias for model)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/insurance/state-adoption":{"get":{"tags":["paid"],"summary":"Which NAIC insurance model laws a given state has adopted, inverted from the NAIC state-page corpus. Give a state (name or code) and an optional model or topic filter and get the models it has adopted with each classification, citation and linkback.","description":"The inverse of /insurance/model-law: instead of one model across all states, this gives one state across many models. Supply a US state or territory (name or two-letter code) and the route scans the NAIC state-page corpus to report which NAIC model laws that jurisdiction has adopted, each with its NAIC classification (model adoption, previous version or related activity), the statutory citation and a linkback to the source chart. Narrow the scan with an optional model-number list or a topic keyword for full, targeted coverage; without a filter the route scans a bounded default subset of well-known models and reports its coverage honestly in the summary so an agent knows exactly what was and was not checked. Results reuse the same parsed and hard-cached charts as the model-law route, so marginal cost stays near zero. Every response carries provenance, mandatory NAIC attribution and a not-legal-advice disclaimer; adoption facts only, never the copyrighted model text. Useful for building a single state's insurance-regulatory adoption profile.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"insurance_state_adoption_insurance_state_adoption_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"state":"New York","adopted":[{"number":880,"title":"Insurance Data Security Model Law","classification":"MODEL_ADOPTION","citation":"N.Y. INS. LAW Sec. 500 (2017)."}],"summary":{"models_scanned":8,"adopted_count":1,"coverage":"filtered"},"attribution":["Source: NAIC Model Laws (content.naic.org)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"US state or territory name or 2-letter code, such as California or CA"},{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"Optional NAIC model number(s) to check, comma separated"},{"name":"topic","in":"query","required":false,"schema":{"type":"string"},"description":"Optional keyword to filter the models scanned"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/insurance/bulletins":{"get":{"tags":["paid"],"summary":"Recent Department of Insurance bulletins, circular letters and notices for a state, normalized to title, url, year and type with a linkback. Curated subset of reachable states, filterable by keyword and year, partial-on-failure.","description":"Normalized access to a state insurance regulator's recent guidance — the bulletins, circular letters and notices a Department of Insurance publishes to interpret law and direct carrier conduct, which are otherwise scattered across 50 differently-built state sites with no common feed. Supply a US state (name or two-letter code) and the route fetches that department's listing and returns a clean list of items, each with its title, a linkback url, the issuing year and a document type, filterable by a title keyword and a from-year. Coverage is a curated subset of the states reachable and structured enough to parse reliably (a new state is a one-row adapter); an unsupported or temporarily unreachable state is reported cleanly rather than failing, and errors are surfaced in the response so results are partial-on-failure, never a 500. Every response carries provenance to the department source, attribution and a not-legal-advice disclaimer. Pair it with /insurance/model-law to combine model adoption with the live regulatory guidance layered on top.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"insurance_bulletins_insurance_bulletins_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"state":"New York","source":{"name":"NY DFS Circular Letters","host":"www.dfs.ny.gov"},"count":40,"returned":1,"items":[{"title":"Coverage of Immunizations","url":"https://www.dfs.ny.gov/industry-guidance/circular-letters/cl2025-05","year":2025,"type":"circular_letter","state":"New York"}],"attribution":["Source: NY DFS Circular Letters (www.dfs.ny.gov)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"US state or territory name or 2-letter code, such as California or CA"},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"},"description":"Optional keyword to filter bulletin titles"},{"name":"year_from","in":"query","required":false,"schema":{"type":"integer"},"description":"Only bulletins from this year onward"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max items to return, default 25"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/netintel/rpki":{"get":{"tags":["paid"],"summary":"RPKI Route-Origin Validation for an IPv4 prefix and origin AS, computed per RFC 6811 from the bulk Validated ROA Payload set. Returns the ROA status, the covering ROA count and the matching ROAs with their origin, max length and trust anchor.","description":"Validate the origin of an IPv4 route against RPKI, the way a BGP router with origin validation would. This service maintains the full set of Validated ROA Payloads (from the rpki-client project console, published by the Regional Internet Registries) in memory and computes Route-Origin Validation per RFC 6811 itself, rather than reselling a validator API. Supply a public IPv4 prefix and, optionally, the origin autonomous system number; if the origin is omitted it is resolved from the Public-Domain IP-to-ASN table. The response gives the RFC 6811 state (Valid, Invalid or NotFound), how many ROAs cover the prefix, and the covering ROAs with their authorised origin, maximum length and trust anchor. These are routing indicators for infrastructure due-diligence, not authoritative real-time hijack detection, and contain no personal data.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"netintel_rpki_netintel_rpki_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"prefix":"1.1.1.0/24","origin_asn":13335,"origin_source":"provided","roa_status":"valid","covering_roa_count":1,"matching_roas":[{"origin_asn":13335,"prefix_length":24,"max_length":24,"trust_anchor":"apnic"}],"reasons":["A covering ROA authorises this origin AS for this prefix within its max length (RFC 6811 Valid)."],"disclaimer":"Routing indicators for infrastructure due-diligence, NOT authoritative real-time hijack detection (that needs live BGP monitoring) and NOT a statement about any individual. RPKI ROV follows RFC 6811 over a periodic VRP snapshot; allocation is from RIR registry statistics. Contains no personal data. Verify before acting."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"prefix","in":"query","required":true,"schema":{"type":"string"},"description":"Public IPv4 prefix in CIDR form or a bare address"},{"name":"origin","in":"query","required":false,"schema":{"type":"string"},"description":"Optional origin AS number; if omitted it is resolved from the IP-to-ASN table"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/netintel/asn":{"get":{"tags":["paid"],"summary":"Registry and routing metadata for an autonomous system: the AS name, the Regional Internet Registry that allocated it, the country, the allocation date and status, a datacenter/hosting classification and the announced-prefix count.","description":"Look up who an autonomous system is and where it came from, fusing two free public sources. The Regional Internet Registry delegated-extended statistics (ARIN, RIPE NCC, APNIC, LACNIC, AFRINIC) give the allocating registry, the country, the allocation date and the registry status. The Public-Domain IP-to-ASN table gives the AS name and how many IPv4 ranges the AS announces, and this service's own datacenter/hosting heuristic classifies the operator. The AS-name enrichment is best-effort: if the IP-to-ASN index is still warming it is omitted rather than guessed. These are registry facts for due-diligence and contain no personal data.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"netintel_asn_netintel_asn_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asn":13335,"as_name":"CLOUDFLARENET","rir":"arin","country":"US","allocated_date":"2010-07-14","status":"assigned","is_datacenter":true,"announced_prefix_count":42,"registry_found":true,"disclaimer":"Routing indicators for infrastructure due-diligence, NOT authoritative real-time hijack detection (that needs live BGP monitoring) and NOT a statement about any individual. RPKI ROV follows RFC 6811 over a periodic VRP snapshot; allocation is from RIR registry statistics. Contains no personal data. Verify before acting."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asn","in":"query","required":true,"schema":{"type":"string"},"description":"Autonomous system number, with or without an AS prefix"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/netintel/prefix":{"get":{"tags":["paid"],"summary":"Full routing-security report for an IPv4 address or prefix: the origin AS, the RIR allocation of the block (who, when, country, status), the RPKI ROA status against that origin, and more-specific and less-specific ROA coverage.","description":"One call that fuses everything this service knows about an IPv4 prefix for infrastructure due-diligence. The origin autonomous system and its name come from the Public-Domain IP-to-ASN table; the block's allocation (which Regional Internet Registry issued it, when, to which country and with what status) comes from the RIR delegated-extended statistics; the RPKI Route-Origin Validation status is computed per RFC 6811 from the bulk Validated ROA Payload set against that origin; and the report also counts more-specific ROAs inside the prefix and the less-specific ROAs that cover it. Use it to judge whether a prefix's routing is registry-clean and RPKI-authorised before trusting traffic from it. These are routing indicators, not authoritative real-time hijack detection, and contain no personal data.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"netintel_prefix_netintel_prefix_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"prefix":"8.8.8.0/24","origin_asn":15169,"as_name":"GOOGLE","is_datacenter":true,"rir_allocation":{"rir":"arin","country":"US","allocated_date":"1992-12-01","status":"allocated"},"roa_status":"valid","covering_roa_count":1,"matching_roas":[{"origin_asn":15169,"prefix_length":24,"max_length":24,"trust_anchor":"arin"}],"more_specific_roa_count":0,"more_specific_roas":[],"disclaimer":"Routing indicators for infrastructure due-diligence, NOT authoritative real-time hijack detection (that needs live BGP monitoring) and NOT a statement about any individual. RPKI ROV follows RFC 6811 over a periodic VRP snapshot; allocation is from RIR registry statistics. Contains no personal data. Verify before acting."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"prefix","in":"query","required":false,"schema":{"type":"string"},"description":"Public IPv4 prefix in CIDR form or a bare address"},{"name":"ip","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for prefix when passing a single address"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/catalyst/calendar":{"get":{"tags":["paid"],"summary":"Forward-looking FDA regulatory catalyst calendar for one biotech issuer, extracted from primary SEC 8-K and 6-K filings. Give a ticker or CIK and get upcoming PDUFA target action dates, advisory committee meetings, Complete Response Letters, priority reviews and PDUFA extensions, each date grounded in a quote from the filing and cited to its accession and EDGAR URL.","description":"A one-call, forward-looking regulatory catalyst calendar for a biotech company, built from the authoritative primary source rather than a scraped stock-calendar site. Supply a ticker or CIK; the route runs SEC EDGAR full-text search over the issuer's recent 8-K and 6-K filings for regulatory-event language, fetches the matching documents, and deterministically extracts the dates with a regex/structural parser (no language model). Each emitted event carries its type (PDUFA target action date, FDA advisory committee meeting, Complete Response Letter, priority review or PDUFA extension), the normalized ISO date, the raw date text, the surrounding quote that grounds it, whether it is upcoming or historical, and the filing it came from (accession, form, filed date and EDGAR URL) so any date is traceable. The extraction is precision-first: a date is emitted only when a regulatory keyword co-occurs with it in the same sentence window, so a filing that mentions PDUFA without a nearby date yields nothing rather than a guess. When an issuer has reported several different future dates for the same event across filings, the competing dates are flagged as possibly superseded with the latest-filed one marked canonical. Data is about the issuing company; the SEC source is US public domain. Informational, not investment advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"catalyst_calendar_catalyst_calendar_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Scholar Rock Holding Corp","cik":"0001727196","ticker":"SRRK"},"window":{"lookback_days":270,"as_of":"2026-07-12"},"forward_only":true,"events_returned":1,"events":[{"event_type":"pdufa","label":"PDUFA target action date","date_iso":"2026-09-30","raw_date":"September 30","year_inferred":true,"direction":"upcoming","quote":"BLA resubmission accepted by FDA; PDUFA action date of September 30th","filing":{"accn":"0001104659-26-056655","form":"8-K","filed":"2026-05-07","url":"https://www.sec.gov/Archives/edgar/data/1727196/000110465926056655/srrk.htm"},"entity":{"cik":"0001727196","ticker":"SRRK","company":"Scholar Rock Holding Corp"}}],"attribution":"SEC EDGAR (public domain); efts.sec.gov full-text search + www.sec.gov filings."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. SRRK"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR issuer CIK, any zero-padding accepted"},{"name":"event_types","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["pdufa","adcomm","crl","priority_review","pdufa_extension"]}},"description":"Optional filter of regulatory event types to include (default all)"},{"name":"forward_only","in":"query","required":false,"schema":{"type":"boolean"},"description":"Only future dates (default true)"},{"name":"lookback_days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":730},"description":"How far back to search filings, default 270"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/catalyst/upcoming":{"get":{"tags":["paid"],"summary":"Market-wide upcoming FDA regulatory catalysts across recent SEC 8-K and 6-K filings in a forward window. Get PDUFA dates, advisory committee meetings and other regulatory events for many biotech issuers at once, each grounded in a filing quote and cited to its accession and EDGAR URL. Bounded fan-out.","description":"Scan the whole recent filing stream for upcoming FDA regulatory catalysts instead of querying one issuer at a time. The route runs SEC EDGAR full-text search over the most recent 8-K and 6-K filings matching regulatory-event language, fetches a bounded number of documents newest-first, deterministically extracts the dates and returns those falling inside your forward window, sorted by date. Each event carries its type, normalized ISO date, grounding quote, and the issuer and filing it came from (ticker, company, accession, EDGAR URL), so every entry is traceable to a primary source. Because this fans out across many issuers it is bounded by a hard document cap and served from an aggressive cache; a coverage note discloses the bound, and for exhaustive per-issuer coverage use the calendar route with a ticker. Extraction is precision-first (a date is emitted only on in-sentence co-occurrence with a regulatory keyword). US public-domain SEC data; informational, not investment advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"catalyst_upcoming_catalyst_upcoming_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"window":{"forward_days":180,"as_of":"2026-07-12","horizon":"2027-01-08"},"events_returned":1,"events":[{"event_type":"pdufa","label":"PDUFA target action date","date_iso":"2026-09-30","raw_date":"September 30","year_inferred":true,"direction":"upcoming","quote":"BLA resubmission accepted by FDA; PDUFA action date of September 30th","filing":{"accn":"0001104659-26-056655","form":"8-K","filed":"2026-05-07","url":"https://www.sec.gov/Archives/edgar/data/1727196/000110465926056655/srrk.htm"},"entity":{"cik":"0001727196","ticker":"SRRK","company":"Scholar Rock Holding Corp"}}],"attribution":"SEC EDGAR (public domain); efts.sec.gov full-text search + www.sec.gov filings."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"event_types","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["pdufa","adcomm","crl","priority_review","pdufa_extension"]}},"description":"Optional filter of regulatory event types to include (default all)"},{"name":"forward_days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":730},"description":"Forward window in days, default 365"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":15},"description":"Max events to return, default 15"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/catalyst/filing":{"get":{"tags":["paid"],"summary":"Extract every cited FDA regulatory-decision date from ONE SEC filing. Give an accession with its CIK, or a ticker or CIK to use the most recent matching 8-K or 6-K, and get all PDUFA, advisory committee, CRL, priority review and PDUFA extension dates in that document, each grounded in a quote. Cheap single-document pull.","description":"Pull all regulatory-decision dates out of a single SEC filing you already have in hand, or the latest relevant one for an issuer. Supply an accession number together with its CIK to read that exact document, or a ticker or CIK to have the route pick the most recent matching 8-K or 6-K. It fetches the filing body, deterministically extracts every PDUFA target action date, advisory committee meeting, Complete Response Letter, priority review and PDUFA extension mentioned, and returns each with its normalized ISO date, raw date text, grounding quote, direction (upcoming or historical) and the filing citation. Extraction is precision-first: only dates co-occurring in-sentence with a regulatory keyword are emitted. This is the cheapest route because it reads one document. US public-domain SEC data; informational, not investment advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"catalyst_filing_catalyst_filing_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"Scholar Rock Holding Corp","cik":"0001727196","ticker":"SRRK"},"filing":{"accn":"0001104659-26-056655","form":"8-K","filed":"2026-05-07","url":"https://www.sec.gov/Archives/edgar/data/1727196/000110465926056655/srrk.htm"},"events_returned":1,"events":[{"event_type":"pdufa","label":"PDUFA target action date","date_iso":"2026-09-30","raw_date":"September 30","year_inferred":true,"direction":"upcoming","quote":"BLA resubmission accepted by FDA; PDUFA action date of September 30th","filing":{"accn":"0001104659-26-056655","form":"8-K","filed":"2026-05-07","url":"https://www.sec.gov/Archives/edgar/data/1727196/000110465926056655/srrk.htm"},"entity":{"cik":"0001727196","ticker":"SRRK","company":"Scholar Rock Holding Corp"}}],"attribution":"SEC EDGAR (public domain); efts.sec.gov full-text search + www.sec.gov filings."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"accession","in":"query","required":false,"schema":{"type":"string"},"description":"SEC accession like 0001104659-26-056655"},{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Stock ticker symbol, e.g. SRRK"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR issuer CIK, any zero-padding accepted"},{"name":"event_types","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["pdufa","adcomm","crl","priority_review","pdufa_extension"]}},"description":"Optional filter of regulatory event types to include (default all)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/threat/ioc":{"get":{"tags":["paid"],"summary":"Type-agnostic threat-intelligence enrichment for a SOC or DFIR agent. Give one indicator of compromise of any kind — a file hash, IP, domain, URL or CVE id — and get one normalized, cited verdict. Auto-detects the type, dispatches to the right grain, fuses the sources and returns a verdict, an is_malicious flag, a confidence, malware family when known, per-source citations and reasons. Not a guarantee.","description":"One-call, type-agnostic IOC enrichment for an agentic SOC / DFIR workflow — the canonical threat-intelligence enrichment-agent pattern. The buyer is a security agent triaging an alert: it extracts an indicator of compromise and needs a fast, cited reputation verdict. Input: a single indicator of ANY type — an md5, sha1 or sha256 file hash, an IPv4 or IPv6 address, a domain, a URL, or a CVE identifier. The service auto-detects the type by shape (or you can pass an explicit type), routes it to the right enrichment grain, fuses every available source and returns a single normalized JSON object: a verdict (malicious, suspicious, benign_known or unknown), an is_malicious boolean or null, a confidence between 0 and 1, any known malware family, a source count, per-source citations with attribution, tags and human-readable reasons. The keyless core is honest about what it knows: file hashes are enriched with CIRCL hashlookup known-file / whitelist context (a high trust hit means a legitimate distribution or system file — a false-positive reducer, not a malware oracle; a miss means the file is simply unknown, which is not proof of malice); IPs reuse our public-source IP reputation engine (autonomous system, hosting/datacenter classification, Tor exit list and the Spamhaus DROP hijacked-netblock list); domains and URLs reuse our public-source domain-trust engine (registration age, DNS and mail posture, TLS, Certificate Transparency and typosquat analysis); and a CVE id points at our dedicated vulnerability route. Malicious-hash conviction and malware-family attribution are an OPTIONAL upgrade that requires a licensed abuse.ch commercial Auth-Key, off by default. Every grain is best-effort: an unavailable source degrades to a partial result, never an error. Automated reputation indicators for security triage, not a guarantee and not a substitute for full analysis.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"threat_ioc_threat_ioc_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"indicator":"8.8.8.8","type":"ipv4","verdict":"unknown","confidence":0.25,"malware_family":[],"source_count":1,"sources":["fraud_ip"],"tags":[],"reasons":["No positive reputation signal from the available sources."],"citations":[{"source":"IP reputation","attribution":"iptoasn + Spamhaus DROP"}],"disclaimer":"Reputation indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"indicator","in":"query","required":true,"schema":{"type":"string"},"description":"The indicator of compromise: a file hash (md5/sha1/sha256), IP, domain, URL or CVE id"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["md5","sha1","sha256","hash","ip","ipv4","ipv6","domain","url","cve"]},"description":"Optional type override; auto-detected if omitted"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/threat/hash":{"get":{"tags":["paid"],"summary":"File-hash reputation and known-file context for a SOC or DFIR agent. Give an md5, sha1 or sha256 hash and get CIRCL hashlookup known-file status, a hashlookup trust score and file metadata (name, size, mimetype, source, database), plus malware family when a licensed feed is enabled. A known distribution or system file lowers the alert priority; an unknown hash is not itself evidence of malice. Indicators, not a guarantee.","description":"Dedicated file-hash reputation grain — the genuinely new keyless value of this service. Give a single md5, sha1 or sha256 hash and get a normalized verdict built from CIRCL hashlookup: whether the file is KNOWN (present in the NSRL Reference Data Set and a broad set of Windows, Ubuntu, Fedora, Kali and other distribution package databases), its hashlookup trust score from 0 to 100, and file metadata including file name, size, mimetype, the contributing source and database. The honest framing matters for triage: this is known-file and whitelist context, a false-positive reducer, NOT a malware-family oracle. A high-trust known file means the artifact is almost certainly a legitimate distribution or operating-system file and the alert can be de-prioritized; a hash that is absent from hashlookup is simply UNKNOWN, which is not by itself evidence that it is malicious — most files are unknown to whitelist sets. Positive malicious conviction and malware-family attribution are an OPTIONAL upgrade that requires a licensed abuse.ch commercial Auth-Key (MalwareBazaar and ThreatFox), off by default. The host is fixed and the call is per-hash with no bulk index. Automated reputation indicators for security triage, not a guarantee.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"threat_hash_threat_hash_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"hash":"d41d8cd98f00b204e9800998ecf8427e","algo":"md5","verdict":"benign_known","is_malicious":false,"confidence":0.75,"known_file":true,"hashlookup_trust":100,"malware_family":[],"sources":["circl_hashlookup"],"reasons":["Hash is a KNOWN file in CIRCL hashlookup with high trust."],"disclaimer":"Automated reputation/threat indicators, not a guarantee; for triage."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"hash","in":"query","required":true,"schema":{"type":"string"},"description":"A file hash: md5 (32 hex), sha1 (40 hex) or sha256 (64 hex)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/edu/screen":{"get":{"tags":["paid"],"summary":"Screen a US college or university name against the federal DAPIP database: fuzzy name search returning ranked institution candidates, each with its DAPIP id, OPEID, IPEDS unit id, state and an accredited flag. Cheap first step before edu/verify.","description":"The light first step of a two-step education-verification flow (screen then verify, mirroring the kyb and sanctions screen-then-detail pattern). Give a college or university name and get back ranked candidates from the US Department of Education DAPIP database, each carrying the DAPIP id, OPEID, IPEDS unit id, state, location type and a whether-accredited flag, so an agent can disambiguate the right institution and then call edu/verify with a precise OPEID or IPEDS id for the full accreditation and diploma-mill verdict. US-only, institution-level. Source is the US Dept of Education DAPIP public-domain dataset.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"edu_screen_edu_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"Harvard University","count":1,"candidates":[{"dapip_id":"121150","name":"Harvard University","opeid":"00215500","ipeds":"166027","state":"MA","is_accredited":true,"match_score":100.0}],"attribution":["US Dept of Education, Office of Postsecondary Education (DAPIP)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Institution name to screen for"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":15},"description":"Max candidates to return, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/edu/accreditor":{"get":{"tags":["paid"],"summary":"Check whether an accrediting agency is recognized by the US Department of Education. Give an accreditor name and get back a recognized flag plus the matched agency, its type (institutional or programmatic), Title IV gatekeeper status, active status and recognition year. The direct fake-accreditor test.","description":"A cheap supporting route and the most direct diploma-mill tell: a fake school invents an official-sounding accreditor. Give an accreditor name and this route fuzzy-matches it against the authoritative list of roughly 77 accrediting agencies recognized by the US Department of Education (the DAPIP agencies feed), returning a recognized flag and, on a match, the agency type (institutional or programmatic), whether it is a Title IV gatekeeper, whether it is currently active and its recognition year. An accreditor that does not match any recognized agency is a strong signal that a claimed accreditation is self-invented. US-only. Source is the US Dept of Education DAPIP public-domain recognized-agencies list.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"edu_accreditor_edu_accreditor_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"Higher Learning Commission","recognized":true,"agency":{"agency_id":"9","agency_name":"Higher Learning Commission","type":"institutional","title_iv_gatekeeper":true,"active":true,"recognition_year":1952,"match_score":100.0},"match_score":100.0}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Accrediting agency name to check for ED recognition"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/edu/verify":{"get":{"tags":["paid"],"summary":"Verify a US college or university is accredited and get a diploma-mill verdict. Give one of name, opeid, ipeds or domain plus an optional claimed_accreditor; get back an is_accredited flag, the recognized accreditors, a diploma_mill_flag with weighted signals, operating status, a confidence and cited sources. Deterministic, no LLM.","description":"One-call institution-accreditation verification for HR, hiring, candidate vetting, enrollment and background-screening agents. Supply one identifier (name, opeid, ipeds or domain), optionally the accreditor the institution claims, and the route resolves the institution in the US Department of Education DAPIP database, fuses in College Scorecard when a key is configured, and returns an is_accredited flag, the list of recognized accrediting agencies with each agency type, accreditation status and dates, and a diploma-mill verdict. The diploma_mill_flag is a confidence heuristic (not a binary verdict) built from deterministic weighted signals: the institution is absent from the federal database, a claimed accreditor does not match any ED-recognized agency (the classic tell), every institutional accreditation record has lapsed, an accreditation was denied, the institution is not operating, or a for-profit is unaccredited. Each fired signal returns its weight and reason so an agent can re-rank with its own policy. The response also reports operating status (operating, closed or unknown), normalized institution facts (ownership, level, state, OPEID, IPEDS), a 0-1 confidence and the cited sources. Partial answers are returned when Scorecard is unavailable rather than failing; an unresolved name returns matched false with an elevated diploma-mill signal. US-only, institution-level accreditation indicators, NOT person-level credential verification and NOT a background check. Sources are US-gov public domain.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"edu_verify_edu_verify_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"is_accredited":true,"accreditors":[{"agency_name":"New England Commission of Higher Education","agency_recognized":true,"accreditation_status":"accredited"}],"diploma_mill_flag":false,"institution_status":"operating","institution":{"name":"Harvard University","ownership":"private_nonprofit","state":"MA","opeid":"00215500"},"confidence":0.9}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Institution name (fuzzy match)"},{"name":"opeid","in":"query","required":false,"schema":{"type":"string"},"description":"Office of Postsecondary Education ID (OPEID)"},{"name":"ipeds","in":"query","required":false,"schema":{"type":"string"},"description":"IPEDS unit id (College Scorecard id)"},{"name":"domain","in":"query","required":false,"schema":{"type":"string"},"description":"Web domain, e.g. harvard.edu"},{"name":"claimed_accreditor","in":"query","required":false,"schema":{"type":"string"},"description":"Optional claimed accreditor, checked vs the ED list"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/governance/proposals":{"get":{"tags":["paid"],"summary":"List a DAO's governance proposals from Snapshot, normalized into one schema: id, title, state, choices, per-choice scores, scores_total, quorum, vote count, start/end, author, snapshot block, strategies and a link-back. Filter by state; pass a Snapshot space-id or a known protocol alias.","description":"A normalized feed of a DAO's Snapshot governance proposals for treasury, delegate, monitoring and alert agents that hold governance tokens. Pass a Snapshot `space` (the exact space-id such as uniswapgovernance.eth, lido-snapshot.eth or aave.eth, or a curated protocol alias like `uniswap`) and optionally a `state` (active / pending / closed) and `limit`. Each proposal comes back under one schema: id, title, state, the choice labels, the per-choice scores and scores_total (voting power), the space quorum, the vote count, start/end unix timestamps, author, the snapshot block the ballot is weighed at, a compact strategies summary, and a link-back to Snapshot. One call instead of writing and maintaining Snapshot GraphQL yourself. The upstream host is fixed (Snapshot Hub, keyless) so the caller only ever supplies a space-id/state/limit — SSRF-safe. An empty space returns 422, a total upstream failure is a 502. Every response carries Snapshot attribution and a not-advice disclaimer. Data about proposals only — no vote is cast.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"governance_proposals_governance_proposals_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"space":"uniswapgovernance.eth","state":"active","count":1,"proposals":[{"id":"0xabc","space":"uniswapgovernance.eth","title":"[Temp Check] Protocol Fee","state":"active","choices":["For","Against","Abstain"],"scores":[735034.4,0,0],"scores_total":735034.4,"quorum":10000000.0,"votes_count":74,"start":1783770071,"end":1784202071,"strategies_summary":["uni"],"link":"https://snapshot.box/#/s:uniswapgovernance.eth/proposal/0xabc"}],"attribution":["Governance data from Snapshot Hub"],"disclaimer":"DAO-governance data, not voting or financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"space","in":"query","required":true,"schema":{"type":"string"},"description":"Snapshot space-id (e.g. uniswapgovernance.eth) or a known protocol alias (e.g. uniswap)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["active","pending","closed"]},"description":"Filter proposals by lifecycle state"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":30},"description":"Max proposals to return (default 15, cap 30)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/governance/proposal":{"get":{"tags":["paid"],"summary":"One Snapshot proposal plus DETERMINISTIC governance semantics (no LLM): quorum progress and whether quorum is met, the leading choice and its margin, participation (votes and total voting power), seconds remaining, an honest outcome projection (current leader, not a final result), the top voters, and a structured digest.","description":"The moat route: one Snapshot proposal enriched with governance semantics computed deterministically (arithmetic and string ops only, no LLM, fully reproducible). Give a `proposal_id` (the 0x… hex id) and get the normalized proposal plus: quorum_progress (scores_total / quorum) and quorum_met; the leading_choice and its share; the margin between the leading and runner-up choice; participation (vote count, total voting power committed, quorum progress); time_remaining_sec until the ballot closes; an outcome_projection that names the CURRENT leader but is labelled HONESTLY as non-final — voting power can still change until close (the way a forecast is not a guarantee); the top voters by voting power with their resolved choice labels (a delegate-participation grain); and a structured digest (title + a truncated body excerpt + the current tally — assembled, never LLM-summarized). The upstream host is fixed; the caller passes only the id — SSRF-safe. A missing proposal returns 422, an upstream failure 502. Every response carries Snapshot attribution and a not-advice disclaimer. Read-only — no vote is cast.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"governance_proposal_governance_proposal_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"proposal":{"id":"0xabc","title":"[Temp Check] Protocol Fee","state":"active","choices":["For","Against","Abstain"],"scores_total":735034.4,"quorum":10000000.0},"semantics":{"quorum_progress":0.0735,"quorum_met":false,"leading_choice":"For","leading_share":1.0,"margin":{"leader":"For","runner_up":"Against","score_gap":735034.4},"participation":{"votes_count":74,"voting_power_total":735034.4},"time_remaining_sec":84000,"outcome_projection":{"leading_choice":"For","quorum_met":false,"is_final":false,"caveat":"current leader, not final"},"top_voters":[{"voter":"0xB93…","choice_label":"For","vp":457473.9}],"digest":{"title":"[Temp Check] Protocol Fee","leading_choice":"For"}},"attribution":["Governance data from Snapshot Hub"],"disclaimer":"DAO-governance data, not voting or financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"proposal_id","in":"query","required":true,"schema":{"type":"string"},"description":"Snapshot proposal id (0x… hex)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/governance/votes":{"get":{"tags":["paid"],"summary":"Normalized votes on a Snapshot proposal, ordered by voting power: voter address, resolved choice label, voting power, reason and timestamp. Tracks delegate participation and voting behaviour.","description":"The votes cast on a Snapshot proposal, normalized and ordered by voting power (highest first) — for tracking how delegates and large holders are voting. Pass a `proposal_id` and optional `limit`. Each vote carries the voter address, the raw choice index AND its resolved human label (mapped from the proposal's choices, so 'For'/'Against' not just `1`/`2`), the voting power behind it, any reason text the voter left, and the unix timestamp. Complex ballots (approval / ranked / weighted) keep their raw choice payload and carry a null label rather than being mislabelled. The upstream host is fixed; the caller passes only the id and limit — SSRF-safe. A missing proposal returns 422, an upstream failure 502. Every response carries Snapshot attribution and a not-advice disclaimer. Read-only.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"governance_votes_governance_votes_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"proposal_id":"0xabc","choices":["For","Against","Abstain"],"count":1,"votes":[{"voter":"0xB93…","choice":1,"choice_label":"For","vp":457473.9,"created":1783774987}],"attribution":["Governance data from Snapshot Hub"],"disclaimer":"DAO-governance data, not voting or financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"proposal_id","in":"query","required":true,"schema":{"type":"string"},"description":"Snapshot proposal id (0x… hex)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Max votes to return (default 20, cap 50)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/governance/space":{"get":{"tags":["paid"],"summary":"A Snapshot space's config and context so an agent understands the voting RULES: name, about, network, token symbol, strategies, admins/moderators, voting delay/period/quorum/type, proposal and follower counts, and a breakdown of active/pending/closed proposals.","description":"The configuration and context of a Snapshot space, so a governance agent knows the RULES before it reads or reasons about proposals. Pass a `space` (exact space-id or a curated protocol alias) and get: the display name and about text, the network and governance token symbol, a compact strategies summary (how voting power is computed), the admin and moderator addresses, the voting config (delay, period, quorum, type), the total proposal count and follower count, and a bucketed count of active / pending / closed proposals (active and pending are exact bounded counts; closed is derived from the total). The upstream host is fixed; the caller passes only a space-id — SSRF-safe. A missing space returns 422, an upstream failure 502. Every response carries Snapshot attribution and a not-advice disclaimer.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"governance_space_governance_space_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"space":{"id":"uniswapgovernance.eth","name":"Uniswap","network":"1","symbol":"UNI","strategies_summary":["uni"],"voting":{"period":432000,"quorum":10000000.0},"proposals_count":196,"followers_count":125264,"counts":{"active":1,"pending":0,"closed":195}},"attribution":["Governance data from Snapshot Hub"],"disclaimer":"DAO-governance data, not voting or financial advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"space","in":"query","required":true,"schema":{"type":"string"},"description":"Snapshot space-id (e.g. uniswapgovernance.eth) or a known protocol alias (e.g. uniswap)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/crime/location":{"get":{"tags":["paid"],"summary":"Crime-risk verdict for a US location from public FBI UCR and NIBRS data. Give an address, a latitude and longitude, an agency ORI code, or a state, and get a 0-100 crime risk score, a low, medium, high or critical rating, a violent and property breakdown, a multi-year trend and a comparison with the national baseline, citing the reporting agency and the data as-of date. Deterministic, no AI. Aggregate risk indicators, not a consumer report.","description":"One-call location crime-risk scoring for insurance-underwriting, real-estate, relocation and travel-safety agents doing due-diligence on a place. Supply an address, a coordinate pair, an FBI ORI code or a state, and the route geocodes the input, resolves the nearest FBI reporting agency, fetches several years of violent-crime and property-crime rates from the public FBI Crime Data Explorer and returns a deterministic verdict: a 0-100 crime_risk_score and a low, medium, high or critical rating. The score is a transparent weighted model over four dimensions: the absolute violent-crime rate, the absolute property-crime rate, how far the local violent rate exceeds the US national baseline, and the violent-rate trend across the reporting years. Higher means more risk. Each fired dimension returns its points, severity and a plain-language reason so an agent can re-rank with its own policy, and the response carries the annualized violent and property series, the national baseline, the resolved agency, its NIBRS participation and the data as-of date. FBI UCR and NIBRS data lags one to two years and agency reporting coverage varies, so the score prefers the latest complete reporting year and reports the as-of date; partial answers are returned when a source is down rather than failing, and a location that resolves to nothing returns verdict not_found. United States only. Aggregate location and agency statistics only, never data about identifiable people; named sex-offender registries are deliberately not surfaced. Output is aggregate public-domain crime statistics for lawful due-diligence, not a consumer report and not for use in violation of the Fair Housing Act, ECOA or FCRA.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"crime_location_crime_location_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","crime_risk_score":58,"rating":"high","agency":{"ori":"DE0010100","agency_name":"Dover Police Department","state":"DE"},"metrics":{"violent_rate_per_100k_yr":640.2,"violent_rate_year":2023,"national_violent_rate_per_100k_yr":370.1,"vs_national_ratio":1.73},"signals":[{"dimension":"violent","points":31.5,"severity":"critical"}],"as_of":"06/2026","disclaimer":"Aggregate risk indicators, not a consumer report."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"US street address, city or place to geocode"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude (with lon)"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude (with lat)"},{"name":"ori","in":"query","required":false,"schema":{"type":"string"},"description":"FBI agency ORI code (e.g. DE0010100)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state code (fallback or disambiguation)"},{"name":"years","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Trailing reporting years to fuse, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/crime/agency":{"get":{"tags":["paid"],"summary":"Normalized crime profile for one FBI reporting agency by ORI code. Give an ORI and an optional offense and get the agency's multi-year annualized offense rates per 100,000 people, the latest complete reporting year, the trend and the data as-of date. The raw grain behind crime/location, without geocoding.","description":"The direct-agency grain behind the crime/location flagship, for agents that already hold an FBI ORI code and want the raw normalized numbers without a geocode step. Give an ORI and, optionally, one of the supported offenses (violent-crime and property-crime aggregates plus homicide, rape, robbery, aggravated assault, burglary, larceny, motor-vehicle theft and arson) and a window of trailing years. The route pulls the agency metadata from the FBI state roster and the monthly offense rates from the FBI Crime Data Explorer, annualizes them into per-100,000 yearly rates, marks which years are complete, computes the trend from the earliest to the latest complete year and reports the data as-of date. Aggregate agency statistics only, never data about people. Partial answers are returned when the source is down; an agency with no data in the window returns an empty rate list. United States only. Aggregate public-domain crime statistics, not a consumer report and not for use in violation of the Fair Housing Act, ECOA or FCRA.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"crime_agency_crime_agency_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","ori":"DE0010100","offense":"violent-crime","agency":{"agency_name":"Dover Police Department","state":"DE","is_nibrs":true},"annual_rates":[{"year":2023,"rate_per_100k_yr":640.2,"complete":true}],"trend_pct":4.1,"as_of":"06/2026"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ori","in":"query","required":true,"schema":{"type":"string"},"description":"FBI agency ORI code (e.g. DE0010100)"},{"name":"offense","in":"query","required":false,"schema":{"type":"string","enum":["violent-crime","homicide","rape","robbery","aggravated-assault","property-crime","burglary","larceny","motor-vehicle-theft","arson"]},"description":"Offense to report, default violent-crime"},{"name":"years","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Trailing reporting years, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/crime/benchmark":{"get":{"tags":["paid"],"summary":"National or state baseline crime rates for an offense and window from public FBI UCR and NIBRS data. Give an offense and an optional 2-letter state and get the annualized rate per 100,000 people by year, for anchoring a local score. Deterministic, no AI.","description":"The reference-baseline route, the anchor an agent uses to interpret a local crime score. Give one of the supported offenses and, optionally, a 2-letter state code, and the route returns the annualized national rate per 100,000 people by year, plus the state series when a state is supplied, from the public FBI Crime Data Explorer summarized data. Rates are annualized from the monthly reporting and each year is flagged complete or partial, with the data as-of date. Deterministic, no AI, marginal cost near zero. United States only. Aggregate public-domain crime statistics, not a consumer report and not for use in violation of the Fair Housing Act, ECOA or FCRA.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"crime_benchmark_crime_benchmark_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","offense":"violent-crime","scope":"state","state":"DE","national":[{"year":2023,"rate_per_100k_yr":370.1,"complete":true}],"state_rates":[{"year":2023,"rate_per_100k_yr":430.5,"complete":true}],"as_of":"06/2026"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"offense","in":"query","required":false,"schema":{"type":"string","enum":["violent-crime","homicide","rape","robbery","aggravated-assault","property-crime","burglary","larceny","motor-vehicle-theft","arson"]},"description":"Offense to benchmark, default violent-crime"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state; omit for national"},{"name":"years","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"Trailing reporting years, default 5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/crime/incidents":{"get":{"tags":["paid"],"summary":"Recent incident density for a supported US city from its open-data portal. Give a city slug and an optional look-back window in days and get aggregated counts of reported incidents by offense category, a fresher signal than the lagged federal data. Counts by type, not a per-incident dump.","description":"A fresher, city-level complement to the lagged federal data, for agents that want recent incident density in a supported metro. Give a city portal slug (the supported set is listed at crime/sources) and an optional look-back window in days, and the route runs a keyless aggregation query against that city's open-data portal and returns the count of reported incidents by offense category over the window, sorted by frequency, with the total and the number of distinct categories. This is a density signal, not a raw per-incident dump; portal coverage and category taxonomies differ by city so counts are not directly comparable across cities. The upstream host for each city is fixed in the registry, so the caller only ever supplies a slug, never a URL. Partial answers are returned when a portal is down. Aggregate open-data statistics only, never data about identifiable people. Aggregate public-domain crime statistics, not a consumer report and not for use in violation of the Fair Housing Act, ECOA or FCRA.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"crime_incidents_crime_incidents_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","city":"chicago","window_days":365,"total_incidents":258000,"by_type":[{"offense_type":"THEFT","count":58000},{"offense_type":"BATTERY","count":41000}],"distinct_types":30}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","enum":["chicago","new-york","los-angeles","seattle"]},"description":"Supported city portal slug (see crime/sources)"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1825},"description":"Look-back window in days, default 365"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/wage/prevailing":{"get":{"tags":["paid"],"summary":"US prevailing-wage determination for an occupation and location: the DOL OFLC four-tier level wages (Level 1 to 4) plus the average, hourly and annualized, with the geographic level, wage year and citation. Resolves the occupation by SOC code, O*NET code or free text and the location by OFLC area, county and state, or metro-area name. Optionally flags whether an offered wage meets the prevailing level.","description":"The prevailing-wage level determination a US employer must make for an H-1B Labor Condition Application or a PERM permanent-labor certification, exposed as a deterministic API for immigration-law, HR and offer-compliance agents. Resolves the occupation from a SOC code, an O*NET-SOC code or an occupation title in free text, and the work location from an OFLC area code, a county plus state, or a metropolitan-area name. Returns the four statutory wage levels and the average for that area and occupation, each as an hourly rate and annualized at 2080 hours, together with the geographic level of the published wage, the wage year and a citation. These are the ready level wages published by the Department of Labor Office of Foreign Labor Certification from the Bureau of Labor Statistics OES survey, not a percentile recomputation, so they are the legally operative figures and robust to a methodology change. Supply an offered wage to get an offered-versus-prevailing compliance flag. Choose the ACWIA wage population for higher-education and non-profit research employers. Public labor-market data, not legal or immigration advice. See /wage/sources for provenance and the wage year.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"wage_prevailing_wage_prevailing_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"soc":"15-1252","soc_title":"Software Developers","area":"41940","area_name":"San Jose-Sunnyvale-Santa Clara, CA","geo_level":1,"wage_source":"all_industries","wage_year":"2025-26","levels":{"1":{"hourly":61.23,"annual":127358.4},"2":{"hourly":75.1,"annual":156208.0}},"average":{"hourly":82.5,"annual":171600.0},"compliance":{"meets_level":2,"below_prevailing":false},"attribution":"DOL OFLC Wage Files + BLS OES (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"soc","in":"query","required":false,"schema":{"type":"string"},"description":"SOC occupation code, e.g. 15-1252"},{"name":"onet","in":"query","required":false,"schema":{"type":"string"},"description":"O*NET-SOC code, e.g. 15-1252.00"},{"name":"occupation","in":"query","required":false,"schema":{"type":"string"},"description":"Occupation title as free text"},{"name":"area","in":"query","required":false,"schema":{"type":"string"},"description":"OFLC area code"},{"name":"county","in":"query","required":false,"schema":{"type":"string"},"description":"County name (with state)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","examples":["CA","NY"]},"description":"Two-letter US state"},{"name":"msa","in":"query","required":false,"schema":{"type":"string"},"description":"Metro or nonmetro area name"},{"name":"level","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":4},"description":"Wage level 1 to 4"},{"name":"wage_source","in":"query","required":false,"schema":{"type":"string","enum":["all_industries","acwia"]},"description":"Wage population (default all_industries)"},{"name":"offered_wage","in":"query","required":false,"schema":{"type":"number"},"description":"Offered wage to compliance-check"},{"name":"offered_basis","in":"query","required":false,"schema":{"type":"string","enum":["hour","year"]},"description":"Basis of offered_wage (default year)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/wage/occupations":{"get":{"tags":["paid"],"summary":"Resolve an occupation title to ranked SOC candidates, each with the SOC code, official title and a match score. The cheap first step before a prevailing-wage determination when only a job title is known.","description":"The cheap first step to map a job title to its Standard Occupational Classification code before requesting a prevailing-wage determination. Searches the OFLC occupation dictionary (BLS OES titles) and returns ranked candidate occupations, each with the SOC code, official title and a relevance score, so an agent can confirm the occupation before paying for the full wage lookup. Public occupational-classification data.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"wage_occupations_wage_occupations_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"candidates":[{"soc":"29-1141","title":"Registered Nurses","score":97.5}],"attribution":"DOL OFLC Wage Files + BLS OES (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"occupation","in":"query","required":true,"schema":{"type":"string"},"description":"Occupation title to resolve"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Maximum candidates (default 10)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/wage/areas":{"get":{"tags":["paid"],"summary":"Resolve a US location to ranked OFLC wage-area candidates, each with the area code, area name and state. Accepts a county with state, or a city or metro name. The cheap first step to find the area code for a prevailing-wage lookup.","description":"The cheap first step to map a US location to its OFLC wage area before requesting a prevailing-wage determination. Accepts a county together with a two-letter state, or a city or metropolitan-area name, and returns ranked candidate areas, each with the OFLC area code, area name and state. Use the returned area code with /wage/prevailing. Public geographic-crosswalk data.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"wage_areas_wage_areas_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"candidates":[{"area":"12420","area_name":"Austin-Round Rock, TX","state":"TX"}],"attribution":"DOL OFLC Wage Files + BLS OES (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"county","in":"query","required":false,"schema":{"type":"string"},"description":"County name (with state)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","examples":["TX","CA"]},"description":"Two-letter US state"},{"name":"location","in":"query","required":false,"schema":{"type":"string"},"description":"City or metro-area name"},{"name":"msa","in":"query","required":false,"schema":{"type":"string"},"description":"Metro-area name (alias of location)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/employer/laborcert":{"get":{"tags":["paid"],"summary":"Employer labor-certification track record from public OFLC case-disclosure data: application counts by program, certified, denied and withdrawn rates, offered-wage range, top occupations and a flag for offered wages below the prevailing wage. Query by employer name or by SOC, state and fiscal year.","description":"The employer-side counterpart to the prevailing-wage routes: an aggregate labor-certification track record for a US employer from the public Office of Foreign Labor Certification case-disclosure data, for immigration-law, recruiting and compliance agents. Query by employer name, or by SOC occupation, worksite state and federal fiscal year. Returns the number of applications by program, the certified, denied and withdrawn shares, the offered-wage range and average, the most common occupations, and a flag for any offered wages below the prevailing wage. Employer names are published by the Department of Labor; this is historical filing data, not a prediction of any future determination and not legal or immigration advice. Where the disclosure index is not built on an instance the response reports available false; see /wage/sources for status.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"employer_laborcert_employer_laborcert_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"available":true,"found":true,"total_applications":128,"by_status":{"certified":120,"denied":3,"withdrawn":5},"rates":{"certified":0.9375,"denied":0.0234},"below_prevailing_flag":false,"attribution":"DOL OFLC Wage Files + BLS OES (public domain)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"employer","in":"query","required":false,"schema":{"type":"string"},"description":"Employer name"},{"name":"soc","in":"query","required":false,"schema":{"type":"string"},"description":"SOC occupation code filter"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Two-letter worksite state filter"},{"name":"fiscal_year","in":"query","required":false,"schema":{"type":"string"},"description":"Federal fiscal year filter"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/fda/screen":{"get":{"tags":["paid"],"summary":"Search FDA-regulated manufacturers in the public FDA establishment records by firm name and get ranked facility candidates, each with its FDA FEI number, location, product types, inspection count and latest inspection classification. Cheap first step before fda/facility.","description":"The light first step of a two-step FDA GMP vetting flow (screen then facility, mirroring the OSHA and freight screen-then-verify pattern). Give a manufacturer or firm name and get back ranked facility candidates grouped from the public FDA Data Dashboard inspection-classifications dataset, each carrying its FDA establishment identifier (FEI number), city, state and country, the FDA product types it makes, how many inspections are on record, and its latest and worst inspection classification (No Action Indicated, Voluntary Action Indicated or Official Action Indicated). Optional state, country and product-type filters narrow the set; foreign manufacturers (India, China, the EU) are covered because the FEI number is global. Ranking is exact then prefix then substring on the normalized name, more-inspected and more-recent first, deduplicated by FEI number. An agent uses this to pick the right establishment and then calls fda/facility for the full deterministic compliance-risk dossier. Returns an empty list when nothing matches and a partial result when a source is down rather than failing; an empty name is a 400. Business and establishment metadata only. The FDA Data Dashboard API is keyed but free; if the server has no key configured the response reports availability false rather than failing. Source is the FDA Data Dashboard, US FDA public domain. Risk indicators, not legal or regulatory advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"fda_screen_fda_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"SUN PHARMACEUTICAL","count":1,"candidates":[{"fei":"3002807820","legal_name":"Sun Pharmaceutical Industries Ltd","country":"India","product_types":["Drugs"],"inspection_count":4,"latest_classification":"Official Action Indicated"}],"attribution":["FDA Data Dashboard (US FDA; US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Manufacturer / firm name to search for"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code to narrow"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country name to narrow (foreign firms covered)"},{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["Drugs","Devices","Biologics","Foods","Cosmetics","Tobacco","Veterinary","Radiological Health"]},"description":"Optional FDA product type to narrow"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max candidates to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/fda/facility":{"get":{"tags":["paid"],"summary":"GMP compliance-risk dossier for an FDA-regulated manufacturer from public FDA records. Give an FDA FEI number or firm name and get a 0-100 compliance risk score, a low, medium, high or critical rating, the inspection-classification history, warning letters and enforcement actions, Form-483 citations and import refusals, per-dimension signals and cited FDA record links. Deterministic, no LLM. Risk indicators, not legal or regulatory advice.","description":"One-call FDA GMP vetting for procurement, supplier-qualification, ESG, supply-chain and M&A due-diligence agents screening an FDA-regulated manufacturer of drugs, devices, biologics, food, cosmetics or tobacco. Give an FDA FEI number or a firm name (optionally narrowed by state, country or product type) and the route resolves the best-matching establishment and fuses FOUR public FDA enforcement streams under one query: the inspection-classification history (Official, Voluntary or No Action Indicated, plus the trend and the latest outcome), compliance actions (warning letters, injunctions, seizures and consent decrees), Form-483 inspection observations with their cited CFR clause and short description, and import refusals at the US border. It returns a deterministic compliance-risk verdict: a 0-100 compliance_risk_score and a low, medium, high or critical rating. The score is a transparent weighted model across dimensions: Official Action Indicated classifications, judicial enforcement, warning letters, the volume and severity of Form-483 observations (data-integrity findings weighted heaviest), import refusals, how recent the adverse activity is, the inspection trend and the depth of the enforcement history. Each fired dimension returns its points, severity and a human-readable reason so an agent can re-rank with its own policy, and the response cites the underlying FDA firm-profile record links. Foreign manufacturers are covered because the FEI number is global. Partial answers are returned when a stream is down rather than failing; nothing found returns verdict not_found. This describes the manufacturer's regulatory standing, not the safety of any specific product. FDA data lags: a classification is posted only after an inspection closes and open cases may lack citation data, so verify inspection status and warning-letter close-out directly with FDA. The FDA Data Dashboard API is keyed but free; if the server has no key configured the response reports availability false rather than failing. Source is the FDA Data Dashboard, US FDA public domain. Risk indicators, not legal, regulatory, medical or investment advice.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"fda_facility_fda_facility_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","compliance_risk_score":88,"rating":"critical","trend":"worsening","facility":{"fei":"3002807820","legal_name":"Sun Pharmaceutical Industries Ltd","country":"India"},"aggregates":{"oai_count":2,"warning_letter_count":1,"import_refusal_count":5},"signals":[{"dimension":"oai_classification","points":30.0,"severity":"critical"}],"rating_note":"0-100, higher = more risk"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fei","in":"query","required":false,"schema":{"type":"string"},"description":"FDA establishment identifier (FEI number); the join key"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Firm name (used to resolve an FEI if no fei is given)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code to disambiguate a name"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country name to disambiguate a name"},{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["Drugs","Devices","Biologics","Foods","Cosmetics","Tobacco","Veterinary","Radiological Health"]},"description":"Optional FDA product type to disambiguate a name"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/fda/inspections":{"get":{"tags":["paid"],"summary":"FDA inspection history for a manufacturer from public FDA records. Give an FDA FEI number or firm name and get the inspection classifications (Official, Voluntary or No Action Indicated) with the trend, plus the Form-483 observation citations with their cited CFR clause and short description. Deterministic, no LLM. Risk indicators, not legal or regulatory advice.","description":"The inspection face of an FDA establishment's GMP record, for agents that want the raw inspection trail behind a compliance verdict. Give an FDA FEI number or a firm name (optionally narrowed by state, country or product type) and the route returns the establishment's inspection-classification history from the public FDA Data Dashboard — each inspection's outcome (Official, Voluntary or No Action Indicated), its date, product type and project area — together with the trend (worsening, improving or stable) and every Form-483 observation citation on record, each with its cited CFR clause, program area and short description and a flag marking data-integrity findings. A compact summary counts the inspections, the Official Action Indicated outcomes, the total Form-483 citations and the data-integrity subset. Foreign manufacturers are covered because the FEI number is global. Partial answers are returned when a stream is down rather than failing; nothing found returns verdict not_found. FDA data lags: a classification is posted only after an inspection closes and open cases may lack citation data. The FDA Data Dashboard API is keyed but free; without a configured key the response reports availability false rather than failing. Source is the FDA Data Dashboard, US FDA public domain. Risk indicators, not legal or regulatory advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"fda_inspections_fda_inspections_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","facility":{"fei":"3002807820","legal_name":"Sun Pharmaceutical Industries Ltd"},"trend":"worsening","summary":{"inspection_count":4,"oai_count":2,"form_483_citation_count":6,"data_integrity_citation_count":3},"form_483_citations":[{"act_cfr_number":"21 CFR 211.194","short_description":"Laboratory records","data_integrity":true}],"disclaimer":"Risk indicators, not legal or regulatory advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fei","in":"query","required":false,"schema":{"type":"string"},"description":"FDA FEI number"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Firm name (resolves an FEI)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country name"},{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["Drugs","Devices","Biologics","Foods","Cosmetics","Tobacco","Veterinary","Radiological Health"]},"description":"Optional FDA product type"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/fda/enforcement":{"get":{"tags":["paid"],"summary":"FDA enforcement history for a manufacturer from public FDA records. Give an FDA FEI number or firm name and get the compliance actions (warning letters, injunctions, seizures and consent decrees) plus the import refusals at the US border, each with its date and product. Deterministic, no LLM. Risk indicators, not legal or regulatory advice.","description":"The enforcement face of an FDA establishment's record, for agents that want the formal FDA compliance actions and border activity behind a verdict. Give an FDA FEI number or a firm name (optionally narrowed by state, country or product type) and the route returns every compliance action FDA took against the establishment from the public FDA Data Dashboard — warning letters, injunctions, seizures and consent decrees, each with its date, issuing center and product type — together with the firm's import refusals at the US border, each with its refusal date, product code and description, refusal charges and country. A compact summary counts the warning letters, the judicial-enforcement actions, all compliance actions and the import refusals. Foreign manufacturers are covered because the FEI number is global. Partial answers are returned when a stream is down rather than failing; nothing found returns verdict not_found. The FDA Data Dashboard API is keyed but free; without a configured key the response reports availability false rather than failing. Source is the FDA Data Dashboard, US FDA public domain. Risk indicators, not legal or regulatory advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"fda_enforcement_fda_enforcement_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","facility":{"fei":"3002807820","legal_name":"Sun Pharmaceutical Industries Ltd"},"summary":{"warning_letter_count":1,"critical_action_count":1,"compliance_action_count":2,"import_refusal_count":5},"compliance_actions":[{"action_type":"Warning Letter","action_taken_date":"2023-12-01","center":"CDER"}],"import_refusals":[{"refusal_date":"2024-02-14","product_code":"62LDT","refusal_charges":"CGMP"}],"disclaimer":"Risk indicators, not legal or regulatory advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fei","in":"query","required":false,"schema":{"type":"string"},"description":"FDA FEI number"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Firm name (resolves an FEI)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Optional country name"},{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["Drugs","Devices","Biologics","Foods","Cosmetics","Tobacco","Veterinary","Radiological Health"]},"description":"Optional FDA product type"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/aircraft/registration":{"get":{"tags":["paid"],"summary":"Look up a US-registered aircraft in the public FAA Aircraft Registry by tail number (N-number) or serial and get a normalized record: registration status, registered owner, make, model, year, serial, engine, airworthiness date, type certificate and Mode-S code. Cheap first step before aircraft/diligence.","description":"The light first step of a two-step aircraft asset-vetting flow (registration then diligence, mirroring the OSHA and freight screen-then-verify pattern). Give a US tail number (N-number) or a serial number and get back a normalized record from the public FAA Aircraft Registry Inquiry: the registration status (valid, expired, reserved, sale-reported), the registered owner name and location, the manufacturer, model and year, the serial number, the aircraft and engine type, the airworthiness date, classification and category, the type certificate holder and data sheet, the fractional-ownership and dealer flags and the Mode-S code. A serial number resolves through the FAA serial search to the matching tail and then to the full record. A reserved N-number returns verdict reserved with the reservation detail and no aircraft; nothing found returns verdict not_found; a source hiccup returns a partial result rather than failing. Recorded liens and the full ownership chain are not available free by tail number, so lien_status is not_available_free. Registry metadata only. Source is the FAA Aircraft Registry, US DOT public domain. A diligence signal, not a certified title search and not legal advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"aircraft_registration_aircraft_registration_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","record":{"n_number":"N801NN","record_type":"aircraft","status_label":"Valid","manufacturer_name":"BOEING","model":"737-823","mfr_year":"2009","serial_number":"29565","registered_owner":{"name":"BANK OF UTAH TRUSTEE","state":"UTAH"},"expiration_date":"07/31/2027"},"lien_status":"not_available_free","attribution":["FAA Aircraft Registry Inquiry (US DOT/FAA; US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tail","in":"query","required":false,"schema":{"type":"string"},"description":"US tail number / N-number, for example N801NN"},{"name":"serial","in":"query","required":false,"schema":{"type":"string"},"description":"Aircraft serial number (used if no tail is given)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/aircraft/diligence":{"get":{"tags":["paid"],"summary":"Title and airworthiness due-diligence verdict for a US-registered aircraft from the public FAA Aircraft Registry. Give a tail number or serial and get a 0-100 title risk score, a low, medium, high or critical rating, a clear_to_transact flag, per-dimension signals, reasons and the cited registry fields. Deterministic, no LLM. A diligence signal, not a certified title search.","description":"One-call title and airworthiness vetting for aircraft-buying, aviation-lending, insurance-underwriting and escrow agents diligencing a US aircraft before a deal. Give a tail number (N-number) or serial and the route resolves the aircraft in the public FAA Aircraft Registry and returns a deterministic verdict: a 0-100 title_risk_score, a low, medium, high or critical rating and a clear_to_transact flag. The score is a transparent weighted model across registry dimensions: the registration status is not valid, a sale has been reported, the registration is expired, the registration expires soon, no airworthiness date is on record, an airworthiness exception code applies, fractional ownership is flagged and dealer registration is present. Each fired dimension returns its points, severity and a human-readable reason so an agent can re-rank with its own policy, and the response cites the registry fields behind the score. Recorded liens and the full ownership and conveyance chain are not available free by tail number, so lien_status is not_available_free and the verdict is honestly framed: for an authoritative clear-title determination order an FAA certified abstract of title or a commercial aircraft title search. A reserved N-number returns verdict reserved with no asset to transact; nothing found returns verdict not_found; a source hiccup returns a partial result rather than failing. The FAA registry updates on a lag, so confirm current status directly with the FAA. Source is the FAA Aircraft Registry, US DOT public domain. A diligence signal, not a certified title search and not legal advice.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"aircraft_diligence_aircraft_diligence_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","title_risk_score":0,"rating":"low","clear_to_transact":true,"aircraft":{"n_number":"N801NN","registration_status":"Valid","manufacturer_name":"BOEING","model":"737-823","registered_owner":"BANK OF UTAH TRUSTEE"},"signals":[],"reasons":["No adverse registry title indicators found."],"lien_status":"not_available_free","disclaimer":"A diligence signal, not a certified title search."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tail","in":"query","required":false,"schema":{"type":"string"},"description":"US tail number / N-number, for example N801NN"},{"name":"serial","in":"query","required":false,"schema":{"type":"string"},"description":"Aircraft serial number (used if no tail is given)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/aircraft/owner":{"get":{"tags":["paid"],"summary":"List the US-registered aircraft held by an owner name in the public FAA Aircraft Registry (fleet lookup). Give an owner or company name and get the matching aircraft, each with its tail number, serial and make and model. Registry metadata only. A diligence signal, not a certified title search.","description":"Fleet lookup by owner for asset-verification, lending and underwriting agents mapping the aircraft an owner or operator holds. Give a registered owner or company name and the route runs the public FAA Aircraft Registry name search and returns the matching aircraft, each carrying its tail number (N-number), serial number, manufacturer and model and the owner name on record, capped by an optional limit with a truncated flag when more exist. Use it to enumerate a fleet and then call aircraft/registration or aircraft/diligence per tail for the full record and title verdict. Owner-name matching is exactly what the FAA name search returns; a common name can match many owners, so confirm the tail before relying on a row. Returns an empty list when nothing matches and a partial result when the source is down rather than failing. Registry metadata only. Source is the FAA Aircraft Registry, US DOT public domain. A diligence signal, not a certified title search and not legal advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"aircraft_owner_aircraft_owner_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"BANK OF UTAH TRUSTEE","count":1,"total_found":1,"aircraft":[{"n_number":"N100CM","serial_number":"31T-8020073","manufacturer_model":"PIPER PA-31T","owner":"BANK OF UTAH TRUSTEE"}],"attribution":["FAA Aircraft Registry Inquiry (US DOT/FAA; US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Registered owner or company name to search for"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max aircraft to return, default 25"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/bankhealth/screen":{"get":{"tags":["paid"],"summary":"Search US FDIC-insured banks by name and get ranked candidate institutions, each with its FDIC certificate number, active status, charter class, city and state and headline assets, deposits and return on assets. Cheap first step before bankhealth/verdict.","description":"The light first step of a two-step bank-health vetting flow (screen then verdict, mirroring the osha and adviser screen-then-verify pattern). Give a bank or institution name and get back ranked candidate US FDIC-insured depository institutions resolved from the public FDIC BankFind Suite, each carrying its FDIC certificate number (CERT, the stable join key), whether the charter is currently active, its charter class, its city and state and its headline total assets, total deposits and return on assets and equity. An optional 2-letter state code narrows the set; candidates sharing a CERT are deduplicated. An agent uses this to pick the right institution and its CERT, then calls bankhealth/verdict for the full deterministic health verdict. Returns an empty list when nothing matches and a partial result when the source is down rather than failing; an empty name is a 400. US FDIC-insured banks only (credit unions are deferred NCUA coverage). Source is the FDIC BankFind Suite, US-gov public domain. Bank-health indicators, not financial or deposit-safety advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"bankhealth_screen_bankhealth_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"JPMorgan","count":1,"candidates":[{"name":"JPMorgan Chase Bank, National Association","cert":628,"active":true,"charter_class":"N","city":"Columbus","state":"OH","total_assets_usd":4016571000,"total_deposits_usd":2787994000,"roa":1.44,"roe":16.64}],"attribution":["FDIC BankFind Suite API (US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Bank or institution name to search for"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code to narrow the search"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20},"description":"Max candidates to return, default 8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/bankhealth/verdict":{"get":{"tags":["paid"],"summary":"Financial-health verdict for a US FDIC-insured bank from public call-report data. Give a bank name or FDIC cert number and get a 0-100 health score (HIGHER is HEALTHIER), an A-F letter grade, derived proxy metrics (capital ratios, Texas-ratio proxy, uninsured-deposit exposure, ROA trend) and per-dimension signals, grounded to the reporting date. Deterministic proxies, no LLM, not CAMELS. Not financial advice.","description":"One-call financial-health vetting for treasury, counterparty-risk, BaaS and fintech-partner selection and M&A due-diligence agents deciding whether a US depository institution is a sound place to hold or route funds. Give a bank name or, better, its FDIC certificate number and the route resolves the institution in the public FDIC BankFind Suite, fetches its most-recent quarterly call reports and returns a deterministic health verdict: a 0-100 health_score where HIGHER means HEALTHIER (the inverse polarity of the risk scores) and an A to F letter grade. The score is a transparent weighted model across dimensions: capital adequacy (total risk-based capital and tier-1 leverage ratios versus the well-capitalized regulatory thresholds), asset quality (a Texas-ratio proxy of problem assets over capital plus reserves), deposit stability (uninsured-deposit exposure, the dynamic behind the 2023 regional-bank runs), profitability (return on assets) and its trend over recent quarters. Each fired dimension returns its points, fraction and a human-readable reason, and every figure is grounded to the reporting date (as_of / REPDTE). Inactive or failed charters are flagged and capped low. These are DERIVED PROXIES computed from the public call-report, explicitly NOT the confidential CAMELS supervisory rating and not a resale of a paid bank rating. Credit unions and enforcement-action and peer-benchmark datasets are registered as deferred coverage a future extension will enable. Partial answers are returned when a source is down rather than failing; nothing found returns verdict not_found. US FDIC-insured banks only. Source is the FDIC BankFind Suite, US-gov public domain. Bank-health indicators, not financial, investment or deposit-safety advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"bankhealth_verdict_bankhealth_verdict_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"found","health_score":86,"letter_grade":"A","as_of":"2026-03-31","institution":{"name":"JPMorgan Chase Bank, N.A.","cert":628,"active":true,"state":"OH"},"derived_metrics":{"total_rbc_ratio":{"value":16.25,"fraction":1.0}},"signals":[{"dimension":"capital_adequacy","points":30.0}],"disclaimer":"Not advice; derived proxies, not CAMELS."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cert","in":"query","required":false,"schema":{"type":"integer"},"description":"FDIC certificate number (preferred)"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Bank name (used if no cert)"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 2-letter US state code"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/bankhealth/failures":{"get":{"tags":["paid"],"summary":"History of US bank failures and assisted acquisitions from the public FDIC failed-bank list. Filter by bank name, FDIC cert number, 2-letter state or year and get matching records with the failure date, resolution type, city and state and the deposits, assets and estimated cost at failure. Covers the 2023 failures including Silicon Valley, Signature and First Republic.","description":"Query the public FDIC failed-bank list (every FDIC-insured bank and thrift failure and assisted acquisition on record) by bank name, FDIC certificate number, 2-letter state or year, or a combination. A name is resolved to candidate FDIC certificate numbers via the institutions register and then joined to the failures list by that certificate number, because the raw name filter on the failures endpoint is unreliable. Each returned record carries the failed institution's name and certificate number, the failure date and year, its city and state, the resolution type and the deposits, assets and estimated resolution cost at the time of failure. Useful as due-diligence context alongside bankhealth/verdict and for studying resolution history; the list includes the 2023 regional-bank failures (Silicon Valley Bank, Signature Bank, First Republic Bank). Returns an empty list when nothing matches and a partial result when the source is down rather than failing; a call with no filter at all is a 400. US FDIC-insured banks only. Source is the FDIC BankFind Suite failures dataset, US-gov public domain. Historical record, not financial advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"bankhealth_failures_bankhealth_failures_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"year":2023,"state":"CA"},"count":2,"failures":[{"name":"SILICON VALLEY BANK","cert":24735,"fail_date":"3/10/2023","city_state":"SANTA CLARA, CA","resolution_type":"FAILURE","deposits_at_failure_usd_thousands":175378000,"assets_at_failure_usd_thousands":209026000}],"attribution":["FDIC BankFind Suite API (US-gov public domain)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Bank name to look up failures for (resolved via FDIC cert)"},{"name":"cert","in":"query","required":false,"schema":{"type":"integer"},"description":"FDIC certificate number"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"2-letter US state code"},{"name":"year","in":"query","required":false,"schema":{"type":"integer","minimum":1900,"maximum":2100},"description":"Failure year"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/stablecoin/list":{"get":{"tags":["paid"],"summary":"Catalog of covered stablecoins ranked by market cap, from the DefiLlama stablecoins feed. Each row carries symbol, name, DefiLlama id, peg type, collateral mechanism, total circulating supply, current price and the chains it lives on. Optionally filter by collateral mechanism or by chain. The cheap first step that resolves a symbol to the id the other routes use.","description":"The discovery grain for stablecoin intelligence. It returns the universe of stablecoins DefiLlama tracks (hundreds of assets), each normalized to a compact record: ticker symbol, full name, the DefiLlama id used as the join key by the peg, supply and profile routes, the peg type, the collateral mechanism (fiat-backed, crypto-backed or algorithmic), total circulating supply across all chains, the latest price, and the list of chains the token is deployed on. Results are ranked by circulating supply so the largest, most liquid dollar tokens come first. Narrow the set with the collateral-mechanism filter to compare fiat-backed against algorithmic designs, or with the chain filter to see which dollars are available where. Because coverage is data-driven, a newly listed stablecoin is picked up automatically. Every response is attributed to the open-data source. An upstream failure returns 502, never a 500. The score and status fields are derived signals, not financial advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"stablecoin_list_stablecoin_list_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"total_matched":1,"stablecoins":[{"symbol":"USDC","name":"USD Coin","llama_id":"2","pegType":"peggedUSD","pegMechanism":"fiat-backed","circulating_total":73470281562.2,"price":0.9998,"chains":["Ethereum","Base"]}],"attribution":["Source: DefiLlama Stablecoins (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"pegMechanism","in":"query","required":false,"schema":{"type":"string","enum":["fiat-backed","crypto-backed","algorithmic"]},"description":"Filter by collateral mechanism"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Filter to stablecoins present on this chain, such as Base"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500},"description":"Max rows to return (ranked by circulating)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/stablecoin/profile":{"get":{"tags":["paid"],"summary":"Full stablecoin risk profile for a symbol, or a contract address with its chain. Fuses identity and collateral mechanism, the peg (price, deviation from one dollar and a depeg status), supply (total and per-chain circulating with an independent on-chain totalSupply cross-check and a divergence flag), known contract addresses, and a deterministic 0-100 depeg-risk score with rating and per-signal reasons.","description":"The flagship due-diligence object an agent reads before it holds, accepts or parks a given dollar token. Give a ticker such as USDC, or a contract address together with its chain, and it returns one fused profile. Identity resolves the issuer, peg type and collateral mechanism with a plain-language note on what backs the token. The peg facet returns the current price, the absolute deviation from the one-dollar peg, and a coarse depeg status of stable, watch or depegged. The supply facet returns total circulating supply, the per-chain breakdown, and an INDEPENDENT crypto-native cross-check that reads the ERC-20 totalSupply of the curated contract straight from chain state and flags any divergence from the aggregator figure. Known contract addresses per chain are listed. A proof-of-reserve availability flag is carried for a phase-two reserve-attestation feed. Finally a deterministic depeg-risk score from 0 to 100, with a low, medium, high or critical rating and a transparent per-signal reasons array, combines the collateral mechanism, the size of the peg deviation and any supply divergence. The score is computed by fixed math with no model in the loop and is a derived signal, explicitly not financial advice. Unknown token returns 404, an upstream failure 502, never a 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"stablecoin_profile_stablecoin_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"identity":{"symbol":"USDC","name":"USD Coin","llama_id":"2","pegType":"peggedUSD","collateral_mechanism":"fiat-backed"},"peg":{"price":0.9998,"peg_deviation":0.0002,"depeg_status":"stable"},"supply":{"circulating_total":73470281562.2,"chain_count":20,"divergence_flag":false},"depeg_risk_score":10,"rating":"low","citations":["Source: DefiLlama Stablecoins (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Stablecoin ticker, such as USDC, or a DefiLlama id"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Contract address (alternative to symbol)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Chain for the address and to prefer for on-chain verify"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/stablecoin/peg":{"get":{"tags":["paid"],"summary":"Peg facet for a stablecoin: current price, the absolute deviation from the one-dollar peg, a coarse depeg status of stable, watch or depegged, and the collateral mechanism with a note. The cheap grain for monitoring whether a dollar token is holding its peg. Cited to the open-data source.","description":"A focused, low-cost peg check for a single dollar token, ideal for polling. It resolves the token by ticker or DefiLlama id and returns the current price, the absolute deviation from the one-dollar peg, and a coarse status label of stable when within a tight band, watch when drifting, and depegged when the deviation is large. It also names the collateral mechanism with a short note so an agent understands the backing at a glance. Values are attributed to the open-data source. Unknown token returns 404, an upstream failure 502, never a 500. The status is a derived signal, not financial advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"stablecoin_peg_stablecoin_peg_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"USDT","name":"Tether","llama_id":"1","peg":{"pegType":"peggedUSD","mechanism":"fiat-backed","price":1.0003,"peg_deviation":0.0003,"depeg_status":"stable"},"attribution":["Source: DefiLlama Stablecoins (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Stablecoin ticker or DefiLlama id"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Contract address (alternative)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Chain for the address"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/stablecoin/supply":{"get":{"tags":["paid"],"summary":"Supply facet for a stablecoin: total circulating supply plus the per-chain breakdown from DefiLlama, cross-checked against an INDEPENDENT on-chain ERC-20 totalSupply read of the curated contract, with a divergence flag when the two disagree beyond a tolerance. Cited to both the open-data source and public on-chain state.","description":"Where the dollars actually live, plus an independent sanity check. It returns the total circulating supply of the stablecoin and the per-chain breakdown from the aggregator, then reads the ERC-20 totalSupply of the curated contract for a chosen chain directly from chain state and compares the two. When the on-chain figure and the aggregator figure disagree beyond a tolerance a divergence flag is raised, which is a useful early signal of stale data or an unexpected mint or bridge event. The on-chain cross-check is best-effort: for a token without a curated contract, or when an RPC endpoint is unreachable, the verification reports availability false and the aggregator supply is still returned. Every response is attributed to the open-data source and, when used, to public on-chain state. Unknown token returns 404, an upstream failure 502, never a 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"stablecoin_supply_stablecoin_supply_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"DAI","name":"Dai","llama_id":"5","supply":{"circulating_total":5300000000.0,"chain_count":12,"per_chain":{"Ethereum":4200000000.0}},"onchain_verification":{"available":true,"chain":"Ethereum","onchain_total_supply":4200000001.0,"divergence_flag":false},"divergence_flag":false,"attribution":["Source: DefiLlama Stablecoins (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Stablecoin ticker or DefiLlama id"},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Contract address (alternative)"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Chain to prefer for the on-chain cross-check"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/holdings/manager":{"get":{"tags":["paid"],"summary":"Normalized Form 13F portfolio for an institutional manager. Give a CIK or name and get consolidated positions: issuer, CUSIP, ticker, shares, value in US dollars, percent of portfolio, voting authority, plus portfolio total, top positions, concentration and spot Bitcoin and Ether ETF exposure, cited to the filing accession and period.","description":"One call returns a clean, consolidated Form 13F portfolio for an institutional investment manager straight from the authoritative SEC source, so an agent does not fetch and parse raw 13F XML. Supply a CIK (authoritative) or a manager name (best-effort resolve, with an honest ask for the CIK when the name is not in the SEC map), and an optional quarter period-end; the route reads the SEC submissions index, selects that quarter's 13F-HR filing (the latest amendment for the period wins), parses the information table, and consolidates the many per-sub-manager rows into one position per security. Each position carries the issuer name, CUSIP, resolved ticker with a match quality of exact, fuzzy or none, share count, value in whole US dollars, percent of portfolio, share or principal type, investment discretion and the sole, shared and none voting split. The response adds the portfolio total, the top positions by value, a concentration block with the top-ten percent and a Herfindahl index, and a spot Bitcoin and Ether ETF exposure slice that flags funds like IBIT, FBTC, GBTC, ARKB and ETHA with their value and asset bucket, the crypto-adoption signal that on-chain trackers miss. Every response cites its accession, period-end and EDGAR index URL and reports the disclosure lag as stale days. Form 13F covers long 13(f) securities only, is filed up to 45 days after quarter-end, and is informational, not investment advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"holdings_manager_holdings_manager_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"manager":{"name":"Berkshire Hathaway Inc","cik":"0001067983"},"quarter":"2026-03-31","portfolioValueUsd":263095703570,"positions":40,"concentration":{"top10Pct":84.1,"hhi":1120.4,"positions":40},"cryptoEtfExposure":{"holds_crypto_etf":false,"totalValueUsd":0,"pctOfPortfolio":0,"byAsset":{},"holdings":[]},"top":[{"issuer":"APPLE INC","cusip":"037833100","class":"COM","ticker":"AAPL","match":"exact","valueUsd":66000000000,"shares":300000000,"pctOfPortfolio":25.09,"investmentDiscretion":"DFND","voting":{"sole":300000000,"shared":0,"none":0}}],"stale_days":45,"filing":{"accession":"0001193125-26-226661","form":"13F-HR","filedDate":"2026-05-15","periodOfReport":"2026-03-31"},"attribution":"SEC EDGAR / Form 13F (US public domain); data.sec.gov + www.sec.gov"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR filer CIK, any zero-padding accepted"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Manager name (best-effort resolve; supply cik if not found)"},{"name":"quarter","in":"query","required":false,"schema":{"type":"string"},"description":"Quarter period-end date, ISO YYYY-MM-DD (default latest)"},{"name":"top","in":"query","required":false,"schema":{"type":"integer"},"description":"How many top positions to return (default 20, max 100)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/holdings/changes":{"get":{"tags":["paid"],"summary":"Quarter-over-quarter change of an institutional manager's Form 13F portfolio. Give a CIK or name and get every position bucketed as new, added, reduced, sold out or unchanged, with per-position share and dollar deltas and a net flow summary, from two consecutive 13F filings, cited to both.","description":"A real fusion product: the deterministic quarter-over-quarter diff of a manager's Form 13F portfolio, so an agent does not download two filings and reconcile them by hand. Supply a CIK or name and an optional quarter; the route loads that quarter's 13F-HR and the immediately preceding quarter's filing (latest amendment per period), consolidates each into positions, and matches them by CUSIP. Every security is bucketed as new, added to, reduced, sold out or unchanged, and each changed position reports its current and previous shares, the share delta and percent share change, and the current, previous and delta value in US dollars. A summary block counts each bucket and computes the added value, the reduced value and the net flow, the manager's net buying or selling in dollars for the quarter, with crypto-ETF positions tagged so an agent can see a fund initiating or trimming spot Bitcoin or Ether ETF exposure. Both filings are cited by accession and period. Form 13F covers long 13(f) securities only, is lagged up to 45 days, and is informational, not investment advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"holdings_changes_holdings_changes_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"manager":{"name":"Berkshire Hathaway Inc","cik":"0001067983"},"quarter":"2026-03-31","prev_quarter":"2025-12-31","summary":{"new":2,"added":3,"reduced":5,"sold_out":1,"unchanged":29,"added_value_usd":4200000000,"reduced_value_usd":1800000000,"net_flow_usd":2400000000},"changes":{"new":[{"issuer":"APPLE INC","cusip":"037833100","ticker":"AAPL","shares":300000000,"prevShares":0,"deltaShares":300000000,"deltaValueUsd":66000000000}]},"stale_days":45,"attribution":"SEC EDGAR / Form 13F (US public domain); data.sec.gov + www.sec.gov"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR filer CIK, any zero-padding accepted"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Manager name (best-effort resolve; supply cik if not found)"},{"name":"quarter","in":"query","required":false,"schema":{"type":"string"},"description":"Quarter period-end date, ISO YYYY-MM-DD (default latest)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/holdings/filing":{"get":{"tags":["paid"],"summary":"One Form 13F filing normalized: the cover page plus every consolidated position with issuer, CUSIP, ticker, shares, value in US dollars, percent of portfolio and voting authority. Give an accession with its CIK, or a CIK or name with a quarter. A cheap granular pull.","description":"The cheap granular route: one Form 13F filing turned into clean JSON. Supply an accession together with its filer CIK for a direct pull, or a CIK or name with an optional quarter to let the route select the filing. It parses the cover page for the filing manager, period, report type and amendment flag, and the information table into consolidated positions, one per security, each with issuer, CUSIP, resolved ticker and match quality, share count, value in whole US dollars, percent of portfolio, share or principal type, investment discretion and the sole, shared and none voting split. The response includes the portfolio total, a concentration block and the crypto-ETF exposure slice, all cited to the accession, period and EDGAR URL. Form 13F covers long 13(f) securities only, is lagged up to 45 days, and is informational, not investment advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"holdings_filing_holdings_filing_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"manager":{"name":"Berkshire Hathaway Inc","cik":"0001067983"},"quarter":"2026-03-31","portfolioValueUsd":263095703570,"positions":40,"holdings":[{"issuer":"APPLE INC","cusip":"037833100","class":"COM","ticker":"AAPL","match":"exact","valueUsd":66000000000,"shares":300000000,"pctOfPortfolio":25.09}],"attribution":"SEC EDGAR / Form 13F (US public domain); data.sec.gov + www.sec.gov"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"accession","in":"query","required":false,"schema":{"type":"string"},"description":"SEC accession number (requires cik)"},{"name":"cik","in":"query","required":false,"schema":{"type":"string"},"description":"SEC EDGAR filer CIK, any zero-padding accepted"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Manager name (best-effort resolve; supply cik if not found)"},{"name":"quarter","in":"query","required":false,"schema":{"type":"string"},"description":"Quarter period-end date, ISO YYYY-MM-DD (default latest)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/holdings/security":{"get":{"tags":["paid"],"summary":"All institutional holders of one security in a quarter, by ticker or CUSIP, with concentration and quarter-over-quarter institutional flow. This reverse index is deferred on this deployment and returns availability status; a manager's crypto ETF exposure is covered now by the holdings manager route.","description":"The reverse of the manager routes: given a security by ticker or CUSIP and a quarter, return every institutional manager that reported holding it on Form 13F, with share and dollar totals, the concentration of institutional ownership, and the quarter-over-quarter institutional flow, the full list of holders of funds like IBIT or FBTC. Building this needs a reverse index of the per-quarter Form 13F structured dataset, which is too large to hold in memory on this small deployment, so the route is deferred behind a configuration flag and returns an availability status with instructions rather than an error. Until it is enabled, a manager's spot Bitcoin and Ether ETF exposure and its quarter-over-quarter change are available through the holdings manager and holdings changes routes. Form 13F covers long 13(f) securities only and is informational, not investment advice.\n\nPrice: $0.06 (USDC on Base, x402).","operationId":"holdings_security_holdings_security_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"available":false,"query":{"ticker":"IBIT"},"reason":"The security reverse-holders index is not enabled on this deployment. Phase-1 covers a manager's crypto-ETF exposure via /holdings/manager.","attribution":"SEC EDGAR / Form 13F (US public domain); data.sec.gov + www.sec.gov"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Security ticker, e.g. IBIT"},{"name":"cusip","in":"query","required":false,"schema":{"type":"string"},"description":"Security CUSIP (9 chars)"},{"name":"quarter","in":"query","required":false,"schema":{"type":"string"},"description":"Quarter period-end date, ISO YYYY-MM-DD (default latest)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.06"},"protocols":[{"x402":{}}]}}},"/unlock/calendar":{"get":{"tags":["paid"],"summary":"Forward-looking token unlock and vesting calendar for one crypto token. Give a ticker, name or slug and get the next unlock (date, token amount, USD value, percent of circulating supply), the full list of upcoming cliff and linear unlocks in a window, the allocation split across team, investors, ecosystem and community, supply metrics and a deterministic 0-100 supply-overhang score. Data from DeFiLlama, cited.","description":"A one-call, forward-looking supply-shock calendar for a crypto token, built from DeFiLlama's public emissions dataset rather than a scraped calendar site. Supply a ticker, protocol name or DeFiLlama slug; the route resolves it to an emissions schedule, fetches the token's vesting file and returns a fused view: the next unlock with its date, on-schedule token amount, USD value and share of circulating supply; every upcoming cliff and linear unlock inside your forward window sorted by date; the allocation breakdown bucketed across team, investors, ecosystem, community, treasury and public; supply metrics including max supply, circulating and percent unlocked; and a deterministic zero-to-one-hundred supply-overhang score that aggregates upcoming unlocks as a percent of circulating supply weighted by how soon they land. Optionally it backtests the token's price response over the days after recent past unlocks. Circulating supply is derived from the documented vesting curve, so the response is self-contained; when a source block is missing it degrades to a partial answer rather than failing. Every figure is attributed to DeFiLlama. Informational, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"unlock_calendar_unlock_calendar_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"token":{"slug":"arbitrum","name":"Arbitrum","symbol":"ARB","token_id":"arbitrum:0x912ce59144191c1204e64559fe8253a0e49e6548"},"price_usd":0.4,"as_of":"2026-07-12","window":{"window_days":365,"horizon":"2027-07-12"},"next_unlock":{"date_iso":"2026-11-15","unix":1784183604,"tokens":56125000,"usd_value":22450000,"pct_of_circulating":1.42,"unlock_type":"cliff","category":"insiders"},"upcoming_returned":16,"supply":{"max_supply":10000000000,"circulating":3950000000,"pct_unlocked":39.5},"allocation":{"by_bucket":{"team":32.6,"investors":21.2,"ecosystem":19.9}},"supply_overhang_score":47,"attribution":"DeFiLlama public emissions dataset (defillama-datasets.llama.fi) + coins.llama.fi prices; reused with attribution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Token ticker symbol, e.g. ARB"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Protocol name, e.g. Arbitrum"},{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"DeFiLlama emissions slug, e.g. arbitrum"},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1825},"description":"Forward window for upcoming unlocks, default 365"},{"name":"include_backtest","in":"query","required":false,"schema":{"type":"boolean"},"description":"Include price response to past unlocks (default false)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/unlock/next":{"get":{"tags":["paid"],"summary":"The single next token unlock for one crypto token, cheapest actionable signal. Give a ticker, name or slug and get just the next scheduled unlock (date, token amount, USD value, percent of circulating supply, unlock type) plus the token's recent emission velocity over 24 hours, 7 days, 30 days and one year. Data from DeFiLlama, cited.","description":"The cheapest actionable unlock signal for a trading agent: just the single next scheduled token unlock, without the full calendar. Supply a ticker, protocol name or DeFiLlama slug; the route resolves it to an emissions schedule, reads the same cached vesting file the calendar route uses, and returns only the nearest upcoming unlock with its date, on-schedule token amount, USD value at the current price, share of circulating supply and unlock type, together with the token's recent emission velocity over twenty-four hours, seven days, thirty days and one year so an agent can gauge ongoing dilution. Ideal for a fast pre-trade check across many tokens where the full calendar would be more than you need. Every figure is attributed to DeFiLlama. Informational, not investment advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"unlock_next_unlock_next_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"token":{"slug":"arbitrum","name":"Arbitrum","symbol":"ARB"},"price_usd":0.4,"as_of":"2026-07-12","next_unlock":{"date_iso":"2026-11-15","unix":1784183604,"tokens":56125000,"usd_value":22450000,"pct_of_circulating":1.42,"unlock_type":"cliff","category":"insiders"},"emission_velocity":{"emission_24h":3200000,"emission_7d":22400000,"emission_30d":96000000,"emissions_1y":1150000000},"attribution":"DeFiLlama public emissions dataset (defillama-datasets.llama.fi) + coins.llama.fi prices; reused with attribution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"Token ticker symbol, e.g. ARB"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Protocol name, e.g. Arbitrum"},{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"DeFiLlama emissions slug, e.g. arbitrum"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/unlock/upcoming":{"get":{"tags":["paid"],"summary":"Market-wide screener of the biggest upcoming token unlocks across many crypto tokens in a forward window. Returns the largest scheduled unlocks ranked by USD value or by percent of circulating supply, each with its date, token amount and protocol. Bounded fan-out across the most active emitters. Data from DeFiLlama, cited.","description":"A market-wide screener for the biggest upcoming token unlocks instead of querying one token at a time. The route selects the most active emitters by projected one-year emission from DeFiLlama's emissions breakdown, fetches each one's vesting file under a hard fan-out cap and an aggressive cache, extracts the nearest upcoming unlock inside your forward window, prices it, and ranks the set by USD value or by percent of circulating supply. Each row carries the protocol, ticker, unlock date, on-schedule token amount, USD value and share of float. Because it fans out across many tokens it is bounded by design: a coverage note discloses the cap, the response is marked truncated, and for exhaustive coverage of a single token you should use the calendar route with a ticker. Every figure is attributed to DeFiLlama. Informational, not investment advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"unlock_upcoming_unlock_upcoming_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"as_of":"2026-07-12","window":{"window_days":90,"horizon":"2026-10-10"},"rank_by":"usd_value","results_returned":1,"results":[{"slug":"arbitrum","name":"Arbitrum","symbol":"ARB","price_usd":0.4,"next_unlock":{"date_iso":"2026-11-15","unix":1784183604,"tokens":56125000,"usd_value":22450000,"pct_of_circulating":1.42,"unlock_type":"cliff","category":"insiders"}}],"truncated":true,"coverage_note":"Bounded market-wide screen of the most active emitters.","attribution":"DeFiLlama public emissions dataset (defillama-datasets.llama.fi) + coins.llama.fi prices; reused with attribution."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1825},"description":"Forward window in days, default 90"},{"name":"rank_by","in":"query","required":false,"schema":{"type":"string","enum":["usd_value","pct_float"]},"description":"Rank by unlock USD value or percent of circulating"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max rows to return, default 25"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/cex/solvency":{"get":{"tags":["paid"],"summary":"Centralized-exchange (CEX) solvency / proof-of-reserves counterparty-risk verdict in one call: given an exchange name, returns reserve totals, own-token concentration (the FTX/FTT pattern), clean-asset ratio, netflow stress, leverage and a deterministic 0-100 solvency_score with a rating, risk flags and a peer rank. Fused from the keyless DefiLlama CEX Transparency reserve aggregate. Reserves are a PROXY: customer liabilities and PoR-attestation quality are not visible.","description":"One-call counterparty-solvency verdict on a centralized crypto exchange as a CUSTODIAN, for trade/treasury agents deciding where to custody or trade. It is computed DETERMINISTICALLY (no LLM) from the keyless, open DefiLlama CEX Transparency reserve aggregate, whose cleanAssetsTvl EXCLUDES the exchange's own self-issued token — so a low clean-asset ratio is exactly the FTX/FTT own-token-heavy pattern that was visible before FTX collapsed. Given an exchange name/slug/CoinGecko id it returns: total on-chain reserves (currentTvl) and clean-of-own-token reserves (cleanAssetsTvl), the own-token symbol/USD value/concentration, the clean-asset ratio, the 24h/1w/1m USD netflow with each window as a percent of TVL (negative = outflow, a bank-run stress signal), leverage and spot/derivative volumes, a peer rank among all covered exchanges, and a 0-100 solvency_score (HIGHER = SAFER) with a rating of strong/adequate/watch/weak. The score fuses independent data-driven signals — clean-asset ratio (weighted highest), an own-token-concentration cliff penalty, sustained-outflow stress, leverage, a small-reserve-base floor and a public-reserves transparency bonus — and returns the fired risk_flags (high_own_token_concentration, sharp_outflow_1w, sustained_outflow_1m, high_leverage, no_public_reserves, thin_reserves) each with a human-readable reason plus a full score breakdown, so a caller can re-rank with its own policy. IMPORTANT: this is a reserve-quality PROXY, NOT a solvency guarantee — customer LIABILITIES and the quality/freshness of any proof-of-reserves attestation are NOT publicly visible, and the figures are a point-in-time snapshot. Unknown exchange -> 404 with the nearest candidates; upstream unreachable -> 502, never a 500.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"cex_solvency_cex_solvency_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"exchange":"Binance","slug":"Binance-CEX","currentTvl":137577394319.0,"cleanAssetsTvl":117354259455.0,"own_token":{"symbol":"BNB","concentration_pct":14.7},"clean_asset_ratio":0.853,"netflow":{"w1_pct_of_tvl":0.00056,"m1_pct_of_tvl":-0.01823},"solvency_score":85,"rating":"strong","peer_rank":{"by_clean_tvl":1,"of_total":90},"risk_flags":[]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cex","in":"query","required":true,"schema":{"type":"string"},"description":"Exchange name, slug or CoinGecko id (e.g. binance, okx, bybit, kraken, crypto.com)."},{"name":"exchange","in":"query","required":false,"schema":{"type":"string"},"description":"Alias of cex."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/cex/reserves":{"get":{"tags":["paid"],"summary":"Cheap raw normalized reserve breakdown of one centralized exchange: total on-chain reserves (currentTvl), clean-of-own-token reserves (cleanAssetsTvl), the own-token symbol / USD value / concentration, clean-asset ratio, spot & derivative volumes, leverage, 24h/1w/1m netflow and the public reserves URL, with citations. The cheap first grain before the fuller /cex/solvency verdict. Keyless DefiLlama source; reserves are a proxy, not proof of solvency.","description":"The cheap raw grain of the CEX-solvency family: a normalized reserve breakdown of a single centralized exchange with minimal derivation, computed from the keyless open DefiLlama CEX Transparency aggregate. It returns total on-chain reserves and clean-of-own-token reserves, the own-token symbol / USD value / concentration percent, the clean-asset ratio, spot and derivative volumes, leverage, the 24h/1w/1m USD netflow and the exchange's public wallets / proof-of-reserves URL, each figure cited to DefiLlama. Use it as the cheap first step before paying for the fuller /cex/solvency fused verdict + score. Reserves are a PROXY: customer liabilities and PoR-attestation quality are not visible. Unknown exchange -> 404 with nearest candidates; upstream unreachable -> 502.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"cex_reserves_cex_reserves_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"exchange":"OKX","slug":"okx","currentTvl":22220365978.0,"cleanAssetsTvl":22213449158.0,"own_token":{"symbol":"OKB","concentration_pct":0.0311},"clean_asset_ratio":0.999689,"leverage":0.298,"netflow":{"d24h":13316579.0,"w1":-62839791.0,"m1":107297925.0},"reserves_url":"https://www.okx.com/proof-of-reserves","limits":"reserves proxy; liabilities & PoR quality not visible"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"cex","in":"query","required":true,"schema":{"type":"string"},"description":"Exchange name, slug or CoinGecko id (e.g. okx, bybit)."},{"name":"exchange","in":"query","required":false,"schema":{"type":"string"},"description":"Alias of cex."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/cex/screen":{"get":{"tags":["paid"],"summary":"Market-wide ranked solvency screen of all centralized exchanges from DefiLlama CEX Transparency: each row has solvency_score, rating, clean-asset ratio, own-token concentration, 1-week netflow percent and risk flags. Filter by min_score / max_own_token_pct / min_tvl; sort by score, tvl or outflow. Deterministic; reserves are a proxy, not proof of solvency.","description":"A market-wide, ranked solvency screen across every centralized exchange covered by DefiLlama CEX Transparency (~90). It scores each exchange with the same deterministic engine as /cex/solvency and returns compact rows — exchange, slug, solvency_score, rating, clean-asset ratio, own-token concentration percent, 1-week netflow as a percent of TVL, currentTvl and the fired risk_flags. Filter with min_score, max_own_token_pct (drop own-token-heavy exchanges) and min_tvl, and sort by score (safest first), tvl (largest first) or outflow (worst weekly outflow first); the result count is hard-capped at 100. It answers cross-sell questions like which custodian is safer or which exchanges are bleeding reserves this week. Deterministic, no LLM. Reserves are a PROXY: customer liabilities and PoR-attestation quality are not visible; figures are a snapshot. Upstream unreachable -> 502, never a 500.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"cex_screen_cex_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"total_matched":40,"total_covered":90,"results":[{"exchange":"OKX","slug":"okx","solvency_score":100,"rating":"strong","own_token_concentration_pct":0.031,"currentTvl":22220365978.0,"risk_flags":[]}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"min_score","in":"query","required":false,"schema":{"type":"number"},"description":"Keep solvency_score >= this."},{"name":"max_own_token_pct","in":"query","required":false,"schema":{"type":"number"},"description":"Keep own-token concentration percent <= this."},{"name":"min_tvl","in":"query","required":false,"schema":{"type":"number"},"description":"Keep currentTvl (USD) >= this."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["score","tvl","outflow"]},"description":"score, tvl or outflow ranking."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max rows (capped at 100)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/funding/profile":{"get":{"tags":["paid"],"summary":"Received R&D-funding profile of a company, organization or principal investigator, fused from NIH RePORTER, NSF and SBIR/STTR public records. Give a company or organization or PI name and get every federal research award it received with amounts, agencies, years, tech focus and abstracts, plus computed aggregates: total non-dilutive funding, breakdown by agency and by year, technology clusters, and active-award count.","description":"A one-call, normalized view of the federal R&D funding an organization or researcher has actually received, built by fusing three authoritative public-domain sources rather than a single database. Supply a company name, an organization or awardee name, or a principal-investigator name. The route queries NIH RePORTER (biomedical and other federal research projects, including NIH SBIR/STTR grants), the NSF Award API (science and engineering grants) and, when its public API is available, the SBIR.gov awards feed (all SBIR/STTR awards since 1983). Results are resolved to your entity by fuzzy organization-name matching and principal-investigator disambiguation, de-duplicated across sources so an award listed in two feeds is counted once, and returned under one unified schema with the award identifier, title, abstract slice, agency and sub-agency, SBIR phase and program where applicable, principal investigators, organization and state, amount, fiscal year, start and end dates, active flag, technology terms and a citation link back to the source record. On top of the award list the route computes the aggregates that make this a profile rather than a lookup: total funding, total non-dilutive funding, a breakdown by agency, a by-year trend, the technology clusters the entity is funded in, and how many awards are active. When the SBIR public API is on maintenance the profile is built from NIH and NSF and the response says so honestly in sources_used and source_status. All three sources are US government public domain. Informational, not investment advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"funding_profile_funding_profile_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":{"company":"Example Biosciences"},"award_count":1,"aggregates":{"total_funding":1998750.0,"non_dilutive_total":1998750.0,"award_count":1,"active_count":1,"by_agency":{"NIH":1998750.0},"by_year":{"2024":1998750.0},"tech_clusters":[{"term":"Early Detection","awards":1}]},"awards":[{"source":"nih","id":"5R44CA224768-04","core_id":"R44CA224768","title":"A next-generation platform for early cancer detection","abstract":"This SBIR Phase II project develops a blood-based assay for early…","agency":"NIH","sub_agency":"NCI","phase":"II","program":"SBIR","pi":["JANE Q RESEARCHER"],"organization":"EXAMPLE BIOSCIENCES, INC.","org_state":"MA","uei":"ABCD1234EFG5","amount":1998750.0,"fiscal_year":2024,"start":"2021-09-01","end":"2025-08-31","is_active":true,"tech_terms":["Early Detection","Circulating Tumor DNA","Assay"],"citation":{"source":"NIH RePORTER","source_url":"https://reporter.nih.gov/project-details/5R44CA224768-04"}}],"sources_used":["nih","nsf"],"source_status":{"nih":{"available":true,"count":1},"nsf":{"available":true,"count":0},"sbir":{"available":false,"reason":"maintenance","count":0}},"attribution":"NIH RePORTER (api.reporter.nih.gov) — US public domain.  |  NSF Award Search API (research.gov) — US public domain.  |  SBIR.gov Public API (sbir.gov) — US public domain."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"company","in":"query","required":false,"schema":{"type":"string"},"description":"Company name to resolve to received awards"},{"name":"organization","in":"query","required":false,"schema":{"type":"string"},"description":"Organization/awardee name (university, institute, firm)"},{"name":"pi","in":"query","required":false,"schema":{"type":"string"},"description":"Principal-investigator name to profile"},{"name":"agencies","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Optional filter to these funding agencies or sub-agencies, e.g. NIH, NSF, NIAID (matched against agency and sub-agency)."},{"name":"min_year","in":"query","required":false,"schema":{"type":"integer","minimum":1980,"maximum":2100},"description":"Only awards with fiscal year at or after this"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/funding/search":{"get":{"tags":["paid"],"summary":"Find federally funded R&D projects by technology topic across NIH RePORTER and NSF. Give a keyword such as a mechanism, disease area or technology and get a ranked list of funded projects with the recipient organization, principal investigator, agency, amount, year and abstract, for competitor-landscape mapping and lead generation. Bounded scan with a coverage note.","description":"Map who is being funded to work on a technology or research area instead of querying one entity at a time. Supply a keyword — a mechanism, target, disease area or technology — and the route runs a topic search over NIH RePORTER (title, abstract and terms) and the NSF Award API, normalizes and de-duplicates the matches into the unified award schema, and returns them ranked by recency and amount. Each result carries the recipient organization and state, principal investigator, agency and sub-agency, amount, fiscal year, technology terms, abstract slice and a citation link, so the list doubles as a competitor-landscape map and a lead list of funded organizations. Optional filters narrow to specific agencies, a fiscal year, or an SBIR phase. Because this fans out across the whole funding stream it is bounded by a hard result cap served from an aggressive cache; a coverage note discloses the bound and a truncated flag signals when more matched than were returned. For exhaustive coverage of one entity use /funding/profile. US public-domain sources; informational, not investment advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"funding_search_funding_search_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"keyword":"crispr gene editing","filters":{},"results_returned":1,"truncated":true,"coverage_note":"Bounded topic scan across NIH RePORTER + NSF.","results":[{"source":"nih","id":"5R44CA224768-04","core_id":"R44CA224768","title":"A next-generation platform for early cancer detection","abstract":"This SBIR Phase II project develops a blood-based assay for early…","agency":"NIH","sub_agency":"NCI","phase":"II","program":"SBIR","pi":["JANE Q RESEARCHER"],"organization":"EXAMPLE BIOSCIENCES, INC.","org_state":"MA","uei":"ABCD1234EFG5","amount":1998750.0,"fiscal_year":2024,"start":"2021-09-01","end":"2025-08-31","is_active":true,"tech_terms":["Early Detection","Circulating Tumor DNA","Assay"],"citation":{"source":"NIH RePORTER","source_url":"https://reporter.nih.gov/project-details/5R44CA224768-04"}}],"sources_used":["nih","nsf"],"attribution":"NIH RePORTER (api.reporter.nih.gov) — US public domain.  |  NSF Award Search API (research.gov) — US public domain.  |  SBIR.gov Public API (sbir.gov) — US public domain."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"keyword","in":"query","required":true,"schema":{"type":"string"},"description":"Technology, mechanism or disease-area topic"},{"name":"agencies","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Optional filter to these funding agencies or sub-agencies, e.g. NIH, NSF, NIAID (matched against agency and sub-agency)."},{"name":"year","in":"query","required":false,"schema":{"type":"integer","minimum":1980,"maximum":2100},"description":"Restrict to this fiscal year"},{"name":"phase","in":"query","required":false,"schema":{"type":"string","enum":["I","II"]},"description":"Restrict to SBIR/STTR Phase I or II awards"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25},"description":"Max results to return, default 15"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/funding/award":{"get":{"tags":["paid"],"summary":"Fetch one federal R&D award as a normalized record with its full abstract. Give the award identifier and its source (NIH project number, NSF award id, or SBIR award) and get the title, complete abstract, agency, amount, dates, principal investigators, organization and technology terms, plus for NIH the linked publication PubMed ids. Cheap single-record pull.","description":"Pull a single federal R&D award in full. Supply the award identifier and the source it belongs to: an NIH project number resolved against NIH RePORTER (falling back from the full project number to the core project number), an NSF award id resolved against the NSF Award API, or an SBIR/STTR award resolved against SBIR.gov when its public API is available. The route returns the award under the unified schema with the complete unsliced abstract, the agency and sub-agency, amount, fiscal year, start and end dates, active flag, principal investigators, organization and state, technology terms and a citation link. For NIH awards it also returns the PubMed ids of publications the project reported, linking funding to output. This is the cheapest route because it reads one record. US public-domain sources; informational, not investment advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"funding_award_funding_award_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"id":"5R44CA224768-04","source":"nih","award":{"source":"nih","id":"5R44CA224768-04","core_id":"R44CA224768","title":"A next-generation platform for early cancer detection","abstract":"This SBIR Phase II project develops a blood-based assay for early…","agency":"NIH","sub_agency":"NCI","phase":"II","program":"SBIR","pi":["JANE Q RESEARCHER"],"organization":"EXAMPLE BIOSCIENCES, INC.","org_state":"MA","uei":"ABCD1234EFG5","amount":1998750.0,"fiscal_year":2024,"start":"2021-09-01","end":"2025-08-31","is_active":true,"tech_terms":["Early Detection","Circulating Tumor DNA","Assay"],"citation":{"source":"NIH RePORTER","source_url":"https://reporter.nih.gov/project-details/5R44CA224768-04"},"related_pmids":[34567890,35678901]},"attribution":"NIH RePORTER (api.reporter.nih.gov) — US public domain.  |  NSF Award Search API (research.gov) — US public domain.  |  SBIR.gov Public API (sbir.gov) — US public domain."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"Award identifier — NIH project number, NSF award id, or SBIR award number"},{"name":"source","in":"query","required":true,"schema":{"type":"string","enum":["nih","nsf","sbir"]},"description":"Which source the id belongs to"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/mining/hashprice":{"get":{"tags":["paid"],"summary":"Bitcoin mining hashprice: expected mining reward per petahash and per terahash per second per day, in BTC and USD, fused with the network hashrate, current difficulty, the next difficulty-retarget forecast and the block-subsidy and average-fee split. Informational, not advice.","description":"One-call Bitcoin hashprice intelligence for a mining, trading or research agent. Hashprice is the expected mining revenue per unit of hashrate per day, the single number that tells a miner or investor whether hashpower is worth deploying. This route computes it deterministically from free public network data: it takes the current network difficulty, the block subsidy for the current halving era, the average transaction fee per block over the last day and the spot BTC price, and returns the expected reward per petahash per second per day and per terahash per second per day, in both BTC and the chosen fiat. Alongside the headline number it returns the current network hashrate in exahashes per second, the current difficulty, the next difficulty-retarget forecast (the estimated change, the remaining blocks and the retarget height) and the split between the block subsidy and the fee component of the reward, so an agent can see what is driving the figure. The value-add is the deterministic derivation and the fusion into one cited shape, not a resale of raw data. Hashprice changes every block; this is an informational indicator, not advice and not a guarantee of profit.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"mining_hashprice_mining_hashprice_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"price_usd":68000.0,"difficulty":133869853540305.4,"network_hashrate_ehs":907.29,"hashprice":{"hashprice_btc_per_ph_day":0.00049,"hashprice_usd_per_th_day":0.033},"difficulty_adjustment":{"difficulty_change_percent":-3.79,"remaining_blocks":445},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"fiat","in":"query","required":false,"schema":{"type":"string"},"description":"Fiat currency for the USD-equivalent figures (three-letter code such as USD or EUR); defaults to USD"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/mining/breakeven":{"get":{"tags":["paid"],"summary":"ASIC-miner break-even and profitability: daily and monthly BTC and USD revenue, power cost, net profit, margin, the break-even electricity price and the break-even BTC price, and optional hardware payback days, for a named miner model or raw hashrate and wattage at a given electricity price. Informational, not advice.","description":"One-call ASIC-miner profitability and break-even analysis for a miner, hosting provider, ASIC trader or lender. Supply either a miner model id from the free /mining/asics table (for example antminer-s21 or whatsminer-m60) or a raw hashrate in terahash per second and a wall power in watts, plus your electricity price in USD per kilowatt-hour (defaulting to five cents) and optionally a pool-fee percent and a hardware cost. The route fetches the live hashprice, then computes the daily and monthly mined BTC (net of the pool fee), the fiat revenue at the current BTC price, the electricity cost from the machine's power draw, and the resulting net profit and margin. It also returns the two figures a purchase or hosting decision turns on: the break-even electricity price, the tariff at which the machine stops being profitable, and the break-even BTC price, the price at which revenue exactly covers power. When a hardware cost is given it returns the simple payback period in days. The efficiency in joules per terahash is computed from the model specs. All ASIC specs are nominal manufacturer datasheet figures; the value-add is the deterministic computation and the fusion of live network data with the spec table, not a resale. Informational only, not advice and not a guarantee of profit.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"mining_breakeven_mining_breakeven_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"model":{"id":"antminer-s21","th_s":200,"watts":3500},"breakeven":{"revenue_usd_day":6.6,"power_cost_usd_day":4.2,"net_usd_day":2.4,"profitable":true,"breakeven_electricity_usd_kwh":0.078,"breakeven_btc_price_usd":42000.0},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"model","in":"query","required":false,"schema":{"type":"string"},"description":"ASIC model id from GET /mining/asics (such as antminer-s21); alternative to th_s and watts"},{"name":"th_s","in":"query","required":false,"schema":{"type":"number"},"description":"Raw hashrate in TH/s; use with watts instead of a model"},{"name":"watts","in":"query","required":false,"schema":{"type":"number"},"description":"Raw wall power in watts; use with th_s instead of a model"},{"name":"electricity_usd_kwh","in":"query","required":false,"schema":{"type":"number"},"description":"Electricity price in USD per kWh; defaults to 0.05"},{"name":"pool_fee_pct","in":"query","required":false,"schema":{"type":"number"},"description":"Mining-pool fee percent from 0 to 100; defaults to 0"},{"name":"hardware_cost_usd","in":"query","required":false,"schema":{"type":"number"},"description":"Optional hardware cost in USD to compute payback days"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/mining/capitulation":{"get":{"tags":["paid"],"summary":"Bitcoin hash-ribbon miner-capitulation signal: the 30-day versus 60-day moving average of network hashrate, whether miners are in capitulation, whether a recovery cross has occurred, and the 30-day hashrate trend. Informational, not advice.","description":"One-call hash-ribbon indicator for a trading, research or risk agent. The hash ribbon is a well-known miner-capitulation signal built from the network hashrate: when the 30-day moving average of hashrate falls below the 60-day moving average, miners are switching machines off because mining has become unprofitable, which historically has marked periods of market stress; when the 30-day average crosses back above the 60-day average it signals a recovery. This route fetches a year of daily network-hashrate history, computes both moving averages, and returns whether the network is currently in capitulation, whether a recovery cross has just occurred, the two moving averages and the current hashrate in exahashes per second, and the 30-day percentage trend in hashrate. It also returns the current difficulty and the next-retarget context. The value-add is the deterministic computation of the signal from public data, not a resale. This is an informational indicator, not financial advice and not a trading recommendation.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"mining_capitulation_mining_capitulation_get","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"hash_ribbon":{"sma_short_ehs":890.1,"sma_long_ehs":905.4,"in_capitulation":true,"recovery_cross":false,"signal":"capitulation","hashrate_trend_30d_percent":-2.1},"sources":{"partial":false}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/derivs/funding":{"get":{"tags":["paid"],"summary":"Perpetual-swap funding rates for an asset fused across decentralized venues (Hyperliquid, dYdX v4): each venue's current funding plus an open-interest weighted aggregate funding rate, annualized APR, the cross-venue spread and dispersion. One normalized call instead of polling each protocol and reconciling funding intervals yourself.","description":"A single normalized view of perpetual funding for a crypto asset across decentralized perpetual protocols. Today the fusion base is Hyperliquid (its public Info API) and dYdX v4 (its public Indexer) — decentralized-protocol public state, normalized and combined by us, not a resold centralized-exchange feed. Pass a base ticker (BTC, ETH, SOL); a quote suffix like BTC-USD is normalized server-side. For each venue we return the raw funding rate, its funding interval, the interval-normalized hourly rate and the annualized APR. We then compute the open-interest-weighted aggregate funding (so a deep venue counts more than a thin one), the aggregate APR, the cross-venue spread in basis points (a funding-arbitrage and disagreement signal) and the dispersion. Coverage is data-driven: adding a venue or asset is a registry row. Each source venue is cited on every response with attribution. Bad input is a 400, an unlisted symbol is a 404, a total upstream failure is a 502, never a 500; a single venue failing is reported under errors with a partial flag. Hosts are fixed server-side, so there is no SSRF surface. This is market-structure intelligence, not trading advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"derivs_funding_derivs_funding_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"BTC","venues":[{"venue":"hyperliquid","funding_hourly":1.25e-05,"apr":0.1095,"oi_usd":2400000000.0}],"aggregate":{"oi_weighted_funding_hourly":1.1e-05,"apr":0.096,"spread_bps":0.21,"dispersion":1e-06,"venue_count":2},"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker (BTC, ETH, SOL). A quote suffix such as BTC-USD or BTC-PERP is accepted and normalized server-side."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/derivs/oi":{"get":{"tags":["paid"],"summary":"Open interest for a perpetual asset across decentralized venues (Hyperliquid, dYdX v4): per-venue open interest in coins and in USD notional (via each venue's mark or oracle price), the total aggregate USD open interest and each venue's share. One call, normalized across protocols.","description":"Aggregate perpetual open interest for a crypto asset across decentralized protocols. For each venue we return open interest in the base coin and in USD notional (coins multiplied by the venue's mark price where available, otherwise its oracle price), plus the venue's mark and oracle. We then sum the USD open interest into a total and compute each venue's share, so you see where the leverage sits. Sources are Hyperliquid and dYdX v4 public read-only state (decentralized-protocol state, not a resold centralized feed); coverage is data-driven, so a new venue or asset is a registry row. Pass a base ticker; a quote suffix like ETH-USD is normalized server-side. Bad input is a 400, an unlisted symbol is a 404, a total upstream failure is a 502, never a 500; a single venue failing is reported under errors with a partial flag. Hosts are fixed server-side, so there is no SSRF surface. Market-structure intelligence, not trading advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"derivs_oi_derivs_oi_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"ETH","venues":[{"venue":"hyperliquid","oi_coins":120000.0,"oi_usd":360000000.0,"mark":3000.0,"oracle":3001.0}],"aggregate":{"total_oi_usd":410000000.0,"venue_shares":{"hyperliquid":0.88,"dydx":0.12},"venue_count":2},"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker (BTC, ETH, SOL). A quote suffix such as BTC-USD or BTC-PERP is accepted and normalized server-side."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/derivs/basis":{"get":{"tags":["paid"],"summary":"Perpetual basis for an asset: the mark-versus-oracle premium on venues that publish a native mark price (Hyperliquid), in basis points, with a naive annualized carry proxy. Shows how far the perpetual trades from the underlying oracle — a froth and leverage-cost signal.","description":"The perpetual basis for a crypto asset: how far the perpetual mark price sits above or below the underlying oracle price. We report this for venues that publish a native mark price (Hyperliquid does; dYdX v4 exposes an oracle only, so it contributes no basis). For each such venue we return the mark, the oracle, the venue-native premium, the basis in basis points computed as (mark minus oracle) divided by oracle, and a naive annualized carry proxy that annualizes the instantaneous premium as an hourly carry (a proxy, not a realized return). A persistently positive basis means longs are paying up (froth); a negative basis means the perp trades below spot. Sources are decentralized-protocol public state, not a resold centralized feed. Pass a base ticker; a quote suffix like SOL-USD is normalized server-side. Bad input is a 400; an asset with no mark-publishing venue is a 404; never a 500. Hosts are fixed server-side, so there is no SSRF surface. Intelligence, not trading advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"derivs_basis_derivs_basis_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"SOL","venues":[{"venue":"hyperliquid","mark":150.2,"oracle":150.0,"basis_bps":13.3,"annualized_carry_pct":116.8}],"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker (BTC, ETH, SOL). A quote suffix such as BTC-USD or BTC-PERP is accepted and normalized server-side."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/derivs/positioning":{"get":{"tags":["paid"],"summary":"Fusion positioning brief for a perpetual asset in ONE call: aggregate funding and APR, aggregate open interest, mark-vs-oracle basis, cross-venue funding spread, a funding-flip trend from Hyperliquid history, and a deterministic 0-100 squeeze/positioning score with a verdict and crowding direction. Saves several protocol calls plus the normalization and scoring.","description":"The moat route: a single normalized, cited positioning brief for a crypto perpetual that fuses what would otherwise be several protocol queries. From the decentralized venues (Hyperliquid, dYdX v4) we combine the open-interest weighted aggregate funding and its annualized APR, the aggregate USD open interest, the mark-versus-oracle basis, the cross-venue funding spread, and a funding-flip trend read from Hyperliquid funding history (has the sign flipped, how many periods since). From those we compute a deterministic 0-to-100 positioning score that blends funding intensity, basis extremity and cross-venue spread — each saturating at a documented reference, weights renormalized over the available signals — and a verdict of neutral, elevated or extreme positioning. We also report the crowding direction (are longs or shorts crowded), a squeeze bias (a crowded side flushing is that side's squeeze) and a reversal flag when funding has recently flipped. The whole score is a formula in code, with no model or LLM, so it is reproducible. Sources are decentralized-protocol public state, cited with attribution, not a resold centralized feed. Pass a base ticker; a quote suffix like BTC-USD is normalized server-side. Each dimension is best-effort: a failing venue or the funding history is reported under errors with a partial flag and the rest are returned; only a total failure is a 404 or 502, never a 500. Hosts are fixed server-side, so there is no SSRF surface. This is market-structure intelligence, not trading advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"derivs_positioning_derivs_positioning_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"symbol":"BTC","score":58,"verdict":"elevated","signals":{"direction":"longs_crowded","squeeze_bias":"long_squeeze_risk","reversal_flag":false,"aggregate_funding_apr":0.28,"cross_venue_spread_bps":0.6},"components":{"funding":0.56,"basis":0.4,"spread":0.3},"venue_count":2,"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker (BTC, ETH, SOL). A quote suffix such as BTC-USD or BTC-PERP is accepted and normalized server-side."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/timing/ahr999":{"get":{"tags":["paid"],"summary":"Bitcoin AHR999 accumulation index: (spot / 200-day geometric mean) * (spot / exponential-growth valuation), with the accumulation zone (bottom / dca / wait), the raw components and a short interpretation. Keyless, computed from DefiLlama price history.","description":"The AHR999 index is a Bitcoin accumulation indicator popular with DCA (dollar-cost averaging) investors. We compute it deterministically from DefiLlama's keyless daily price history: AHR999 = (spot / geometric_mean_of_last_200_daily_closes) * (spot / exp_valuation), where exp_valuation = 10 ** (5.84 * log10(days_since_genesis) - 17.01) using the Bitcoin genesis date 2009-01-03. The response returns the value, the accumulation zone (bottom < 0.45, dca 0.45-1.2, wait > 1.2), every component (spot, 200-day geometric mean, exponential valuation, days since genesis) and a short interpretation. AHR999 is Bitcoin-specific (the power-law fit is BTC's); other assets should use /timing/indicators for the asset-agnostic Mayer/200WMA/Pi-Cycle indicators. Source hosts are fixed server-side (you pass only an asset), so there is no SSRF surface; the DefiLlama attribution is carried on every response. Intelligence, not financial advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"timing_ahr999_timing_ahr999_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"BTC","indicator":"ahr999","value":0.335,"zone":"bottom","components":{"spot":63601.7,"geometric_mean_200d":72722.0,"exp_valuation":165943.0,"days_since_genesis":6405.0},"interpretation":"Deep-value accumulation zone.","attribution":"Data by DefiLlama (coins.llama.fi)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":false,"schema":{"type":"string","enum":["btc","eth"]},"description":"Asset key (default btc). AHR999 is Bitcoin-only; Mayer/200WMA/Pi-Cycle are asset-agnostic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/timing/indicators":{"get":{"tags":["paid"],"summary":"Bitcoin valuation dashboard in one call: AHR999, Mayer Multiple, 200-week MA deviation and Pi-Cycle Top proximity, each with its own zone and signal. MVRV is an honest gated scaffold (no keyless source). Keyless, computed from DefiLlama daily and weekly price history.","description":"A one-call Bitcoin valuation / market-timing dashboard for trading and research agents — the flagship route. It fuses four independent cycle indicators computed deterministically from DefiLlama's keyless price history: (1) AHR999 accumulation index (bottom/dca/wait), (2) the Mayer Multiple = spot / 200-day SMA (undervalued/fair/overheated), (3) the 200-week moving average with the spot deviation in percent (weekly bars, because long moving averages must use weekly resolution given the upstream chart-length cap), and (4) the Pi-Cycle Top proximity = 111-day MA / (2 * 350-day MA), whose cross has historically marked cycle tops. Each indicator carries its own value, zone and threshold set. MVRV / realized-cap is returned as an honest gated scaffold with available=false because there is no keyless, terms-clean on-chain realized-value source; a future extension flips it on. A single failing indicator degrades to available=false rather than failing the whole response (never a 500). Source hosts are fixed server-side; DefiLlama attribution is carried on every response. Intelligence, not financial advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"timing_indicators_timing_indicators_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"BTC","spot":63601.7,"indicators":{"ahr999":{"value":0.335,"zone":"bottom"},"mayer":{"value":0.868,"zone":"fair"},"wma_200w":{"value":58000.0,"pct_off":9.6,"zone":"normal"},"pi_cycle":{"ratio":0.72,"zone":"far","cross_flag":false},"mvrv":{"available":false,"enabled":false}},"partial":false,"attribution":"Data by DefiLlama (coins.llama.fi)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":false,"schema":{"type":"string","enum":["btc","eth"]},"description":"Asset key (default btc). AHR999 is Bitcoin-only; Mayer/200WMA/Pi-Cycle are asset-agnostic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/timing/dca":{"get":{"tags":["paid"],"summary":"Normalized Bitcoin DCA verdict: a single accumulate / hold / reduce signal with confidence and rationale, fusing AHR999, the Mayer Multiple, the Fear & Greed index and the 200-week MA deviation. Shows the input components and per-indicator scores. Keyless, deterministic, no LLM.","description":"A single actionable DCA (dollar-cost averaging) verdict for accumulation agents — the value-add fusion route. Instead of one raw indicator, it blends FOUR into a normalized accumulate / hold / reduce signal: AHR999, the Mayer Multiple, the Crypto Fear & Greed index and the 200-week MA deviation. Each component maps its live value to an accumulation score in the range minus-one to plus-one (plus-one = cheap / accumulate, minus-one = expensive / reduce) via tunable registry anchors; a weighted blend (weights renormalized over whatever components are available) yields a composite score, which crosses fixed thresholds into the verdict. The response returns the signal, a confidence in the range zero-to-one (blending the composite magnitude with how strongly the components agree), a human rationale, the composite and per-indicator scores, and every input component including the current Fear & Greed value — so the buyer can see exactly why. A component that is unavailable is dropped and the blend renormalizes rather than failing. Deterministic, formula in code, no LLM. Sources are attributed on every response. Intelligence, not financial advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"timing_dca_timing_dca_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"BTC","signal":"accumulate","confidence":0.86,"rationale":"The blended read of AHR999, Mayer, Fear&Greed and 200WMA favors accumulating.","composite_score":0.71,"component_scores":{"ahr999":1.0,"mayer":1.0,"fng":0.46,"wma200":0.33},"components":{"ahr999":{"value":0.335,"zone":"bottom"},"fear_greed":27},"attribution":"Data by DefiLlama (coins.llama.fi); Data by alternative.me"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":false,"schema":{"type":"string","enum":["btc","eth"]},"description":"Asset key (default btc). AHR999 is Bitcoin-only; Mayer/200WMA/Pi-Cycle are asset-agnostic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/timing/fng":{"get":{"tags":["paid"],"summary":"Crypto Fear & Greed index with a market-timing trend: current value and classification, 7-day and 30-day deltas, streak in the current regime, 30-day min and max, and a contrarian flag on extreme fear or greed. Keyless.","description":"The canonical Crypto Fear & Greed index (0-100, market-wide, BTC-anchored) with a market-timing trend layered on top — for sentiment and contrarian-timing agents. We fetch the keyless alternative.me history and compute: the current value and its classification, the change over the last 7 and 30 days, the streak (how many consecutive days the index has stayed in the current classification), the 30-day min and max range, and a contrarian flag when the index is in extreme fear (25 or below) or extreme greed (75 or above) — the readings that historically precede reversals. This is distinct from the crypto-news sentiment route, which blends F&G into a news-headline composite; here it is the raw index plus timing analytics. Fear & Greed data is attributed to alternative.me per its terms. Intelligence, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"timing_fng_timing_fng_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"index":"crypto_fear_greed","value":27,"classification":"Fear","delta_7d":5,"delta_30d":-12,"streak_days":3,"min_30d":18,"max_30d":44,"attribution":"Data by alternative.me"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":false,"schema":{"type":"string","enum":["btc","eth"]},"description":"Asset key (default btc). AHR999 is Bitcoin-only; Mayer/200WMA/Pi-Cycle are asset-agnostic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/lending/rates":{"get":{"tags":["paid"],"summary":"Cross-protocol DeFi money-market supply/borrow rates for an asset on Base: per-market supply APY, borrow APY, reward APY, utilization, LTV and available liquidity across Aave/Compound/Morpho/Euler/Fluid/Moonwell, plus a risk-aware best-safe-yield ranking (safety-flagged, not naked max APY), fused by us from DefiLlama pools+lendBorrow.","description":"Cross-protocol money-market rate intelligence for a DeFi lending asset, fused by us from DefiLlama's two keyless public feeds joined on the pool uuid — the same pattern as defillama.com/borrow. For an asset (USDC, ETH, WETH, cbBTC ...) on Base we return every money-market from Aave v3, Compound v3, Morpho Blue, Euler v2, Fluid, Moonwell and others, each normalized to supply APY (base + reward), borrow APY (base minus reward rebate), utilization (borrowed / supplied), LTV, total supplied/borrowed and available withdraw liquidity. On top we compute a best-safe-yield ranking: sorted by net APY but with safety flags (high utilization, thin liquidity, low supply depth) so safe markets rank ahead of a higher but riskier headline number. side selects the supply ranking, the borrow ranking, or both. Coverage grows by data (a new protocol or chain is one registry row). We publish the derived/fused signal with attribution, not a raw API resale. Unknown asset returns 404, bad input 400, upstream failure 502 — never 500. Not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"lending_rates_lending_rates_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"asset":"USDC","chains":["Base"],"side":"both"},"markets":[{"protocol":"aave-v3","asset":"USDC","supply_apy":3.12,"borrow_apy":4.16,"net_supply_apy":3.12,"net_borrow_apy":4.16,"ltv":0.75,"utilization":0.83,"total_supply_usd":180000000.0,"available_liquidity_usd":30000000.0}],"best_safe_yield":{"supply":[{"protocol":"aave-v3","asset":"USDC","net_supply_apy":3.12,"safety_flags":{"safe":true}}]},"market_count":6,"source":"Source: DefiLlama free public API + Base on-chain"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":false,"schema":{"type":"string"},"description":"Token symbol to fuse rates for, e.g. USDC / ETH / WETH; omit for all assets"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["Base"]},"description":"Chain (default Base)"},{"name":"side","in":"query","required":false,"schema":{"type":"string","enum":["supply","borrow","both"]},"description":"Which ranking to compute (default both)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/lending/markets":{"get":{"tags":["paid"],"summary":"DeFi lending protocol-health + solvency intelligence for a protocol or asset on Base: per-market utilization, available liquidity, TVL, total borrowed, debt ceiling and a deterministic 0-100 health score plus verdict (healthy / tight-liquidity / elevated), protocol aggregates, and a rate/TVL trend — computed by us over DefiLlama data.","description":"Protocol-health and solvency intelligence for a DeFi money-market, computed by us over DefiLlama's keyless pools+lendBorrow join. Give a protocol slug (aave-v3, compound-v3, morpho-blue, euler-v2, fluid-lending, moonwell-lending, spark ...) or an asset symbol, and we return every matching market on Base with utilization, available withdraw liquidity, TVL, total borrowed, debt ceiling and borrowable flag, each scored with a deterministic 0-100 health score and a verdict (healthy, tight-liquidity, elevated-risk) derived from utilization, liquidity depth and supply size. We also aggregate protocol-level totals with a supply-weighted average health score, and attach a rate/TVL trend for the deepest market from DefiLlama's per-pool history. The scoring is our own derived layer (not a resale). Coverage is data — a new protocol or chain is one registry row. Unknown protocol/asset returns 404, upstream failure 502 — never 500. Not financial advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"lending_markets_lending_markets_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"protocol":"aave-v3","chains":["Base"]},"protocol_aggregate":{"market_count":14,"total_supply_usd":900000000.0,"total_borrow_usd":500000000.0,"utilization":0.55,"health_score":88},"markets":[{"asset":"USDC","utilization":0.83,"available_liquidity_usd":30000000.0,"health_score":82,"verdict":"healthy"}],"trend":{"pool_id":"aa70268e-...","trend":{"apy_change_7d":0.12}},"market_count":14}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"protocol","in":"query","required":false,"schema":{"type":"string","enum":["aave-v3","compound-v3","morpho-blue","euler-v2","fluid-lending","moonwell-lending","spark","extra-finance-xlend","arcadia-v2","folks-finance-xchain"]},"description":"Money-market protocol slug"},{"name":"asset","in":"query","required":false,"schema":{"type":"string"},"description":"Token symbol to filter markets by, e.g. USDC / ETH"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["Base"]},"description":"Chain (default Base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/lending/liquidations":{"get":{"tags":["paid"],"summary":"On-chain DeFi liquidation telemetry for Base lending protocols: recent LiquidationCall events decoded by us from public Base event logs — count, total debt repaid and collateral seized (USD), estimated liquidation bonus, per-protocol and per-asset breakdown, and the recent events (user, liquidator, collateral, debt).","description":"On-chain liquidation telemetry for DeFi money-markets on Base, decoded by us from the public Aave v3 LiquidationCall event logs (our own getLogs infra, no third-party API resold). Over a look-back window (1h/6h/12h, capped ~12h) we collect the liquidation events and return a summary: count, total debt repaid and collateral seized in USD (valued via our shared on-chain price oracle, best-effort for known reserve tokens), the estimated average liquidation bonus (seized over repaid), and per-protocol and per-collateral-asset breakdowns, plus the most recent events with the liquidated user, liquidator, collateral and debt assets and amounts. Liquidations on Base are rare, so an empty window is a valid count of zero, not an error. Timestamps are exact when the RPC returns them, otherwise estimated from block height. Coverage grows by data — a new liquidation source is one registry row. Bad input returns 400, upstream failure 502 — never 500. Not financial advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"lending_liquidations_lending_liquidations_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"protocol":"aave-v3","window_blocks":10800},"summary":{"count":2,"total_debt_repaid_usd":41000.0,"total_collateral_seized_usd":44050.0,"avg_liquidation_bonus":0.074,"by_protocol":{"aave-v3":2},"by_collateral_asset":{"WETH":2}},"recent_events":[{"block":47623000,"user":"0x...","liquidator":"0x...","collateral_symbol":"WETH","debt_symbol":"USDC","debt_repaid_usd":20500.0,"collateral_seized_usd":22025.0}],"truncated":false,"block":47623156,"chain":"eip155:8453"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"protocol","in":"query","required":false,"schema":{"type":"string","enum":["aave-v3"]},"description":"Lending protocol to scan (default all sources)"},{"name":"window","in":"query","required":false,"schema":{"type":"string"},"description":"Look-back window, e.g. 1h / 6h / 12h (default 6h, max ~12h)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/bridge/screen":{"get":{"tags":["paid"],"summary":"Cross-chain bridge safety screen: given a bridge (Stargate, Across, Wormhole, Arbitrum, CCTP, ...), returns a deterministic 0-100 risk score and a safe/caution/avoid verdict fusing its trust model, TVL depth, exploit history and governance/upgrade risk, with the reasons. One call instead of reconciling L2Beat, DefiLlama TVL and hack post-mortems yourself.","description":"A single safe/caution/avoid verdict for a cross-chain bridge, built for routing and risk agents that must choose a bridge before moving funds. Pass a bridge by name, slug or alias (Stargate/LayerZero, Across, Hop, Wormhole/Portal, Axelar, Chainlink CCIP, Synapse, Celer cBridge, Circle CCTP, WBTC, and the canonical Arbitrum, Base, Optimism, zkSync Era, Linea, Polygon and Starknet bridges, among others). We fuse four dimensions into one deterministic 0-to-100 risk score (higher is riskier): the bridge's trust model and its base severity (canonical rollup escrow versus light client, optimistic, liquidity network, external validator/DVN set, multisig or custodial wrapped-mint); its exploit track record joined from DefiLlama's hack dataset, weighted by loss magnitude, recency and funds returned, with a repeat-offender bump; its TVL depth from DefiLlama as a liquidity-buffer signal; and governance/upgrade risk from upgradeable admin keys and missing exit windows. For canonical L2 bridges we also attach L2Beat's live risk rows (sequencer failure, state validation, data availability, exit window, proposer failure) and rollup stage. Every component, its weight and a plain-language reason list are returned, so the score is fully reproducible — a formula in code, no model or LLM. Coverage is data-driven: a new bridge is one registry row. Sources are open and keyless (DefiLlama free-tier, L2Beat MIT-licensed) and cited on every response; this is our own fusion, not a resold dashboard. Bad input is a 400, an unknown bridge is a 404, a total upstream failure is a 502, never a 500; a failing enrichment degrades to a partial flag. Hosts are fixed server-side, so there is no SSRF surface. Bridge-safety intelligence, not financial advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"bridge_screen_bridge_screen_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"bridge":"Stargate / LayerZero","risk_score":47,"tier":"caution","trust_model":"external-validator","tvl_usd":72000000.0,"exploit_summary":{"incidents":0,"total_lost_usd":0.0},"components":{"trust":0.55,"exploit":0.0,"tvl":0.86,"governance":0.7},"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bridge","in":"query","required":true,"schema":{"type":"string"},"description":"Bridge name, slug or alias (e.g. Stargate, Across, Wormhole, Arbitrum, CCTP). Resolved case-insensitively to the covered set."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/bridge/exploits":{"get":{"tags":["paid"],"summary":"Bridge exploit track record: for one bridge, its hack history (incidents, total USD lost, funds returned, worst technique); with no bridge, a ranked leaderboard of every bridge hack by USD lost. Sourced from DefiLlama's hack dataset, joined and normalized by us.","description":"The exploit track record for cross-chain bridges — the single largest loss vector in crypto. Pass a bridge to get its own incident history: each hack with the date, USD lost, funds returned (if any), the attack technique and classification, and the chains involved, plus totals and the worst technique. Omit the bridge and you get a leaderboard of every incident flagged as a bridge hack in DefiLlama's dataset, ranked by USD lost, with the aggregate total — a fast way to see which bridges and which attack classes have cost the most. Incidents are joined to our covered bridge set by name and alias and normalized into a stable shape. This is the same exploit signal that feeds the /bridge/screen risk score, exposed on its own as a cheap lookup. The source is DefiLlama's keyless hack dataset, cited on every response and fused by us, not a resold feed. An unknown named bridge is a 404, a total upstream failure is a 502, never a 500. Hosts are fixed server-side, so there is no SSRF surface. Security intelligence, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"bridge_exploits_bridge_exploits_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"bridge":"Wormhole / Portal","incidents":1,"total_lost_usd":326000000.0,"total_returned_usd":326000000.0,"worst_technique":"Signature verification bug","history":[{"name":"Wormhole","amount_usd":326000000.0,"date":1644883200}],"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bridge","in":"query","required":false,"schema":{"type":"string"},"description":"Bridge name, slug or alias (e.g. Stargate, Across, Wormhole, Arbitrum, CCTP). Resolved case-insensitively to the covered set."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/bridge/tvl":{"get":{"tags":["paid"],"summary":"Bridge TVL and per-chain liquidity concentration: total value locked plus the breakdown across chains and the largest single chain's share, from DefiLlama. A liquidity-depth and concentration signal for routing decisions.","description":"Total value locked and per-chain liquidity concentration for a cross-chain bridge. We return the bridge's TVL in USD from DefiLlama and, where DefiLlama exposes it, the TVL split across each chain the bridge secures, sorted largest first, plus a top-chain-concentration ratio (the largest single chain's share of TVL, where 1.0 means all liquidity sits on one chain). Deep, well-distributed liquidity is a healthier routing target than a thin or highly concentrated pool; this is the liquidity-depth signal that also feeds the /bridge/screen risk score, exposed on its own. Pass a bridge by name, slug or alias. The source is DefiLlama's keyless free-tier endpoints, cited on every response and normalized by us — not the Pro-gated bridges dataset and not a resale. An unknown bridge is a 404, a total upstream failure is a 502, never a 500; a missing per-chain breakdown degrades to a partial flag with the headline TVL still returned. Hosts are fixed server-side, so there is no SSRF surface. Intelligence, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"bridge_tvl_bridge_tvl_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"bridge":"Across","tvl_usd":21000000.0,"per_chain_tvl_usd":{"Ethereum":14000000.0,"Arbitrum":4200000.0,"Base":2800000.0},"top_chain_concentration":0.66,"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"bridge","in":"query","required":true,"schema":{"type":"string"},"description":"Bridge name, slug or alias (e.g. Stargate, Across, Wormhole, Arbitrum, CCTP). Resolved case-insensitively to the covered set."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/bridge/route":{"get":{"tags":["paid"],"summary":"Corridor safety verdict: given a source chain, destination chain and optional asset/amount, returns every bridge covering that corridor, each with its deterministic risk score and safe/caution/avoid tier, sorted safe-first, plus the recommended bridge and the reasons. One call to pick the safest bridge for a hop.","description":"A safety ranking of the bridges that can move an asset across a specific corridor, for agents choosing how to route a cross-chain hop. Give a source chain and a destination chain (chain names and common aliases like eth, arb, op, matic, bnb are normalized), and optionally the asset and amount for context. We find every bridge in our registry that covers both endpoints of the corridor and score each with the same deterministic fusion as /bridge/screen — trust-model severity, exploit history, TVL depth and governance/upgrade risk — then sort them safe-first and name the recommended (lowest-risk) bridge, with the reasons for each. This turns 'which bridge should I use from Ethereum to Arbitrum for USDC' into one call over cited, open data. Coverage is registry-driven, so adding a bridge or a corridor is a data change, not code. Missing src or dst is a 400, a corridor with no covered bridge is a 404, a total upstream failure is a 502, never a 500; a failing enrichment degrades to a partial flag. Hosts are fixed server-side, so there is no SSRF surface. Routing intelligence, not financial advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"bridge_route_bridge_route_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"corridor":{"src":"ethereum","dst":"arbitrum","asset":"USDC"},"bridge_count":3,"recommended":{"bridge":"Arbitrum Bridge","risk_score":22,"tier":"safe"},"bridges":[{"bridge":"Arbitrum Bridge","risk_score":22,"tier":"safe"},{"bridge":"Across","risk_score":31,"tier":"safe"}],"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"src","in":"query","required":true,"schema":{"type":"string"},"description":"Source chain (e.g. ethereum, arbitrum, base, polygon, bsc)."},{"name":"dst","in":"query","required":true,"schema":{"type":"string"},"description":"Destination chain (e.g. arbitrum, optimism, base, solana)."},{"name":"asset","in":"query","required":false,"schema":{"type":"string"},"description":"Asset ticker to move (e.g. USDC, ETH, WBTC). Optional; echoed."},{"name":"amount","in":"query","required":false,"schema":{"type":"number"},"description":"Amount to move, for context. Optional; echoed."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/ucc/debtor":{"get":{"tags":["paid"],"summary":"Secured-lending due-diligence for a business. Give a company name and a state and get its encumbrance profile: which secured creditors hold liens on its assets, the active UCC-1 financing statements plus federal, state and municipal tax liens, judgment and labor liens, each with a computed effective status, and a summary with the active secured-creditor count and distress signals. Cited to the official state open-data portal. Informational public record, not a credit decision.","description":"Encumbrance and secured-lending due-diligence for a business borrower or counterparty — the mandatory pre-lending step of checking existing security interests and lien priority, delivered as one cited JSON call for an agentic underwriting or vendor-risk workflow. Input: a business/debtor name and a two-letter state code for the state UCC index to search. The service resolves the debtor name by fuzzy-clustering its filing variants (corporate suffixes, store numbers and punctuation normalized away), fetches its UCC and lien filings from the official state Secretary-of-State open-data portal, and returns: the matched entity clusters with a match score and filing count each; the normalized filings with the filing number, lien class (UCC-1 secured financing, federal or state or municipal tax lien, judgment, labor and more), the secured party holding the lien, the filed and lapse dates, and a COMPUTED effective status (active, lapsed, released or terminated) — computed because the raw record status is not reliable, so status is derived from the lapse date and any release or termination action; and a summary with the number of distinct active secured creditors, the total active liens, flags for present federal, state and municipal tax liens, judgment and labor liens, the earliest and latest lien dates, the filings lapsing within twelve months, and human-readable distress signals. Coverage is per-state and honestly labeled (Connecticut at launch, more states added as data adapters, never pretending to be national); the collateral description is surfaced only where the source publishes it. Every response is cited to the dataset and filing accession numbers and carries a public-record disclaimer. Deterministic, no LLM, keyless. Informational public UCC/lien records, not a credit decision and not legal advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"ucc_debtor_ucc_debtor_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"debtor":"STOP & SHOP","state":"CT"},"match_count":1,"filing_count":3,"summary":{"active_secured_creditors":1,"total_active_liens":3,"has_federal_tax_lien":false,"has_municipal_tax_lien":true,"distress_signals":["active municipal tax lien present"]},"coverage":{"states":["CT"],"license":"Public Domain"},"disclaimer":"Informational public UCC/lien records; not a credit decision."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"debtor","in":"query","required":true,"schema":{"type":"string"},"description":"The business/debtor name to search (fuzzy-matched)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["CT"]},"description":"Two-letter state code of the UCC index to search"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/ucc/creditor":{"get":{"tags":["paid"],"summary":"Reverse lien lookup by secured party. Give a lender or creditor name and a state and get the business debtors on which that party currently holds active liens — their lien portfolio in that state, for competitive intelligence or counterparty mapping. Cited to the official state open-data portal. Informational public record.","description":"The reverse lens on the same public UCC/lien data: given a secured party — a lender, bank, equipment financier or factor — return the business debtors on which that party currently holds ACTIVE liens in a given state, each with the count of active liens, the lien classes, the debtor city and the most recent filing date. This is a lender-portfolio and competitive-intelligence view for an agent mapping who a financier has lent to, or checking a counterparty's book of secured positions. The secured-party name is fuzzy-matched, the effective status is computed the same way as the debtor route so only genuinely active liens are counted, and the response is cited to the dataset and filing accession numbers with a public-record disclaimer. Coverage is per-state and honestly labeled. Deterministic, no LLM, keyless. Informational public record, not a credit decision.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"ucc_creditor_ucc_creditor_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"secured_party":"ALLY BANK","state":"CT"},"debtor_count":2,"active_lien_count":2,"debtors":[{"debtor":"Safety Marking LLC","active_lien_count":1,"lien_classes":["ucc_secured"],"latest_filed":"2023-08-03"}],"coverage":{"states":["CT"],"license":"Public Domain"},"disclaimer":"Informational public UCC/lien records; not a credit decision."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"secured_party","in":"query","required":true,"schema":{"type":"string"},"description":"The secured party / lender name (fuzzy-matched)"},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["CT"]},"description":"Two-letter state code of the UCC index to search"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/trader/perps":{"get":{"tags":["paid"],"summary":"Open Hyperliquid perpetual positions for an EVM address: per-position direction, size, USD notional, leverage, entry, mark, unrealized PnL, ROE and liquidation price, PLUS derived signals — distance-to-liquidation, account leverage, aggregate unrealized PnL, concentration and a deterministic 0-100 liquidation-risk score. Follow-the-smart-money wallet intelligence in one call. public on-chain data, not financial advice.","description":"A normalized, cited brief of every open Hyperliquid perpetual position held by a single EVM address — the address/wallet axis of crypto-derivatives intelligence (what THIS trader is doing), the complement of market-wide funding/OI. Read from the Hyperliquid public Info API (clearinghouseState) — decentralized-protocol / on-chain state, public and keyless, not a resold centralized feed and not PII. For each position we return the coin, the direction (long or short, from the sign of the signed size), the size in coins, the USD notional, the leverage and its cross/isolated type, the entry price, an implied mark price, the unrealized PnL, the return on equity, the liquidation price and the percent distance from mark to that liquidation price. Across the account we compute the account leverage (total notional over account value), the aggregate unrealized PnL, the concentration (the largest position's share of gross notional) and a deterministic 0-to-100 liquidation-risk score that is the notional-weighted proximity of the positions to their liquidation prices — a formula in code, no model or LLM, so it is reproducible (documented in /trader/sources). Pass only a 0x EVM address; the upstream host is fixed server-side, so there is no SSRF surface. A bad address is a 400, an address with no positions returns an empty set, an upstream failure is a 502, never a 500. This is public-data intelligence, not financial advice.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"trader_perps_trader_perps_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0xf5d8...ad53","account":{"account_value":2159013.21,"total_notional":1766794.28},"positions":[{"coin":"BTC","direction":"short","notional_usd":1640497.76,"leverage":3.0,"unrealized_pnl":6685.23,"distance_to_liq_pct":127.5}],"num_positions":19,"signals":{"account_leverage":0.82,"aggregate_upnl":12345.6,"concentration":0.93,"liq_risk_score":4,"liq_risk_verdict":"moderate"},"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"A 0x-prefixed 40-hex EVM address (the wallet to profile). Hosts are fixed server-side; you pass only this address."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/trader/polymarket":{"get":{"tags":["paid"],"summary":"Polymarket wallet intelligence for an EVM address: open positions (title, outcome, size, avg vs current price, current value, realized + unrealized PnL, redeemable), portfolio value, recent trade activity, and derived totals plus size-weighted conviction, concentration and a realized-win proxy — positions, value and activity fused into one brief. On-chain USDC markets on Polygon. public on-chain data, not financial advice.","description":"A single fused wallet brief for a Polymarket trader by EVM address — the address/wallet axis of prediction-market intelligence (what THIS wallet is betting), the complement of market-wide event odds. We combine three public Polymarket data-api endpoints — positions, portfolio value and recent activity — which index the on-chain USDC prediction markets on Polygon (public on-chain state, keyless, not a resold centralized feed and not PII). For each open position we return the market title, the chosen outcome, the size, the average entry price versus the current price, the current value, the unrealized and realized PnL, the percent PnL and whether it is redeemable. We report the portfolio value, the recent trade activity (type, side, size, USDC, price, timestamp, market), the totals (aggregate realized and unrealized PnL and the open count) and derived signals — a size-weighted conviction (how decisive the average stakes are, away from a coin-flip), the concentration of the largest position and a realized-win proxy (the share of resolved positions in profit). Money is real on-chain USDC. Each of the three sources is best-effort: one failing is reported under errors with a partial flag and the rest are returned; only a total failure is a 502, never a 500. Pass only a 0x EVM address; the host is fixed server-side, so there is no SSRF surface. Public-data intelligence, not financial advice.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"trader_polymarket_trader_polymarket_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0xfcdc...d8e3","open_positions":[{"title":"Solana Up or Down","outcome":"Up","size":1793.7,"avg_price":0.076,"cur_price":0.0,"current_value":0.0,"unrealized":-136.34,"realized":306.55,"redeemable":true}],"portfolio_value":583.56,"totals":{"total_unrealized":-136.34,"total_realized":306.55,"num_open":10},"signals":{"conviction":0.41,"concentration":0.5,"win_proxy":0.6},"money_type":"real","partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"A 0x-prefixed 40-hex EVM address (the wallet to profile). Hosts are fixed server-side; you pass only this address."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/trader/vaults":{"get":{"tags":["paid"],"summary":"Hyperliquid vaults, two modes in one route: pass `vault` (an address) for a single vault overview — name, leader, TVL, APR, age, max drawdown, pnl trend and a deterministic 0-100 quality score; or omit it for a ranked discovery list of the top open vaults by `sort` (tvl or apr). public on-chain data, not financial advice.","description":"Hyperliquid vault intelligence with two modes in a single route. In single-vault mode you pass a vault address and get an overview from the public Info API (vaultDetails): the name, the leader address, the TVL (summed from follower equity), the APR, the age in days, the maximum peak-to-trough drawdown over the all-time account-value history, the latest pnl trend, whether the vault is closed, the follower count and a deterministic 0-to-100 quality score that blends APR, TVL depth and drawdown control (each saturating at a documented reference, weights renormalized — a formula in code, no LLM). In discovery mode you omit the vault and get a ranked list of the top open vaults by TVL or APR, streamed out of the public vaults stats feed. That feed is large, so we stream-parse it into a bounded top-N (never loading it whole) and cache only the trimmed projection. Sources are decentralized-protocol public state, keyless, cited with attribution — not a resold centralized feed. A bad vault address is a 400, an unknown vault is a 404, an upstream failure is a 502, never a 500. Hosts are fixed server-side, so there is no SSRF surface. Public-data intelligence, not financial advice.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"trader_vaults_trader_vaults_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mode":"list","sort":"tvl","count":2,"vaults":[{"name":"Hyperliquidity Provider (HLP)","vault_address":"0xdfc2...f303","tvl":164944875.21,"apr":-0.0001,"is_closed":false}],"partial":false,"ts":1752000000}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"vault","in":"query","required":false,"schema":{"type":"string"},"description":"Optional 0x EVM vault address. Present => single-vault overview; absent => ranked top-vaults discovery list."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["tvl","apr"]},"description":"Ranking key for the discovery list (default tvl)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Top-N for the list (default 20, max 100)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/smartmoney/leaderboard":{"get":{"tags":["paid"],"summary":"Follow the smart money: a ranked leaderboard of the TOP TRADERS on Hyperliquid by `window` (day/week/month/allTime) and `sort` (PnL, ROI or volume), each with account value and a consistency signal. Includes a human-readable `summary` and structured `leaders`; follow=true adds the top address's open positions. public on-chain data, not financial advice.","description":"A ranked smart-money leaderboard from the Hyperliquid public leaderboard stats feed: the top traders by a chosen performance window (day, week, month or all-time) and metric (realized-and-unrealized PnL, ROI or volume). For each leader we return the address, the display name if any, the account value, the ranked metric value, the PnL/ROI/volume for that window and a consistency signal that is true only when the trader is profitable in every window present. The feed is large (tens of thousands of rows), so we stream-parse it into a bounded top-N (never loading it whole) and cache only the trimmed projection. Alongside the structured leaders[] we return a `summary` — a compact human-readable top-N of \"rank. name/addr - AUM $X - PnL $Y - ROI Z%\" lines (a presentation of the same projection, so ranking bots keep using leaders[] unchanged). With follow set to true we additionally dial the current open perpetual positions of the single top-ranked address (reusing the perps normalization) so you can literally follow the smart money — capped at one address to prevent abuse. Sources are decentralized-protocol public state, keyless, cited — not a resold centralized feed and not PII. A bad window or sort is a 400, an upstream failure is a 502, never a 500; the follow dial failing is reported under errors with a partial flag. Hosts are fixed server-side, so there is no SSRF surface. Public-data intelligence, not financial advice.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"smartmoney_leaderboard_smartmoney_leaderboard_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"window":"week","sort":"pnl","count":1,"leaders":[{"address":"0x85ec...2052","account_value":62493139.51,"pnl":693406.51,"roi":0.0126,"consistency":false}],"summary":["1. 0x85ec…2052 — AUM $62.5M — PnL $693.4K — ROI 1.26%"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"window","in":"query","required":false,"schema":{"type":"string","enum":["day","week","month","allTime"]},"description":"Performance window to rank by (default day)."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["pnl","roi","vlm"]},"description":"Ranking metric within the window (default pnl)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Top-N (default 20, max 100)."},{"name":"follow","in":"query","required":false,"schema":{"type":"boolean"},"description":"If true, also return the current open perp positions of the single top-ranked address."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/pkg/preflight":{"get":{"tags":["paid"],"summary":"Install-safety preflight for one dependency BEFORE pip install / npm i. Returns a safe / caution / block verdict fusing existence, OSV malware flags, typosquat distance to a popular package, a known-hallucination corpus, and freshness metadata. Supply-chain indicators, not a guarantee.","description":"A one-call defensive screen a coding agent runs on a package name BEFORE it installs the dependency, to catch slopsquatting / package-hallucination and malicious-install attacks. The caller supplies only ecosystem + name; nothing arbitrary is fetched (fixed upstream hosts). Fuses five keyless public signals into one deterministic verdict: (1) existence in the official registry (npm / PyPI) — a non-existent name is an attacker-registrable slot; (2) OSV.dev malware flags, where a MAL- advisory is the OpenSSF malicious-packages feed; (3) typosquat distance — Damerau-Levenshtein plus homoglyph folding against a bundled top-N popularity list, so a name one edit from a popular package that itself does not exist or is young/low-download is flagged; (4) membership in a provenanced hallucination corpus of names LLMs are documented to invent; (5) freshness metadata (age in days, weekly downloads, single maintainer, npm install/postinstall scripts). Output is a safe / caution / block verdict with the per-dimension booleans, the nearest popular package and edit distance, and a reasons list. Coverage grows by DATA (a new ecosystem or a fresher list is a data swap). Unknown ecosystem -> 400. Supply-chain indicators, not a guarantee; a safe verdict is not an endorsement.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"pkg_preflight_pkg_preflight_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ecosystem":"pypi","package":"reqeusts","verdict":"block","exists":false,"is_hallucinated":false,"is_typosquat":true,"is_malicious":false,"nearest_popular":"requests","edit_distance":1,"reasons":["does not exist and is edit-distance 1 from popular 'requests'"],"disclaimer":"Automated supply-chain indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi"]},"description":"Package ecosystem (aliases: pip/python, node)"},{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name to screen"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/pkg/preflight/batch":{"post":{"tags":["paid"],"summary":"Batch install-safety preflight for a whole dependency list or parsed manifest (up to 100 packages). Returns a verdict per package plus a blocked / caution / safe summary. Supply-chain indicators, not a guarantee.","description":"The batch form of the install-safety preflight, for screening an entire dependency list or a parsed manifest in one paid call (the manifest-scan path). The body is a JSON array or a {ecosystem, packages:[...]} object; each entry may be a bare name, an 'npm:name' / 'pypi:name' prefixed string, or an object with name + ecosystem, so a caller can mix ecosystems. Each package gets the same deterministic five-signal verdict as the single route (existence, OSV malware, typosquat distance to a popular package, hallucination-corpus membership, freshness metadata), and the response adds a summary partitioning the input into blocked / caution / safe with counts, so an agent can gate an install step on a single field. Capped at 100 packages per call; entries with an unknown or missing ecosystem come back with verdict 'unknown' rather than failing the whole batch. Supply-chain indicators, not a guarantee.\n\nPrice: $0.15 (USDC on Base, x402).","operationId":"pkg_preflight_batch_pkg_preflight_batch_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"ecosystem":{"type":"string","enum":["npm","pypi"],"description":"Default ecosystem for entries that do not set one"},"packages":{"items":{"type":"string"},"type":"array","description":"Package names; an entry may be 'name' or 'npm:name' / 'pypi:name', or an object with name + ecosystem"}},"type":"object","required":["packages"]},"example":{"ecosystem":"npm","packages":["react","unused-imports","loadsh"]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"batch","count":3,"summary":{"blocked":["unused-imports","loadsh"],"caution":[],"safe":["react"],"block_count":2,"caution_count":0,"safe_count":1},"results":[{"ecosystem":"npm","package":"react","verdict":"safe"}],"disclaimer":"Automated supply-chain indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{}}]}}},"/license/check":{"get":{"tags":["paid"],"summary":"License-compliance verdict for one package and its whole transitive dependency tree. Resolves the deps.dev graph plus the declared SPDX license of every node, finds copyleft contamination points, and returns a target-and-distribution-aware verdict of safe, attribution-required, copyleft-risk or incompatible. Automated indicators, not legal advice.","description":"One-call software-license due-diligence for a coding, SBOM or M&A-diligence agent about to add a dependency or ship a release. Supply an ecosystem (npm, PyPI, Go, Maven, Cargo, NuGet), a package name and optionally a version, plus your project's own target license and how you distribute (saas, binary or internal), and get back the full transitive dependency tree with the declared SPDX license of every node (from Google's deps.dev graph, with a ClearlyDefined fallback), the exact copyleft contamination points (GPL, AGPL, SSPL, LGPL, MPL), and a single overall verdict: safe, attribution-required, copyleft-risk or incompatible. The verdict is computed from an encoded FSF/OSI compatibility matrix that is target-license-aware and distribution-aware, so it captures the cases a bare license field misses: an AGPL or SSPL dependency triggers a source-disclosure obligation for a SaaS but not for an internal tool; a GPL dependency blocks closed-binary distribution while being fine for SaaS; the GPL-2.0-only and Apache-2.0 patent-clause incompatibility; LGPL and MPL dynamic-linking and file-scope obligations; and permissive attribution and NOTICE duties. Undetermined licenses (NOASSERTION) are flagged conservatively with a coverage block, the transitive node count is capped for the memory budget with a truncated flag, and a briefly-down upstream degrades a node to unknown rather than failing (never a 500). The moat is the transitive tree plus the target-and-distribution-aware verdict, not a license resale. These are automated indicators, not legal advice and not a guarantee; verify against the authoritative license texts before acting.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"license_check_license_check_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"ecosystem":"npm","package":"express","version":"4.18.2","target_license":"MIT","distribution":"saas","verdict":"safe","dependency_count":71,"license_summary":{"by_class":{"permissive":70,"weak-copyleft":1}},"contamination_points":[],"coverage":{"licenses_resolved":71,"complete":true,"truncated":false},"disclaimer":"Automated indicators, not legal advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi","go","maven","cargo","nuget"]},"description":"Package ecosystem"},{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name"},{"name":"version","in":"query","required":false,"schema":{"type":"string"},"description":"Version (optional; default resolved if omitted)"},{"name":"target_license","in":"query","required":false,"schema":{"type":"string"},"description":"Your project SPDX license, e.g. MIT"},{"name":"distribution","in":"query","required":false,"schema":{"type":"string","enum":["saas","binary","internal"]},"description":"How you ship it (default saas)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/license/scan":{"post":{"tags":["paid"],"summary":"License-compliance verdict for a whole dependency list or parsed manifest in one call. Accepts name-at-version strings, a parsed package.json, a requirements.txt list or go.mod imports, resolves each declared SPDX license, and returns a per-dependency plus aggregate verdict with the worst copyleft contamination point. Automated indicators, not legal advice.","description":"The batch form of the license-compliance verdict, for screening a whole dependency set or a parsed manifest in one paid call. The JSON body carries a dependencies array plus your target_license and distribution; each entry may be a bare name, a name-at-version string, an ecosystem-prefixed string such as pypi-colon-name, or an object with name, version and ecosystem, and a parsed package.json object (name to version-spec) is accepted directly, so an agent can hand over exactly what it read from a lockfile. Every dependency is resolved to its declared SPDX license via deps.dev with a ClearlyDefined fallback and scored through the same encoded FSF/OSI matrix as the single-package route (target-license-aware and distribution-aware), and the response adds an aggregate verdict, a per-class and per-verdict summary, the worst contamination point and the list of undetermined licenses, so an agent can gate a merge or release on one field. Capped per call for the memory budget; entries whose ecosystem or version cannot be resolved come back marked unknown rather than failing the whole scan. Automated indicators, not legal advice and not a guarantee.\n\nPrice: $0.15 (USDC on Base, x402).","operationId":"license_scan_license_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"ecosystem":{"type":"string","enum":["npm","pypi","go","maven","cargo","nuget"],"description":"Default ecosystem for entries without one"},"dependencies":{"items":{"type":"string"},"type":"array","description":"Dependencies as name, name-at-version, or ecosystem-prefixed"},"target_license":{"type":"string","description":"Your project SPDX license"},"distribution":{"type":"string","enum":["saas","binary","internal"],"description":"How you ship it (default saas)"}},"type":"object","required":["dependencies"]},"example":{"ecosystem":"npm","target_license":"Apache-2.0","distribution":"binary","dependencies":["express@4.18.2","left-pad@1.3.0"]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"target_license":"Apache-2.0","distribution":"binary","verdict":"safe","dependency_count":2,"license_summary":{"by_verdict":{"attribution-required":2}},"coverage":{"count":2,"resolved":2,"unknown":0},"disclaimer":"Automated indicators, not legal advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{}}]}}},"/license/compat":{"get":{"tags":["paid"],"summary":"Pure-compute license-compatibility verdict, no network. Give a list of SPDX ids or one SPDX expression with AND, OR and WITH plus a target license and a distribution model, and get the matrix verdict of safe, attribution-required, copyleft-risk or incompatible with the obligation and reasons. Automated indicators, not legal advice.","description":"The cheap, instant, high-margin core of the service: a pure-compute license-compatibility check with no network, no keys and no data fetched (canon #10). Supply either a list of SPDX license ids or a single SPDX expression using AND, OR and WITH and parentheses, together with your project's target license and a distribution model of saas, binary or internal, and get back the compatibility verdict of safe, attribution-required, copyleft-risk or incompatible, the concrete obligation (attribution or NOTICE, dynamic-link isolation, whole-work copyleft, network source disclosure, or replace-or-relicense) and human reasons. The evaluator understands SPDX expression semantics: AND takes the most restrictive term, OR the least restrictive choice, and a recognised GPL linking exception such as Classpath downgrades strong copyleft to file scope. It applies the same encoded FSF/OSI matrix the tree routes use, including the AGPL and SSPL network trigger for SaaS, GPL whole-work conveyance, and the explicit GPL-2.0-only and Apache-2.0 patent-clause incompatibility. Use it to settle a single compatibility question without paying for a dependency-tree crawl. Automated indicators, not legal advice and not a guarantee.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"license_compat_license_compat_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mode":"list","licenses":["GPL-3.0-only","MIT"],"target_license":"Apache-2.0","distribution":"binary","verdict":"incompatible","worst":{"license":"GPL-3.0-only","verdict":"incompatible"},"disclaimer":"Automated indicators, not legal advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"licenses","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"SPDX ids to check"},{"name":"spdx_expr","in":"query","required":false,"schema":{"type":"string"},"description":"An SPDX expression instead of a list"},{"name":"target_license","in":"query","required":false,"schema":{"type":"string"},"description":"Your project SPDX license"},{"name":"distribution","in":"query","required":false,"schema":{"type":"string","enum":["saas","binary","internal"]},"description":"How you ship it (default saas)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/docs/library":{"get":{"tags":["paid"],"summary":"Up-to-date, version-pinned documentation for a library or API, for coding agents. Give an ecosystem and a package name (optional version and topic) and get a compact doc slice: package identity (latest and requested version, license, repo, homepage and doc URLs, version list) plus the README or llms.txt section matching the topic, each with a provenance citation. Keyless PyPI, npm, crates and GitHub sources.","description":"The flagship route: one call returns the fresh, version-specific documentation a coding agent needs to generate correct code against a library or API, instead of hallucinating a stale or non-existent method. Supply an `ecosystem` (npm, pypi, crates or github; aliases pip/python, cargo/rust, node, gh are accepted) and a `name` (for github, owner/repo), optionally a `version` to pin and a `topic` to focus on. The route resolves the package's identity across the official keyless registries — latest version plus the requested version, SPDX license, repository, homepage and documentation URLs, and the recent version list — then returns the single README or llms.txt section whose markdown heading matches your topic (or the introduction when no topic is given), byte-capped with an honest `truncated` flag. Every slice carries a provenance citation (source URL, source and version) so the agent can trust and re-fetch it. When the package's documentation host publishes an llms.txt (the llmstxt.org agent convention) and is on our curated allowlist, a focused llms.txt section is added. It returns metadata and minimal provenance-cited example slices only — it never rehosts whole documents, respects robots and bypasses no paywall. Unknown ecosystem returns 400, a missing package returns 404, never 500.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"docs_library_docs_library_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"identity":{"ecosystem":"pypi","name":"requests","latest_version":"2.32.3","resolved_version":"2.32.3","license":"Apache-2.0","repository":"https://github.com/psf/requests","versions_count":163},"topic":"authentication","doc":{"heading":"Authentication","matched_topic":true,"content":"## Authentication\n\nrequests supports HTTP Basic Auth...","truncated":false,"provenance":{"source_url":"https://pypi.org/project/requests/2.32.3/","source":"pypi","version":"2.32.3"}},"license":"Apache-2.0","attribution":["PyPI (pypi.org) — Python Software Foundation."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name; for github pass owner/repo such as coinbase/x402. npm scoped names @scope/name are allowed."},{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi","crates","github"]},"description":"Package ecosystem. Aliases accepted: pip and python map to pypi; cargo and rust map to crates; node maps to npm; gh maps to github."},{"name":"version","in":"query","required":false,"schema":{"type":"string"},"description":"Optional exact version to pin, such as 2.31.0; default is latest."},{"name":"topic","in":"query","required":false,"schema":{"type":"string"},"description":"Optional topic or symbol; matched against the README/llms.txt markdown headings, such as authentication or useEffect."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/docs/snippet":{"get":{"tags":["paid"],"summary":"Working code snippets for a library, matched to a topic. Give an ecosystem, package name and a topic or symbol and get the fenced code blocks from the README or docs whose language, code or nearest heading matches, each with a source citation and an honest truncated flag. Ideal for grounding a coding agent in real usage examples.","description":"Return real, runnable code examples for a library so a coding agent grounds its output in actual usage rather than inventing an API. Supply an `ecosystem` and `name` (github as owner/repo), optionally a `version`, and a `topic` or `symbol` to focus the match. The route fetches the package README (and, for crates or when the registry README is empty, the version-pinned GitHub raw README), scans its fenced code blocks, and returns the ones whose language, code text or nearest markdown heading contains your topic keyword — or all blocks when no topic is given. Each snippet carries its detected language, the nearest heading for context, a provenance citation (source URL, source, version) and an honest `truncated` flag; the number of blocks and the size of each are capped for a bounded response. Snippets are minimal example slices under the package's own open-source license with attribution; whole documents are never rehosted. Unknown ecosystem returns 400, a missing package returns 404, never 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"docs_snippet_docs_snippet_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"identity":{"ecosystem":"npm","name":"axios","resolved_version":"1.7.9"},"topic":"request","count":2,"snippets":[{"language":"js","code":"const res = await axios.get('/user?ID=12345')","heading":"Example","truncated":false,"provenance":{"source_url":"https://www.npmjs.com/package/axios","source":"npm","version":"1.7.9"}}],"capped":true,"attribution":["npm public registry (registry.npmjs.org)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name; for github pass owner/repo such as coinbase/x402. npm scoped names @scope/name are allowed."},{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi","crates","github"]},"description":"Package ecosystem. Aliases accepted: pip and python map to pypi; cargo and rust map to crates; node maps to npm; gh maps to github."},{"name":"version","in":"query","required":false,"schema":{"type":"string"},"description":"Optional exact version to pin, such as 2.31.0; default is latest."},{"name":"topic","in":"query","required":false,"schema":{"type":"string"},"description":"Optional topic or symbol; matched against the README/llms.txt markdown headings, such as authentication or useEffect."},{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Optional symbol name to match, an alias for topic."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/docs/changelog":{"get":{"tags":["paid"],"summary":"Version-delta changelog for a library between two versions. Give an ecosystem, package name and from_version and to_version and get the GitHub release notes in that range, the registry versions between them, and surfaced breaking-change markers. Built for agents deciding whether an upgrade is safe.","description":"Answer the upgrade-safety question directly: what changed between two versions of a library. Supply an `ecosystem`, a `name` (github as owner/repo) and a `from_version` and `to_version`, and the route resolves the package's GitHub repository, pulls its published releases and returns the ones whose tag falls after from_version and up to and including to_version — each with its tag, name, publish date, release URL, the byte-capped release notes and any surfaced breaking-change markers (removed, deprecated, no longer, dropped support, migration and similar). It also lists the registry versions between the two and a top-level breaking_changes summary. This is a moat over topic-based docs tools that do not diff versions. When a package publishes no GitHub Releases the response is honest (available:false with the registry version list) rather than fabricated. Release notes are cited to their source and never rehosted wholesale. Unknown ecosystem returns 400, a missing package returns 404, never 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"docs_changelog_docs_changelog_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"identity":{"ecosystem":"npm","name":"react","latest_version":"19.0.0"},"from_version":"18.0.0","to_version":"19.0.0","versions_between":["18.2.0","18.3.1","19.0.0"],"releases":[{"version":"v19.0.0","published_at":"2024-12-05T00:00:00Z","has_breaking":true,"breaking_markers":["removed"],"notes":"React 19 release notes..."}],"breaking_changes":["v19.0.0"],"available":true,"attribution":["GitHub REST API (github.com)."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Package name; for github pass owner/repo such as coinbase/x402. npm scoped names @scope/name are allowed."},{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["npm","pypi","crates","github"]},"description":"Package ecosystem. Aliases accepted: pip and python map to pypi; cargo and rust map to crates; node maps to npm; gh maps to github."},{"name":"from_version","in":"query","required":true,"schema":{"type":"string"},"description":"Lower bound version, such as 18.0.0 (exclusive)."},{"name":"to_version","in":"query","required":true,"schema":{"type":"string"},"description":"Upper bound version, such as 19.0.0 (inclusive)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/answer":{"get":{"tags":["paid"],"summary":"Cited answer (RAG): a natural-language question is answered by searching the public web, reading the top pages and synthesizing a grounded answer with a list of source URLs. Answer cites only the retrieved sources (anti-hallucination).","description":"Cited retrieval-augmented answer for a natural-language question. The route runs a multi-engine web search, fetches and cleans the top pages (trafilatura, robots.txt-respecting, public content only), and synthesizes a concise answer that cites ONLY those retrieved sources with inline [n] markers — an anti-hallucination prompt forbids outside knowledge. Returns the answer, the source list (url+title), the sources actually used, and the model. Tunable `max_sources` (1-5), `timelimit` freshness and `region` locale. Always a valid 200: if nothing relevant is found it returns `insufficient:true`; if synthesis is momentarily unavailable it still returns the sources with `synthesis_available:false` (never a 5xx).\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"answer_answer_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":"what is the x402 payment protocol","answer":"x402 is an open protocol for machine payments over HTTP 402 [1].","sources":[{"url":"https://x402.org","title":"x402"}],"used_sources":["https://x402.org"],"model":"deepseek-v4-flash"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"The question to answer"},{"name":"max_sources","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":5},"description":"How many web pages to read (default 3)"},{"name":"timelimit","in":"query","required":false,"schema":{"type":"string","enum":["d","w","m","y"]},"description":"Freshness filter: past day/week/month/year"},{"name":"region","in":"query","required":false,"schema":{"type":"string"},"description":"Locale like 'us-en', 'uk-en' (default us-en)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/news/brief":{"get":{"tags":["paid"],"summary":"Situation brief on a topic (RAG over fresh news): searches recent news, reads the top articles and synthesizes a short cited summary of what is currently happening plus key points. Cites only the retrieved articles (anti-hallucination).","description":"Topic situation brief built as RAG over fresh news. The route runs a keyword news search (dated headlines across web news engines), reads and cleans the top articles, and synthesizes a short brief of what is currently happening plus a list of key points — citing ONLY the retrieved articles with inline [n] markers (anti-hallucination prompt, no outside knowledge). Returns the brief, the key points, the dated source list (title/url/date/source) and the model. Tunable `max_sources` (1-10), `timelimit` freshness (default past week) and `region` locale. Always a valid 200: empty results return `insufficient:true`, a momentary synthesis outage returns the sources with `synthesis_available:false` (never a 5xx).\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"news_brief_news_brief_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"topic":"ethereum etf flows","brief":"Spot ETH ETFs saw net inflows this week [1].","key_points":["Inflows led by major issuers [1]"],"sources":[{"title":"ETH ETF weekly","url":"https://example.com/eth","date":"2026-07-15","source":"Example"}],"model":"deepseek-v4-flash"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"topic","in":"query","required":true,"schema":{"type":"string"},"description":"The topic to brief on"},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Alias for topic (either is accepted)"},{"name":"max_sources","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10},"description":"How many articles to read (default 5)"},{"name":"timelimit","in":"query","required":false,"schema":{"type":"string","enum":["d","w","m","y"]},"description":"Freshness filter (default w = past week)"},{"name":"region","in":"query","required":false,"schema":{"type":"string"},"description":"Locale like 'us-en', 'uk-en' (default us-en)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/rwa/list":{"get":{"tags":["paid"],"summary":"Catalog of tokenized real-world-asset products ranked by TVL, from the DefiLlama RWA universe. Each row carries slug, name, symbol, normalized sub-category, backing type, issuer, DefiLlama category, total value locked and the chains it lives on. Optionally filter by sub-category, chain or issuer. The cheap first step that resolves a name to the slug the other routes use.","description":"The discovery grain for tokenized real-world-asset intelligence. It returns the universe of RWA products DefiLlama tracks across the RWA, RWA Lending and Treasury Manager categories (roughly 180 products), each normalized to a compact record: the slug used as the join key by the product, yield and category routes, the full name, the token symbol when one is published, the NORMALIZED sub-category (tokenized treasury, private credit, tokenized fund, commodity, real estate or tokenized equity), the backing type (US treasuries, private-credit loans, physical gold, real estate, money market or mixed), the resolved issuer or manager, the total value locked, and the list of chains the product is deployed on. Results are ranked by TVL so the largest products come first. Narrow the set by sub-category to compare tokenized treasuries against private credit, by chain to see what is available where, or by issuer to list one manager's products. Coverage is data-driven so a newly listed RWA protocol is picked up automatically. Every response is attributed to the open-data source. An upstream failure returns 502, never a 500. The classification is a derived signal, not financial advice.\n\nPrice: $0.005 (USDC on Base, x402).","operationId":"rwa_list_rwa_list_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"count":1,"total_matched":1,"products":[{"slug":"blackrock-buidl","name":"BlackRock BUIDL","symbol":"BUIDL","sub_category":"tokenized-treasury","backing_type":"us-treasuries","issuer":"BlackRock","tvl":3415141436.0,"chains":["Ethereum"]}],"attribution":["Source: DefiLlama (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["tokenized-treasury","private-credit","tokenized-fund","commodity","real-estate","tokenized-equity","tokenized-rwa"]},"description":"Filter by normalized RWA sub-category"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Filter to products present on this chain, such as Ethereum"},{"name":"issuer","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by issuer name, such as BlackRock or Ondo"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":300},"description":"Max rows to return (ranked by TVL)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]}}},"/rwa/product":{"get":{"tags":["paid"],"summary":"Full tokenized-RWA product profile for a slug, a token symbol, or an issuer with a name. Fuses identity and issuer, the normalized sub-category and backing type, on-chain TVL with a per-chain distribution, a growth trend of TVL over 7, 30 and 90 days, pool-level yield and APY, and an independent on-chain totalSupply cross-check for a curated token, with cited sources and a derived-signal frame.","description":"The flagship due-diligence object a treasury or allocator agent reads before it compares or holds a tokenized real-world asset. Give a DefiLlama slug, a curated token symbol such as BUIDL, PAXG, XAUt, USDY or OUSG, or an issuer paired with a product name, and it returns one fused profile. Identity resolves the issuer or manager, the token symbol, a short description and the product URL. Classification returns the normalized sub-category and backing type with a plain-language note, well beyond the raw platform's coarse RWA tag. The TVL facet returns total value locked and the per-chain distribution. The growth trend reports the absolute and percentage change in TVL over 7, 30 and 90 days, computed from the tail of the historical series. The yield facet returns pool-level APY, base and reward APY and the 30-day mean from the yields feed, plus a TVL-weighted average, or reports availability false when the product has no tracked pools. The on-chain facet reads the ERC-20 totalSupply of the curated token straight from chain state as an independent cross-check, and reports availability false for a product without a curated contract. Sources are cited per facet. Unknown product returns 404, an upstream failure 502, never a 500. Everything here is a derived signal over public open data, explicitly not financial advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"rwa_product_rwa_product_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"identity":{"slug":"blackrock-buidl","name":"BlackRock BUIDL","symbol":"BUIDL","issuer":"BlackRock"},"classification":{"sub_category":"tokenized-treasury","backing_type":"us-treasuries"},"tvl":{"total":3415141436.0},"growth_trend":{"windows":{"30d":{"pct_change":4.2}}},"yield":{"available":true,"avg_apy":4.5},"onchain_verification":{"available":true,"onchain_total_supply":191594864.6},"citations":["Source: DefiLlama (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"DefiLlama product slug, such as blackrock-buidl"},{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Token symbol, such as BUIDL or PAXG (alternative to slug)"},{"name":"issuer","in":"query","required":false,"schema":{"type":"string"},"description":"Issuer name, paired with name (alternative to slug)"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Product name, paired with issuer"},{"name":"chain","in":"query","required":false,"schema":{"type":"string"},"description":"Chain to prefer for the on-chain cross-check"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/rwa/yield":{"get":{"tags":["paid"],"summary":"Yield facet for a tokenized-RWA product: pool-level APY, base APY, reward APY, the 30-day mean APY and the 30-day change, plus a TVL-weighted average across the product's pools, from the DefiLlama yields feed. Reports availability false when the product has no tracked pools. Cited to the open-data source.","description":"A focused yield read for a single tokenized real-world-asset product, ideal for comparing carry across treasuries and private credit. It resolves the product by slug or symbol, then returns the pools the yields feed tracks for it, each with the current APY, the base and reward APY split, the 30-day mean APY and the 30-day percentage change, alongside pool TVL. It also computes a TVL-weighted average APY across the product's pools as an honest single number. When the product has no tracked pools the yield facet reports availability false rather than inventing a figure. Values are attributed to the open-data source. Unknown product returns 404, an upstream failure 502, never a 500. The yield is a reported signal, not a guarantee and not financial advice.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"rwa_yield_rwa_yield_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"slug":"ondo-yield-assets","name":"Ondo Yield Assets","sub_category":"tokenized-treasury","yield":{"available":true,"pool_count":11,"avg_apy":3.53,"pools":[{"symbol":"USDY","chain":"Ethereum","apy":4.35}]},"attribution":["Source: DefiLlama Yields (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"DefiLlama product slug"},{"name":"symbol","in":"query","required":false,"schema":{"type":"string"},"description":"Token symbol (alternative to slug)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/rwa/category":{"get":{"tags":["paid"],"summary":"Market-intelligence aggregate over a normalized RWA sub-category: total TVL, the top products ranked with their TVL share, issuer concentration and the leading product's growth trend. Called without a category it returns a market-wide roll-up of every sub-category's TVL and product count. Cited to the open-data source.","description":"The market lens over the tokenized real-world-asset landscape. Give a normalized sub-category such as tokenized treasury, private credit, tokenized fund, commodity, real estate or tokenized equity, and it aggregates every product in that class into a market picture: the summed TVL, the top products ranked with each one's share of the category TVL, an issuer-concentration read that names the largest issuer and its TVL share across a count of distinct issuers, and the growth trend of the leading product as a momentum proxy. Called with no category it returns a market-wide roll-up: every sub-category with its product count, total TVL and share of the whole RWA market. This is a fusion and aggregation, not a raw dump of one dashboard. Every response is attributed to the open-data source. An upstream failure returns 502, never a 500. The aggregates are derived signals over public data, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"rwa_category_rwa_category_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"category":"tokenized-treasury","product_count":20,"total_tvl":12000000000.0,"top_products":[{"slug":"blackrock-buidl","issuer":"BlackRock","tvl":3415141436.0,"tvl_share":0.28}],"issuer_concentration":{"distinct_issuers":12,"top_issuer":"BlackRock"},"attribution":["Source: DefiLlama (open data)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["tokenized-treasury","private-credit","tokenized-fund","commodity","real-estate","tokenized-equity","tokenized-rwa"]},"description":"Normalized RWA sub-category; omit for a market-wide roll-up"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/model/route":{"get":{"tags":["paid"],"summary":"Pick the cheapest LLM that passes your task and constraints. Give a task class and optional constraints such as minimum context, required tool-use, vision or reasoning, maximum input and output price per million tokens, a minimum coding benchmark and a provider filter, and get a ranked cheapest-first list of models that pass, plus a recommended pick and a deterministic rationale. Fused from open keyless catalogs LiteLLM, models dev and Aider with a citation on every model.","description":"The flagship route and the core computational value: instead of hardcoding a model, an orchestrating or coding agent asks for the cheapest model that still passes its quality and capability bar for a given task, and routes sub-calls to it. Supply a `task` (coding, reasoning, vision, tool-use, long-context, cheap-chat or general) and any constraints — `min_context`, `needs_tools`, `needs_vision`, `needs_reasoning`, `max_input_price` and `max_output_price` (USD per million tokens), `min_benchmark` (Aider coding pass rate percent) and a `provider` filter. The route filters the fused index of roughly a thousand models to those passing every constraint, sorts them cheapest-first by a blended input and output price, and returns the ranked list with each model's normalized per-million prices, context window, capability tags, coding benchmark when known and per-source citations, plus a `recommended` top pick and a deterministic `rationale` string. Prices are normalized to per-million USD from both LiteLLM (per-token) and models dev (already per-million); on a divergence both values are kept, each cited, with no invented truth. When a source is unavailable the route degrades honestly and reflects it in `sources_used` and `degraded` rather than failing. No LLM runs; the result is fully deterministic and reproducible.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"model_route_model_route_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"task":"coding","recommended":{"id":"gpt-4.1-mini","provider":"openai","price_in":0.4,"price_out":1.6,"blended":1.3,"context":1047576,"caps":["tools","vision"],"benchmark":{"pass_rate":32.4,"source":"aider_polyglot"},"citations":[{"source":"litellm","license":"MIT","source_url":"https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json"}]},"candidate_count":41,"rationale":"Cheapest of 41 models passing [context >= 200,000; tool-use] for task 'coding'.","sources_used":["litellm","modelsdev","aider_polyglot","aider_edit"],"attribution":["LiteLLM (BerriAI) — MIT","models.dev — MIT","Aider — Apache-2.0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"task","in":"query","required":true,"schema":{"type":"string","enum":["coding","reasoning","vision","tool-use","long-context","cheap-chat","general"]},"description":"The workload class to route for. Each class implies required capabilities and a sensible context floor that your explicit constraints override."},{"name":"min_context","in":"query","required":false,"schema":{"type":"integer","minimum":0},"description":"Minimum context window in tokens."},{"name":"needs_tools","in":"query","required":false,"schema":{"type":"boolean"},"description":"Require function or tool calling support."},{"name":"needs_vision","in":"query","required":false,"schema":{"type":"boolean"},"description":"Require image or vision input support."},{"name":"needs_reasoning","in":"query","required":false,"schema":{"type":"boolean"},"description":"Require extended reasoning support."},{"name":"max_input_price","in":"query","required":false,"schema":{"type":"number","minimum":0},"description":"Maximum input price in USD per million tokens."},{"name":"max_output_price","in":"query","required":false,"schema":{"type":"number","minimum":0},"description":"Maximum output price in USD per million tokens."},{"name":"min_benchmark","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":100},"description":"Minimum Aider coding pass rate percent."},{"name":"provider","in":"query","required":false,"schema":{"type":"string"},"description":"Optional provider filter such as anthropic or openai."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/model/lookup":{"get":{"tags":["paid"],"summary":"Look up one normalized model record by name or short alias such as sonnet or 4o. Returns per-million input and output prices, context and output limits, capability tags, modalities, knowledge cutoff, release date, provider and coding benchmark, each fused from open keyless catalogs LiteLLM, models dev and Aider with a source citation. Unknown names return found false, never an error.","description":"One call resolves a model name or short alias to a single normalized, provider-neutral record fused across the open catalogs. Aliases such as sonnet, opus, 4o, flash, r1 and many families are seeded, and anything else is fuzzy-resolved to the closest catalog id. The record carries per-million input and output prices (kept from both LiteLLM and models dev, with both values retained on a divergence), context and maximum output tokens, a compact capability tag set (tools, parallel_tools, vision, reasoning, pdf, audio, web_search, prompt_caching, structured_output), input and output modalities, knowledge cutoff and release date where models dev provides them, the provider, the best Aider coding benchmark when the model appears on a leaderboard, and a citation for every contributing source with its license. Every unknown field is an honest null, never a guess. A name that matches nothing returns found false with the sources it searched, not a 404 error, so an agent can branch cleanly.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"model_lookup_model_lookup_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"query":"sonnet","id":"claude-sonnet-4-5","name":"Claude Sonnet 4.5","provider":"anthropic","price_in":3.0,"price_out":15.0,"prices":{"input":{"litellm":3.0,"modelsdev":3.0},"output":{"litellm":15.0,"modelsdev":15.0}},"context":1000000,"max_output":128000,"caps":["tools","vision","reasoning","prompt_caching"],"knowledge_cutoff":"2025-07-31","release_date":"2025-09-29","benchmark":{"pass_rate":77.3,"source":"aider_polyglot"},"citations":[{"source":"litellm","license":"MIT","source_url":"https://..."},{"source":"modelsdev","license":"MIT","source_url":"https://..."}]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Model name or short alias, such as claude-sonnet-4-5, gpt-4o, sonnet or 4o. Fuzzy-resolved to the closest catalog model."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/model/compare":{"get":{"tags":["paid"],"summary":"Compare two to five models side by side. Give a comma separated list of names or aliases and get each model normalized on price, context, capabilities, knowledge cutoff and coding benchmark, plus flags for the cheapest, the best benchmark and the largest context. Fused from open keyless catalogs with a citation on every model.","description":"A side-by-side normalization of two to five models so an agent or a human can pick between them without reconciling incompatible provider pages. Pass a comma separated list of names or aliases; each is resolved and normalized to per-million input and output prices, context and maximum output tokens, the compact capability tag set, knowledge cutoff and release date, and the best Aider coding benchmark when known, each with per-source citations and both price sources kept on a divergence. The response also computes convenience picks — the cheapest by input price, the best coding benchmark and the largest context — and lists any names that could not be resolved in `not_found` so the comparison is transparent about coverage. Deterministic, no LLM.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"model_compare_model_compare_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"models":[{"query":"gpt-4o","id":"gpt-4o","provider":"openai","price_in":2.5,"price_out":10.0,"context":128000,"caps":["tools","vision"],"benchmark":{"pass_rate":23.1,"source":"aider_polyglot"}},{"query":"claude-sonnet-4-5","id":"claude-sonnet-4-5","provider":"anthropic","price_in":3.0,"price_out":15.0,"context":1000000,"caps":["tools","vision","reasoning"],"benchmark":{"pass_rate":77.3,"source":"aider_polyglot"}}],"not_found":[],"picks":{"cheapest":"gpt-4o","best_benchmark":"claude-sonnet-4-5","largest_context":"claude-sonnet-4-5"},"attribution":["LiteLLM (BerriAI) — MIT","models.dev — MIT","Aider — Apache-2.0"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"models","in":"query","required":true,"schema":{"type":"string"},"description":"Comma separated list of two to five model names or aliases to compare."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/personality/chart":{"get":{"tags":["paid"],"summary":"Multi-framework birth-chart in ONE call: western natal astrology, Vedic sidereal positions, Chinese BaZi, Pythagorean numerology, a neutral I-Ching bodygraph and biorhythms. Give a birth date (optional time, place or lat and lon, and tz or utc_offset) and get cited JSON across every system. Deterministic, no LLM, no keys.","description":"The flagship route: a single call returns a person's birth chart computed across six independent systems, so a consumer app (an astrology or self-knowledge bot, a companion, a journaling or dating product) gets everything at once instead of stitching together many single-system endpoints. Supply a birth date (required) and, for the fullest chart, a birth time (HH:MM local), a birth place (free text, geocoded, or explicit lat and lon) and the timezone (IANA tz or a numeric utc_offset). Optionally add a name to unlock the numerology name numbers and an as_of date for the biorhythm cycles. The response has one section per framework: western gives tropical planet placements by sign and degree with retrograde flags, Whole-Sign houses, the Ascendant and Midheaven angles and the major Ptolemaic aspects; vedic gives sidereal (Lahiri ayanamsa) longitudes with rashi, nakshatra and pada including the janma (Moon) nakshatra; chinese gives the BaZi Four Pillars plus the zodiac animal and element from the sexagenary cycle and solar terms; numerology gives the Life Path and, with a name, Expression, Soul Urge and Personality numbers; bodygraph gives the I-Ching gate and line activations for the personality and design sets with the derived defined centers, channels, profile and a structural energy-type, in neutral terms; biorhythm gives the physical, emotional and intellectual cycles. Every value carries a provenance citation (the ephemeris series, the ayanamsa model, the gate-wheel anchor). Positions come from the pymeeus VSOP87 and ELP2000 series at arc-minute accuracy, finer than any framework's bin. When no birth time is given, planet longitudes use noon UT and the angle-dependent fields are honestly flagged unavailable rather than invented. Pure computation: no LLM, no API keys, no external paid service. For entertainment and self-reflection, not advice; the bodygraph is a neutral computed structure, not a branded system.\n\nPrice: $0.08 (USDC on Base, x402).","operationId":"personality_chart_personality_chart_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"input":{"date":"1990-05-15","has_time":true,"julian_day":2448027.17},"frameworks":["western","vedic","chinese","numerology","bodygraph","biorhythm"],"systems":{"western":{"sun":{"sign":"Taurus","dms":"24°33'"},"ascendant":{"sign":"Leo"}},"chinese":{"zodiac":{"animal":"Horse","element":"Metal"}},"numerology":{"life_path":{"number":3}},"bodygraph":{"energy_type":"Generator","profile":"1/3"}}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string"},"description":"Birth date in YYYY-MM-DD format, such as 1990-05-15."},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"description":"Birth time in HH:MM 24-hour local clock time. Optional; without it a no-time chart is returned and houses, the Ascendant and the exact Moon degree are flagged unavailable rather than fabricated."},{"name":"place","in":"query","required":false,"schema":{"type":"string"},"description":"Birth place as free text, such as New York, USA. Geocoded to coordinates. Alternatively pass explicit lat and lon."},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Birth latitude in degrees, north positive."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Birth longitude in degrees, east positive."},{"name":"tz","in":"query","required":false,"schema":{"type":"string"},"description":"IANA timezone name for the birth time, such as America/New_York. Used to place the local time in UT. Alternatively pass utc_offset."},{"name":"utc_offset","in":"query","required":false,"schema":{"type":"number"},"description":"UT offset of the birth time in hours, such as -4 or 3."},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Full birth name. Optional; enables the numerology name numbers."},{"name":"as_of","in":"query","required":false,"schema":{"type":"string"},"description":"Reference date YYYY-MM-DD for the biorhythm cycles. Default is today."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}},"/personality/western":{"get":{"tags":["paid"],"summary":"Western natal astrology only: tropical planet placements by sign and degree with retrograde flags, Whole-Sign houses, the Ascendant and Midheaven angles and the major Ptolemaic aspects. Give a birth date, and for the angles a time, place and tz or utc_offset. Deterministic ephemeris, no LLM, no keys.","description":"A focused western natal chart for callers who only need the tropical system. Supply a birth date; add a birth time and a place (geocoded free text or explicit lat and lon) plus a timezone (IANA tz or numeric utc_offset) to unlock the houses and angles. The response lists every classical body (Sun through Pluto plus the lunar nodes) by zodiac sign, degree within the sign and exact degree-minute-second, with a retrograde flag from the computed daily motion, and, when a time and place are known, its Whole-Sign house. It includes the Ascendant and Midheaven longitudes derived from apparent sidereal time, obliquity and latitude, the twelve Whole-Sign house cusps, and the grid of major Ptolemaic aspects (conjunction, sextile, square, trine, opposition) with the exact orb of each. Positions come from the pymeeus VSOP87 and ELP2000 series at arc-minute accuracy. When no birth time is given the houses and angles are honestly flagged unavailable and the Moon degree is marked approximate, never fabricated. Pure computation: no LLM, no keys, no paid upstream. For entertainment and self-reflection, not advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"personality_western_personality_western_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"western":{"planets":[{"body":"Sun","sign":"Taurus","dms":"24°33'","house":10,"retrograde":false}],"ascendant":{"sign":"Leo","dms":"19°53'"},"angles_available":true}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string"},"description":"Birth date in YYYY-MM-DD format, such as 1990-05-15."},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"description":"Birth time in HH:MM 24-hour local clock time. Optional; without it a no-time chart is returned and houses, the Ascendant and the exact Moon degree are flagged unavailable rather than fabricated."},{"name":"place","in":"query","required":false,"schema":{"type":"string"},"description":"Birth place as free text, such as New York, USA. Geocoded to coordinates. Alternatively pass explicit lat and lon."},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Birth latitude in degrees, north positive."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Birth longitude in degrees, east positive."},{"name":"tz","in":"query","required":false,"schema":{"type":"string"},"description":"IANA timezone name for the birth time, such as America/New_York. Used to place the local time in UT. Alternatively pass utc_offset."},{"name":"utc_offset","in":"query","required":false,"schema":{"type":"number"},"description":"UT offset of the birth time in hours, such as -4 or 3."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/personality/bodygraph":{"get":{"tags":["paid"],"summary":"Neutral I-Ching bodygraph: the gate and line activations for the personality (birth) and design (Sun 88 degrees of arc before birth) sets, with the derived defined centers, channels, profile and a structural energy-type. Give a birth date, and for full accuracy a time, place and tz or utc_offset. Computed, not interpreted.","description":"A neutral, computation-only bodygraph derived from planetary longitudes. Each body is mapped to one of the 64 I-Ching hexagrams (the gates, 5.625 degrees each) and one of its six lines (0.9375 degrees), for the personality set at birth and the design set when the Sun was 88 degrees of ecliptic arc earlier (about 88 days before birth). From the union of activated gates the route derives which of the 36 channels are defined, which of the 9 centers are therefore defined and which stay open, the profile (personality Sun line over design Sun line) and a structural energy-type classification (from whether the sacral and the motor-to-throat connections are defined). Every activation is listed with its body, gate and line. This returns ONLY the computed structure with neutral descriptive terms; it does not use the trademarked brand name of any commercial system, reproduces none of its proprietary interpretive text, and is neither affiliated with nor endorsed by it. The hexagram-to-zodiac mapping is astronomical fact. Positions come from the pymeeus ephemeris. Without a birth time, longitudes use noon UT and can shift a fast body across a line boundary. For entertainment and self-reflection, not advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"personality_bodygraph_personality_bodygraph_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"bodygraph":{"profile":"1/3","energy_type":"Generator","inner_authority":"Emotional (Solar Plexus)","defined_centers":["Sacral","Throat"],"activations":{"personality":[{"body":"Sun","gate":23,"line":6}]}}}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string"},"description":"Birth date in YYYY-MM-DD format, such as 1990-05-15."},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"description":"Birth time in HH:MM 24-hour local clock time. Optional; without it a no-time chart is returned and houses, the Ascendant and the exact Moon degree are flagged unavailable rather than fabricated."},{"name":"place","in":"query","required":false,"schema":{"type":"string"},"description":"Birth place as free text, such as New York, USA. Geocoded to coordinates. Alternatively pass explicit lat and lon."},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Birth latitude in degrees, north positive."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Birth longitude in degrees, east positive."},{"name":"tz","in":"query","required":false,"schema":{"type":"string"},"description":"IANA timezone name for the birth time, such as America/New_York. Used to place the local time in UT. Alternatively pass utc_offset."},{"name":"utc_offset","in":"query","required":false,"schema":{"type":"number"},"description":"UT offset of the birth time in hours, such as -4 or 3."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/secret/scan":{"post":{"tags":["paid"],"summary":"Static scan of source code or config for hardcoded secrets and credentials. Detects cloud keys, VCS and CI tokens, payment keys, messaging tokens, AI-provider keys, database URIs with passwords, private keys and high-entropy generic secrets. Returns a go/no-go verdict (pass, caution, block) with per-finding rule, provider, severity and location. Secret indicators, not a guarantee.","description":"A defensive pre-commit check a coding agent runs on code it generated or is about to commit. Input is the caller's OWN code / config (one blob with an optional filename, or a files[] batch of path+content); nothing is fetched and no found key is ever probed at its provider (a deliberate non-goal — pure static, no network, no SSRF). Deterministic detection over a data-driven rule registry at gitleaks scale: cloud (AWS, GCP, Azure, DigitalOcean), VCS/CI (GitHub, GitLab, npm, PyPI, Docker), payment (Stripe, Square, Braintree), messaging (Slack, Discord, Twilio, SendGrid, Telegram), AI providers (OpenAI, Anthropic, HuggingFace, Groq), database and basic-auth URIs with inline passwords, PEM private keys, JWTs, and entropy-gated generic assignments. Anti-false-positive levers: a placeholder/example allowlist (AKIA…EXAMPLE, your-key-here, ${VAR}), Shannon-entropy gating, format validators, and a test-fixture path downgrade. Output: a verdict (pass on nothing or low-only, caution on medium, block on any high), a summary counting severities and providers, and findings with masked evidence (prefix…suffix, never the full key) plus file and line. Secret indicators, not a guarantee; a pass is not proof the code is clean.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"secret_scan_secret_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","description":"Source code / config text to scan (single blob)"},"filename":{"type":"string","description":"Optional path/name of the blob (affects fixture downgrade)"},"files":{"items":{"type":"object"},"type":"array","description":"Alternatively a batch of objects, each with path and content"},"rules":{"items":{"type":"string"},"type":"array","description":"Optional list of rule ids to restrict to (see GET /secret/rules)"},"allow_test_fixtures":{"type":"boolean","description":"Drop findings in test/example/doc paths entirely"},"min_entropy":{"type":"number","description":"Raise the entropy floor for generic rules"}},"type":"object","required":[]},"example":{"filename":"config.py","content":"AWS_KEY = 'AKIA1234567890ABCDEF'\nDEBUG = True\n"}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"secret_scan","verdict":"block","worst_severity":"high","files_scanned":1,"summary":{"has_secrets":true,"total_findings":1,"verdict":"block","worst_severity":"high","counts_by_severity":{"high":1},"counts_by_provider":{"AWS":1}},"findings":[{"rule_id":"aws-access-key-id","provider":"AWS","category":"cloud","severity":"high","file":"config.py","line":1,"evidence":"AWS_KEY = 'AKIA…CDEF'","reason":"AWS access key id"}],"disclaimer":"Automated secret indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/secret/diff":{"post":{"tags":["paid"],"summary":"Static secret scan of a unified git-diff, scoring ONLY added lines. The low-false-positive pre-commit mode: a secret already present in unchanged or removed code is ignored, only newly introduced credentials are flagged. Returns a verdict (pass, caution, block) with per-finding rule, provider, severity, file and line. Secret indicators, not a guarantee.","description":"The git-diff form of the secret scan and the key anti-false-positive mode. Parses a unified diff, tracks the current file from its +++ header and each hunk's starting new-line number, and runs the same deterministic rule engine on ONLY the added ('+') lines — a credential sitting in unchanged or deleted code is not flagged, so an agent committing a change is warned only about credentials IT is introducing. Same registry, same placeholder allowlist, entropy gating and test-fixture downgrade as /secret/scan; output is a verdict plus findings with masked evidence and the file + new-line number. Pure local computation, no network, no key liveness-probe. Secret indicators, not a guarantee.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"secret_diff_secret_diff_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"diff":{"type":"string","description":"A unified diff; only added lines are scanned"},"rules":{"items":{"type":"string"},"type":"array","description":"Optional list of rule ids to restrict to"},"allow_test_fixtures":{"type":"boolean","description":"Drop added lines in test/example paths entirely"},"min_entropy":{"type":"number","description":"Raise the entropy floor for generic rules"}},"type":"object","required":["diff"]},"example":{"diff":"--- a/config.py\n+++ b/config.py\n@@ -1,2 +1,3 @@\n DEBUG = True\n+TOKEN = 'ghp_012345678901234567890123456789abcdef'\n"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"secret_diff","verdict":"block","worst_severity":"high","added_lines_scanned":1,"summary":{"has_secrets":true,"total_findings":1,"verdict":"block","worst_severity":"high","counts_by_severity":{"high":1},"counts_by_provider":{"GitHub":1}},"findings":[{"rule_id":"github-pat","provider":"GitHub","category":"vcs","severity":"high","file":"config.py","line":3,"evidence":"TOKEN = 'ghp_…cdef'","reason":"GitHub personal access token"}],"disclaimer":"Automated secret indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/iac/scan":{"post":{"tags":["paid"],"summary":"Static misconfiguration scan of an infrastructure-as-code config: Terraform (plan JSON or HCL), Kubernetes / Helm, Dockerfile, docker-compose or CloudFormation. Detects public storage, open security groups, unencrypted data at rest, over-broad IAM, privileged / root containers, host mounts and more. Returns a verdict (pass, caution, block), a 0-100 risk score and per-finding rule, severity, resource, location and fix hint. Security indicators, not a guarantee.","description":"A one-call defensive preflight a coding / platform agent runs on IaC it generated or is about to apply, BEFORE the change lands. Input is the caller's OWN config text plus an optional format hint (auto-detected otherwise); nothing is fetched, so there is no network side effect. Every supported format is normalised into a common resource model and evaluated by a deterministic, data-driven rule engine spanning AWS / GCP / Azure / Kubernetes / Docker: public object storage and missing public-access blocks; security groups, firewalls and NSGs open to the world on sensitive ports; data unencrypted at rest (S3, EBS, RDS, EFS, DynamoDB); publicly reachable databases; over-broad IAM (wildcard actions / resources); missing logging; privileged or root containers, allowed privilege escalation, host network / PID / IPC, hostPath mounts, dangerous Linux capabilities, missing resource limits and mutable :latest tags; Dockerfile USER root, remote ADD, curl-pipe-shell and credential-shaped ARG/ENV; docker-compose privileged, Docker -socket and host-root mounts. Cross-resource graph rules correlate a public-IP instance with an open security group. Output: a verdict (pass on clean or info -only, caution on a lone high/medium, block on any critical or a high aggregate score), a 0-100 risk score, counts by severity, and findings with the rule id, affected resource, location, a short fix hint and safe truncated evidence. Boundary: posture only — a hardcoded credential is flagged as a nit pointing at the secret scanner, not decoded here. Security indicators, not a guarantee; a pass is not proof the configuration is safe.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"iac_scan_iac_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","description":"The IaC config text to scan (one or many resources)"},"format":{"type":"string","enum":["auto","terraform","terraform-plan","kubernetes","dockerfile","docker-compose","cloudformation"],"description":"Config format, or auto to detect from the content"}},"type":"object","required":["content"]},"example":{"format":"kubernetes","content":"apiVersion: v1\nkind: Pod\nmetadata:\n  name: web\nspec:\n  containers:\n  - name: app\n    image: nginx:latest\n    securityContext:\n      privileged: true\n"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"config","format":"kubernetes","verdict":"block","risk_score":40,"resource_count":1,"findings":[{"rule_id":"k8s.privileged","provider":"k8s","dimension":"container_security","severity":"critical","resource":"Pod.web","path":"doc[0] Pod/web","reason":"Container runs in privileged mode (full host access).","fix_hint":"Set securityContext.privileged = false.","evidence":"pod.containers.0.securityContext.privileged = True"}],"counts_by_severity":{"critical":1},"coverage":{"rules_total":52,"dimensions_flagged":["container_security"],"resources_scanned":1},"config_hash":"sha256:…","ruleset_version":"2026.07.16","disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/iac/inspect":{"post":{"tags":["paid"],"summary":"Static misconfiguration scan of a SINGLE infrastructure resource or config snippet (Terraform, Kubernetes, Dockerfile, docker-compose or CloudFormation). The lightweight per-resource form of /iac/scan: returns a verdict (pass, caution, block), a risk score and findings with rule, severity, location and fix hint. Security indicators, not a guarantee.","description":"The single-resource form of the IaC misconfiguration scan: pass one resource block or a small config snippet (with an optional format hint) and get the same deterministic static analysis as /iac/scan, restricted to per-resource rules (no cross-resource graph pass). Useful for an agent validating one block it just wrote. Output is a verdict, a risk score and findings with the rule id, severity, resource, location, a fix hint and safe truncated evidence. Pure local computation, no network, no keys. Security indicators, not a guarantee.\n\nPrice: $0.006 (USDC on Base, x402).","operationId":"iac_inspect_iac_inspect_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"resource":{"type":"string","description":"A single-resource config snippet to inspect"},"kind":{"type":"string","enum":["auto","terraform","terraform-plan","kubernetes","dockerfile","docker-compose","cloudformation"],"description":"Config format of the snippet, or auto to detect"}},"type":"object","required":["resource"]},"example":{"kind":"terraform-plan","resource":"{\"planned_values\":{\"root_module\":{\"resources\":[{\"type\":\"aws_s3_bucket\",\"name\":\"b\",\"values\":{\"acl\":\"public-read\"}}]}}}"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"resource","format":"terraform-plan","verdict":"caution","risk_score":25,"resource_count":1,"findings":[{"rule_id":"aws.s3.public_acl","provider":"aws","dimension":"data_exposure","severity":"high","resource":"aws_s3_bucket.b","path":"aws_s3_bucket.b","reason":"S3 bucket ACL grants public access (public-read / public-read-write).","fix_hint":"Set acl to private and manage access via bucket policy / IAM.","evidence":"acl = public-read"}],"counts_by_severity":{"high":1},"coverage":{"rules_total":52,"dimensions_flagged":["data_exposure"],"resources_scanned":1},"ruleset_version":"2026.07.16","disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.006"},"protocols":[{"x402":{}}]}}},"/code/scan":{"post":{"tags":["paid"],"summary":"Static application-security scan of source code or a git-diff for CWE Top-25 logic bugs: SQL injection, XSS, command injection, code and template injection, SSRF, path traversal, insecure deserialization, weak crypto, insecure randomness, open redirect and XXE across Python, JavaScript, TypeScript, Java and Go. Returns a go/no-go verdict with per-finding CWE, severity, file and line. Static indicators, not a guarantee.","description":"A defensive pre-commit SAST check a coding agent runs on application code it generated or is about to commit. Input is the caller's OWN code — either a unified git-diff (only newly ADDED lines are scored, the low-false-positive mode, with the file and new-line number tracked per hunk) or a files[] batch of path+content+optional language. Nothing is fetched or executed; there is no network, LLM, key or subprocess, so no SSRF surface and near-zero marginal cost. Deterministic detection over a data-driven registry of CWE Top-25 logic vulnerabilities: SQL injection (string-built queries versus parameterized statements), cross-site scripting, OS command injection, code and server-side template injection, server-side request forgery, path traversal, insecure deserialization, weak or broken cryptography, insecure randomness in a security context, open redirect and XML external entities — across Python, JavaScript, TypeScript, Java and Go (PHP and Ruby partially). False-positive reducers: parameterized-query recognition, a test/example/vendored path downgrade, inline suppression markers, and a security-context gate. Output: a verdict (block on any high, caution on medium, pass otherwise), a 0-100 risk score, findings grouped by CWE with safe truncated evidence, file and line, and a coverage summary. Static indicators, not a guarantee; a pass is not proof the code is secure.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"code_scan_code_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"diff":{"type":"string","description":"A unified git-diff; only added lines are scanned"},"files":{"items":{"type":"object"},"type":"array","description":"Alternatively a batch of objects, each with path, content and optional language"}},"type":"object","required":[]},"example":{"diff":"--- a/db.py\n+++ b/db.py\n@@ -1,2 +1,3 @@\n import sqlite3\n+def f(cur, uid):\n+    cur.execute(f\"SELECT * FROM users WHERE id = {uid}\")\n"}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"code_scan","verdict":"block","risk_score":30,"files_scanned":1,"added_lines_scanned":2,"findings":[{"file":"db.py","line":3,"cwe":"CWE-89","name":"SQL Injection","dimension":"injection","severity":"high","confidence":"high","evidence":"cur.execute(f\"SELECT * FROM users WHERE id = {uid}\")","reason":"User-controlled data appears to be interpolated into a SQL query."}],"findings_by_cwe":{"CWE-89":1},"coverage":{"cwe_total":12,"cwe_flagged":["CWE-89"],"languages_scanned":["python"]},"ruleset_version":"2026.07.16","disclaimer":"Automated static security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/code/inspect":{"post":{"tags":["paid"],"summary":"Static application-security scan of a single code blob for CWE Top-25 logic bugs (SQL injection, XSS, command injection, SSRF, path traversal, insecure deserialization, weak crypto and more). Pass the code and its language; returns a verdict with per-finding CWE, severity and line. Static indicators, not a guarantee.","description":"The single-blob form of the application-code SAST scan: pass one code snippet and its language and get the same deterministic static analysis (SQL injection, XSS, command / code / template injection, SSRF, path traversal, insecure deserialization, weak cryptography, insecure randomness, open redirect, XXE) as a verdict, a 0-100 risk score and a list of CWE-tagged findings with safe truncated evidence and line numbers. Pure local computation, no network, no execution. Static indicators, not a guarantee.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"code_inspect_code_inspect_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string","description":"The source code blob to inspect"},"language":{"type":"string","description":"Language of the blob: python, javascript, java, go, php or ruby"}},"type":"object","required":["code","language"]},"example":{"language":"python","code":"import hashlib\nh = hashlib.md5(data).hexdigest()\n"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"code_inspect","verdict":"caution","risk_score":14,"language":"python","files_scanned":1,"findings":[{"line":2,"cwe":"CWE-327","name":"Weak Cryptography","dimension":"weak_crypto","severity":"medium","confidence":"high","evidence":"h = hashlib.md5(data).hexdigest()","reason":"A broken/weak cryptographic primitive is used (MD5)."}],"findings_by_cwe":{"CWE-327":1},"coverage":{"cwe_total":12,"cwe_flagged":["CWE-327"],"languages_scanned":["python"]},"ruleset_version":"2026.07.16","disclaimer":"Automated static security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/ci/scan":{"post":{"tags":["paid"],"summary":"Static security scan of a CI/CD pipeline config: GitHub Actions, GitLab CI or CircleCI. Detects unpinned actions / images / orbs, template and environment injection, dangerous triggers, over-broad workflow-token permissions, secrets leaked to logs, cache poisoning and more. Returns a verdict (pass, caution, block), a 0-100 risk score and per-finding rule, severity, object, location and a concrete fix hint. Security indicators, not a guarantee.","description":"A one-call defensive preflight a coding / DevOps agent runs on CI/CD config it generated or is about to commit, BEFORE the change lands. Input is the caller's OWN workflow text plus an optional CI-system hint (auto-detected otherwise); nothing is fetched, so there is no network side effect. GitHub Actions, GitLab CI and CircleCI are normalised into a common workflow / job / step model and evaluated by a deterministic, data-driven rule engine covering the OWASP Top 10 CI/CD Security Risks: third-party actions / images / orbs pinned to a mutable tag instead of a commit digest (supply-chain); attacker-controlled expressions expanded into run scripts (template injection) and writes to the environment files (env injection); pull_request_target / workflow_run triggers that check out untrusted PR code with the target's secrets (poisoned pipeline execution); missing or write-all workflow-token permissions; secrets echoed to logs, secrets: inherit and CI_DEBUG_TRACE; cache poisoning; self-hosted runners on public repos; ACTIONS_ALLOW_UNSECURE_COMMANDS; curl-piped-to-shell and lockfile-less installs. Cross-object graph rules correlate a privileged trigger with an untrusted checkout. Output: a verdict (pass on clean or info-only, caution on a lone high/medium, block on any critical or a high aggregate score), a 0-100 risk score, counts by severity, and findings with the rule id, affected object, location, a concrete insertable fix hint (pin-to-SHA, quote-expr in env, least-privilege permissions block) and safe truncated evidence. Boundary: pipeline security only — cloud resources go to the IaC scanner, application code to the SAST scanner, secret values to the secret scanner. Security indicators, not a guarantee; a pass is not proof the pipeline is safe.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"ci_scan_ci_scan_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","description":"The CI/CD config text to scan (workflow file)"},"format":{"type":"string","enum":["auto","github-actions","gitlab-ci","circleci"],"description":"CI system, or auto to detect from the content"}},"type":"object","required":["content"]},"example":{"format":"github-actions","content":"name: ci\non: pull_request_target\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v4\n      with:\n        ref: ${{ github.event.pull_request.head.ref }}\n    - run: echo \"${{ github.event.issue.title }}\"\n"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"ci_config","format":"github-actions","verdict":"block","risk_score":100,"object_count":4,"findings":[{"rule_id":"gha.template_injection","provider":"github-actions","dimension":"injection","severity":"critical","resource":"build.step1","path":"jobs.build.steps[1]","reason":"An attacker-controllable expression is expanded inside a run: script — arbitrary code execution on the runner.","fix_hint":"Bind it to an env var and quote the shell reference.","evidence":"${{ github.event.issue.title }}"}],"counts_by_severity":{"critical":2,"high":1},"coverage":{"rules_total":27,"dimensions_flagged":["injection","triggers"],"objects_scanned":4,"objects_by_kind":{"workflow":1,"job":1,"step":2}},"config_hash":"sha256:…","ruleset_version":"2026.07.24","disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/ci/inspect":{"post":{"tags":["paid"],"summary":"Static security scan of a SINGLE CI/CD job or step snippet (GitHub Actions, GitLab CI or CircleCI). The lightweight per-object form of /ci/scan: returns a verdict (pass, caution, block), a risk score and findings with rule, severity, location and fix hint. Security indicators, not a guarantee.","description":"The single-object form of the CI/CD pipeline scan: pass one job or step snippet (with an optional CI-system hint) and get the same deterministic static analysis as /ci/scan, restricted to per-object rules (no cross-object graph pass). Useful for an agent validating one step it just wrote. Output is a verdict, a risk score and findings with the rule id, severity, object, location, a concrete fix hint and safe truncated evidence. Pure local computation, no network, no keys. Security indicators, not a guarantee.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"ci_inspect_ci_inspect_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"resource":{"type":"string","description":"A single CI job or step snippet to inspect"},"kind":{"type":"string","enum":["auto","github-actions","gitlab-ci","circleci"],"description":"CI system of the snippet, or auto to detect"}},"type":"object","required":["resource"]},"example":{"kind":"github-actions","resource":"- uses: actions/checkout@v4\n- run: curl -sSL https://example.com/i.sh | sh\n"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"ci_object","format":"github-actions","verdict":"caution","risk_score":30,"object_count":2,"findings":[{"rule_id":"gha.unpinned_uses","provider":"github-actions","dimension":"supply_chain","severity":"high","resource":"step0","path":"step[0]","reason":"Third-party action is pinned to a mutable tag instead of a full commit SHA (supply-chain).","fix_hint":"Pin to the full 40-char commit SHA.","evidence":"uses: actions/checkout@v4"}],"counts_by_severity":{"high":2},"coverage":{"rules_total":27,"dimensions_flagged":["supply_chain"],"objects_scanned":2,"objects_by_kind":{"step":2}},"ruleset_version":"2026.07.24","disclaimer":"Automated security indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/a11y/preflight":{"post":{"tags":["paid"],"summary":"Static accessibility (WCAG 2.2) check of a UI markup fragment for JSX, TSX, Vue, Angular or HTML. Detects missing image alt, unlabeled form controls, buttons and links with no accessible name, skipped heading levels, invalid ARIA, non-interactive click handlers, duplicate ids, positive tabindex and low static colour contrast. Returns a pass, caution or block verdict with per-finding WCAG criterion, element and line. Accessibility indicators, not a legal compliance guarantee.","description":"A defensive pre-commit accessibility check a coding agent runs on UI markup it generated or is about to ship. Input is the caller's OWN markup — a JSX, TSX, Vue, Angular or HTML fragment/component; nothing is rendered, fetched or executed, so there is no network, browser, key or LLM and near-zero marginal cost. The markup is normalised into a generic DOM (framework attribute maps and directive bindings are data-driven, so a present-but-dynamic attribute such as alt bound to an expression is correctly treated as present, not missing) and a deterministic WCAG 2.2 rule set is evaluated over it: image text alternatives (1.1.1), form-control labels (1.3.1 / 4.1.2), accessible names for buttons and links (2.4.4 / 4.1.2), heading order (1.3.1), ARIA role validity and required states (4.1.2), click handlers on non-interactive elements (2.1.1 / 4.1.2), duplicate ids (4.1.1), positive tabindex (2.4.3), a page-language attribute (3.1.1), data-table headers (1.3.1) and colour contrast (1.4.3). Contrast is computed only when both foreground and background resolve statically from inline styles or the supplied palette; the full CSS cascade is out of scope and such cases are reported honestly rather than flagged. Output: a verdict (block on a serious barrier, caution on a warning, pass otherwise), per-finding WCAG criterion, level, element and line, and a coverage summary that lists what needs a render. Accessibility indicators, not a legal compliance guarantee; a pass is not proof of conformance — always test with assistive technology.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"a11y_preflight_a11y_preflight_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"markup":{"type":"string","description":"The UI markup fragment or component to check"},"framework":{"type":"string","enum":["auto","html","jsx","tsx","vue","angular"],"description":"Source framework (default auto-detect)"},"level":{"type":"string","enum":["A","AA"],"description":"WCAG conformance level to check (default AA)"},"palette":{"type":"object","description":"Optional name-to-colour map for static contrast (e.g. CSS variables / theme tokens)"},"theme":{"type":"object","description":"Alias of palette"}},"type":"object","required":["markup"]},"example":{"framework":"jsx","markup":"<img src=\"logo.png\" />"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"a11y_preflight","verdict":"block","findings":[{"rule_id":"img-alt","wcag_sc":"1.1.1","wcag_level":"A","severity":"block","category":"text-alternatives","element":"<img src=\"logo.png\" />","location":"line 1","message":"Image has no alt attribute.","remediation":"Add alt text, or alt=\"\" if decorative."}],"summary":{"by_severity":{"block":1,"caution":0},"counts":{"findings":1}},"coverage":{"framework_detected":"jsx","level":"AA","rules_run":13,"rules_total":14,"skipped_needs_render":[]},"ruleset_version":"2026.07.16","disclaimer":"Automated accessibility indicators, NOT a legal compliance guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/a11y/batch":{"post":{"tags":["paid"],"summary":"Batch static accessibility (WCAG 2.2) check of many UI files at once: a list of objects each with a filename, optional framework and markup. Returns a per-file pass, caution or block verdict plus a rollup with the worst verdict and totals by severity. Accessibility indicators, not a legal compliance guarantee.","description":"The multi-file form of the accessibility preflight: pass a list of files (each a filename plus optional framework plus markup, up to the batch cap) and get the same deterministic WCAG 2.2 analysis per file — a verdict, WCAG-tagged findings with element and line, and a per-file coverage note — plus a rollup carrying the worst verdict across the set and totals by severity, so an agent can gate an entire component tree or pull request in one call. Pure local computation over the caller's own markup, no render, no network, no key. Accessibility indicators, not a legal compliance guarantee.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"a11y_batch_a11y_batch_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"files":{"items":{"type":"object"},"type":"array","description":"List of objects, each with filename, optional framework and markup"},"level":{"type":"string","enum":["A","AA"],"description":"Default WCAG level for every file (default AA)"},"framework":{"type":"string","enum":["auto","html","jsx","tsx","vue","angular"],"description":"Default framework for files that do not set one"}},"type":"object","required":["files"]},"example":{"files":[{"filename":"Logo.jsx","framework":"jsx","markup":"<img src=\"logo.png\" />"},{"filename":"ok.html","framework":"html","markup":"<img src=\"a.png\" alt=\"A\">"}]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"a11y_batch","worst_verdict":"block","file_count":2,"totals":{"by_severity":{"block":1,"caution":0},"findings":1},"files":[{"filename":"Logo.jsx","verdict":"block","framework_detected":"jsx","summary":{"by_severity":{"block":1,"caution":0},"counts":{"findings":1}},"findings":["…"]},{"filename":"ok.html","verdict":"pass","framework_detected":"html","summary":{"by_severity":{"block":0,"caution":0},"counts":{"findings":0}},"findings":[]}],"ruleset_version":"2026.07.16","disclaimer":"Automated accessibility indicators, NOT a legal compliance guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/migrate/check":{"post":{"tags":["paid"],"summary":"Safety preflight for a database schema migration BEFORE you apply it. Send the migration SQL for Postgres or MySQL and get a pass, caution or block verdict with per-finding operation, severity, plain-language reason and a zero-downtime alternative. Migration-safety indicators, not a guarantee.","description":"A defensive pre-apply check a coding or DevOps agent runs on a database migration it generated, to catch schema changes that lock a production table, rewrite it, or lose data before the change ships. Input is the caller's own migration text — raw SQL/DDL (Postgres or MySQL) or an Alembic change file; nothing is fetched or executed, so there is no network, key or LLM and near-zero marginal cost. The text is parsed into an ordered statement list and walked deterministically while tracking objects created in the same migration, so an operation on a brand-new table is correctly treated as safe rather than flagged. The rule set covers the well-known hazards: dropping a column or table, truncate, an in-place column type change, adding a NOT NULL column without a default, adding a column with a volatile default, building or dropping an index non-concurrently, adding a foreign key or check or unique or primary key without the deferred-validate pattern, setting NOT NULL on an existing column, renaming a column or table during a rolling deploy, a bulk backfill inside the migration, and heavyweight rewrites. Output is a verdict — block on a data-loss or exclusive-lock operation, caution on a lockable operation with a safe rewrite, pass otherwise — plus per-finding operation, severity, reason, a zero-downtime remediation and a docs link, and an honest coverage note when a statement could not be fully parsed. Migration-safety indicators, not a guarantee; a pass is not a promise of zero downtime — behaviour depends on engine version, table size and load.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"migrate_check_migrate_check_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"sql":{"type":"string","description":"The migration SQL / DDL text to check"},"dialect":{"type":"string","enum":["postgres","mysql"],"description":"Database dialect (default postgres)"},"format":{"type":"string","enum":["sql","alembic","auto"],"description":"Input format: raw SQL, an Alembic change file, or auto"},"options":{"type":"object","description":"Optional hints: rolling_deploy, pg_version, in_transaction"}},"type":"object","required":["sql"]},"example":{"dialect":"postgres","sql":"ALTER TABLE users ADD COLUMN nickname text"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"dbmigrate_check","dialect":"postgres","verdict":"pass","findings":[],"summary":{"block_count":0,"caution_count":0,"info_count":0},"coverage":{"statements_total":1,"statements_parsed":1,"parse_partial":false},"disclaimer":"Automated migration-safety indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/migrate/batch":{"post":{"tags":["paid"],"summary":"Batch safety preflight for many database migrations at once: a list of objects each with a name and migration SQL. Returns a per-file pass, caution or block verdict plus a rollup with the worst verdict and counts. Migration-safety indicators, not a guarantee.","description":"The multi-file form of the migration preflight: pass a list of migrations (each a name plus SQL, up to the batch cap) and get the same deterministic analysis per file — a verdict, findings with operation, severity, reason and a zero-downtime remediation, and a coverage note — plus a rollup carrying the worst verdict across the set and counts by outcome, so an agent can gate a whole pull request or release train of migrations in one call. Pure local computation over the caller's own migration text, no network, no key. Migration-safety indicators, not a guarantee.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"migrate_batch_migrate_batch_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"migrations":{"items":{"type":"object"},"type":"array","description":"List of objects, each with name and migration SQL"},"dialect":{"type":"string","enum":["postgres","mysql"],"description":"Default dialect for entries that do not set one"},"format":{"type":"string","enum":["sql","alembic","auto"],"description":"Default input format for entries that do not set one"}},"type":"object","required":["migrations"]},"example":{"dialect":"postgres","migrations":[{"name":"0001_add_nickname","sql":"ALTER TABLE users ADD COLUMN nickname text"}]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"dbmigrate_batch","count":1,"worst_verdict":"pass","summary":{"blocked":[],"caution":[],"passed":["0001_add_nickname"],"block_count":0,"caution_count":0,"pass_count":1},"results":[{"name":"0001_add_nickname","verdict":"pass"}],"disclaimer":"Automated migration-safety indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/sql/check":{"post":{"tags":["paid"],"summary":"Safety and performance preflight for a database query BEFORE you run it. Send the query for Postgres, MySQL or SQLite and get a pass, caution or block verdict with per-finding operation, severity, plain-language reason and a fix. Query-safety indicators, not a guarantee.","description":"A defensive pre-run check a coding or data agent applies to a query it generated, to catch two classes of hazard before the query hits a production database. Input is the caller's own query text (SELECT, UPDATE or DELETE) for Postgres, MySQL or SQLite; nothing is fetched or executed, so there is no network, key or model and near-zero marginal cost. The text is parsed into an ordered statement list and walked deterministically. The first class is destructive and correctness safety, decided from the query text alone with no schema: an UPDATE or DELETE with no WHERE or an always-true WHERE that would touch every row, a TRUNCATE, a NOT IN sub-query that silently returns nothing on a stray null, and a grouped column that is neither aggregated nor grouped. The second class is performance heuristics: select-star, a cartesian join with no join condition, a function wrapped around an indexed column, a leading-wildcard search, a scan with no bound, deep-offset pagination, a heavy distinct count, and distinct used to hide join fan-out. Because the service has no schema or plan, performance findings are honest caution or info hints, never a block, with the one exception of an unfiltered cartesian product; an optional indexed-columns hint sharpens the sargability findings. Output is a verdict plus per-finding operation, severity, reason, a remediation and a docs link. Query-safety indicators, not a guarantee.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"sql_check_sql_check_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"sql":{"type":"string","description":"The query text to check"},"dialect":{"type":"string","enum":["postgres","mysql","sqlite","bigquery","snowflake"],"description":"Database dialect (default postgres)"},"options":{"type":"object","description":"Optional hints, e.g. indexed_columns: list of column names to refine performance findings"}},"type":"object","required":["sql"]},"example":{"dialect":"postgres","sql":"SELECT id, name FROM users WHERE id = 1"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"sqlscan_check","dialect":"postgres","verdict":"pass","findings":[],"summary":{"block_count":0,"caution_count":0,"info_count":0},"coverage":{"statements_total":1,"statements_parsed":1,"parse_partial":false},"disclaimer":"Automated query safety/performance indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/sql/batch":{"post":{"tags":["paid"],"summary":"Batch safety and performance preflight for many database queries at once: a list of objects each with a name and query text. Returns a per-query pass, caution or block verdict plus a rollup with the worst verdict and counts. Query-safety indicators, not a guarantee.","description":"The multi-query form of the preflight: pass a list of queries (each a name plus text, up to the batch cap) and get the same deterministic analysis per query — a verdict, findings with operation, severity, reason and a remediation, and a coverage note — plus a rollup carrying the worst verdict across the set and counts by outcome, so an agent can gate a whole query log or migration of application queries in one call. Pure local computation over the caller's own query text, no network, no key. Query-safety indicators, not a guarantee.\n\nPrice: $0.10 (USDC on Base, x402).","operationId":"sql_batch_sql_batch_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"queries":{"items":{"type":"object"},"type":"array","description":"List of objects, each with a name and query text"},"dialect":{"type":"string","enum":["postgres","mysql","sqlite","bigquery","snowflake"],"description":"Default dialect for entries that do not set one"}},"type":"object","required":["queries"]},"example":{"dialect":"postgres","queries":[{"name":"q1","sql":"SELECT id, name FROM users WHERE id = 1"}]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"sqlscan_batch","count":1,"worst_verdict":"pass","summary":{"blocked":[],"caution":[],"passed":["q1"],"block_count":0,"caution_count":0,"pass_count":1},"results":[{"name":"q1","verdict":"pass"}],"disclaimer":"Automated query safety/performance indicators, not a guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/marketing/funnel":{"post":{"tags":["paid"],"summary":"Cross-channel conversion funnel over your ad data: per-stage conversion rate, drop-off, loss-rate, overall conversion, the bottleneck stage, and a per-channel breakdown. Pure computation over your inputs.","description":"Builds a cross-channel conversion funnel from a normalized ad dataset. Returns per-transition conversion rate, drop-off count and loss-rate, the overall conversion rate, the bottleneck stage (largest relative drop), and the same breakdown per channel. Default stages are impressions then clicks then conversions; pass an ordered stages array for any funnel. Accepts a JSON array under rows or a raw CSV/TSV text blob under csv; columns are auto-mapped by alias.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"marketing_funnel_marketing_funnel_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"rows":{"items":{"type":"object"},"type":"array","description":"Per-channel rows with stage counts (impressions/clicks/conversions or your custom stages)"},"csv":{"type":"string","description":"Raw CSV or TSV text with a header row, as an alternative to rows"},"stages":{"items":{"type":"string"},"type":"array","description":"Optional ordered stage names for any funnel; default is impressions then clicks then conversions"}},"type":"object","required":[]},"example":{"rows":[{"channel":"google","impressions":1000,"clicks":100,"conversions":10},{"channel":"facebook","impressions":2000,"clicks":100,"conversions":20}]}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"stages":["impressions","clicks","conversions"],"totals":{"impressions":3000,"clicks":200,"conversions":30},"overall":{"entered":3000,"converted":30,"conversion_rate":0.01},"bottleneck":{"from":"impressions","to":"clicks","loss_rate":0.933333},"disclaimer":"computation only"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/marketing/attribution":{"post":{"tags":["paid"],"summary":"Multi-touch attribution over conversion paths, five models at once: first-touch, last-touch, linear, time-decay, and position-based. Returns per-channel credit for each model plus a comparison. Pure computation over your inputs.","description":"Distributes each conversion's credit across the touches on its path under five attribution models and sums the credit onto channels. first_touch and last_touch give all credit to the first or last touch; linear splits evenly; time_decay weights recent touches by 0.5 raised to days_before over the half-life; position_based is a U-shape of 40 percent first, 40 percent last, 20 percent across the middle. Per-model credit sums to 100 percent, and a comparison table shows each channel side by side. Supply days_before per touch for exact time-decay, otherwise touches are spaced evenly. Accepts a JSON array under rows or a raw CSV/TSV text blob under csv; columns are auto-mapped by alias.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"marketing_attribution_marketing_attribution_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"paths":{"items":{"type":"object"},"type":"array","description":"Conversion journeys; each has a path array of channel touches and optional conversions weight and days_before array"},"halflife_days":{"type":"number","description":"Half-life in days for time-decay, default 7"},"default_spacing_days":{"type":"number","description":"Assumed days between touches when no timestamps are supplied, default 1"}},"type":"object","required":["paths"]},"example":{"paths":[{"path":["google","facebook","email"],"conversions":1},{"path":["facebook","email"],"conversions":2}],"halflife_days":7}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"models":["first_touch","last_touch","linear","time_decay","position_based"],"attribution_pct":{"first_touch":{"google":100.0,"facebook":0.0,"email":0.0}},"total_conversions":1,"disclaimer":"computation only"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/marketing/spend":{"post":{"tags":["paid"],"summary":"Per-channel unit economics from spend, conversions and revenue: CPC, CPM, CPA, CAC, ROAS, ROI, conversion rate, and LTV to CAC. Ranks channels and suggests a budget shift. Pure computation over your inputs.","description":"Computes per-channel unit economics: CPC, CPM, CPA, CAC (customers default to conversions), ROAS, ROI, conversion rate, and LTV to CAC when an LTV is supplied. Each metric appears only when its inputs are present, so a missing column is reported honestly rather than as a zero. Channels are ranked by ROAS (then CPA), and a marginal budget-reallocation hint shifts spend toward the highest-ROAS channel; without multiple spend points per channel the method is labelled roas_ranking rather than a fitted saturation curve. Accepts a JSON array under rows or a raw CSV/TSV text blob under csv; columns are auto-mapped by alias.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"marketing_spend_marketing_spend_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"rows":{"items":{"type":"object"},"type":"array","description":"Per-channel rows with spend and any of impressions/clicks/conversions/revenue/ltv/customers"},"csv":{"type":"string","description":"Raw CSV or TSV text with a header row, as an alternative to rows"}},"type":"object","required":[]},"example":{"rows":[{"channel":"google","spend":100,"clicks":100,"impressions":10000,"conversions":10,"revenue":500},{"channel":"facebook","spend":200,"clicks":100,"impressions":20000,"conversions":10,"revenue":400}]}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"channels":[{"channel":"google","spend":100.0,"cpa":10.0,"roas":5.0,"roi":4.0}],"ranking":["google","facebook"],"reallocation":{"method":"roas_ranking","shift_from":"facebook","shift_to":"google"},"totals":{"spend":300.0,"revenue":900.0,"blended_roas":3.0},"disclaimer":"computation only"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/marketing/experiment":{"post":{"tags":["paid"],"summary":"A/B test significance with a two-proportion z-test: observed lift, z-score, two-sided p-value, confidence interval on the lift, minimum detectable effect, and sample-size sufficiency. Pure computation over your inputs.","description":"Runs a pooled two-proportion z-test on control versus variant conversion. Returns the absolute and relative lift, the z-score, the two-sided p-value from the standard normal CDF, a confidence interval on the absolute lift, the minimum detectable effect at the current sample sizes, the sample size required per group to detect the observed effect at the requested alpha and power, whether the current sample is sufficient, and the significance flag and winner. Reference: control 100 of 1000, variant 140 of 1000 gives z near 2.75 and p near 0.006, significant at 0.05. Pure local computation.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"marketing_experiment_marketing_experiment_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"a":{"type":"object","description":"Control arm with conversions and visitors"},"b":{"type":"object","description":"Variant arm with conversions and visitors"},"alpha":{"type":"number","description":"Significance level, default 0.05"},"power":{"type":"number","description":"Target power for sample-size math, default 0.8"}},"type":"object","required":["a","b"]},"example":{"a":{"conversions":100,"visitors":1000},"b":{"conversions":140,"visitors":1000}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"control":{"conversions":100,"visitors":1000,"rate":0.1},"variant":{"conversions":140,"visitors":1000,"rate":0.14},"absolute_lift":0.04,"relative_lift":0.4,"z_score":2.752,"p_value":0.005914,"significant":true,"winner":"variant","disclaimer":"computation only"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/swap/quote":{"get":{"tags":["paid"],"summary":"Non-custodial swap calldata for Base: give tokenIn, tokenOut, raw amountIn, slippage and recipient; we read Aerodrome and Uniswap V3 on-chain state, pick the max-output route, and return ready-to-sign transaction calldata plus the ERC-20 approval, amountOutMin, price impact and the venues compared. You sign with your own wallet — we never hold or move funds.","description":"A non-custodial swap-calldata builder for Base. You pass the sell token, buy token, the sell amount in raw atomic units, a slippage tolerance in basis points and the recipient address; optionally a deadline in seconds. We read the public read-only state of permissionless DEX contracts with our own eth_call — the Aerodrome Router (getAmountsOut over volatile and stable pools, one and two hops through WETH/USDC/AERO connectors) and the Uniswap V3 QuoterV2 (quoteExactInputSingle across the 100/500/3000/10000 fee tiers plus capped two-hop paths). Every candidate is batched through one on-chain multicall, so a whole fan-out costs a single round-trip; reverting or empty pools are skipped. We pick the route with the maximum output (so thin or manipulated pools self-eliminate), compute amountOutMin from your slippage, estimate price impact with a tiny probe quote, and return the winning route, the full venuesCompared list, the ready-to-sign transaction (to / data / value), and a separate ERC-20 approval (spender is exactly the winning router; a plain allowance, no Permit2). tokenIn can be any ERC-20 by address — decimals and symbol are resolved on-chain. We are NON-CUSTODIAL: we never hold, sign, execute or submit; your own wallet signs the returned calldata. Nothing commercial (0x, 1inch, ParaSwap) is resold — we compute from permissionless on-chain data. A pair with no live route is a clean 400 with an honest reason, never a 500. This is not financial advice and not a claim of best or optimal execution; we compared Aerodrome and Uniswap V3 on Base. Native-ETH input (wrap) is not yet supported — pass WETH.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"swap_quote_swap_quote_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"eip155:8453","network":"base","sellToken":{"symbol":"WETH","decimals":18},"buyToken":{"symbol":"USDC","decimals":6},"sellAmountRaw":"1000000000000000000","quote":{"buyAmountRaw":"1840378178","buyAmountMinRaw":"1831176287","slippageBps":50,"route":{"venue":"univ3","hops":1,"feeTier":500},"priceImpactPct":0.02,"gasEstimate":81662,"venuesCompared":[{"venue":"aerodrome","buyAmountRaw":"1838425629"},{"venue":"univ3","buyAmountRaw":"1840378178"}]},"transaction":{"to":"0x2626664c...","data":"0x04e45aaf...","value":"0"},"approval":{"spender":"0x2626664c...","amountRaw":"1000000000000000000","data":"0x095ea7b3..."},"warnings":[],"disclaimer":"not financial advice; you sign; ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tokenIn","in":"query","required":true,"schema":{"type":"string"},"description":"Sell token: a supported symbol (WETH, USDC, AERO, ...) or a 0x ERC-20 address on Base."},{"name":"tokenOut","in":"query","required":true,"schema":{"type":"string"},"description":"Buy token: a supported symbol or a 0x ERC-20 address on Base."},{"name":"amountIn","in":"query","required":true,"schema":{"type":"string"},"description":"Sell amount in RAW atomic units of tokenIn (e.g. 1 WETH = 1000000000000000000). Integer as string."},{"name":"slippageBps","in":"query","required":false,"schema":{"type":"integer"},"description":"Max slippage in basis points (50 = 0.5%). Default 50, max 5000."},{"name":"recipient","in":"query","required":true,"schema":{"type":"string"},"description":"0x address that receives tokenOut (baked into the calldata)."},{"name":"deadlineSeconds","in":"query","required":false,"schema":{"type":"integer"},"description":"Seconds from now until the swap deadline. Default 600."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/swap/price":{"get":{"tags":["paid"],"summary":"Lightweight swap quote for Base without calldata: give tokenIn, tokenOut and raw amountIn and get the max-output route across Aerodrome and Uniswap V3, the buy amount, amountOutMin, price impact and the venues compared. A cheap price check before you build the full transaction.","description":"The quote-only sibling of /swap/quote: the same dual-venue on-chain comparison across Aerodrome and Uniswap V3 (max-output route, amountOutMin from your slippage, price-impact probe, full venuesCompared), but WITHOUT building any transaction calldata or approval — so it is cheaper and needs no recipient. Use it to check price and route, then call /swap/quote to get the signable bytes. Sources are permissionless on-chain DEX state read with our own eth_call, nothing commercial resold. A pair with no live route is a clean 400. Not financial advice, not a claim of best execution.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"swap_price_swap_price_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"eip155:8453","network":"base","sellToken":{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18},"buyToken":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6},"sellAmountRaw":"1000000000000000000","quote":{"buyAmountRaw":"1840378178","buyAmountMinRaw":"1831176287","slippageBps":50,"route":{"venue":"univ3","hops":1,"feeTier":500},"priceImpactPct":0.02,"gasEstimate":81662,"venuesCompared":[{"venue":"aerodrome","buyAmountRaw":"1838425629"},{"venue":"univ3","buyAmountRaw":"1840378178"}]},"warnings":[],"disclaimer":"not financial advice; ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tokenIn","in":"query","required":true,"schema":{"type":"string"},"description":"Sell token: a supported symbol (WETH, USDC, AERO, ...) or a 0x ERC-20 address on Base."},{"name":"tokenOut","in":"query","required":true,"schema":{"type":"string"},"description":"Buy token: a supported symbol or a 0x ERC-20 address on Base."},{"name":"amountIn","in":"query","required":true,"schema":{"type":"string"},"description":"Sell amount in RAW atomic units of tokenIn (e.g. 1 WETH = 1000000000000000000). Integer as string."},{"name":"slippageBps","in":"query","required":false,"schema":{"type":"integer"},"description":"Max slippage in basis points (50 = 0.5%). Default 50, max 5000."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/etf/flows":{"get":{"tags":["paid"],"summary":"Daily net creation/redemption flow for spot Bitcoin or Ethereum ETFs, computed from each issuer's own holdings disclosure: per-fund and total net flow in USD and coin for the latest day, a recent series and the window cumulative. One normalized call instead of polling each issuer site and differencing units.","description":"A single normalized view of spot-crypto-ETF net flow. A spot BTC/ETH ETF's coin holdings change only through share creation and redemption, so the day-over-day change in units held IS the net primary-market flow. For each fund we difference consecutive daily disclosures: daily net flow in coin equals units today minus units the prior trading day, and net flow in USD equals that coin flow times the implied price (market value divided by units) from the same disclosure, so no external price feed is needed. We then sum across the funds of the requested asset and region into a total, and report a recent series and the window cumulative. Sources are each issuer's OWN first-party disclosure (BlackRock iShares holdings CSV, ARK and Bitwise fund data, Grayscale product-performance history), cited on every response; we do NOT resell an aggregator's compiled table. Coverage is data-driven — a new fund is a registry row — and the free sources route discloses exactly which funds are active. Some issuers publish only a current snapshot, so their series builds forward from the first poll while the dominant funds are backfilled; the coverage field states this. Pass asset (btc or eth) and region (us; hk is a scaffold). A bad enum is a 400, no data yet is a 404, a total upstream failure is a 502, never a 500; a single fund failing is reported under errors with a partial flag. Hosts are fixed server-side, so there is no SSRF surface. This is market-structure intelligence, not trading advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"etf_flows_etf_flows_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"btc","region":"us","coin":"BTC","latest":{"as_of_date":"2026-07-17","total_flow_usd":135049000.0,"total_flow_coin":2129.5,"funds":["IBIT","ARKB"]},"funds":[{"ticker":"IBIT","latest_flow_usd":135049000.0,"latest_flow_coin":2129.5,"history_days":10}],"cumulative_window_usd":305120000.0,"series_days":9,"partial":false}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":true,"schema":{"type":"string","enum":["btc","eth"]},"description":"Crypto asset whose spot ETFs to report: btc or eth."},{"name":"region","in":"query","required":true,"schema":{"type":"string","enum":["us","hk"]},"description":"ETF listing region: us (live) or hk (scaffold)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/etf/holdings":{"get":{"tags":["paid"],"summary":"Latest holdings for spot Bitcoin or Ethereum ETFs from issuer disclosures: per-fund coin units (or shares), market value and shares outstanding, plus total AUM across funds and the largest fund's AUM share. One normalized call.","description":"The latest disclosed holdings for the spot ETFs of a crypto asset. For each fund we return the coin units held (for issuers that disclose a coin quantity) or the shares outstanding, the market value or net assets, and the shares outstanding, each dated to the issuer's disclosure. We then sum the market values into a total AUM and report the largest fund's share of it, a concentration signal (the spot BTC/ETH ETF market is dominated by one or two funds). Sources are each issuer's own first-party disclosure, cited on every response — not a resold aggregator table. Coverage is data-driven, so a new fund is a registry row, and the free sources route discloses which funds are active. Pass asset (btc or eth) and region (us; hk is a scaffold). A bad enum is a 400, no data is a 404, a total upstream failure is a 502, never a 500; a single fund failing is reported under errors with a partial flag. Hosts are fixed server-side, so there is no SSRF surface. Intelligence, not trading advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"etf_holdings_etf_holdings_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"eth","region":"us","coin":"ETH","funds":[{"ticker":"ETHA","units":2836766.18,"market_value":5190062306.59,"shares_outstanding":373640000.0,"as_of_date":"2026-07-17"}],"aggregate":{"total_aum_usd":6600000000.0,"largest_fund":"ETHA","largest_fund_aum_share":0.79,"fund_count":3},"partial":false}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":true,"schema":{"type":"string","enum":["btc","eth"]},"description":"Crypto asset whose spot ETFs to report: btc or eth."},{"name":"region","in":"query","required":true,"schema":{"type":"string","enum":["us","hk"]},"description":"ETF listing region: us (live) or hk (scaffold)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/etf/brief":{"get":{"tags":["paid"],"summary":"Fusion flow brief for spot Bitcoin or Ethereum ETFs in ONE call: latest total net flow, the inflow/outflow streak, the window cumulative, flow momentum, issuer concentration, total AUM and a deterministic accumulation, distribution or neutral verdict. Saves several issuer queries plus the differencing.","description":"The moat route: a single normalized, cited flow brief for a crypto asset's spot ETFs that fuses what would otherwise be several issuer queries and derived calculations. From the per-fund daily flows (units differenced across disclosures) we compute the latest total net flow in USD and coin, the streak of consecutive days of net inflow or net outflow, the cumulative over the recent window, a momentum read comparing the sum of the last few days versus the prior few, the issuer concentration (the largest fund's share of total AUM), the total AUM, and a deterministic verdict of accumulation, distribution or neutral derived from the sign and persistence of recent net flow relative to AUM. The verdict is a formula in code, with no model or LLM, so it is reproducible. Sources are each issuer's own first-party disclosure, cited with attribution — not a resold aggregator table. Each dimension is best-effort: a failing fund is reported under errors with a partial flag and the rest are returned; only a total failure is a 404 or 502, never a 500. Pass asset (btc or eth) and region (us; hk is a scaffold). Hosts are fixed server-side, so there is no SSRF surface. This is market-structure intelligence, not trading advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"etf_brief_etf_brief_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"asset":"btc","region":"us","coin":"BTC","verdict":"accumulation","latest_flow_usd":135049000.0,"as_of":"2026-07-17","streak":{"length":3,"direction":"inflow"},"cumulative_window_usd":305120000.0,"momentum":{"recent_sum_usd":210000000.0,"prior_sum_usd":95000000.0,"accelerating":true},"concentration":{"largest_fund":"IBIT","aum_share":0.55},"total_aum_usd":85000000000.0,"partial":false}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"asset","in":"query","required":true,"schema":{"type":"string","enum":["btc","eth"]},"description":"Crypto asset whose spot ETFs to report: btc or eth."},{"name":"region","in":"query","required":true,"schema":{"type":"string","enum":["us","hk"]},"description":"ETF listing region: us (live) or hk (scaffold)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/contract/source":{"get":{"tags":["paid"],"summary":"Fetch a verified smart-contract's full source, ABI, compiler settings and NatSpec docs for an EVM address, and automatically resolve a proxy to its implementation so the response also carries the implementation ABI. One call returns everything an audit or integration agent needs to understand the contract, keyless and pay-per-call. Unverified contracts are reported honestly.","description":"The flagship explorer route for coding, audit and security agents. Give a contract address and an EVM network and it queries Sourcify for the verified source, merging into one answer: the ABI, the compilation metadata (language, compiler version, optimizer, evm version), the NatSpec user and developer docs, the source files (bounded), and the proxy resolution. When the address is an upgradeable proxy it additionally fetches the implementation contract's ABI and returns it as impl_abi with the implementation address and name, so you get the REAL logic ABI rather than the thin proxy ABI. This fusion, and the proxy implementation pull, is the edge over calling Sourcify raw. If the contract is not verified the route says so honestly (verified:false) instead of guessing, and if Sourcify is briefly unreachable it degrades to status:unavailable rather than erroring. Every response carries attribution and a disclaimer.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"contract_source_contract_source_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"base","chain_id":8453,"verified":true,"compilation":{"language":"Solidity","compiler_version":"0.6.12","name":"FiatTokenProxy"},"abi_len":12,"source_file_count":1,"proxy":{"is_proxy":true,"proxy_type":"ZeppelinOSProxy","impl_address":"0x2Ce6311d...","impl_name":"FiatTokenV2_2","impl_abi_len":72},"attribution":"Verified source / ABI / NatSpec / proxy-resolution via Sourcify (https://sourcify.dev), a public decentralized verified-contract store."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Contract address, 0x + 40 hex"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/contract/abi":{"get":{"tags":["paid"],"summary":"Fetch just the ABI of a verified EVM contract, resolving a proxy to its implementation ABI as well. A cheap slice for when you only need the interface to encode calls or decode data, not the full source. Unverified contracts are reported honestly.","description":"The economical ABI-only counterpart to /contract/source. Give a contract address and network and get the verified ABI from Sourcify plus the compact compilation header. If the address is a proxy the implementation ABI is pulled and returned as impl_abi with its address and name, so a proxy still yields its real logic interface. Use this when you already have the source or only need the interface to build or decode calls. Unverified contracts return verified:false honestly; a Sourcify outage degrades to status:unavailable, never a 500.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"contract_abi_contract_abi_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"base","chain_id":8453,"verified":true,"abi_len":12,"proxy":{"is_proxy":true,"impl_name":"FiatTokenV2_2","impl_abi_len":72},"attribution":"Verified source / ABI / NatSpec / proxy-resolution via Sourcify (https://sourcify.dev), a public decentralized verified-contract store."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Contract address, 0x + 40 hex"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/evm/logs":{"get":{"tags":["paid"],"summary":"Read a contract's recent event logs on an EVM network over a bounded block window and decode them. Logs are decoded from an event signature you supply, or from the contract's verified ABI, or by resolving the topic to a name via 4byte. Raw logs are always returned; decoded fields are added where possible.","description":"Pull a contract's recent event logs directly from public keyless RPC (eth_getLogs) over a bounded, most-recent block window and decode them. Supply an event signature to both filter (its keccak topic0) and decode the indexed and data parameters; or pass a topic0 to filter; or omit both to get all recent events. Decoding draws on your supplied event ABI, else the contract's verified ABI from Sourcify, else a best-effort topic-to-name lookup via 4byte when the contract is unverified. Raw topics and data are always included so nothing is lost, with decoded fields added where the ABI is known. The window is hard-capped because keyless RPC rejects wide archive ranges; an oversize result is chunked and split automatically, and overflow is flagged truncated with rows capped. Dynamic indexed parameters are only recoverable as their keccak hash, flagged honestly. Public on-chain data; attribution and disclaimer on every response.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"evm_logs_evm_logs_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"base","chain_id":8453,"window":{"blocks":500,"from_block":48878010,"to_block":48878509},"decode_source":"caller_abi","log_count":1,"decoded_count":1,"logs":[{"block":48878480,"tx_hash":"0x...","decoded":{"name":"Transfer","signature":"Transfer(address,address,uint256)","args":[{"name":"from","type":"address","value":"0x4e..."}]}}],"attribution":"Raw event logs read directly from public keyless RPC (eth_getLogs)."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Contract address, 0x + 40 hex"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network (default base)"},{"name":"signature","in":"query","required":false,"schema":{"type":"string"},"description":"Event signature to filter and decode by, e.g. Transfer(address,address,uint256)"},{"name":"topic0","in":"query","required":false,"schema":{"type":"string"},"description":"Event topic0 hash to filter by (alternative to signature), 0x + 64 hex"},{"name":"blocks","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10000},"description":"Look-back window in blocks (default 2000)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200},"description":"Max decoded logs to return (default 200)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/evm/decode-signature":{"get":{"tags":["paid"],"summary":"Reverse a 4-byte function selector, an event topic hash, or raw calldata into its human-readable signature using the 4byte database, with collisions resolved so the real signature (the oldest registered) is returned first and the attacker-registered lookalikes are flagged. Parameter types are parsed out.","description":"Turn an opaque 4-byte function selector, a 32-byte event topic0, or a raw calldata blob (whose first four bytes are the selector) into the human-readable signature it corresponds to. The 4byte database contains COLLISIONS: multiple text signatures hash to the same selector, and attackers deliberately register misleading ones on top of a common function. This route resolves that by ranking the real signature first: the canonical entry is the oldest one registered (smallest id / earliest creation), with every other candidate returned and flagged so you can see the ambiguity rather than being handed a spam signature. Each candidate's parameter types are parsed out for convenience. Distinct from a forward hash route (signature to selector): this goes selector back to signature. Attribution and disclaimer on every response.\n\nPrice: $0.003 (USDC on Base, x402).","operationId":"evm_decode_signature_evm_decode_signature_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"selector":"0xa9059cbb","input_kind":"function_selector","signature_type":"function","found":true,"collision":true,"canonical":{"text_signature":"transfer(address,uint256)","params":["address","uint256"],"id":145,"canonical":true},"candidate_count":6,"attribution":"Function/event signature text via the 4byte.directory open signature database (https://www.4byte.directory)."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"selector","in":"query","required":false,"schema":{"type":"string"},"description":"4-byte function selector (0x + 8 hex)"},{"name":"topic0","in":"query","required":false,"schema":{"type":"string"},"description":"Event topic0 hash (0x + 64 hex)"},{"name":"input","in":"query","required":false,"schema":{"type":"string"},"description":"Raw calldata or hex; the first 4 bytes are taken as the selector (alternative to selector/topic0)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]}}},"/evm/internal-tx":{"get":{"tags":["paid"],"summary":"List the internal transactions of an EVM transaction: the nested contract calls and their value transfers and call types, via Blockscout. Reveals the value flow and call tree that a plain receipt hides. Rate-limited upstream degrades gracefully rather than erroring.","description":"Expose the internal transactions of a transaction: the nested calls a contract makes to other contracts and the value moved on each, which a normal transaction receipt does not show. Give a transaction hash and network and the route reads Blockscout's internal-transaction trace, returning each entry's call type (call, delegatecall, staticcall, create), from and to, wei value, success and any error, plus a summary of how much value was transferred and how many transfers occurred. This is sourced from Blockscout because debug_traceTransaction is not available on keyless public RPC. Blockscout is rate-limited per IP, so when throttled or briefly down the route returns status:unavailable rather than failing, and an unknown hash returns found:false. Attribution and disclaimer on every response.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"evm_internal_tx_evm_internal_tx_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"network":"base","tx_hash":"0xe661...","found":true,"internal_tx_count":46,"value_transfers":2,"total_value_transferred_wei":"0","internal_transactions":[{"index":0,"type":"call","call_type":"staticcall","from":"0x78...","to":"0x42...","value":"0","success":true}],"attribution":"Internal-transaction traces via Blockscout (https://blockscout.com), a public-good open block explorer."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"tx","in":"query","required":true,"schema":{"type":"string"},"description":"Transaction hash, 0x + 64 hex"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon"]},"description":"EVM network with a Blockscout host (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/nft/floor":{"get":{"tags":["paid"],"summary":"Multi-chain NFT collection floor price in one call: floor in native currency AND USD, 24h floor change percent, market cap and the resolved source. EVM via CoinGecko (pass chain+contract or a CoinGecko slug), Solana + Bitcoin-Ordinals via Magic Eden (pass chain plus the marketplace symbol as slug). Keyless, attributed.","description":"A compact, normalized NFT collection floor across EVM chains, Solana and Bitcoin Ordinals from ONE call — for trading, portfolio and floor-sweeping agents that would otherwise integrate three different marketplace APIs and their unit conventions. Input is EITHER {chain, contract} or {slug}: on EVM (ethereum/base/polygon/arbitrum/optimism/avalanche/bsc) we resolve via the keyless CoinGecko NFT API (a global CoinGecko slug works with no chain); on Solana and Bitcoin-Ordinals via the keyless Magic Eden stats API using the marketplace collection symbol as the slug. The floor is returned in the chain's native unit AND in USD (SOL lamports/1e9 and BTC sats/1e8 normalized, USD via DefiLlama spot), with the 24h floor change percent and market cap where the source provides them. Upstream hosts are fixed server-side (you pass only a chain and a contract/slug), so there is no SSRF surface; source attribution is carried on every response. Active floor is off-chain marketplace orderbook data, not an on-chain price. Intelligence, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"nft_floor_nft_floor_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"ethereum","collection":"Pudgy Penguins","symbol":"PPG","floor":{"native":4.08,"native_symbol":"ETH","usd":7694.54},"floor_24h_change_pct":-3.46,"market_cap_usd":68389111,"source":"coingecko","attribution":["Powered by CoinGecko"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["ethereum","base","polygon","arbitrum","optimism","avalanche","bsc","solana","bitcoin"]},"description":"Chain key. EVM names use CoinGecko; solana + bitcoin use Magic Eden. Optional when a global CoinGecko slug is given for an EVM collection."},{"name":"contract","in":"query","required":false,"schema":{"type":"string"},"description":"EVM contract address (0x + 40 hex). Use with an EVM chain."},{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"Collection id: a CoinGecko NFT id for EVM (e.g. bored-ape-yacht-club) or a Magic Eden collection symbol for solana / bitcoin."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/nft/collection":{"get":{"tags":["paid"],"summary":"Flagship NFT collection intelligence: fuses identity, floor (native+USD), market cap, volume, total supply, holders and listed count into COMPUTED metrics — liquidity ratio (listed/supply + volume/mcap), holder/supply ratio, sales velocity and floor momentum — plus a normalized market-health verdict with confidence and rationale. EVM via CoinGecko, Solana + Bitcoin-Ordinals via Magic Eden. Keyless, attributed.","description":"The flagship, transformative route — one compact call that turns raw marketplace stats into a decision. It fuses collection identity (name / symbol / contract / chain), floor in native + USD, market cap, volume, total supply, unique holders and listed count, then COMPUTES the metrics an NFT agent actually reasons over: liquidity ratio (listed over supply, and 24h volume over market cap where the volume window is 24h), holder / supply distribution ratio, sales velocity (one-day sales, per-supply where supply is known) and floor momentum (24h percent). Those feed a deterministic, weighted blend of up-to-four sub-scores (liquidity, distribution, activity, momentum) — each mapped through registry anchors and renormalized over whatever is present — into a normalized market-health rating (hot / healthy / cooling / illiquid / thin) with a coverage-based confidence and a plain rationale list, plus per-source citations. It is a blend of signals, not a relabel of a single field, and it is deterministic (no LLM). Coverage differs by source: EVM (CoinGecko) carries floor/mcap/volume/holders/supply/sales in one call; Bitcoin-Ordinals (Magic Eden) carries floor/supply/owners/listed; Solana (Magic Eden) is thinner (floor/listed/avg/7d-volume) and is enriched best-effort from the live sales feed, so its verdict carries lower confidence — reported honestly, never faked. Upstream hosts are fixed server-side (SSRF-safe); attribution is on every response; there is no bulk/enumeration route. Intelligence, not financial advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"nft_collection_nft_collection_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"ethereum","identity":{"name":"Bored Ape Yacht Club","symbol":"BAYC"},"floor":{"native":8.6,"native_symbol":"ETH","usd":16268.38},"total_supply":9998,"holders":5500,"metrics":{"holder_supply_ratio":0.55,"floor_momentum_24h_pct":-1.2},"market_health":{"rating":"healthy","score":0.61,"confidence":1.0,"rationale":["24h turnover 1.20% of market cap"]},"citations":["Powered by CoinGecko"],"source":"coingecko"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["ethereum","base","polygon","arbitrum","optimism","avalanche","bsc","solana","bitcoin"]},"description":"Chain key. EVM names use CoinGecko; solana + bitcoin use Magic Eden. Optional when a global CoinGecko slug is given for an EVM collection."},{"name":"contract","in":"query","required":false,"schema":{"type":"string"},"description":"EVM contract address (0x + 40 hex). Use with an EVM chain."},{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"Collection id: a CoinGecko NFT id for EVM (e.g. bored-ape-yacht-club) or a Magic Eden collection symbol for solana / bitcoin."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/nft/sales":{"get":{"tags":["paid"],"summary":"Recent NFT sales intelligence for a collection: 24h sale count, average sale price (native+USD), momentum versus floor and sales velocity. Live native trade feed on Solana and Bitcoin-Ordinals (Magic Eden activities); on EVM CoinGecko has no native feed so returns an honest partial (sales_feed_available=false) with the one-day aggregate. Never fabricates trades. Keyless, attributed.","description":"Recent-sales intelligence for a collection — for agents gauging demand, exit liquidity and whether trades are clearing above or below floor. On Solana and Bitcoin-Ordinals we read the keyless Magic Eden activity feed, filter to real sales in the last 24 hours, and return the sale count, the average sale price in native + USD, momentum versus floor (how far the average clear sits above/below the floor, in percent), sales velocity (sales over supply where supply is known) and a short list of the most recent sales. On EVM chains CoinGecko exposes no itemized trade feed, so the route is honest: sales_feed_available is false and sales_24h / average come from CoinGecko's one-day aggregate, clearly labelled — it never invents individual trades. If a native feed is transiently unavailable the route degrades to the aggregate rather than failing. Upstream hosts are fixed server-side (SSRF-safe); attribution is on every response. Intelligence, not financial advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"nft_sales_nft_sales_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"solana","collection":"okay_bears","sales_feed_available":true,"window":"24h","sales_24h":12,"avg_sale_price":{"native":1.31,"native_symbol":"SOL","usd":100.9},"momentum_vs_floor_pct":6.8,"source":"magiceden","attribution":["Data via Magic Eden","USD via DefiLlama (coins.llama.fi)"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["ethereum","base","polygon","arbitrum","optimism","avalanche","bsc","solana","bitcoin"]},"description":"Chain key. EVM names use CoinGecko; solana + bitcoin use Magic Eden. Optional when a global CoinGecko slug is given for an EVM collection."},{"name":"contract","in":"query","required":false,"schema":{"type":"string"},"description":"EVM contract address (0x + 40 hex). Use with an EVM chain."},{"name":"slug","in":"query","required":false,"schema":{"type":"string"},"description":"Collection id: a CoinGecko NFT id for EVM (e.g. bored-ape-yacht-club) or a Magic Eden collection symbol for solana / bitcoin."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/social/trending":{"get":{"tags":["paid"],"summary":"What crypto tickers are heating up across crypto social right now: a ranked cross-source attention index fusing Farcaster cashtag mentions across curated crypto channels (keyless open-protocol hub) with crypto-news mention counts and a GDELT macro coverage-trend. Each row carries an attention score, a recent-vs-prior velocity, the channels driving it and cast sentiment — signal, not a raw feed. ToS-clean (no Twitter/Reddit).","description":"A one-call cross-social crypto attention radar. The spine is the OPEN Farcaster protocol read keyless from a public Snapchain hub: we mine allowlisted cashtags ($BTC, $DEGEN, ...) from recent casts across a curated set of crypto channels (degen, base, memes, ethereum, solana, bitcoin, defi, trading, ...), count mentions, compute a recent-vs-prior velocity and score cast sentiment with the same crypto-tuned lexicon as our news service. We fuse that with crypto-news mention counts (majors) and a GDELT macro coverage-trend for context. Each row returns the symbol, an attention score (0-100, normalized within the result), the Farcaster/news mention split, a velocity percentage, the channels driving it and cast sentiment, so you see WHICH source and channels carry the signal. A symbol allowlist (seeded from our coin list + Base/Farcaster-native tokens) removes cashtag noise. HONESTY: velocity uses recency-rank windows (freshest vs older half of the fetched casts) rather than fixed clock-hours, so it is robust to hub lag and clock skew; the effective window spans and the data lag are reported. A source that fails is omitted with a partial flag (never a 500). Hosts are fixed server-side (you pass only limit), so there is no SSRF surface. Attribution on every response; we never rehost full cast/article text. ToS-clean by construction — this never scrapes or resells Twitter/X, Reddit, Instagram, TikTok or LinkedIn.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"social_trending_social_trending_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"as_of":"2025-12-21T20:37:00Z","data_lag_hours":1.2,"casts_analyzed":4200,"channels_ok":12,"count":1,"trending":[{"symbol":"DEGEN","name":"Degen","attention_score":100.0,"farcaster_mentions":41,"news_mentions":0,"velocity_pct":575.0,"channels":["base","degen"],"cast_sentiment":0.31}],"macro_context":{"available":true,"metric":"coverage_volume","trend":"rising"},"partial":false,"red_line":"ToS-clean: never Twitter/X, Reddit, Instagram, TikTok, LinkedIn.","attribution":["Farcaster protocol (MIT) ...","GDELT (public domain) ..."]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":40},"description":"Max ranked tickers to return (default 15)."},{"name":"window","in":"query","required":false,"schema":{"type":"string"},"description":"Reserved velocity-window hint; velocity uses recency-rank windows (see response)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/social/sentiment":{"get":{"tags":["paid"],"summary":"Composite bull/bear sentiment for a crypto ticker or topic, fused across three ToS-clean sources: Farcaster cast sentiment (open-protocol hub), our crypto-news + Fear&Greed composite, and GDELT world-tone. Returns a normalized score, a per-source breakdown, 24h/7d deltas and a confidence (how much data is under the signal) — so you see which source drives it and how thin the signal is.","description":"A composite crypto sentiment read that fuses three independent ToS-clean sources into one honest signal. For a ticker (`sym`, e.g. BTC/ETH/SOL/DEGEN, or a coin name) or a free-text `query`, we combine: (1) Farcaster cast sentiment — recent casts mentioning the symbol across curated crypto channels, scored with our crypto-tuned lexicon; (2) our crypto-news composite (deduped headline sentiment + the keyless Fear&Greed index); and (3) GDELT's native multilingual world-tone over a one-week window. The response gives a normalized composite score (-1 bearish .. +1 bullish) with a label, a PER-SOURCE breakdown (so you see whether Farcaster, news or world-tone is carrying the signal), 24h (Farcaster recent-vs-prior shift) and 7d (GDELT tone trend) deltas, and a CONFIDENCE derived from how many data points sit under the signal — because a score from three casts is not a score from three hundred, and we say so. Majors get all three sources; Base/Farcaster-native memecoins (which world-news never covers) honestly report the news/GDELT facets as unavailable and lean on the social spine. Any source that fails is omitted with a partial flag — never a 500. Hosts are fixed server-side (you pass only sym/query), so there is no SSRF surface; attribution on every response; we never rehost full cast/article text. ToS-clean by construction — no Twitter/X, Reddit, Instagram, TikTok or LinkedIn.\n\nPrice: $0.012 (USDC on Base, x402).","operationId":"social_sentiment_social_sentiment_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"query":{"symbol":"DEGEN","name":"Degen"},"composite":{"score":0.24,"label":"bullish","confidence":"medium","samples":38,"sources_used":["farcaster"]},"deltas":{"24h":{"source":"farcaster","shift":0.05},"7d":{"source":"gdelt"}},"source_breakdown":{"farcaster":{"available":true,"score":0.24,"label":"bullish","casts_scored":38,"recent_vs_prior_shift":0.05},"cryptonews":{"available":false,"reason":"symbol has no crypto-news footprint"},"gdelt":{"available":false,"reason":"no world-news query for this symbol"}},"partial":true,"red_line":"ToS-clean: never Twitter/X, Reddit, Instagram, TikTok, LinkedIn.","attribution":["Farcaster protocol (MIT) ...","Fear & Greed — alternative.me"]}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"sym","in":"query","required":false,"schema":{"type":"string"},"description":"Crypto ticker or coin name (BTC, ETH, SOL, DEGEN, bitcoin, ...). Provide sym OR query."},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text topic instead of a ticker (e.g. 'base l2'). Provide sym OR query."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012"},"protocols":[{"x402":{}}]}}},"/yield/build":{"get":{"tags":["paid"],"summary":"Non-custodial yield deposit/redeem calldata for Base: give protocol (aave-v3, compound-v3 or erc4626), asset or vault, raw amount, action and recipient; we read the protocol on-chain state and return ready-to-sign transaction calldata plus the ERC-20 approval (deposit only) and the expected shares or assets. You sign with your own wallet — we never hold or move funds.","description":"A non-custodial yield deposit/redeem calldata builder for Base. You pass the protocol (aave-v3, compound-v3 or erc4626), the asset (symbol or 0x address) for Aave/Compound or the vault (any Base ERC-4626 0x address, resolved on-chain) for erc4626, the raw amount, the action (deposit or redeem) and the recipient. We read the public read-only state of these permissionless protocols with our own eth_call: Aave V3 Pool getReserveData (active/frozen/paused + supply cap + aToken), Compound III Comet supply/withdraw pause flags and base asset, and ERC-4626 asset()/decimals()/previewDeposit/previewRedeem/maxDeposit/totalSupply. We return the ready-to-sign transaction (to / data / value), a separate ERC-20 approval for deposits (spender is exactly the pool/comet/vault; a plain allowance), and the expected shares or assets from the protocol's own preview. Aave and Compound supply/withdraw are 1:1 in the underlying so no min-out applies; ERC-4626 direct deposit/redeem has NO on-chain min-out parameter, so we return the current preview expected amount plus an honest warning — we do not invent a minimum that the ABI cannot enforce. Approval is present ONLY for deposit; redeem burns the caller's own shares/aTokens. amount accepts 'max' for redeem (full balance). We are NON-CUSTODIAL: we never hold, sign, execute or submit; your own wallet signs. Nothing commercial (Enso, Brahma, Portals) is resold — we compute from permissionless on-chain data. A paused/inactive market, unlisted asset or non-ERC-4626 vault is a clean 400, never a 500. Not financial advice.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"yield_build_yield_build_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"eip155:8453","network":"base","custody":"non-custodial","protocol":"aave-v3","action":"deposit","market":{"kind":"aave-v3","pool":"0xA238Dd80...","asset":{"symbol":"USDC","decimals":6},"aToken":"0x4e65fE4D..."},"transaction":{"to":"0xA238Dd80...","data":"0x617ba037...","value":"0"},"approval":{"token":"0x833589fC...","spender":"0xA238Dd80...","amountRaw":"1000000000","data":"0x095ea7b3..."},"expected":{"aTokensRaw":"1000000000","basis":"1:1 underlying (aToken)"},"warnings":[],"disclaimer":"not financial advice; you sign; non-custodial; ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"protocol","in":"query","required":true,"schema":{"type":"string","enum":["aave-v3","compound-v3","erc4626"]},"description":"Yield protocol: aave-v3, compound-v3 or erc4626."},{"name":"asset","in":"query","required":false,"schema":{"type":"string"},"description":"For aave-v3/compound-v3: the asset symbol (USDC, WETH, ...) or a 0x ERC-20 address. Compound III earns only on its base asset."},{"name":"vault","in":"query","required":false,"schema":{"type":"string"},"description":"For erc4626: the vault 0x address (ANY Base ERC-4626) or a seed slug. Resolved on-chain."},{"name":"amount","in":"query","required":true,"schema":{"type":"string"},"description":"Raw atomic units. deposit: underlying assets. redeem: aave/comet = underlying (or 'max'); erc4626 = shares (or 'max')."},{"name":"action","in":"query","required":false,"schema":{"type":"string","enum":["deposit","redeem"]},"description":"deposit (supply) or redeem (withdraw). Default deposit."},{"name":"recipient","in":"query","required":true,"schema":{"type":"string"},"description":"0x address that supplies/receives (baked into calldata)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/yield/preview":{"get":{"tags":["paid"],"summary":"Lightweight yield preview for Base without calldata: give protocol, asset or vault, raw amount and action and get the expected shares or assets and the safety flags (paused/frozen/cap, empty-vault inflation risk). A cheap check before you build the full transaction.","description":"The preview-only sibling of /yield/build: the same on-chain reads and expected shares/assets from the protocol's preview (Aave/Compound 1:1 underlying; ERC-4626 previewDeposit/previewRedeem), plus the same safety flags — Aave active/frozen/paused and supply cap, Compound III supply/withdraw pause, and the empty-vault inflation-attack warning for ERC-4626 — but WITHOUT building any transaction calldata or approval, so it is cheaper and needs no recipient (except erc4626 redeem 'max', which reads maxRedeem for the owner). Sources are permissionless on-chain state read with our own eth_call, nothing commercial resold. A paused/unlisted market or non-ERC-4626 vault is a clean 400. Not financial advice, not a claim of best execution.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"yield_preview_yield_preview_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"chain":"eip155:8453","network":"base","custody":"non-custodial","protocol":"erc4626","action":"deposit","market":{"kind":"erc4626","vault":"0xeE8F4eC5...","vaultDecimals":18,"asset":{"symbol":"USDC","decimals":6}},"expected":{"sharesRaw":"905749200623242","basis":"previewDeposit"},"amountInterpretation":"assets (underlying)","warnings":["ERC-4626 direct deposit/redeem has NO on-chain min-out parameter; ..."],"disclaimer":"not financial advice; non-custodial; ..."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"protocol","in":"query","required":true,"schema":{"type":"string","enum":["aave-v3","compound-v3","erc4626"]},"description":"Yield protocol: aave-v3, compound-v3 or erc4626."},{"name":"asset","in":"query","required":false,"schema":{"type":"string"},"description":"For aave-v3/compound-v3: the asset symbol (USDC, WETH, ...) or a 0x ERC-20 address. Compound III earns only on its base asset."},{"name":"vault","in":"query","required":false,"schema":{"type":"string"},"description":"For erc4626: the vault 0x address (ANY Base ERC-4626) or a seed slug. Resolved on-chain."},{"name":"amount","in":"query","required":true,"schema":{"type":"string"},"description":"Raw atomic units. deposit: underlying assets. redeem: aave/comet = underlying (or 'max'); erc4626 = shares (or 'max')."},{"name":"action","in":"query","required":false,"schema":{"type":"string","enum":["deposit","redeem"]},"description":"deposit (supply) or redeem (withdraw). Default deposit."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/sol/token/verdict":{"get":{"tags":["paid"],"summary":"Solana memecoin RUG-RISK verdict in one call: fuses on-chain mint/freeze authority, real holder concentration (bonding-curve, AMM pool vaults and burned tokens excluded), bonding-curve stage and LP-burn status into a normalized safe / caution / danger verdict with a 0-100 risk score, concrete flags, the component values and on-chain citations. Keyless, deterministic, no LLM.","description":"The flagship route for a Solana trading / sniper / research agent deciding whether to buy a memecoin. It answers, in ONE call and as a normalized verdict, the questions that decide rug risk: is the mint authority still active (the issuer can print unlimited new supply)? is the freeze authority still active (the issuer can freeze your token account — a honeypot)? how concentrated is the REAL free float once the bonding-curve account, AMM/DEX pool vaults and the incinerator are labelled and excluded (so 'the curve holds 90%' is never mistaken for a whale)? where on the bonding curve is it (a brand-new curve can stall or be abandoned; a graduated token survived)? and, after graduation, is the LP burned? Each dimension carries a tunable weight; the fusion yields a 0-100 risk_score mapped to safe (<=25), caution (<=55) or danger, plus concrete flags, every component value and citations to the exact on-chain reads. All data is read from public Solana RPC and open keyless DefiLlama price data — NOT scraped from any launchpad frontend API — so it sidesteps launchpad ToS and is deterministic and exact. Any single source failing degrades that component honestly (partial) rather than failing the call. Intelligence, not financial advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"sol_token_verdict_sol_token_verdict_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mint":"9BB6...pump","launchpad":"pump.fun","verdict":"caution","risk_score":37,"flags":["mid_curve","elevated"],"components":{"authorities":{"mint_authority_active":false,"freeze_authority_active":false},"curve":{"graduated":false,"graduation_progress_pct":55.8,"sol_in_curve":21.06,"destination":"PumpSwap"},"holders":{"top1_pct_of_circulating":18.4,"low_float_warning":false}},"attribution":"On-chain Solana RPC (public, keyless); Data by DefiLlama"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":44},"description":"Base58 Solana SPL token mint address (e.g. a pump.fun mint ending in 'pump'). The only required input; all upstream hosts are fixed server-side."},{"name":"launchpad","in":"query","required":false,"schema":{"type":"string","enum":["pumpfun"]},"description":"Launchpad whose bonding-curve layout to decode (default pumpfun; new launchpads are added as data)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/sol/curve":{"get":{"tags":["paid"],"summary":"Solana bonding-curve graduation status from the on-chain curve account: graduation progress percent, SOL raised in the curve, SOL remaining to graduation, complete flag, the marginal curve price + market cap, and the graduation destination (PumpSwap). Cheap, deterministic, keyless — built for high-frequency polling.","description":"Decodes the on-chain bonding-curve account for a memecoin mint and returns its graduation state deterministically. Graduation progress = the fraction of the curve's sellable tokens sold (real token reserves deplete from 793.1e12 toward zero as roughly 85 SOL is raised); the response also gives the SOL currently in the curve, the SOL still needed to graduate, the complete flag, the marginal curve price and market cap (with USD via keyless DefiLlama), and the graduation destination — PumpSwap, not Raydium (pump.fun moved graduation to PumpSwap, and the LP is burned to the incinerator by design). Priced low ($0.01) so a sniper agent can poll it frequently. The layout and invariant constants were verified against live mainnet tokens (both pre- and post-graduation). If the mint has no live curve (already an AMM token) the route says so and returns the DefiLlama market price instead. Intelligence, not financial advice.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"sol_curve_sol_curve_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mint":"CmHK...pump","launchpad":"pump.fun","on_bonding_curve":true,"graduation_progress_pct":55.8,"complete":false,"sol_in_curve":21.06,"sol_to_graduation":63.94,"price_usd":4.23e-06,"market_cap_usd":4230.0,"destination":"PumpSwap","attribution":"Data by DefiLlama (coins.llama.fi)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":44},"description":"Base58 Solana SPL token mint address (e.g. a pump.fun mint ending in 'pump'). The only required input; all upstream hosts are fixed server-side."},{"name":"launchpad","in":"query","required":false,"schema":{"type":"string","enum":["pumpfun"]},"description":"Launchpad whose bonding-curve layout to decode (default pumpfun; new launchpads are added as data)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/sol/token/holders":{"get":{"tags":["paid"],"summary":"Solana token cap-table: the top holders with amounts and percentages, where the bonding-curve account, AMM/DEX pool vaults and the incinerator are LABELLED and EXCLUDED so real concentration is measured over the free float. Returns top1/top5/top10 percent of circulating, an HHI concentration index and a low-float warning.","description":"The cap-table a trader needs before buying, computed on-chain. It reads the top token accounts, resolves each account's owner, and labels the ones that are NOT real holders — the bonding-curve account, any AMM/DEX pool vault (Raydium, PumpSwap, Orca, Meteora and others, detected by the program that owns the vault) and the incinerator (burned) — then excludes them so concentration reflects the genuine free float rather than 'the curve holds 90%'. It returns every top holder with amount, percent of total supply and percent of circulating, plus the top1 / top5 / top10 share of circulating, a Herfindahl (HHI) concentration index, the circulating fraction of total supply and a low-float warning for brand-new tokens where nearly all supply is still on the curve (making concentration noisy). Keyless public RPC, no launchpad frontend scrape. Intelligence, not financial advice.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"sol_token_holders_sol_token_holders_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mint":"9BB6...pump","launchpad":"pump.fun","top_n":20,"circulating_pct_of_total":44.2,"concentration":{"top1_pct_of_circulating":18.4,"top5_pct_of_circulating":41.2,"hhi_circulating":512.3,"low_float_warning":false},"attribution":"On-chain Solana RPC (public, keyless)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":44},"description":"Base58 Solana SPL token mint address (e.g. a pump.fun mint ending in 'pump'). The only required input; all upstream hosts are fixed server-side."},{"name":"launchpad","in":"query","required":false,"schema":{"type":"string","enum":["pumpfun"]},"description":"Launchpad whose bonding-curve layout to decode (default pumpfun; new launchpads are added as data)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/sol/lp/strategy":{"get":{"tags":["paid"],"summary":"Best Solana liquidity-pool strategy for a token mint: finds the live LP pools holding the mint from keyless DefiLlama yields (Orca, Raydium, Kamino and other Solana venues), ranks them by TVL + fee-APY + 24h volume, and suggests a concentrated-liquidity price range from the pool's return volatility. Returns the best pool, alternatives, 24h fees and the suggested range.","description":"For an LP / market-making agent that wants to provide liquidity to a memecoin, this route finds the live Solana LP pools that actually hold the token (matched by the pool's underlying-token mints in the keyless DefiLlama yields dataset — covering Orca Whirlpools, Raydium AMM/CLMM, Kamino and other Solana venues), filters out dust pools, and ranks them by a fusion of TVL, fee-based APY and 24h volume. It returns the best pool and the alternatives, each with TVL, fee-APY, reward-APY, 24h/7d volume, the fee tier and the derived 24h fees (24h volume times fee tier), plus impermanent-loss risk. For a concentrated-liquidity position it suggests a plus/minus price range derived from the pool's return volatility (sigma) — tighter for stable pairs, wider for volatile memecoins — to balance fee capture against out-of-range risk. Sourced keyless with attribution; the deprecated Meteora DLMM public API is not depended on. If no material pool exists yet (a pre-graduation token) the route says so honestly. Intelligence, not financial advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"sol_lp_strategy_sol_lp_strategy_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"mint":"9BB6...pump","available":true,"best_pool":{"project":"raydium-amm","symbol":"WSOL-FARTCOIN","tvl_usd":6251386.0,"apy_base_fees":6.47,"fee_pct":0.0025,"fees_24h_usd":1107.6,"pool_meta":"Standard - 0.25%"},"strategy":{"suggested_range_pct":20.0},"ranking":"fusion of TVL + fee-APY (apyBase) + 24h volume","attribution":"Pool yields by DefiLlama (yields.llama.fi)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":44},"description":"Base58 Solana SPL token mint address (e.g. a pump.fun mint ending in 'pump'). The only required input; all upstream hosts are fixed server-side."},{"name":"launchpad","in":"query","required":false,"schema":{"type":"string","enum":["pumpfun"]},"description":"Launchpad whose bonding-curve layout to decode (default pumpfun; new launchpads are added as data)."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/address/labels":{"get":{"tags":["paid"],"summary":"Identify what an EVM address IS in one keyless call: contract/protocol identity (entity, name, category) from Open Labels Initiative attestations with trusted-attester consensus, plus on-chain truth (is_contract, code_hash), reverse ENS/Basename, sanctions (OFAC/UK/EU/UN) and scam-drainer flags. Cited provenance; unknown addresses answer with empty labels, never a 404.","description":"The flagship label route for agents that must know WHO or WHAT is on the other side of a swap, transfer or signature. Give an address and an EVM network and it fuses, deterministically and keyless (no LLM): (1) identity from the Open Labels Initiative — an MIT, Ethereum-Foundation-funded open attestation pool — decoded into contract_name / owner_project / usage_category, de-spammed with our OWN consensus (aggregate by tag across attesters, weight a trusted-attester allowlist, drop revoked labels, band confidence high/medium); (2) the entity behind owner_project (display name, website, category) via growthepie; (3) authoritative on-chain truth — is_contract and code_hash from live RPC, which OVERRIDES the attested hint on disagreement; (4) reverse ENS/Basename for EOAs; (5) risk — a match against PUBLIC official sanctions lists (OFAC/UK/EU/UN) and a MIT scam-drainer darklist; (6) best-effort Blockscout heuristics (first-seen age, funder, CEX linkage). Every response carries per-source attribution, a confidence band and a disclaimer. Strongest on contracts/protocols; EOA/whale coverage is honestly thinner. Closed providers (Nansen/Arkham/Etherscan-scrape) are NOT resold. An unknown address returns labels:[] with on-chain truth and risk flags rather than a 404; an upstream outage degrades that dimension to a note rather than erroring.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"address_labels_address_labels_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"address":"0x2626664c2603336E57B271c5C0b26F421741e481","network":"base","is_contract":true,"labels":[{"category":"dex","entity":"uniswap","name":"SwapRouter02","source":"OLI"}],"risk":{"sanctioned":false,"scam":false},"confidence":"high"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"Address to label, 0x + 40 hex"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","bnb"]},"description":"EVM network (default base)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/sellerops/audit":{"get":{"tags":["paid"],"summary":"Diagnose why another x402 route does not settle or stays invisible in Bazaar. From the route URL: a verdict (ready / blocked / degraded) plus per-check findings each with a concrete fix, over the CDP settle-blockers (header size, WAF text, method honesty, canonical-USDC, real index membership, on-chain settle fact). Diagnostic indicators, not a guarantee.","description":"One-call settle-readiness AUDIT for the OWNER of an x402 route (the seller-side mirror of /preflight's buyer-side trust score). Input: the route URL (+ optional method and network hint). Output: a deterministic verdict — blocked if any settle-blocker fails, degraded if only warnings, ready if clean — plus a findings list where each item carries id / status / severity / summary and an APPLICABLE fix, an evidence block and a coverage summary. Table-stakes checks (reachable, 402 status, x402 v2 challenge, manifest present) sit alongside the settle-blocker moat a consistency-only tool misses: the empirical ~4400 B payment-required header ceiling (over it, CDP verify rejects the echoed payload and the route never settles); AWS-WAF SQLi-shape / pipe-alternation text that 403s verify; method honesty (a GET mirror that 402s while the real method 405s); canonical-USDC ground-truth and payTo/network consistency (manifest vs live 402); REAL index membership walked across the CDP and PayAI discovery catalogs (not self-declaration — this answers 'why is my route invisible'); and the on-chain settle fact (has payTo ever received USDC on the advertised chain). Best-effort per check (a source down degrades to unknown, never a 500). All fetches to the target are SSRF-guarded. Diagnostic indicators from observed public surfaces, not a guarantee the route will settle. Bad url returns 400.\n\nPrice: $0.08 (USDC on Base, x402).","operationId":"sellerops_audit_sellerops_audit_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"blocked","findings":[{"id":"header_size","status":"fail","severity":"blocker","summary":"payment-required header 4592 B > ~4400 B ceiling.","fix":"Shrink output_example ~192 B."}],"coverage":{"checks_total":12,"evaluated":11,"unknown":1},"disclaimer":"Diagnostic indicators, not a settle guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"The x402 route URL to diagnose"},{"name":"resource","in":"query","required":false,"schema":{"type":"string"},"description":"Synonym for url"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"Route's real HTTP method (default GET)"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon","world","solana"]},"description":"Advertised payment-network hint"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}},"/sellerops/settle-check":{"get":{"tags":["paid"],"summary":"Cheap iterate check for the CDP settle-blockers of an x402 route: the payment-required header size vs the empirical settle ceiling, WAF-tripping text and method honesty. One unpaid probe of the target. For a seller tweaking output_example and re-checking the header size without paying for a full audit. Diagnostic indicators, not a guarantee.","description":"The cheap iterate grain of /sellerops/audit: only the CDP settle-blocker checks that keep a live route from settling — the payment-required header byte size vs the empirical ~4400 B ceiling (canon #16), WAF-tripping SQLi-shape / pipe text (canon #15), and method honesty (canon #10) — from a single unpaid 402 probe. A seller trims the route's output_example and re-runs this to confirm the header is under the ceiling, without paying for the full audit each time. Deterministic, read-only, SSRF-guarded. Diagnostic indicators, not a guarantee the route will settle.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"sellerops_settle_check_sellerops_settle_check_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"verdict":"blocked","findings":[{"id":"header_size","status":"fail","severity":"blocker","summary":"payment-required header 4592 B > ~4400 B.","fix":"Shrink output_example ~192 B."}],"coverage":{"checks_total":5,"evaluated":5,"unknown":0},"disclaimer":"Diagnostic indicators, not a settle guarantee."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"The x402 route URL to check"},{"name":"resource","in":"query","required":false,"schema":{"type":"string"},"description":"Synonym for url"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"The route's real HTTP method (default GET)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/humanverify/create":{"get":{"tags":["paid"],"summary":"Get a HUMAN judgement on a subjective/culturally-nuanced question: we post the task to an account-free human rail, collect several answers, and return one typed verdict with an honest confidence (agreement × sample completeness). This create route returns a ticket immediately; poll the free result route for the verdict (human answers arrive asynchronously). Only judgement tasks are accepted — engagement/astroturf, captcha, PII and professional-advice tasks are rejected.","description":"A human-in-the-loop verdict service for questions that need real human judgement — culturally-nuanced checks, subjective quality, contested moderation, real-world verification, translation nuance. You pay once here with a judgement question and optionally a CSV of allowed labels, a target number of answers (default 3, max 5) and a per-answer reward (default $0.03, clamped $0.02–0.05). We validate the question against a content policy (engagement/astroturf, captcha/anti-fraud, PII, professional medical/legal/financial advice and illegal/harmful tasks are refused, and never paid for), then post the task to an account-free human rail (WURK's agenttohuman on Base) for exactly responses×reward — no add-on fee, funding-gated so we never pay blind. You get back an opaque ticket and a resultToken immediately; the WURK secret is never exposed. Human answers are asynchronous, so you POLL the FREE /humanverify/result route: it returns pending until answers arrive, then ONE typed verdict with an honest confidence = agreement_ratio × min(1, received/target), with both components shown. With labels the verdict is a categorical majority vote; without, a free-text consensus with a dissent note. Zero answers in the best-effort window returns verdict 'no_human_responses' at confidence 0 — we never fabricate. This is orchestration + aggregation + confidence over a human rail, not a raw proxy; we are not affiliated with WURK and this is not professional advice.\n\nPrice: $0.20 (USDC on Base, x402).","operationId":"humanverify_create_humanverify_create_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"status":"created","ticket":"hv_9f3c1a2b4d5e6f708192a3b4","resultToken":"5b1e…(48 hex)","provider":"wurk","targetResponses":3,"reward":0.03,"poll":"https://api.agentstools.dev/humanverify/result?ticket=hv_…&resultToken=…","bestEffortNote":"Human answers arrive asynchronously; poll the free result route."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"question","in":"query","required":true,"schema":{"type":"string"},"description":"The judgement question for a human to answer (e.g. 'Is this Japanese product name natural to a native speaker?')."},{"name":"context","in":"query","required":false,"schema":{"type":"string"},"description":"Optional extra context shown to the human worker."},{"name":"labels","in":"query","required":false,"schema":{"type":"string"},"description":"Optional CSV of allowed answer labels (e.g. 'natural,awkward,wrong'). If given, the verdict is a categorical majority vote; omit for a free-text consensus."},{"name":"responses","in":"query","required":false,"schema":{"type":"integer"},"description":"How many human answers to collect (target N). Default 3, max 5."},{"name":"reward","in":"query","required":false,"schema":{"type":"number"},"description":"USD paid to each human answer. Default 0.03, clamped 0.02–0.05 (higher = faster fill). Our WURK cost is exactly responses×reward."}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.20"},"protocols":[{"x402":{}}]}}},"/korea/disclosures":{"get":{"tags":["paid"],"summary":"Recent official disclosures of a Korean listed company from Korea DART. Give a ticker, corp code or name and get a structured feed of the issuer's filings with type, date, submitter and an English viewer link. Cited to the primary source.","description":"A structured feed of a Korean issuer's official regulatory disclosures for cross-border due-diligence and investment research. Supply a 6-digit ticker, an 8-digit DART corp code, or a company name (English or Korean); the route resolves it to the issuer and pulls the recent filings from the Korean FSS OPENDART English API. Each filing carries its receipt number, report title, filing date, submitter, market (KOSPI, KOSDAQ, KONEX) and a direct English viewer URL to the primary document. Optionally narrow to a look-back window or a single filing category. This is the official first source of Korean corporate disclosures, not a US-centric aggregator; company data only; the OPENDART source is public data under the Korea Public Data Act.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"korea_disclosures_korea_disclosures_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"SAMSUNG ELECTRONICS CO,.LTD","corp_code":"00126380","stock_code":"005930","market":"KOSPI"},"count":1,"filings":[{"rcept_no":"20230801000123","report_nm":"Annual Report","filing_date":"2023-08-01","submitter":"Samsung Electronics","market":"KOSPI","viewer_url":"https://englishdart.fss.or.kr/dsbh001/main.do?rcpNo=20230801000123"}],"attribution":"Korea DART / FSS OPENDART (Public Data Act)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"6-digit Korean stock code, e.g. 005930"},{"name":"corp_code","in":"query","required":false,"schema":{"type":"string"},"description":"8-digit DART corp code, e.g. 00126380"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company name in English or Korean"},{"name":"months","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":36},"description":"Look-back window in months, default 6"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["A","B","C","D","E","F","G","H","I","J"]},"description":"Optional filing-category filter, A through J"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Max filings to return, default 20"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/korea/financials":{"get":{"tags":["paid"],"summary":"Normalized company financials from Korea DART filings. Give a ticker, corp code or name plus a year and get income statement, balance sheet and cash flow lines mapped to one clean schema with English labels, each value cited to its XBRL account id and filing. Compact cited JSON instead of raw Korean statements.","description":"One-call normalized fundamentals for a Korean issuer, the non-US analogue of our SEC EDGAR financials route. Supply a ticker, DART corp code or name plus a fiscal year; the route resolves the entity and pulls the full financial statements from the Korean FSS OPENDART English API, then maps each account onto a single canonical schema for the income statement, balance sheet and cash-flow statement. The value is the normalization plus traceability: raw Korean statements are heterogeneous and account-tagged, while this returns a compact JSON where every figure carries its language-independent XBRL account id, English label, statement division, up to three periods of amounts in Korean won, and the filing it came from (receipt number and English viewer URL) so an agent can trace any number back to the source. Pick the report period (annual, half, Q1, Q3) and basis (consolidated or separate), and optionally filter which statements you want. Unmapped custom lines are surfaced as cited other entries, never a raw page dump. Company data only; the OPENDART source is public data under the Korea Public Data Act. Not investment advice.\n\nPrice: $0.03 (USDC on Base, x402).","operationId":"korea_financials_korea_financials_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"SAMSUNG ELECTRONICS CO,.LTD","corp_code":"00126380","stock_code":"005930","market":"KOSPI"},"year":2023,"report":"annual","basis":"consolidated","filing":{"rcept_no":"20240312000736","viewer_url":"https://englishdart.fss.or.kr/dsbh001/main.do?rcpNo=20240312000736"},"statements":{"income":[{"line":"revenue","sourceTag":"ifrs-full_Revenue","label":"Revenue","sj_div":"CIS","unit":"KRW","periods":[{"period":"current","fy":2023,"amount":258935494000000,"unit":"KRW"},{"period":"prior","fy":2022,"amount":302231360000000,"unit":"KRW"}],"filing":{"rcept_no":"20240312000736","viewer_url":"https://englishdart.fss.or.kr/dsbh001/main.do?rcpNo=20240312000736"}}]},"attribution":"Korea DART / FSS OPENDART (Public Data Act)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"6-digit Korean stock code, e.g. 005930"},{"name":"corp_code","in":"query","required":false,"schema":{"type":"string"},"description":"8-digit DART corp code, e.g. 00126380"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company name in English or Korean"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","minimum":2015},"description":"Business (fiscal) year, 2015 or later"},{"name":"report","in":"query","required":false,"schema":{"type":"string","enum":["annual","half","q1","q3"]},"description":"Report period, default annual"},{"name":"basis","in":"query","required":false,"schema":{"type":"string","enum":["consolidated","separate"]},"description":"Statement basis, default consolidated"},{"name":"statements","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["income","balance","cashflow"]}},"description":"Optional filter of which statements to return"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/korea/ratios":{"get":{"tags":["paid"],"summary":"Key financial ratios computed from Korea DART filings: margins, returns, liquidity, leverage and growth. Give a ticker, corp code or name plus a year and get ratios, each number citing the source accounts it was derived from, plus simple anomaly flags.","description":"Ready-to-use financial ratios derived from a Korean issuer's DART fundamentals, so an agent does not have to pull raw lines and do the arithmetic. Supply a ticker, DART corp code or name plus a fiscal year; the route computes profitability margins (gross, operating, net), returns on assets and equity, liquidity (current ratio), leverage (debt to equity and debt to assets), and period-over-period growth in revenue, net income and operating income. Every computed number carries a derived_from list naming the exact source accounts and filing receipt it was built from, so the math is auditable, plus simple red-flag anomalies such as negative equity, a net loss or a current ratio below one. Pick the report period and basis. A metric with insufficient data is skipped rather than guessed. These are indicators, not investment advice; company data only; the OPENDART source is public data under the Korea Public Data Act.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"korea_ratios_korea_ratios_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"found":true,"entity":{"name":"SAMSUNG ELECTRONICS CO,.LTD","corp_code":"00126380","stock_code":"005930","market":"KOSPI"},"year":2023,"report":"annual","basis":"consolidated","ratios":[{"name":"netMargin","value":0.058,"derived_from":[{"line":"netIncome","sourceTag":"ifrs-full_ProfitLoss","rcept_no":"20240312000736"},{"line":"revenue","sourceTag":"ifrs-full_Revenue","rcept_no":"20240312000736"}]}],"anomalies":[],"attribution":"Korea DART / FSS OPENDART (Public Data Act)"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"ticker","in":"query","required":false,"schema":{"type":"string"},"description":"6-digit Korean stock code, e.g. 005930"},{"name":"corp_code","in":"query","required":false,"schema":{"type":"string"},"description":"8-digit DART corp code, e.g. 00126380"},{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"Company name in English or Korean"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","minimum":2015},"description":"Business (fiscal) year, 2015 or later"},{"name":"report","in":"query","required":false,"schema":{"type":"string","enum":["annual","half","q1","q3"]},"description":"Report period, default annual"},{"name":"basis","in":"query","required":false,"schema":{"type":"string","enum":["consolidated","separate"]},"description":"Statement basis, default consolidated"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/provenance/verify":{"post":{"tags":["paid"],"summary":"Cryptographic C2PA / Content-Credentials verdict for a media file. Parses the embedded manifest, verifies the signature chain and asset hash-binding against the C2PA production + Interim trust lists, and returns a go/no-go verdict (authentic-provenance, untrusted-signer, tampered, unsigned) with the distilled signed claims. Cryptographic provenance, not a deepfake detector.","description":"A verdict-before-trust check a media-handling agent runs on an image, video, audio clip or PDF it received or is about to publish. Input is the caller's OWN media bytes (base64) plus the format; nothing is fetched and no remote or soft-binding manifest is resolved (remote_manifest_fetch is off — pure offline, SSRF-free). The engine is the official contentauth c2pa-rs library: it parses the embedded JUMBF Content-Credentials manifest, checks the asset hash-binding (detecting any edit after signing) and verifies the signing certificate chain against two bundled trust snapshots — the official C2PA production conformance trust list and the frozen Interim Trust List for content signed before 2026. Verdict: authentic-provenance (signer chains to a trusted anchor and the asset is intact; trust_source names production or interim-legacy), untrusted-signer (valid but self-signed / unknown issuer), tampered (manifest present but validation failed — hash mismatch or broken claim signature), or unsigned (no manifest). The response distils the SIGNED claims an agent needs for go/no-go: the signer certificate (issuer, common name, algorithm, serial, signing time), the claim generator, an AI-source flag read from the signed IPTC digitalSourceType (generative-AI, composite, camera capture) plus any CAWG training-mining constraint, the edit-action history and the ingredient graph. This is a cryptographic-provenance verdict, not a deepfake or AI-pixel detector; a pass verifies a signed credential's integrity and trust, not the real-world truth of the content.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"provenance_verify_provenance_verify_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"media":{"type":"string","description":"The media file bytes, base64-encoded (image, video, audio or PDF). A data: URI prefix is tolerated."},"format":{"type":"string","description":"Media MIME type or file extension, e.g. image/jpeg, png, mp4, pdf (see GET /provenance/sources for the full list)"}},"type":"object","required":["media","format"]},"example":{"media":"/9j/4AAQSkZJRgABAQAAAQABAAD/2Q==","format":"image/jpeg"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"provenance_verdict","verdict":"authentic-provenance","trusted":true,"trust_source":"production","signed":true,"validation_state":"Trusted","format":"image/jpeg","claims":{"signer":{"issuer":"Truepic","alg":"Es256"},"ai":{"ai_generated":false,"ai_composite":false},"manifest_chain":1},"pack_version":"2026.07.24"}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/provenance/inspect":{"post":{"tags":["paid"],"summary":"Raw C2PA manifest-store dump for a media file, with no verdict wrapper. Returns every manifest in the provenance chain with its claim generator, signer, assertion labels, edit actions, AI-source flag, ingredient graph and the granular validation codes. For agents that want the full provenance tree rather than a go/no-go verdict. Heavy binary fields (thumbnails, hash blobs) are not echoed.","description":"The detailed form of the provenance read. Same offline engine and input as /provenance/verify (the caller's media bytes plus format), but instead of a collapsed verdict it returns the whole manifest store: for each manifest in the chain the claim generator, the signer certificate metadata, the list of assertion labels, the parsed edit actions, the AI-source classification and the ingredient graph (title, format, relationship of each source component), plus the granular validation success and failure codes and the active-manifest pointer. Useful for an agent building its own provenance policy or audit trail over the raw tree. Heavy binary assertion payloads (thumbnails, hashed-URI byte blobs) are omitted — only metadata. Pure local computation, no network, no remote-manifest fetch. A cryptographic-provenance read, not a deepfake detector.\n\nPrice: $0.008 (USDC on Base, x402).","operationId":"provenance_inspect_provenance_inspect_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"media":{"type":"string","description":"The media file bytes, base64-encoded (image, video, audio or PDF). A data: URI prefix is tolerated."},"format":{"type":"string","description":"Media MIME type or file extension, e.g. image/jpeg, png, mp4, pdf (see GET /provenance/sources for the full list)"}},"type":"object","required":["media","format"]},"example":{"media":"/9j/4AAQSkZJRgABAQAAAQABAAD/2Q==","format":"image/jpeg"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"provenance_inspect","signed":true,"media_bytes":183901,"format":"image/jpeg","validation_state":"Valid","active_manifest":"urn:c2pa:...","manifest_chain":1,"manifests":{"urn:c2pa:...":{"claim_generator":{"raw":"cai-helper 0.4.8","tools":[]},"title":"cloud.jpg","format":"image/jpeg","signer":{"issuer":"C2PA Test","common_name":"C2PA Signer","alg":"Ps256"},"assertions":[{"label":"c2pa.actions"}],"actions":[],"ai":{"ai_generated":false,"ai_composite":false,"source_types":[]},"ingredients":{"count":2,"items":[{"title":"earth.jpg","format":"image/jpeg","relationship":"componentOf"}]}}},"pack_version":"2026.07.24","disclaimer":"C2PA cryptographic-provenance verdict, not a deepfake / AI-pixel detector; a pass verifies a signed credential's integrity and trust chain, not the real-world truth of the content."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.008"},"protocols":[{"x402":{}}]}}},"/cost/estimate":{"post":{"tags":["paid"],"summary":"Estimate the monthly cloud cost of an infrastructure-as-code config before you apply it: Terraform (plan JSON or HCL), CloudFormation or docker-compose. Returns total monthly USD, a per-resource breakdown (unit price, quantity, assumptions), FinOps policy findings and a budget verdict (pass, caution, block) against an optional monthly budget. AWS and Azure common resources. Cost estimate, not a bill.","description":"A one-call FinOps preflight a coding / platform agent runs on IaC it generated, BEFORE terraform apply. Input is the caller's OWN config text plus an optional format hint (auto-detected otherwise), a region, an optional monthly budget and optional usage hints; nothing is fetched (prices come from a bundled curated on-demand snapshot built offline from the public AWS Price List and Azure Retail Prices APIs). Every resource is normalised (the parser is shared with the IaC misconfiguration scanner) and priced: EC2 / EBS / RDS / NAT gateway / ELB / S3 / Lambda / data-transfer on AWS, and virtual machines / managed disks / public IP on Azure. Output: total monthly USD, a per-resource breakdown with unit price, quantity, unit and the documented assumptions behind each usage-based figure; FinOps policy findings (an instance over $500/mo, a forgotten NAT gateway, provisioned-IOPS volumes, an idle public IP, an S3 bucket with no lifecycle, a Multi-AZ database); and a verdict — block when the total exceeds the budget or a critical policy fires, caution on a high/medium policy or near-budget, pass otherwise. A resource with no cost mapping (Kubernetes, a Dockerfile, a compose service) is returned priced:false with an honest reason, never zeroed. Boundary: this estimates money, not security posture (that is the IaC scanner). Cost ESTIMATE, not a bill: an on-demand list-price floor that excludes savings plans, reserved instances, spot, free tier, taxes and support.\n\nPrice: $0.04 (USDC on Base, x402).","operationId":"cost_estimate_cost_estimate_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"content":{"type":"string","description":"The IaC config text to price (one or many resources)"},"format":{"type":"string","enum":["auto","terraform","terraform-plan","cloudformation","docker-compose"],"description":"Config format, or auto to detect from the content"},"region":{"type":"string","description":"Cloud region for pricing (default us-east-1)"},"budget_monthly":{"type":"number","description":"Optional monthly USD budget for the verdict"},"usage":{"type":"object","description":"Optional usage hints for usage-based items (s3_gb, lambda_requests, nat_gb, data_transfer_out_gb)"}},"type":"object","required":["content"]},"example":{"format":"terraform-plan","region":"us-east-1","budget_monthly":200,"content":"{\"planned_values\":{\"root_module\":{\"resources\":[{\"type\":\"aws_instance\",\"name\":\"web\",\"values\":{\"instance_type\":\"m5.large\"}}]}}}"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"cost_estimate","format":"terraform-plan","region":"us-east-1","currency":"USD","total_monthly":70.08,"verdict":"pass","budget_monthly":200,"budget_headroom":129.92,"breakdown":[{"resource_id":"aws_instance.web","provider":"aws","kind":"ec2_instance","region":"us-east-1","monthly_cost":70.08,"unit_price":0.096,"quantity":730,"unit":"instance-hour","priced":true,"assumptions":["on-demand Linux, shared tenancy, 730h/mo"]}],"policy_findings":[],"counts_by_severity":{},"coverage":{"resources_total":1,"priced":1,"unpriced":0,"unpriced_kinds":[]},"as_of":"2026-07-24","snapshot_version":"2026.07.24","config_hash":"sha256:…","disclaimer":"Cost estimate, not a bill. On-demand list-price floor; usage assumptions apply."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/cost/diff":{"post":{"tags":["paid"],"summary":"Estimate the monthly cost DELTA of an infrastructure change before you apply it: pass a Terraform plan (its resource changes) or a baseline and a proposed config and get total before, total after, the monthly delta, per-resource added / removed / modified line items, FinOps findings and a budget verdict (pass, caution, block). AWS and Azure common resources. Cost estimate, not a bill.","description":"The cost-delta form of the estimator, for an agent that wants to know what a change costs before applying it. Two honest inputs: a terraform plan JSON (the resource_changes array with each resource's before/after — the cleanest one-file diff) OR a baseline plus a proposed config. Output: total monthly USD before and after, the monthly delta, and added / removed / modified per-resource line items each with its before, after and delta; plus the FinOps policy findings and a budget verdict against the proposed total (block over budget or on a critical policy, caution on a high/medium policy or near budget, pass otherwise). Prices come from the same bundled offline snapshot as /cost/estimate (AWS Price List + Azure Retail Prices); nothing is fetched. Boundary: money, not security. Cost ESTIMATE, not a bill — an on-demand list-price floor; usage-based items carry documented assumptions.\n\nPrice: $0.05 (USDC on Base, x402).","operationId":"cost_diff_cost_diff_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"plan_json":{"type":"string","description":"A terraform plan JSON with resource_changes (before/after) — the one-file diff input"},"baseline":{"type":"string","description":"Baseline config text (use with proposed instead of plan_json)"},"proposed":{"type":"string","description":"Proposed config text (use with baseline)"},"format":{"type":"string","enum":["auto","terraform","terraform-plan","cloudformation","docker-compose"],"description":"Config format for baseline/proposed, or auto"},"region":{"type":"string","description":"Cloud region for pricing (default us-east-1)"},"budget_monthly":{"type":"number","description":"Optional monthly USD budget for the verdict"},"usage":{"type":"object","description":"Optional usage hints for usage-based items"}},"type":"object","required":[]},"example":{"format":"terraform-plan","region":"us-east-1","budget_monthly":500,"plan_json":"{\"resource_changes\":[{\"address\":\"aws_instance.web\",\"type\":\"aws_instance\",\"name\":\"web\",\"change\":{\"actions\":[\"update\"],\"before\":{\"instance_type\":\"t3.medium\"},\"after\":{\"instance_type\":\"m5.large\"}}}]}"}}},"required":false},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"object":"cost_diff","format":"terraform-plan","region":"us-east-1","currency":"USD","total_before":30.37,"total_after":70.08,"delta_monthly":39.71,"verdict":"pass","budget_monthly":500,"budget_headroom":429.92,"added":[],"removed":[],"modified":[{"resource_id":"aws_instance.web","provider":"aws","kind":"ec2_instance","before_monthly":30.37,"after_monthly":70.08,"delta":39.71}],"policy_findings":[],"counts_by_severity":{},"coverage":{"resources_total":1,"priced":1,"unpriced":0,"unpriced_kinds":[]},"as_of":"2026-07-24","snapshot_version":"2026.07.24","config_hash":"sha256:…","disclaimer":"Cost estimate, not a bill. On-demand list-price floor; usage assumptions apply."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/approvals/wallet":{"get":{"tags":["paid"],"summary":"Standing-state audit of a wallet's live ERC-20 token approvals. Indexes every approval the address ever granted, filters to those still live on-chain, flags unlimited, stale, scam-listed and canonical spenders, estimates money-at-risk, and returns a ranked revoke plan with ready calldata plus a 0-100 risk and allow, warn or block verdict. Risk indicators, not advice.","description":"Address-in, ranked-revoke-out wallet hygiene for autonomous agents that hold funds — the exact population drainers target. Reads the WHOLE approval history from an indexed keyless Blockscout getLogs (fromBlock=0, one request), dedups to the last grant per (token, spender), then confirms each is still LIVE with an eth_call allowance read (an event is not state — transferFrom spends an allowance with no new log and a revoke zeroes it, so only a live read is trustworthy). Each live approval is enriched: unlimited (max-uint or Permit2 max), stale (long forgotten), spender on a public scam/drainer blocklist, spender a canonical allowlisted router (Permit2 — suppressed), and a best-effort money-at-risk USD for priceable tokens. Every item carries non-custodial revoke calldata (approve(spender,0)) you sign yourself, and the list is sorted by a deterministic weighted priority (scam, then unlimited-to-unknown, then money-at-risk, then stale). Multi-chain EVM only (Base, Ethereum, Arbitrum, Optimism, Polygon). Blockscout unreachable returns status unavailable, never a 500. Automated risk indicators, not advice. Bad input returns 4xx.\n\nPrice: $0.02 (USDC on Base, x402).","operationId":"approvals_wallet_approvals_wallet_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"kind":"wallet-approvals","network":"base","address":"0xd8dA…6045","status":"ok","verdict":"warn","risk_score":55,"summary":{"live_approvals":2,"unlimited":1,"scam_spenders":0,"stale":1},"approvals":[{"token":"0x8335…2913","token_symbol":"USDC","spender":"0x1111…1111","allowance":"1157920…9935","unlimited":true,"stale":false,"spender_allowlisted":false,"scam_spender":false,"money_at_risk_usd":812.4,"priority_score":55,"flags":["unlimited"],"revoke":{"to":"0x8335…2913","data":"0x095ea7b3…","value":"0x0"}}],"disclaimer":"Automated on-chain risk indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon"]},"description":"EVM network to audit (default base)"},{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"0x wallet address to audit (the owner)"},{"name":"include_revoke_plan","in":"query","required":false,"schema":{"type":"boolean"},"description":"Include the ordered revoke plan (default true)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max distinct approvals to check (default/cap 40)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]}}},"/approvals/nft":{"get":{"tags":["paid"],"summary":"Standing-state audit of a wallet's live NFT operator approvals. Indexes every ApprovalForAll the address granted, filters to operators still live on-chain via isApprovedForAll, flags scam-listed, stale and canonical operators, and returns a ranked revoke plan with ready setApprovalForAll calldata plus a 0-100 risk and allow, warn or block verdict. Risk indicators, not advice.","description":"The NFT sibling of /approvals/wallet — a frequent drainer vector is a lingering setApprovalForAll granting an operator full control of a whole collection. Reads every ApprovalForAll the address ever emitted from indexed keyless Blockscout getLogs, dedups to the last event per (collection, operator), and confirms each operator is still live with an isApprovedForAll eth_call (a later revoke flips it off with no positive log, so only the live read is trustworthy). Flags operators on a public scam blocklist, stale grants, and canonical allowlisted operators (suppressed), ranks by a deterministic weighted priority, and hands back ready non-custodial setApprovalForAll(operator,false) calldata per collection. Multi-chain EVM only (Base, Ethereum, Arbitrum, Optimism, Polygon). Blockscout unreachable returns status unavailable, never a 500. Automated risk indicators, not advice. Bad input returns 4xx.\n\nPrice: $0.01 (USDC on Base, x402).","operationId":"approvals_nft_approvals_nft_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"kind":"nft-approvals","network":"ethereum","address":"0xd8dA…6045","status":"ok","verdict":"warn","risk_score":30,"summary":{"live_approvals":1,"unlimited":1,"scam_spenders":0,"stale":0},"approvals":[{"collection":"0xBC4C…f13d","operator":"0x2222…2222","approved_for_all":true,"stale":false,"spender_allowlisted":false,"scam_spender":false,"priority_score":30,"flags":["unlimited"],"revoke":{"to":"0xBC4C…f13d","data":"0xa22cb465…","value":"0x0"}}],"disclaimer":"Automated on-chain risk indicators, not advice."}}}},"402":{"description":"Payment Required — x402 quote (USDC on Base)"}},"parameters":[{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","ethereum","arbitrum","optimism","polygon"]},"description":"EVM network to audit (default base)"},{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"0x wallet address to audit (the owner)"},{"name":"include_revoke_plan","in":"query","required":false,"schema":{"type":"boolean"},"description":"Include the ordered revoke plan (default true)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max distinct operators to check (default/cap 40)"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/screen/sources":{"get":{"tags":["metadata"],"summary":"Screen Sources","operationId":"screen_sources_screen_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/nonprofit/sources":{"get":{"tags":["metadata"],"summary":"Nonprofit Sources","operationId":"nonprofit_sources_nonprofit_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/farcaster/sources":{"get":{"tags":["metadata"],"summary":"Farcaster Sources","operationId":"farcaster_sources_farcaster_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/social/sources":{"get":{"tags":["metadata"],"summary":"Social Sources","operationId":"social_sources_social_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/provider/sources":{"get":{"tags":["metadata"],"summary":"Provider Sources","operationId":"provider_sources_provider_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/adviser/sources":{"get":{"tags":["metadata"],"summary":"Adviser Sources","operationId":"adviser_sources_adviser_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/edu/sources":{"get":{"tags":["metadata"],"summary":"Edu Sources","operationId":"edu_sources_edu_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/insurance/models":{"get":{"tags":["metadata"],"summary":"Insurance Models","operationId":"insurance_models_insurance_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/insurance/sources":{"get":{"tags":["metadata"],"summary":"Insurance Sources","operationId":"insurance_sources_insurance_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/insider/sources":{"get":{"tags":["metadata"],"summary":"Insider Sources","operationId":"insider_sources_insider_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/catalyst/sources":{"get":{"tags":["metadata"],"summary":"Catalyst Sources","operationId":"catalyst_sources_catalyst_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/evm/sources":{"get":{"tags":["metadata"],"summary":"Evm Sources","operationId":"evm_sources_evm_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/address/sources":{"get":{"tags":["metadata"],"summary":"Address Sources","operationId":"address_sources_address_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/funding/sources":{"get":{"tags":["metadata"],"summary":"Funding Sources","operationId":"funding_sources_funding_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/unlock/sources":{"get":{"tags":["metadata"],"summary":"Unlock Sources","operationId":"unlock_sources_unlock_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fraud/sources":{"get":{"tags":["metadata"],"summary":"Fraud Sources","operationId":"fraud_sources_fraud_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/netintel/sources":{"get":{"tags":["metadata"],"summary":"Netintel Sources","operationId":"netintel_sources_netintel_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/sources":{"get":{"tags":["metadata"],"summary":"Legal Sources","operationId":"legal_sources_legal_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legislative/sources":{"get":{"tags":["metadata"],"summary":"Legislative Sources","operationId":"legislative_sources_legislative_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp/patterns":{"get":{"tags":["metadata"],"summary":"Mcp Patterns","operationId":"mcp_patterns_mcp_patterns_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/secret/rules":{"get":{"tags":["metadata"],"summary":"Secret Rules","operationId":"secret_rules_secret_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/iac/rules":{"get":{"tags":["metadata"],"summary":"Iac Rules","operationId":"iac_rules_iac_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/cost/pricing":{"get":{"tags":["metadata"],"summary":"Cost Pricing","operationId":"cost_pricing_cost_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/code/patterns":{"get":{"tags":["metadata"],"summary":"Code Patterns","operationId":"code_patterns_code_patterns_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ci/rules":{"get":{"tags":["metadata"],"summary":"Ci Rules","operationId":"ci_rules_ci_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/a11y/rules":{"get":{"tags":["metadata"],"summary":"A11Y Rules","operationId":"a11y_rules_a11y_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/migrate/rules":{"get":{"tags":["metadata"],"summary":"Migrate Rules","operationId":"migrate_rules_migrate_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sql/rules":{"get":{"tags":["metadata"],"summary":"Sql Rules","operationId":"sql_rules_sql_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/provenance/sources":{"get":{"tags":["metadata"],"summary":"Provenance Sources","operationId":"provenance_sources_provenance_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pkg/corpus":{"get":{"tags":["metadata"],"summary":"Pkg Corpus","operationId":"pkg_corpus_pkg_corpus_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/license/matrix":{"get":{"tags":["metadata"],"summary":"License Matrix","operationId":"license_matrix_license_matrix_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/attest/info":{"get":{"tags":["metadata"],"summary":"Attest Info","operationId":"attest_info_attest_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/safety/sources":{"get":{"tags":["metadata"],"summary":"Safety Sources","operationId":"safety_sources_safety_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/marketing/methods":{"get":{"tags":["metadata"],"summary":"Marketing Methods","operationId":"marketing_methods_marketing_methods_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/energy/catalog":{"get":{"tags":["metadata"],"summary":"Energy Catalog","operationId":"energy_catalog_energy_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/agri/sources":{"get":{"tags":["metadata"],"summary":"Agri Sources","operationId":"agri_sources_agri_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/realestate/catalog":{"get":{"tags":["metadata"],"summary":"Realestate Catalog","operationId":"realestate_catalog_realestate_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/breach/sources":{"get":{"tags":["metadata"],"summary":"Breach Sources","operationId":"breach_sources_breach_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/cve/sources":{"get":{"tags":["metadata"],"summary":"Cve Sources","operationId":"cve_sources_cve_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/travel/sources":{"get":{"tags":["metadata"],"summary":"Travel Sources","operationId":"travel_sources_travel_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/osha/sources":{"get":{"tags":["metadata"],"summary":"Osha Sources","operationId":"osha_sources_osha_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/bankhealth/sources":{"get":{"tags":["metadata"],"summary":"Bankhealth Sources","operationId":"bankhealth_sources_bankhealth_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/holdings/sources":{"get":{"tags":["metadata"],"summary":"Holdings Sources","operationId":"holdings_sources_holdings_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fda/sources":{"get":{"tags":["metadata"],"summary":"Fda Sources","operationId":"fda_sources_fda_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/korea/sources":{"get":{"tags":["metadata"],"summary":"Korea Sources","operationId":"korea_sources_korea_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/aircraft/sources":{"get":{"tags":["metadata"],"summary":"Aircraft Sources","operationId":"aircraft_sources_aircraft_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/domain/sources":{"get":{"tags":["metadata"],"summary":"Domain Sources","operationId":"domain_sources_domain_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/threat/sources":{"get":{"tags":["metadata"],"summary":"Threat Sources","operationId":"threat_sources_threat_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ucc/sources":{"get":{"tags":["metadata"],"summary":"Ucc Sources","operationId":"ucc_sources_ucc_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/drug/sources":{"get":{"tags":["metadata"],"summary":"Drug Sources","operationId":"drug_sources_drug_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/price/sources":{"get":{"tags":["metadata"],"summary":"Price Sources","operationId":"price_sources_price_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/aeo/checks":{"get":{"tags":["metadata"],"summary":"Aeo Checks","operationId":"aeo_checks_aeo_checks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/seo/rules":{"get":{"tags":["metadata"],"summary":"Seo Rules","operationId":"seo_rules_seo_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/macro/catalog":{"get":{"tags":["metadata"],"summary":"Macro Catalog","operationId":"macro_catalog_macro_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pii/recognizers":{"get":{"tags":["metadata"],"summary":"Pii Recognizers","operationId":"pii_recognizers_pii_recognizers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/scholar/sources":{"get":{"tags":["metadata"],"summary":"Scholar Sources","operationId":"scholar_sources_scholar_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/docs/sources":{"get":{"tags":["metadata"],"summary":"Docs Sources","operationId":"docs_sources_docs_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/model/sources":{"get":{"tags":["metadata"],"summary":"Model Sources","operationId":"model_sources_model_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/personality/sources":{"get":{"tags":["metadata"],"summary":"Personality Sources","operationId":"personality_sources_personality_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sellerops/sources":{"get":{"tags":["metadata"],"summary":"Sellerops Sources","operationId":"sellerops_sources_sellerops_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/trials/sources":{"get":{"tags":["metadata"],"summary":"Trials Sources","operationId":"trials_sources_trials_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tx/sources":{"get":{"tags":["metadata"],"summary":"Tx Sources","operationId":"tx_sources_tx_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/approvals/sources":{"get":{"tags":["metadata"],"summary":"Approvals Sources","operationId":"approvals_sources_approvals_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/gdelt/sources":{"get":{"tags":["metadata"],"summary":"Gdelt Sources","operationId":"gdelt_sources_gdelt_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/btc/sources":{"get":{"tags":["metadata"],"summary":"Btc Sources","operationId":"btc_sources_btc_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/derivs/sources":{"get":{"tags":["metadata"],"summary":"Derivs Sources","operationId":"derivs_sources_derivs_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/etf/sources":{"get":{"tags":["metadata"],"summary":"Etf Sources","operationId":"etf_sources_etf_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/swap/venues":{"get":{"tags":["metadata"],"summary":"Swap Venues","operationId":"swap_venues_swap_venues_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/humanverify/result":{"get":{"tags":["metadata"],"summary":"Humanverify Result","operationId":"humanverify_result_humanverify_result_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/humanverify/validate":{"get":{"tags":["metadata"],"summary":"Humanverify Validate","operationId":"humanverify_validate_humanverify_validate_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/humanverify/sources":{"get":{"tags":["metadata"],"summary":"Humanverify Sources","operationId":"humanverify_sources_humanverify_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/yield/protocols":{"get":{"tags":["metadata"],"summary":"Yield Protocols","operationId":"yield_protocols_yield_protocols_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/timing/sources":{"get":{"tags":["metadata"],"summary":"Timing Sources","operationId":"timing_sources_timing_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/nft/sources":{"get":{"tags":["metadata"],"summary":"Nft Sources","operationId":"nft_sources_nft_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sol/sources":{"get":{"tags":["metadata"],"summary":"Sol Sources","operationId":"sol_sources_sol_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/trader/sources":{"get":{"tags":["metadata"],"summary":"Trader Sources","operationId":"trader_sources_trader_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/lending/sources":{"get":{"tags":["metadata"],"summary":"Lending Sources","operationId":"lending_sources_lending_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mining/asics":{"get":{"tags":["metadata"],"summary":"Mining Asics","operationId":"mining_asics_mining_asics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mining/sources":{"get":{"tags":["metadata"],"summary":"Mining Sources","operationId":"mining_sources_mining_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/env/sources":{"get":{"tags":["metadata"],"summary":"Env Sources","operationId":"env_sources_env_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sports/sources":{"get":{"tags":["metadata"],"summary":"Sports Sources","operationId":"sports_sources_sports_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/validator/sources":{"get":{"tags":["metadata"],"summary":"Validator Sources","operationId":"validator_sources_validator_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/depin/sources":{"get":{"tags":["metadata"],"summary":"Depin Sources","operationId":"depin_sources_depin_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/politics/sources":{"get":{"tags":["metadata"],"summary":"Politics Sources","operationId":"politics_sources_politics_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tax/info":{"get":{"tags":["metadata"],"summary":"Tax Info","operationId":"tax_info_tax_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/bank/sources":{"get":{"tags":["metadata"],"summary":"Bank Sources","operationId":"bank_sources_bank_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/prediction/sources":{"get":{"tags":["metadata"],"summary":"Prediction Sources","operationId":"prediction_sources_prediction_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/governance/sources":{"get":{"tags":["metadata"],"summary":"Governance Sources","operationId":"governance_sources_governance_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/crime/sources":{"get":{"tags":["metadata"],"summary":"Crime Sources","operationId":"crime_sources_crime_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/wage/sources":{"get":{"tags":["metadata"],"summary":"Wage Sources","operationId":"wage_sources_wage_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/treasury/sources":{"get":{"tags":["metadata"],"summary":"Treasury Sources","operationId":"treasury_sources_treasury_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/stablecoin/sources":{"get":{"tags":["metadata"],"summary":"Stablecoin Sources","operationId":"stablecoin_sources_stablecoin_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rwa/sources":{"get":{"tags":["metadata"],"summary":"Rwa Sources","operationId":"rwa_sources_rwa_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/cex/sources":{"get":{"tags":["metadata"],"summary":"Cex Sources","operationId":"cex_sources_cex_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/match/recipes":{"get":{"tags":["metadata"],"summary":"Match Recipes","operationId":"match_recipes_match_recipes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/internal/invoke":{"post":{"tags":["internal"],"summary":"Internal Invoke","operationId":"internal_invoke_internal_invoke_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/internal/usage":{"post":{"tags":["internal"],"summary":"Internal Usage","operationId":"internal_usage_internal_usage_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}