{"x402Version":2,"openapi":"https://x402-research-iota.vercel.app/openapi.json","name":"x402 Crypto Research API","network":"eip155:8453","assets":["btc","eth","sol","xrp","doge","ada","avax","link","dot","ltc","bch","uni","aave","xlm","hbar","shib","sui","near","atom","fil"],"maxBatch":10,"resources":[{"id":"brief","enabled":true,"method":"GET","path":"/api/brief/[asset]","example":"/api/brief/btc","description":"Technical + sentiment research brief (price, 24h/7d change, RSI14, SMA20/50, trend, Fear & Greed). Assets: btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.03","amount":"30000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/brief/[asset]","exampleUrl":"https://x402-research-iota.vercel.app/api/brief/btc"},{"id":"signal","enabled":true,"method":"GET","path":"/api/signal/[asset]","example":"/api/signal/btc","description":"Compact trend signal (bullish/neutral/bearish + score). Assets: btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil. Free delayed sample: /api/sample/signal","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.003","amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/signal/[asset]","exampleUrl":"https://x402-research-iota.vercel.app/api/signal/btc"},{"id":"signalBatch","enabled":true,"method":"GET","path":"/api/signal-batch","example":"/api/signal-batch?assets=btc,eth,sol","description":"Live trend signals for up to 10 assets in one call, flat price regardless of count. Pass ?assets=btc,eth,... from: btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil. Errors (before payment): 400 missing/unsupported/too many assets.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.02","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/signal-batch","exampleUrl":"https://x402-research-iota.vercel.app/api/signal-batch?assets=btc,eth,sol"},{"id":"riskSnapshot","enabled":true,"method":"GET","path":"/api/firm/risk-snapshot","example":"/api/firm/risk-snapshot?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Use before interacting with an unfamiliar Base (chain 8453) address: returns a public-data red-flag snapshot (contract vs EOA, EIP-7702 delegation, source verification, upgradeable proxy, age, activity, ETH/USDC balance, risk level). Pass ?address=0x... Errors: 400 invalid address. Informational only.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.03","amount":"30000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/firm/risk-snapshot","exampleUrl":"https://x402-research-iota.vercel.app/api/firm/risk-snapshot?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"id":"invoiceDecode","enabled":true,"method":"GET|POST","path":"/api/x402/invoice-decode","example":"/api/x402/invoice-decode?header=<base64 PAYMENT-REQUIRED>","description":"Use before paying any x402 invoice: decodes a base64 PAYMENT-REQUIRED header (query ?header= or JSON body {header}) and checks scheme exact, Base mainnet, Base USDC asset, payTo (EOA/contract/EIP-7702), human amount, timeout; returns verdict ok/warn/fail with reasons. Errors: 400 invalid header. Read-only; never signs or pays.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.02","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/x402/invoice-decode","exampleUrl":"https://x402-research-iota.vercel.app/api/x402/invoice-decode?header=<base64 PAYMENT-REQUIRED>"},{"id":"settlementStatus","enabled":true,"method":"GET","path":"/api/x402/settlement-status","example":"/api/x402/settlement-status?tx=0x6db0873a0a6de25a5792d465378251d7b3fe74b55761a1ac1b9f6489bb0509f3","description":"Check an x402 settlement on Base (chain 8453): tx exists/succeeded, USDC Transfer and AuthorizationUsed events (from, to, amount), confirmations. Pass ?tx=0x... Errors: 400 invalid tx hash. Read-only.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.02","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/x402/settlement-status","exampleUrl":"https://x402-research-iota.vercel.app/api/x402/settlement-status?tx=0x6db0873a0a6de25a5792d465378251d7b3fe74b55761a1ac1b9f6489bb0509f3"},{"id":"approvalEnumerate","enabled":true,"method":"GET","path":"/api/x402/approval-enumerate","example":"/api/x402/approval-enumerate?address=0xf9623fab6780984eacac443158c0309519451afa","description":"List live ERC-20 approvals for a Base (8453) address: token, spender, current allowance, unlimited flag. status ok (complete, approvals found) / none (complete, zero active) / unknown (data incomplete; reason given; never reported as none). Pass ?address=0x... Errors: 400 invalid address; 503 indexer/RPC unavailable (not charged). Read-only; never signs.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.03","amount":"30000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/x402/approval-enumerate","exampleUrl":"https://x402-research-iota.vercel.app/api/x402/approval-enumerate?address=0xf9623fab6780984eacac443158c0309519451afa"},{"id":"preflight","enabled":true,"method":"GET","path":"/api/x402/preflight","example":"/api/x402/preflight?address=0xf9623fab6780984eacac443158c0309519451afa","description":"One-call Base (8453) preflight: risk snapshot + live ERC-20 approvals + OFAC SDN screen + optional x402 invoice check (?invoice= JSON or base64). Returns risk, approvals, invoice, sanctions and summary {verdict proceed|review|stop, flags}. Free sample: /api/preflight/sample. 400 bad input; 503 not charged. Informational, not a guarantee.","accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.05","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xa26f179e42836bc4ae0cea997fdfc9602d5b8147","extra":{"name":"USD Coin","version":"2"}}],"url":"https://x402-research-iota.vercel.app/api/x402/preflight","exampleUrl":"https://x402-research-iota.vercel.app/api/x402/preflight?address=0xf9623fab6780984eacac443158c0309519451afa"}],"free":["/","/llms.txt","/.well-known/x402","/openapi.json","/api/sample/signal","/api/sample/brief","/api/sample/risk-snapshot","/api/sample/approval-enumerate","/api/sample/invoice-decode","/api/sample/settlement-status","/api/preflight/sample","/api/preflight/try","/api/health"],"freeRoutes":[{"path":"/api/sample/signal","example":"/api/sample/signal?asset=btc","description":"Free delayed (>=24h old, last closed daily candle) trend signal sample. Optional ?asset= (default btc).","url":"https://x402-research-iota.vercel.app/api/sample/signal","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/signal?asset=btc"},{"path":"/api/sample/brief","example":"/api/sample/brief","description":"Free, static, clearly labeled EXAMPLE of the paid /api/brief/{asset} response (illustrative figures, not live data).","url":"https://x402-research-iota.vercel.app/api/sample/brief","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/brief"},{"path":"/api/sample/risk-snapshot","example":"/api/sample/risk-snapshot","description":"Free, static, clearly labeled EXAMPLE of the paid /api/firm/risk-snapshot response (not live data).","url":"https://x402-research-iota.vercel.app/api/sample/risk-snapshot","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/risk-snapshot"},{"path":"/api/sample/approval-enumerate","example":"/api/sample/approval-enumerate","description":"Free, static, clearly labeled EXAMPLE of the paid /api/x402/approval-enumerate response (not live data).","url":"https://x402-research-iota.vercel.app/api/sample/approval-enumerate","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/approval-enumerate"},{"path":"/api/sample/invoice-decode","example":"/api/sample/invoice-decode","description":"Free, static, clearly labeled EXAMPLE of the paid /api/x402/invoice-decode response (not a live decode).","url":"https://x402-research-iota.vercel.app/api/sample/invoice-decode","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/invoice-decode"},{"path":"/api/sample/settlement-status","example":"/api/sample/settlement-status","description":"Free, static, clearly labeled EXAMPLE of the paid /api/x402/settlement-status response (not a live transaction).","url":"https://x402-research-iota.vercel.app/api/sample/settlement-status","exampleUrl":"https://x402-research-iota.vercel.app/api/sample/settlement-status"},{"path":"/api/preflight/sample","example":"/api/preflight/sample","description":"Free, static, clearly labeled EXAMPLE of the paid /api/x402/preflight response (not live data).","url":"https://x402-research-iota.vercel.app/api/preflight/sample","exampleUrl":"https://x402-research-iota.vercel.app/api/preflight/sample"},{"path":"/api/preflight/try","example":"/api/preflight/try?address=0xf9623fab6780984eacac443158c0309519451afa","description":"FREE trial of the live preflight bundle (risk + approvals + OFAC, no invoice). Limited to 3 per IP per UTC day, 50/day overall, 1 per 10s globally; repeat addresses served from a 1h cache (no quota); 429 when exhausted (use the paid /api/x402/preflight, 0.05 USDC). Responses carry trial:true.","url":"https://x402-research-iota.vercel.app/api/preflight/try","exampleUrl":"https://x402-research-iota.vercel.app/api/preflight/try?address=0xf9623fab6780984eacac443158c0309519451afa"},{"path":"/api/health","example":"/api/health","description":"Service status and prices","url":"https://x402-research-iota.vercel.app/api/health","exampleUrl":"https://x402-research-iota.vercel.app/api/health"}]}