{"openapi":"3.1.0","info":{"title":"Avasis Agent Platform","version":"0.1.0","description":"The 5 calls agents loop on, one exact x402 USDC payment each on Base (under the $1 default cap, no account): Solana token verdict $0.01, Solana complete rug-check kit $0.02, Base token watch $0.02, Base tx precheck $0.02, Web page reader $0.002. x402 Paid-API Starter Kit $49.00 (one-time zip: charge agents per call — production Express + @x402/express template; raise spendControls.maxAmountPerPayment above $1). Solana rug check + token risk score in one x402 call: $0.02 complete multi-source kit (verdict + holders + Jupiter + RugCheck + Dexscreener + consensus). Polymarket odds kit $0.02: event + books + history. Avasis is a research company building a platform made for agents: data an agent buys per call, x402 v1 + v2, USDC on Base, no account or API key. Headline calls: the $49.00 x402 Paid-API Starter Kit (zip: \"x402 starter kit\", \"paid API template\", \"charge agents per call\"; raise spendControls.maxAmountPerPayment above $1; free docs https://agents.avasis.ai/v1/base/x402-starter-kit/info), the $0.02 Solana rug check complete kit (is this token safe? token risk score from verdict + holders + Jupiter + RugCheck + Dexscreener + consensus in one payment; ax1 alternative), the $0.02 Polymarket odds complete kit (prediction market kit: event + books + history + every outcome with token ids + consistency checks in one payment), the $0.01 Solana token verdict (SAFE / WARN / DANGER from a deterministic on-chain rubric + share card + free receipt), the $0.002 web page reader (any public URL to clean markdown + metadata), $0.002 Polymarket markets (live odds, volume, liquidity). Other paid routes stay live and are listed in /.well-known/x402 and /pricing.md. Never charged on errors.","contact":{"email":"quantbase@mail.grokbot.com"},"termsOfService":"https://agents.avasis.ai/terms","x-guidance":"START HERE, the 5 calls agents loop on (one exact USDC payment each, under the $1 default client cap): 1) Solana token verdict $0.01: POST /v1/sol/token-verdict {\"tokenAddress\":\"<mint>\"} or GET /v1/sol/token-verdict/{mint} (keep letter case) -> SAFE / WARN / DANGER + evidenced flags + share card; free sample /v1/verdict/sample. 2) Solana complete rug-check kit $0.02: GET /v1/sol/complete-kit/{mint} -> verdict + top-20 holders + Dexscreener + Jupiter + RugCheck + consensus in one payment; free sample /v1/kit/sample. 3) Base token watch $0.02: GET /v1/quest/token-watch?token=0x.. (or POST {\"tokenAddress\":\"0x..\"}) every hour -> RED / AMBER / GREEN + 0-100 score + change vs the previous check; free docs /v1/quest/token-watch/info. 4) Base tx precheck $0.02: POST /v1/base/tx-precheck {\"from\",\"to\",\"data\",\"value\"} -> simulate the unsigned tx before you sign: SIGN / CAUTION / BLOCK, revert reason, approvals, USD cost. 5) Web page reader $0.002: GET /v1/web/read?url=<https url> -> clean markdown + metadata + content_sha256; failed pages never charged.\n\nAvasis agent platform. USDC on Base (eip155:8453) over x402 (v2 PAYMENT-SIGNATURE or v1 X-PAYMENT, scheme exact) to 0x6264191D6dD5427435B5E829077842e130Ef1fc8. No account, session or API key; the facilitator pays gas (EIP-3009), so the payer needs Base USDC only. Unpaid call -> free 402 quote; pay the exact quoted amount; repeat the same call. 4xx and 5xx are never settled (charged:false).\n\nMICROPAY pack (more live Base paths, $0.01-$0.10, settled by the Coinbase CDP facilitator; works with AX1 Console agents, AgentCash, @x402/fetch): GET /v1/base/fee-plan?gas_limit=&urgency= $0.02 (EIP-1559 fields to sign + USD cost); GET /v1/evm/gas-ops $0.05 (Base+ETH fee tiers + Solana tips); GET /v1/base/token-verdict?token=0x.. $0.02 (Base rug check); GET /v1/base/payment-verify?tx=0x.. $0.02 (did my x402 payment settle).\n\nPolymarket odds complete kit, $0.02: \"polymarket odds on X\", \"prediction market kit\". GET /v1/pm/complete-kit?q=<text> or ?event=<slug> returns event + books + history: every outcome + token ids, order books, 7d trend, checks, tradability. Free sample /v1/pm/kit/sample.\n\nPolymarket markets, $0.002: GET /v1/pm/markets?q=<text>&order=volume_24h|ending_soon&limit=10.\n\nVerdict: check 402 availability \"ready\" before signing; bad mint -> 400 before any challenge. 200: grade SAFE|WARN|DANGER (rubric /v1/verdict/rubric), one_liner, result{score, flags, disclaimer}, payment, recovery; sample /v1/verdict/sample. 202 = settlement pending: GET status_url (free, Retry-After) or re-send the identical signed request (charged_again:false). Settled at most once, only for a 2xx.\n\nBUILDER OFFERS (after the agent calls): x402 Paid-API Starter Kit, $49.00 one-time zip: \"x402 starter kit\", \"paid API template\", \"charge agents per call\". GET /v1/base/x402-starter-kit (free /info). Above the $1 default client cap: client.setSpendControls({ maxAmountPerPayment: \"$49\" }) before you sign. $999 retainer / $2,500 white-label: also_available on its /info.\n\nOther paid routes stay live but are not part of this guidance: see /pricing.md and /.well-known/x402. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter (products above $1).\n\nLimits per IP per minute: 30 paid, 1200 unpaid quotes on paid routes, 300 other unpaid (429, not charged); busy 503 with Retry-After. Not financial advice. Guide: /agents.md. Index: /llms.txt. With AgentCash: npx agentcash@latest add https://agents.avasis.ai"},"x-agentcash-guidance":{"llmsTxtUrl":"https://agents.avasis.ai/llms.txt"},"servers":[{"url":"https://agents.avasis.ai"}],"externalDocs":{"url":"https://agents.avasis.ai/docs"},"paths":{"/v1/tip/sol-slot":{"get":{"operationId":"tip_sol_slot","summary":"Returns the current Solana slot, confirmed block height and epoch position so agents can pace polling, stamp events or spot a stalled chain","description":"Solana chain-tip clock for agents that poll: processed slot, confirmed block height, epoch and slot index from one batched PublicNode call, refreshed every 1 s while anyone is polling. Long-poll with ?since=<seq>&wait=25. Prepaid meter price $0.0002/call (packs at /v1/meter); SSE at /v1/stream/tips.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"long-poll: the seq you already have; answers as soon as a newer value exists"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"long-poll: seconds to wait for a newer value (0..25); with a prepaid token an unchanged answer is free"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"},"seq":{"type":"integer"},"observedAt":{"type":"string"},"data":{"type":"object"}},"required":["topic","seq","data"]},"example":{"topic":"sol-slot","seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"changed":true,"data":{"slotProcessed":462900001,"blockHeightConfirmed":440920000,"epoch":1071,"slotIndex":230001,"slotsInEpoch":432000}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/tip/sol-priority-fee":{"get":{"operationId":"tip_sol_priority_fee","summary":"Returns Solana priority-fee percentiles (p25-p90, max) with low/medium/high suggestions so agents can set compute-unit prices that land","description":"Solana priority-fee tip for agents that build transactions: p25/p50/p75/p90/max and non-zero percentiles of getRecentPrioritizationFees over the last ~150 slots, plus low/medium/high/veryHigh micro-lamport suggestions, refreshed every 2 s. Long-poll with ?since=<seq>&wait=25. Prepaid meter price $0.0002/call (packs at /v1/meter); SSE at /v1/stream/tips.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"long-poll: the seq you already have; answers as soon as a newer value exists"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"long-poll: seconds to wait for a newer value (0..25); with a prepaid token an unchanged answer is free"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"},"seq":{"type":"integer"},"observedAt":{"type":"string"},"data":{"type":"object"}},"required":["topic","seq","data"]},"example":{"topic":"sol-priority-fee","seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"changed":true,"data":{"unit":"micro-lamports per compute unit","samples":150,"percentiles":{"p25":0,"p50":0,"p75":1000,"p90":50000,"max":2000000},"suggested":{"low":1000,"medium":10000,"high":50000,"veryHigh":200000}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/tip/sol-usd":{"get":{"operationId":"tip_sol_usd","summary":"Returns the current SOL/USD price from on-chain Pyth and Orca data (no exchange account or API key) for pricing, limits and alerts","description":"SOL/USD tip read from Solana state, no CEX or key: median of the Pyth SOL/USD push-feed account and Orca's two deepest SOL/USDC whirlpools (one getMultipleAccounts call), with spread in bps, refreshed every 2 s. Long-poll with ?since=<seq>&wait=25. Prepaid meter price $0.0002/call (packs at /v1/meter); SSE at /v1/stream/tips.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"long-poll: the seq you already have; answers as soon as a newer value exists"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"long-poll: seconds to wait for a newer value (0..25); with a prepaid token an unchanged answer is free"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"},"seq":{"type":"integer"},"observedAt":{"type":"string"},"data":{"type":"object"}},"required":["topic","seq","data"]},"example":{"topic":"sol-usd","seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"changed":true,"data":{"pair":"SOL/USD","price":100.08,"spreadBps":3.2,"sources":[{"source":"pyth","price":100.06,"ageSeconds":2,"fresh":true}]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/tip/base-gas":{"get":{"operationId":"tip_base_gas","summary":"Returns current Base gas prices (base fee, priority fee, suggested max fee, latest block) so bots can time L2 transactions and cap costs","description":"Base (chain 8453) gas tip for agents that send transactions: latest block number and age, base fee, eth_gasPrice, eth_maxPriorityFeePerGas and a suggested maxFeePerGas (2x base fee + priority), from one batched RPC call every 2 s. Long-poll with ?since=<seq>&wait=25. Prepaid meter price $0.0002/call (packs at /v1/meter); SSE at /v1/stream/tips.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"long-poll: the seq you already have; answers as soon as a newer value exists"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"long-poll: seconds to wait for a newer value (0..25); with a prepaid token an unchanged answer is free"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"},"seq":{"type":"integer"},"observedAt":{"type":"string"},"data":{"type":"object"}},"required":["topic","seq","data"]},"example":{"topic":"base-gas","seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"changed":true,"data":{"chain":"base","chainId":8453,"blockNumber":37400000,"blockAgeSeconds":1,"gwei":{"baseFee":0.0021,"gasPrice":0.0031,"maxPriorityFee":0.001,"suggestedMaxFee":0.0052}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/tip/eth-gas":{"get":{"operationId":"tip_eth_gas","summary":"Returns current Ethereum gas prices (base fee, priority fee, suggested max fee, latest block) so bots can time transactions and cap costs","description":"Ethereum mainnet gas tip for agents that send transactions: latest block number and age, base fee, eth_gasPrice, eth_maxPriorityFeePerGas and a suggested maxFeePerGas (2x base fee + priority), from one batched RPC call every 4 s. Long-poll with ?since=<seq>&wait=25. Prepaid meter price $0.0002/call (packs at /v1/meter); SSE at /v1/stream/tips.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"long-poll: the seq you already have; answers as soon as a newer value exists"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"long-poll: seconds to wait for a newer value (0..25); with a prepaid token an unchanged answer is free"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"},"seq":{"type":"integer"},"observedAt":{"type":"string"},"data":{"type":"object"}},"required":["topic","seq","data"]},"example":{"topic":"eth-gas","seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"changed":true,"data":{"chain":"ethereum","chainId":1,"blockNumber":23700000,"blockAgeSeconds":5,"gwei":{"baseFee":0.41,"gasPrice":1.41,"maxPriorityFee":1,"suggestedMaxFee":1.82}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/tip/all":{"get":{"operationId":"tip_all","summary":"Returns all five chain tips in one call (Solana slot, priority fees, SOL/USD, Base gas, Ethereum gas) for dashboards, bots and multi-chain agents","description":"One answer with every tip topic (Solana slot/height, Solana priority-fee percentiles, on-chain SOL/USD, Base gas and Ethereum gas), each with its seq, observedAt and age. Served from the shared hub: each topic refreshes on its own cadence (1-4 s) while anyone is polling. Prepaid meter price $0.0006/call.","tags":["tips"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"topics":{"type":"object"},"errors":{"type":"object"}},"required":["topics"]},"example":{"topics":{"base-gas":{"topic":"base-gas","seq":812,"ageMs":420,"data":{"chain":"base","chainId":8453,"blockNumber":37400000,"blockAgeSeconds":1,"gwei":{"baseFee":0.0021,"gasPrice":0.0031,"maxPriorityFee":0.001,"suggestedMaxFee":0.0052}}}},"errors":{}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/web/read":{"get":{"operationId":"webRead","summary":"Web page reader: any URL to clean markdown + metadata","description":"Read any public web page as clean, LLM-ready markdown in one call: main content (nav/ads/scripts stripped), title, description, author, published date, canonical, language, outgoing links, word count, approx tokens and a content_sha256 for change detection (pass since_sha256 to get changed:true|false). HTML, plain text, JSON and XML. Redirects followed (5 max), 2 MB cap, 8 s budget, 60 s cache. Page 4xx/5xx -> 424, non-text -> 415, private hosts -> 400: never charged. USDC on Base, no API key.","tags":["web"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Absolute public http(s) URL to read (max 2048 chars)"},"example":"https://en.wikipedia.org/wiki/HTTP_402"},{"name":"max_chars","in":"query","required":false,"schema":{"type":"string","description":"Max characters of content returned (500-100000, default 20000)"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"markdown (default) or text"}},{"name":"links","in":"query","required":false,"schema":{"type":"string","description":"1 (default) to include up to 100 outgoing links, 0 to omit"}},{"name":"since_sha256","in":"query","required":false,"schema":{"type":"string","description":"content_sha256 from a previous read: the answer adds changed:true|false (change detection)"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"title":{"type":["string","null"]},"content":{"type":"string"},"truncated":{"type":"boolean"},"word_count":{"type":"integer"},"approx_tokens":{"type":"integer"},"content_sha256":{"type":"string"},"links":{"type":"array"}},"required":["url","final_url","content","content_sha256"]},"example":{"url":"https://en.wikipedia.org/wiki/HTTP_402","final_url":"https://en.wikipedia.org/wiki/HTTP_402","http_status":200,"content_type":"text/html","redirects":0,"title":"HTTP 402 - Wikipedia","description":null,"site_name":null,"byline":null,"published":null,"modified":null,"lang":"en","canonical":"https://en.wikipedia.org/wiki/HTTP_402","image":null,"format":"markdown","content":"# HTTP 402\n\nHTTP 402 Payment Required is a client error status code reserved for future use ...","truncated":false,"total_chars":5210,"word_count":812,"approx_tokens":1303,"content_sha256":"9f2c…(64 hex)","links":[{"text":"x402","href":"https://en.wikipedia.org/wiki/X402"}],"links_total":57,"cached":false,"fetched_at":"2026-10-30T12:00:00.000Z","fetch_ms":310}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/pm/markets":{"get":{"operationId":"pmMarkets","summary":"Polymarket markets: live odds, volume, liquidity, search","description":"Find live Polymarket prediction markets in one call: search by text or rank by 24h volume, liquidity, ending soon or newest, with filters for min liquidity and resolving within N hours. Each market: question, event, URL, outcomes with implied probabilities and CLOB token ids, best bid/ask, spread, last trade, 1h/24h price change, 24h/1wk/total volume, liquidity, end date. Read-only, 20 s cache. Upstream error -> 502/504, never charged. USDC on Base, no API key.","tags":["markets"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Optional search text (2-100 chars), e.g. bitcoin, election, fed rate"},"example":"bitcoin"},{"name":"order","in":"query","required":false,"schema":{"type":"string","description":"Sort: volume_24h | liquidity | ending_soon | newest (default volume_24h)"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","description":"Markets returned, 1-50 (default 10)"}},{"name":"min_liquidity","in":"query","required":false,"schema":{"type":"string","description":"Only markets with at least this much liquidity (USD)"}},{"name":"ending_within_hours","in":"query","required":false,"schema":{"type":"string","description":"Only markets resolving within N hours"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object"},"count":{"type":"integer"},"matched":{"type":"integer"},"markets":{"type":"array"},"fetched_at":{"type":"string"}},"required":["count","markets"]},"example":{"query":{"q":"bitcoin","order":"volume_24h","limit":1,"min_liquidity":null,"ending_within_hours":null},"count":1,"matched":37,"markets":[{"id":"562803","slug":"will-bitcoin-hit-150k-in-2026","question":"Will Bitcoin hit $150k in 2026?","group_item":"$150k","event":{"id":"1112205","slug":"what-price-will-bitcoin-hit-in-2026","title":"What price will Bitcoin hit in 2026?"},"url":"https://polymarket.com/event/what-price-will-bitcoin-hit-in-2026","outcomes":[{"name":"Yes","price":0.065,"token_id":"6513…"},{"name":"No","price":0.935,"token_id":"1737…"}],"best_bid":0.06,"best_ask":0.07,"spread":0.01,"last_trade":0.065,"change_1h":0,"change_24h":-0.01,"volume_24h_usd":271053.8,"volume_1wk_usd":553773.6,"volume_total_usd":14088469.1,"liquidity_usd":533497.4,"start_date":"2025-07-11T19:50:45Z","end_date":"2026-12-31T23:59:00Z","accepting_orders":true,"neg_risk":true,"condition_id":"0x4e4f…"}],"source":"polymarket gamma api (public)","fetched_at":"2026-10-30T12:00:00.000Z","cached":false}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/token-verdict/{mint}":{"get":{"operationId":"solVerdict","summary":"Solana token verdict: SAFE / WARN / DANGER + share card + receipt","description":"Solana rug check: is this token safe? Get a token risk score (0-100) and a SAFE / WARN / DANGER verdict for any Solana mint or pump.fun coin. Deterministic on-chain rubric: mint + freeze authority, Token-2022 traps, top-10 holders excl. pools/curve/burn, largest wallet, pump.fun curve. Evidenced flags, provenance, market context, one-liner, page + PNG card. Receipt: operation_id + free status_url; replay the signed request to recover, never pay twice. Garbage -> 400 before any challenge.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"quip":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"market":{"type":"object"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_3q2Xb9mWZr8kq1yN0vD7aA","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1%. That's not a community, that's a landlord. https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png"},"market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/token-verdict/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/token-verdict":{"get":{"operationId":"solVerdictByQuery","summary":"Solana token verdict: SAFE / WARN / DANGER + share card + receipt","description":"Solana rug check: is this token safe? Get a token risk score (0-100) and a SAFE / WARN / DANGER verdict for any Solana mint or pump.fun coin. Deterministic on-chain rubric: mint + freeze authority, Token-2022 traps, top-10 holders excl. pools/curve/burn, largest wallet, pump.fun curve. Evidenced flags, provenance, market context, one-liner, page + PNG card. Receipt: operation_id + free status_url; replay the signed request to recover, never pay twice. Garbage -> 400 before any challenge.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"quip":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"market":{"type":"object"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_3q2Xb9mWZr8kq1yN0vD7aA","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1%. That's not a community, that's a landlord. https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png"},"market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/token-verdict/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"solVerdictPost","summary":"Solana token verdict: SAFE / WARN / DANGER + share card + receipt","description":"Solana rug check: is this token safe? Get a token risk score (0-100) and a SAFE / WARN / DANGER verdict for any Solana mint or pump.fun coin. Deterministic on-chain rubric: mint + freeze authority, Token-2022 traps, top-10 holders excl. pools/curve/burn, largest wallet, pump.fun curve. Evidenced flags, provenance, market context, one-liner, page + PNG card. Receipt: operation_id + free status_url; replay the signed request to recover, never pay twice. Garbage -> 400 before any challenge. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"quip":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"market":{"type":"object"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_3q2Xb9mWZr8kq1yN0vD7aA","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1%. That's not a community, that's a landlord. https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png"},"market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/token-verdict/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/sol/verdict-delta/{mint}":{"get":{"operationId":"solVerdictDelta","summary":"Solana token verdict delta: what changed since your last check ($0.01)","description":"Re-check a Solana mint and get only what moved since a prior paid verdict: grade transition (SAFE/WARN/DANGER, better/worse), risk-score delta, flags added/removed/changed, per-metric value + slot movement, one quotable summary, plus the fresh verdict. Priced as one verdict; the baseline is free. No prior verdict for the mint -> 409 buy_first before any challenge; never charged.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},{"name":"since","in":"query","required":false,"schema":{"type":"string","description":"optional baseline operation_id (vop_...) of a prior paid verdict for the same mint; default = the latest one"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"delta":{"type":"object"},"baseline_operation_id":{"type":"string"},"status_url":{"type":"string"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","delta","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_9dL3mQxZr8kq1yN0vD7aC","status":"completed","grade":"DANGER","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_9dL3mQxZr8kq1yN0vD7aC","page_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx","image_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.svg","result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"delta":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","changed":true,"summary":"COIN: WARN→DANGER (worse); risk 33→71 (+38); +1 flag (MINT_AUTHORITY_ACTIVE)","grade":{"from":"WARN","to":"DANGER","changed":true,"direction":"worse"},"score":{"from":33,"to":71,"delta":38},"flags":{"added":[{"code":"MINT_AUTHORITY_ACTIVE","severity":"critical","weight":38,"evidence":"mint authority set"}],"removed":[],"changed":[],"unchanged":2},"metrics":[]},"baseline_operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/verdict-delta/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/verdict-delta":{"get":{"operationId":"solVerdictDeltaByQuery","summary":"Solana token verdict delta: what changed since your last check ($0.01)","description":"Re-check a Solana mint and get only what moved since a prior paid verdict: grade transition (SAFE/WARN/DANGER, better/worse), risk-score delta, flags added/removed/changed, per-metric value + slot movement, one quotable summary, plus the fresh verdict. Priced as one verdict; the baseline is free. No prior verdict for the mint -> 409 buy_first before any challenge; never charged.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},{"name":"since","in":"query","required":false,"schema":{"type":"string","description":"optional baseline operation_id (vop_...) of a prior paid verdict for the same mint; default = the latest one"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"delta":{"type":"object"},"baseline_operation_id":{"type":"string"},"status_url":{"type":"string"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","delta","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_9dL3mQxZr8kq1yN0vD7aC","status":"completed","grade":"DANGER","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_9dL3mQxZr8kq1yN0vD7aC","page_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx","image_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.svg","result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"delta":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","changed":true,"summary":"COIN: WARN→DANGER (worse); risk 33→71 (+38); +1 flag (MINT_AUTHORITY_ACTIVE)","grade":{"from":"WARN","to":"DANGER","changed":true,"direction":"worse"},"score":{"from":33,"to":71,"delta":38},"flags":{"added":[{"code":"MINT_AUTHORITY_ACTIVE","severity":"critical","weight":38,"evidence":"mint authority set"}],"removed":[],"changed":[],"unchanged":2},"metrics":[]},"baseline_operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/verdict-delta/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"solVerdictDeltaPost","summary":"Solana token verdict delta: what changed since your last check ($0.01)","description":"Re-check a Solana mint and get only what moved since a prior paid verdict: grade transition (SAFE/WARN/DANGER, better/worse), risk-score delta, flags added/removed/changed, per-metric value + slot movement, one quotable summary, plus the fresh verdict. Priced as one verdict; the baseline is free. No prior verdict for the mint -> 409 buy_first before any challenge; never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"delta":{"type":"object"},"baseline_operation_id":{"type":"string"},"status_url":{"type":"string"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","delta","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_9dL3mQxZr8kq1yN0vD7aC","status":"completed","grade":"DANGER","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_9dL3mQxZr8kq1yN0vD7aC","page_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx","image_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aC9dL3mQx/card.svg","result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}},"delta":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","changed":true,"summary":"COIN: WARN→DANGER (worse); risk 33→71 (+38); +1 flag (MINT_AUTHORITY_ACTIVE)","grade":{"from":"WARN","to":"DANGER","changed":true,"direction":"worse"},"score":{"from":33,"to":71,"delta":38},"flags":{"added":[{"code":"MINT_AUTHORITY_ACTIVE","severity":"critical","weight":38,"evidence":"mint authority set"}],"removed":[],"changed":[],"unchanged":2},"metrics":[]},"baseline_operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","payment":{"status":"settling","method":"x402","amount_raw":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/verdict-delta/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"since":{"type":"string","description":"optional baseline operation_id (vop_...) of a prior paid verdict for the same mint; default = the latest one"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}}}}}},"/v1/sol/rug-lite/{mint}":{"get":{"operationId":"rugLite","summary":"Solana rug check lite: authorities, Token-2022 traps, top-10, curve","description":"Quick on-chain rug verdict for a Solana mint (RED/AMBER/GREEN + 0-100 risk score with weighted, evidenced flags): mint and freeze authority, Token-2022 risk extensions (permanent delegate, transfer hook, transfer fee, default-frozen, pausable, non-transferable), top-10 holder concentration with pump.fun curve / AMM pools / burn excluded, pump.fun curve status. Compact JSON for bots screening every new launch: 3 RPC reads, typically ~1 s, cached 45 s per mint. Not a mint -> 404, not charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"top10":{"type":"object"},"curve":{"type":"object"}},"required":["mint","verdict","flags","token","top10","curve"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"rug-lite","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"name":"Coin","symbol":"COIN","program":"spl-token","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"riskExtensions":[],"knownIssuer":null},"top10":{"method":"getTokenLargestAccounts","inclPoolsCurveBurnPct":59.7,"exclPoolsCurveBurnPct":54.1,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"curve":{"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwapPool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7"},"cache":{"hit":false,"ageMs":0,"ttlMs":45000},"budget":{"rpcCalls":3,"maxRpcCalls":10,"byHost":{"solana-rpc.publicnode.com":2,"public.rpc.solanavibestation.com":1},"cacheHits":1,"elapsedMs":980,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/rug-lite":{"get":{"operationId":"rugLiteByQuery","summary":"Solana rug check lite: authorities, Token-2022 traps, top-10, curve","description":"Quick on-chain rug verdict for a Solana mint (RED/AMBER/GREEN + 0-100 risk score with weighted, evidenced flags): mint and freeze authority, Token-2022 risk extensions (permanent delegate, transfer hook, transfer fee, default-frozen, pausable, non-transferable), top-10 holder concentration with pump.fun curve / AMM pools / burn excluded, pump.fun curve status. Compact JSON for bots screening every new launch: 3 RPC reads, typically ~1 s, cached 45 s per mint. Not a mint -> 404, not charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"top10":{"type":"object"},"curve":{"type":"object"}},"required":["mint","verdict","flags","token","top10","curve"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"rug-lite","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"name":"Coin","symbol":"COIN","program":"spl-token","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"riskExtensions":[],"knownIssuer":null},"top10":{"method":"getTokenLargestAccounts","inclPoolsCurveBurnPct":59.7,"exclPoolsCurveBurnPct":54.1,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"curve":{"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwapPool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7"},"cache":{"hit":false,"ageMs":0,"ttlMs":45000},"budget":{"rpcCalls":3,"maxRpcCalls":10,"byHost":{"solana-rpc.publicnode.com":2,"public.rpc.solanavibestation.com":1},"cacheHits":1,"elapsedMs":980,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"rugLitePost","summary":"Solana rug check lite: authorities, Token-2022 traps, top-10, curve","description":"Quick on-chain rug verdict for a Solana mint (RED/AMBER/GREEN + 0-100 risk score with weighted, evidenced flags): mint and freeze authority, Token-2022 risk extensions (permanent delegate, transfer hook, transfer fee, default-frozen, pausable, non-transferable), top-10 holder concentration with pump.fun curve / AMM pools / burn excluded, pump.fun curve status. Compact JSON for bots screening every new launch: 3 RPC reads, typically ~1 s, cached 45 s per mint. Not a mint -> 404, not charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"top10":{"type":"object"},"curve":{"type":"object"}},"required":["mint","verdict","flags","token","top10","curve"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"rug-lite","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"name":"Coin","symbol":"COIN","program":"spl-token","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"riskExtensions":[],"knownIssuer":null},"top10":{"method":"getTokenLargestAccounts","inclPoolsCurveBurnPct":59.7,"exclPoolsCurveBurnPct":54.1,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"curve":{"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwapPool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7"},"cache":{"hit":false,"ageMs":0,"ttlMs":45000},"budget":{"rpcCalls":3,"maxRpcCalls":10,"byHost":{"solana-rpc.publicnode.com":2,"public.rpc.solanavibestation.com":1},"cacheHits":1,"elapsedMs":980,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/base/fee-plan":{"get":{"operationId":"feePlan_base","summary":"Base fee plan ($0.02): maxFeePerGas + maxPriorityFeePerGas for YOUR gas_limit and urgency, USD cost, blocks to inclusion, send now or wait","description":"Base gas fee plan for ONE transaction ($0.02): give gas_limit (+ urgency low/normal/high/next_block, optional max_usd budget, calldata_bytes for the L1 fee) and get the EIP-1559 fields to sign (maxFeePerGas, maxPriorityFeePerGas, hex ready_to_sign), expected + max cost in ETH + USD, blocks to inclusion, the other tiers, and a send_now / downgrade / wait decision with its reason from the latest block's fill. Free live sample /v1/evm/fee-plan/sample. Upstream down 503, never charged.","tags":["gas"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"gas_limit","in":"query","required":false,"schema":{"type":"integer","minimum":21000,"maximum":30000000,"description":"gas units of YOUR transaction (default 21000 = ETH transfer; ~65000 ERC-20 transfer, ~46000 approve, ~180000 swap)"},"example":65000},{"name":"urgency","in":"query","required":false,"schema":{"type":"string","enum":["low","normal","high","next_block"],"description":"low = may wait a few blocks (slow tier), normal = next block or two (default, standard), high = busy blocks (fast), next_block = must land in the very next block (urgent)"},"example":"normal"},{"name":"max_usd","in":"query","required":false,"schema":{"type":"number","minimum":0.000001,"maximum":100000,"description":"optional USD gas budget for this transaction: the plan downgrades to the best tier that fits, or says wait when even the slow tier is above it"}},{"name":"calldata_bytes","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":131072,"description":"optional size of your unsigned transaction in bytes: prices the Base L1 data fee (charged on top of gas) from the GasPriceOracle and adds it to total_expected"},"example":200}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"kit":{"type":"string"},"chain":{"type":"string"},"chainId":{"type":"integer"},"headline":{"type":"string"},"inputs":{"type":"object"},"decision":{"type":"object"},"plan":{"type":"object"},"ready_to_sign":{"type":"object"},"alternatives":{"type":"array"},"market":{"type":"object"},"l1_data_fee":{"type":"object"},"eth_usd":{"type":"object"},"how_to_use":{"type":"array"},"sources":{"type":"array"}},"required":["kit","chain","chainId","headline","decision","plan","ready_to_sign","market","eth_usd"]},"example":{"kit":"evm-fee-plan-1","chain":"base","chainId":8453,"headline":"Base: standard tier (normal urgency) = maxFee 0.0052 gwei / tip 0.001 gwei, ~$0.00052 for 65000 gas, ~1-2 blocks · send now","inputs":{"gas_limit":65000,"urgency":"normal","max_usd":null,"calldata_bytes":200},"decision":{"action":"send_now","tier":"standard","requested_tier":"standard","reason":"standard tier for normal urgency: latest block 14.2% full vs 16.67% target, base fee falling (-0.0592% next block); expected $0.00052 for 65000 gas, typically 1-2 blocks (~2-4 s)"},"plan":{"tier":"standard","urgency":"normal","maxFeePerGas":{"gwei":0.0052},"maxPriorityFeePerGas":{"gwei":0.001},"cost":{"gas":65000,"expected":{"eth":2.015e-7,"usd":0.000519971},"max_authorized":{"eth":3.38e-7,"usd":0.000872209},"total_expected":{"eth":2.02305e-7,"usd":0.000522048}},"inclusion":{"blocks":[1,2],"seconds":[2,4]}},"ready_to_sign":{"type":"0x2","chainId":"0x2105","gas":"0xfde8","maxFeePerGas":"0x4f5880","maxPriorityFeePerGas":"0xf4240","tier":"standard"},"alternatives":[{"tier":"slow","urgency":"low","maxFeePerGas":{"gwei":0.002863},"expected":{"eth":1.69e-7,"usd":0.000436104},"blocks":[2,10]},{"tier":"fast","urgency":"high","maxFeePerGas":{"gwei":0.0057},"expected":{"eth":2.34e-7,"usd":0.000603837},"blocks":[1,1]},{"tier":"urgent","urgency":"next_block","maxFeePerGas":{"gwei":0.0083},"expected":{"eth":2.665e-7,"usd":0.000687703},"blocks":[1,1]}],"market":{"block":{"number":37400000,"timestamp":1761739199,"ageSeconds":1,"gasUsedPct":14.2},"base_fee":{"gwei":0.0021},"priority":{"gwei":0.001,"basis":"node eth_maxPriorityFeePerGas"},"next_block":{"label":"balanced","base_fee_direction":"falling","next_base_fee_estimate":{"gwei":0.002099},"change_pct":-0.0592},"observedAt":"2026-10-29T12:00:00.000Z"},"l1_data_fee":{"available":true,"applicable":true,"bytes":200,"eth":8.04958e-10,"usd":0.00000207719},"eth_usd":{"available":true,"price":2580.5,"source":"chainlink ETH/USD aggregator on Base (latestRoundData)"},"how_to_use":["Type-2 (EIP-1559) transaction: copy ready_to_sign.maxFeePerGas and maxPriorityFeePerGas (hex wei) into your transaction with your to / value / data / nonce; decision.action says send_now, downgrade (a cheaper tier fits max_usd) or wait (re-quote after recheck_in)."],"sources":["publicnode base rpc (via stream hub)","chainlink ETH/USD (Base feed)","Base GasPriceOracle (predeploy 0x42..0F)"],"computedAt":"2026-10-29T12:00:00.500Z","also_try":[{"what":"EVM gas ops kit: Ethereum gas + Base gas fee tiers (slow/standard/fast/urgent), EIP-1559 next base fee, USD cost per tx and for your gas_limit, Base-vs-Ethereum pick, plus Solana slot / priority fees / SOL-USD; one shot, $0.05","price_usd":"0.05","url":"https://agents.avasis.ai/v1/evm/gas-ops","free_sample":"https://agents.avasis.ai/v1/evm/gas-ops/sample"},{"what":"Base tx precheck: simulate YOUR unsigned transaction before you sign (would it revert + reason, gas in USD, every transfer, approval exposure, counterparty risk): SIGN / CAUTION / BLOCK","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/tx-precheck","free_sample":"https://agents.avasis.ai/v1/evm/tx-precheck/sample"}]}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/fee-plan":{"get":{"operationId":"feePlan_eth","summary":"Ethereum fee plan ($0.02): maxFeePerGas + maxPriorityFeePerGas for YOUR gas_limit and urgency, USD cost, blocks to inclusion, send now or wait","description":"Ethereum gas fee plan for ONE transaction ($0.02): give gas_limit (+ urgency low/normal/high/next_block, optional max_usd budget) and get the EIP-1559 fields to sign (maxFeePerGas, maxPriorityFeePerGas, hex ready_to_sign), expected + max cost in ETH + USD, blocks to inclusion, the other tiers, and a send_now / downgrade / wait decision with its reason from the latest block's fill. Free live sample /v1/evm/fee-plan/sample. Upstream down 503, never charged.","tags":["gas"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"gas_limit","in":"query","required":false,"schema":{"type":"integer","minimum":21000,"maximum":30000000,"description":"gas units of YOUR transaction (default 21000 = ETH transfer; ~65000 ERC-20 transfer, ~46000 approve, ~180000 swap)"},"example":65000},{"name":"urgency","in":"query","required":false,"schema":{"type":"string","enum":["low","normal","high","next_block"],"description":"low = may wait a few blocks (slow tier), normal = next block or two (default, standard), high = busy blocks (fast), next_block = must land in the very next block (urgent)"},"example":"normal"},{"name":"max_usd","in":"query","required":false,"schema":{"type":"number","minimum":0.000001,"maximum":100000,"description":"optional USD gas budget for this transaction: the plan downgrades to the best tier that fits, or says wait when even the slow tier is above it"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"kit":{"type":"string"},"chain":{"type":"string"},"chainId":{"type":"integer"},"headline":{"type":"string"},"inputs":{"type":"object"},"decision":{"type":"object"},"plan":{"type":"object"},"ready_to_sign":{"type":"object"},"alternatives":{"type":"array"},"market":{"type":"object"},"l1_data_fee":{"type":"object"},"eth_usd":{"type":"object"},"how_to_use":{"type":"array"},"sources":{"type":"array"}},"required":["kit","chain","chainId","headline","decision","plan","ready_to_sign","market","eth_usd"]},"example":{"kit":"evm-fee-plan-1","chain":"ethereum","chainId":1,"headline":"Ethereum: standard tier (normal urgency) = maxFee 1.82 gwei / tip 1 gwei, ~$0.237 for 65000 gas, ~1-2 blocks · send now","inputs":{"gas_limit":65000,"urgency":"normal","max_usd":null,"calldata_bytes":null},"decision":{"action":"send_now","tier":"standard","requested_tier":"standard","reason":"standard tier for normal urgency: latest block 46.3% full vs 50% target, base fee falling (-0.925% next block); expected $0.237 for 65000 gas, typically 1-2 blocks (~12-24 s)"},"plan":{"tier":"standard","urgency":"normal","maxFeePerGas":{"gwei":1.82},"maxPriorityFeePerGas":{"gwei":1},"cost":{"gas":65000,"expected":{"eth":0.00009165,"usd":0.236503},"max_authorized":{"eth":0.0001183,"usd":0.305273}},"inclusion":{"blocks":[1,2],"seconds":[12,24]}},"ready_to_sign":{"type":"0x2","chainId":"0x1","gas":"0xfde8","maxFeePerGas":"0x6c7aff00","maxPriorityFeePerGas":"0x3b9aca00","tier":"standard"},"alternatives":[{"tier":"slow","urgency":"low","maxFeePerGas":{"gwei":0.96125},"expected":{"eth":0.00005915,"usd":0.152637},"blocks":[2,10]},{"tier":"fast","urgency":"high","maxFeePerGas":{"gwei":2.32},"expected":{"eth":0.00012415,"usd":0.320369},"blocks":[1,1]},{"tier":"urgent","urgency":"next_block","maxFeePerGas":{"gwei":3.23},"expected":{"eth":0.00015665,"usd":0.404235},"blocks":[1,1]}],"market":{"block":{"number":23700000,"timestamp":1761739195,"ageSeconds":5,"gasUsedPct":46.3},"base_fee":{"gwei":0.41},"priority":{"gwei":1,"basis":"node eth_maxPriorityFeePerGas"},"next_block":{"label":"balanced","base_fee_direction":"falling","next_base_fee_estimate":{"gwei":0.406208},"change_pct":-0.925},"observedAt":"2026-10-29T12:00:00.000Z"},"l1_data_fee":{"available":false,"applicable":false},"eth_usd":{"available":true,"price":2580.5,"source":"chainlink ETH/USD aggregator on Base (latestRoundData)"},"how_to_use":["Type-2 (EIP-1559) transaction: copy ready_to_sign.maxFeePerGas and maxPriorityFeePerGas (hex wei) into your transaction with your to / value / data / nonce; decision.action says send_now, downgrade (a cheaper tier fits max_usd) or wait (re-quote after recheck_in)."],"sources":["publicnode ethereum rpc (via stream hub)","chainlink ETH/USD (Base feed)"],"computedAt":"2026-10-29T12:00:00.500Z","also_try":[{"what":"EVM gas ops kit: Ethereum gas + Base gas fee tiers (slow/standard/fast/urgent), EIP-1559 next base fee, USD cost per tx and for your gas_limit, Base-vs-Ethereum pick, plus Solana slot / priority fees / SOL-USD; one shot, $0.05","price_usd":"0.05","url":"https://agents.avasis.ai/v1/evm/gas-ops","free_sample":"https://agents.avasis.ai/v1/evm/gas-ops/sample"},{"what":"Ethereum tx precheck: simulate YOUR unsigned transaction before you sign (would it revert + reason, gas in USD, every transfer, approval exposure, counterparty risk): SIGN / CAUTION / BLOCK","price_usd":"0.02","url":"https://agents.avasis.ai/v1/eth/tx-precheck","free_sample":"https://agents.avasis.ai/v1/evm/tx-precheck/sample"}]}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/token-verdict":{"get":{"operationId":"evmVerdict_base","summary":"Base token quick verdict: owner powers, proxy, liquidity","description":"Fast on-chain rug/risk verdict for any ERC-20 on Base (chain 8453) in 2 batched RPC calls (~0.3 s, cached 45 s): RED/AMBER/GREEN + 0-100 score with weighted, evidenced flags. Checks EIP-1967 and legacy upgradeable proxies (implementation + admin), owner() and renouncement, admin capabilities in the bytecode (mint, pause, blacklist, tax/limit setters, trading switch, UUPS upgrade), the owner's share of supply, burned share, and DEX liquidity against WETH/USDC (Uniswap v3 + Aerodrome) priced by Chainlink ETH/USD. EOA / not an ERC-20 -> 404, not charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 token contract address on Base (0x + 40 hex)"},"example":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"erc20":{"type":"object"},"contract":{"type":"object"},"ownership":{"type":"object"},"liquidity":{"type":"object"}},"required":["chain","token","verdict","flags"]},"example":{"chain":"base","chainId":8453,"token":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","aerodrome"]},"knownIssuer":null,"budget":{"rpcRequests":2,"calls":42,"elapsedMs":250}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"evmVerdict_basePost","summary":"Base token quick verdict: owner powers, proxy, liquidity","description":"Fast on-chain rug/risk verdict for any ERC-20 on Base (chain 8453) in 2 batched RPC calls (~0.3 s, cached 45 s): RED/AMBER/GREEN + 0-100 score with weighted, evidenced flags. Checks EIP-1967 and legacy upgradeable proxies (implementation + admin), owner() and renouncement, admin capabilities in the bytecode (mint, pause, blacklist, tax/limit setters, trading switch, UUPS upgrade), the owner's share of supply, burned share, and DEX liquidity against WETH/USDC (Uniswap v3 + Aerodrome) priced by Chainlink ETH/USD. EOA / not an ERC-20 -> 404, not charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"erc20":{"type":"object"},"contract":{"type":"object"},"ownership":{"type":"object"},"liquidity":{"type":"object"}},"required":["chain","token","verdict","flags"]},"example":{"chain":"base","chainId":8453,"token":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","aerodrome"]},"knownIssuer":null,"budget":{"rpcRequests":2,"calls":42,"elapsedMs":250}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"ERC-20 contract address (0x + 40 hex)"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}}}}}},"/v1/eth/token-verdict":{"get":{"operationId":"evmVerdict_eth","summary":"Ethereum token quick verdict: owner powers, proxy, liquidity","description":"Fast on-chain rug/risk verdict for any ERC-20 on Ethereum (chain 1) in 2 batched RPC calls (~0.3 s, cached 45 s): RED/AMBER/GREEN + 0-100 score with weighted, evidenced flags. Checks EIP-1967 and legacy upgradeable proxies (implementation + admin), owner() and renouncement, admin capabilities in the bytecode (mint, pause, blacklist, tax/limit setters, trading switch, UUPS upgrade), the owner's share of supply, burned share, and DEX liquidity against WETH/USDC (Uniswap v3 + v2) priced by Chainlink ETH/USD. EOA / not an ERC-20 -> 404, not charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 token contract address on Ethereum (0x + 40 hex)"},"example":"0x6982508145454Ce325dDbE47a25d4ec3d2311933"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"erc20":{"type":"object"},"contract":{"type":"object"},"ownership":{"type":"object"},"liquidity":{"type":"object"}},"required":["chain","token","verdict","flags"]},"example":{"chain":"eth","chainId":1,"token":"0x6982508145454Ce325dDbE47a25d4ec3d2311933","verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","uniswap-v2"]},"knownIssuer":null,"budget":{"rpcRequests":2,"calls":42,"elapsedMs":250}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"evmVerdict_ethPost","summary":"Ethereum token quick verdict: owner powers, proxy, liquidity","description":"Fast on-chain rug/risk verdict for any ERC-20 on Ethereum (chain 1) in 2 batched RPC calls (~0.3 s, cached 45 s): RED/AMBER/GREEN + 0-100 score with weighted, evidenced flags. Checks EIP-1967 and legacy upgradeable proxies (implementation + admin), owner() and renouncement, admin capabilities in the bytecode (mint, pause, blacklist, tax/limit setters, trading switch, UUPS upgrade), the owner's share of supply, burned share, and DEX liquidity against WETH/USDC (Uniswap v3 + v2) priced by Chainlink ETH/USD. EOA / not an ERC-20 -> 404, not charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"token":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"erc20":{"type":"object"},"contract":{"type":"object"},"ownership":{"type":"object"},"liquidity":{"type":"object"}},"required":["chain","token","verdict","flags"]},"example":{"chain":"eth","chainId":1,"token":"0x6982508145454Ce325dDbE47a25d4ec3d2311933","verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","uniswap-v2"]},"knownIssuer":null,"budget":{"rpcRequests":2,"calls":42,"elapsedMs":250}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"ERC-20 contract address (0x + 40 hex)"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"0x6982508145454Ce325dDbE47a25d4ec3d2311933"}}}}}},"/v1/quest/token-watch":{"get":{"operationId":"questTokenWatch","summary":"Base token watch quest ($0.02): hourly ERC-20 risk check with change detection","description":"Hourly token watch for any ERC-20 on Base ($0.02/check): RED/AMBER/GREEN + 0-100 score with evidenced flags (owner powers, proxy, mint/pause/blacklist, DEX liquidity) plus changed {vs_previous_check, new_flags, cleared_flags} and next_check_at. GET ?token=0x.. or POST {\"tokenAddress\":\"0x..\"}. Free docs /v1/quest/token-watch/info. Not an ERC-20 -> 404, RPC down -> 502/503: never charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 token contract address on Base (0x + 40 hex)"},"example":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"quest":{"type":"string"},"chain":{"type":"string"},"token":{"type":"string"},"checked_at":{"type":"string"},"level":{"type":"string"},"score":{"type":"number"},"changed":{"type":"object"},"next_check_at":{"type":"string"},"flags":{"type":"array"},"verdict":{"type":"object"}},"required":["quest","token","level","score","changed","next_check_at"]},"example":{"quest":"token-watch","chain":"base","chain_id":8453,"token":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","checked_at":"2026-11-05T01:00:00.000Z","level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE","changed":{"vs_previous_check":true,"previous_level":"GREEN","previous_score":0,"previous_checked_at":"2026-11-05T00:00:00.000Z","new_flags":["CAP_PAUSE"],"cleared_flags":[]},"next_check_at":"2026-11-05T02:00:00.000Z","watch":{"interval_s":3600,"how":"call again every hour (cron or agent loop); each call is one $0.02 x402 payment, or $0.015 with a prepaid meter token (/v1/meter/pack-5); change detection is built in"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","aerodrome"]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"questTokenWatchPost","summary":"Base token watch quest ($0.02): hourly ERC-20 risk check with change detection","description":"Hourly token watch for any ERC-20 on Base ($0.02/check): RED/AMBER/GREEN + 0-100 score with evidenced flags (owner powers, proxy, mint/pause/blacklist, DEX liquidity) plus changed {vs_previous_check, new_flags, cleared_flags} and next_check_at. GET ?token=0x.. or POST {\"tokenAddress\":\"0x..\"}. Free docs /v1/quest/token-watch/info. Not an ERC-20 -> 404, RPC down -> 502/503: never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"quest":{"type":"string"},"chain":{"type":"string"},"token":{"type":"string"},"checked_at":{"type":"string"},"level":{"type":"string"},"score":{"type":"number"},"changed":{"type":"object"},"next_check_at":{"type":"string"},"flags":{"type":"array"},"verdict":{"type":"object"}},"required":["quest","token","level","score","changed","next_check_at"]},"example":{"quest":"token-watch","chain":"base","chain_id":8453,"token":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","checked_at":"2026-11-05T01:00:00.000Z","level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE","changed":{"vs_previous_check":true,"previous_level":"GREEN","previous_score":0,"previous_checked_at":"2026-11-05T00:00:00.000Z","new_flags":["CAP_PAUSE"],"cleared_flags":[]},"next_check_at":"2026-11-05T02:00:00.000Z","watch":{"interval_s":3600,"how":"call again every hour (cron or agent loop); each call is one $0.02 x402 payment, or $0.015 with a prepaid meter token (/v1/meter/pack-5); change detection is built in"},"flags":[{"id":"CAP_PAUSE","weight":20,"severity":"warn","evidence":"transfers can be paused: bytecode dispatches pause(); owner active"}],"verdict":{"level":"AMBER","score":20,"summary":"AMBER: CAP_PAUSE"},"erc20":{"name":"Degen","symbol":"DEGEN","decimals":18,"totalSupply":{"raw":"36965636737000000000000000000","ui":"36965636737"},"burnedPctOfSupply":0.01},"ownership":{"owner":"0x9c5ddc2b8d3b0e1e1a3e4f5a6b7c8d9e0f1a2b3c","state":"active","ownerBalancePctOfSupply":0},"contract":{"codeBytes":7400,"proxy":null,"capabilitiesFound":["PAUSE"],"scanned":"token bytecode"},"liquidity":{"pools":[{"dex":"uniswap-v3","pair":"WETH","feeBps":30,"pool":"0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa","quoteBalance":"70.1","tokenBalancePctOfSupply":0.4,"quoteSideUsd":180000}],"quoteSideUsd":242611,"approxTvlUsd":485222,"ethUsd":2580.5,"dexesChecked":["uniswap-v3","aerodrome"]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"ERC-20 contract address (0x + 40 hex)"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}}}}}},"/v1/base/tx-precheck":{"get":{"operationId":"txPrecheck_base","summary":"Base tx precheck ($0.02): simulate an unsigned transaction before signing: revert, gas USD, transfers, wallet PnL, approval risk, counterparty risk, SIGN / CAUTION / BLOCK","description":"Pre-sign tx precheck for Base (chain 8453, $0.02): simulate transaction {from,to,data,value} with eth_simulateV1 before signing. Returns would_revert + reason, gas USD, each ETH/ERC-20/NFT transfer with USD, wallet PnL (net_for_from usd_net), approval risk (spender, unlimited:true, USD exposure), counterparty risk (GoPlus + OFAC), decoded method, SIGN/CAUTION/BLOCK verdict with reasons. POST JSON or GET. Free live sample /v1/evm/tx-precheck/sample. Advice only; RPC down 502, never charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"the signer's wallet (0x + 40 hex): the account that would sign; its ETH balance, allowances granted and net position are checked"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the transaction's to (contract or recipient, 0x + 40 hex)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"data","in":"query","required":false,"schema":{"type":"string","description":"calldata as 0x hex (omit or 0x for a plain ETH transfer); max 6 KB"},"example":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"value","in":"query","required":false,"schema":{"type":"string","description":"ETH value in wei as a decimal or 0x hex integer string (default 0)"},"example":"0"},{"name":"gas","in":"query","required":false,"schema":{"type":"integer","minimum":21000,"maximum":30000000,"description":"optional gas limit for the cost columns (default: the simulation's gas_used)"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK: the pre-sign check (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"precheck":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx":{"type":"object"},"verdict":{"type":"object"},"decoded":{"type":"object"},"sim":{"type":"object"},"signer":{"type":"object"},"transfers":{"type":"array"},"net_for_from":{"type":"object"},"approvals":{"type":"array"},"risk":{"type":"object"},"also_available":{"type":"object"},"disclaimer":{"type":"string"}},"required":["chain","verdict","decoded","sim","transfers","net_for_from","approvals","risk"]},"example":{"precheck":"evm-tx-precheck-1","chain":"base","chain_id":8453,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","data_bytes":68,"value_wei":"0","value_eth":"0","gas_limit":null},"verdict":{"level":"CAUTION","action":"sign only after reviewing the reasons","reasons":["UNLIMITED_APPROVAL: Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"],"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"decoded":{"selector":"0x095ea7b3","method":"approve","kind":"approve","signature":"approve(address,uint256)","args":{"spender_or_to":"0x2626664c2603336e57b271c5c0b26f421741e481","amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"to_known":"USDC (Circle)","one_liner":"approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"sim":{"would_revert":false,"revert_reason":null,"status":"0x1","gas_used":55785,"gas_limit_used_for_cost":55785,"return_data":"0x0000000000000000000000000000000000000000000000000000000000000001","gas_price":{"base_fee_wei":"5000000","priority_wei":"1000000","effective_wei":"6000000","max_fee_wei":"11000000","basis":"effective = base fee + priority (standard tier); max = 2 x base fee + priority"},"gas_cost_eth":"0.00000033471","l1_data_fee_eth":"0.000000000488126494","gas_usd":0.000865,"gas_usd_max":0.001585,"eth_usd":2580.5,"eth_usd_source":"chainlink ETH/USD (latestRoundData)","chain_id":8453,"block_tag":"latest","block_number":53394126,"block_timestamp":1793180287,"rpc":"base-rpc.publicnode.com","method":"eth_simulateV1 (traceTransfers, validation off; funds checked separately)"},"signer":{"address":"0xf977814e90da44bfa03b6295a0616a897441acec","balance_eth":"2.5","nonce":1200,"funds_ok":true,"needs_eth_max":"0.000000614123126494"},"transfers":[],"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"335198126494","gas_cost_eth":"0.000000335198126494","gas_cost_usd":0.000865,"eth_delta_after_gas":"-0.000000335198126494","tokens":[],"usd_net":-0.000865,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"approvals":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","token_known":"USDC (Circle)","owner":"0xf977814e90da44bfa03b6295a0616a897441acec","by_signer":true,"spender":"0x2626664c2603336e57b271c5c0b26f421741e481","spender_known":"Uniswap SwapRouter02","spender_is_contract":true,"nft":false,"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"unlimited","unlimited":true,"covers_full_balance":true,"signer_balance":"1234.56","usd_exposure":1234.56,"exposure_basis":"your whole current balance of this token (allowance covers it)"}],"risk":{"counterparties":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","role":"to","known":"USDC (Circle)","is_contract":false,"ofac":false,"goplus":{"available":true,"block":[],"warn":[]}}],"ofac":{"available":true,"hits":[]},"goplus":{"source":"GoPlus address_security (keyless)","screened":2,"unavailable":0},"flags":[{"code":"UNLIMITED_APPROVAL","level":"CAUTION","label":"an unlimited allowance: the spender can move your whole balance of that token at any later time","evidence":"Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"}]},"disclaimer":"advice only; see the paid body","also_available":{"ladder":"$0.02 Base tx precheck (this call) -> $0.02 Base tx-receipt https://agents.avasis.ai/v1/base/tx-receipt (after you send) -> $0.02 Base erc20-allowance https://agents.avasis.ai/v1/base/erc20-allowance | $0.02 Base multi-balance https://agents.avasis.ai/v1/base/multi-balance; free samples https://agents.avasis.ai/v1/evm/{tx-precheck,tx-receipt,erc20-allowance,multi-balance}/sample","items":[{"what":"Base tx receipt + status: after you send, wait for the receipt (up to 30 s), decoded transfers, fee in USD, revert reason, or a pending/stuck diagnosis","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/tx-receipt","free_sample":"https://agents.avasis.ai/v1/evm/tx-receipt/sample"},{"what":"Base ERC-20 allowance check: is the spender approved, for how much, does the owner hold it; ready approve / revoke calldata","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/erc20-allowance","free_sample":"https://agents.avasis.ai/v1/evm/erc20-allowance/sample"}],"how":"same x402 flow as this quote (USDC on Base, no account or API key); an unpaid GET on any url is a free quote; free samples at /v1/evm/<sku>/sample"}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txPrecheck_basePost","summary":"Base tx precheck ($0.02): simulate an unsigned transaction before signing: revert, gas USD, transfers, wallet PnL, approval risk, counterparty risk, SIGN / CAUTION / BLOCK","description":"Pre-sign tx precheck for Base (chain 8453, $0.02): simulate transaction {from,to,data,value} with eth_simulateV1 before signing. Returns would_revert + reason, gas USD, each ETH/ERC-20/NFT transfer with USD, wallet PnL (net_for_from usd_net), approval risk (spender, unlimited:true, USD exposure), counterparty risk (GoPlus + OFAC), decoded method, SIGN/CAUTION/BLOCK verdict with reasons. POST JSON or GET. Free live sample /v1/evm/tx-precheck/sample. Advice only; RPC down 502, never charged. POST form: JSON body {chain, from, to, data, value, gas?}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","description":"the signer's wallet (0x + 40 hex): the account that would sign; its ETH balance, allowances granted and net position are checked"},"to":{"type":"string","description":"the transaction's to (contract or recipient, 0x + 40 hex)"},"data":{"type":"string","description":"calldata as 0x hex (omit or 0x for a plain ETH transfer); max 6 KB"},"value":{"type":"string","description":"ETH value in wei as a decimal or 0x hex integer string (default 0)"},"gas":{"type":"integer","minimum":21000,"maximum":30000000,"description":"optional gas limit for the cost columns (default: the simulation's gas_used)"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["from","to"]},"example":{"chain":"base","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"0"}}}},"responses":{"200":{"description":"OK: the pre-sign check (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"precheck":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx":{"type":"object"},"verdict":{"type":"object"},"decoded":{"type":"object"},"sim":{"type":"object"},"signer":{"type":"object"},"transfers":{"type":"array"},"net_for_from":{"type":"object"},"approvals":{"type":"array"},"risk":{"type":"object"},"also_available":{"type":"object"},"disclaimer":{"type":"string"}},"required":["chain","verdict","decoded","sim","transfers","net_for_from","approvals","risk"]},"example":{"precheck":"evm-tx-precheck-1","chain":"base","chain_id":8453,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","data_bytes":68,"value_wei":"0","value_eth":"0","gas_limit":null},"verdict":{"level":"CAUTION","action":"sign only after reviewing the reasons","reasons":["UNLIMITED_APPROVAL: Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"],"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"decoded":{"selector":"0x095ea7b3","method":"approve","kind":"approve","signature":"approve(address,uint256)","args":{"spender_or_to":"0x2626664c2603336e57b271c5c0b26f421741e481","amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"to_known":"USDC (Circle)","one_liner":"approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"sim":{"would_revert":false,"revert_reason":null,"status":"0x1","gas_used":55785,"gas_limit_used_for_cost":55785,"return_data":"0x0000000000000000000000000000000000000000000000000000000000000001","gas_price":{"base_fee_wei":"5000000","priority_wei":"1000000","effective_wei":"6000000","max_fee_wei":"11000000","basis":"effective = base fee + priority (standard tier); max = 2 x base fee + priority"},"gas_cost_eth":"0.00000033471","l1_data_fee_eth":"0.000000000488126494","gas_usd":0.000865,"gas_usd_max":0.001585,"eth_usd":2580.5,"eth_usd_source":"chainlink ETH/USD (latestRoundData)","chain_id":8453,"block_tag":"latest","block_number":53394126,"block_timestamp":1793180287,"rpc":"base-rpc.publicnode.com","method":"eth_simulateV1 (traceTransfers, validation off; funds checked separately)"},"signer":{"address":"0xf977814e90da44bfa03b6295a0616a897441acec","balance_eth":"2.5","nonce":1200,"funds_ok":true,"needs_eth_max":"0.000000614123126494"},"transfers":[],"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"335198126494","gas_cost_eth":"0.000000335198126494","gas_cost_usd":0.000865,"eth_delta_after_gas":"-0.000000335198126494","tokens":[],"usd_net":-0.000865,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"approvals":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","token_known":"USDC (Circle)","owner":"0xf977814e90da44bfa03b6295a0616a897441acec","by_signer":true,"spender":"0x2626664c2603336e57b271c5c0b26f421741e481","spender_known":"Uniswap SwapRouter02","spender_is_contract":true,"nft":false,"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"unlimited","unlimited":true,"covers_full_balance":true,"signer_balance":"1234.56","usd_exposure":1234.56,"exposure_basis":"your whole current balance of this token (allowance covers it)"}],"risk":{"counterparties":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","role":"to","known":"USDC (Circle)","is_contract":false,"ofac":false,"goplus":{"available":true,"block":[],"warn":[]}}],"ofac":{"available":true,"hits":[]},"goplus":{"source":"GoPlus address_security (keyless)","screened":2,"unavailable":0},"flags":[{"code":"UNLIMITED_APPROVAL","level":"CAUTION","label":"an unlimited allowance: the spender can move your whole balance of that token at any later time","evidence":"Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"}]},"disclaimer":"advice only; see the paid body","also_available":{"ladder":"$0.02 Base tx precheck (this call) -> $0.02 Base tx-receipt https://agents.avasis.ai/v1/base/tx-receipt (after you send) -> $0.02 Base erc20-allowance https://agents.avasis.ai/v1/base/erc20-allowance | $0.02 Base multi-balance https://agents.avasis.ai/v1/base/multi-balance; free samples https://agents.avasis.ai/v1/evm/{tx-precheck,tx-receipt,erc20-allowance,multi-balance}/sample","items":[{"what":"Base tx receipt + status: after you send, wait for the receipt (up to 30 s), decoded transfers, fee in USD, revert reason, or a pending/stuck diagnosis","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/tx-receipt","free_sample":"https://agents.avasis.ai/v1/evm/tx-receipt/sample"},{"what":"Base ERC-20 allowance check: is the spender approved, for how much, does the owner hold it; ready approve / revoke calldata","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/erc20-allowance","free_sample":"https://agents.avasis.ai/v1/evm/erc20-allowance/sample"}],"how":"same x402 flow as this quote (USDC on Base, no account or API key); an unpaid GET on any url is a free quote; free samples at /v1/evm/<sku>/sample"}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/tx-precheck":{"get":{"operationId":"txPrecheck_eth","summary":"Ethereum tx precheck ($0.02): simulate an unsigned transaction before signing: revert, gas USD, transfers, wallet PnL, approval risk, counterparty risk, SIGN / CAUTION / BLOCK","description":"Pre-sign tx precheck for Ethereum (chain 1, $0.02): simulate transaction {from,to,data,value} with eth_simulateV1 before signing. Returns would_revert + reason, gas USD, each ETH/ERC-20/NFT transfer with USD, wallet PnL (net_for_from usd_net), approval risk (spender, unlimited:true, USD exposure), counterparty risk (GoPlus + OFAC), decoded method, SIGN/CAUTION/BLOCK verdict with reasons. POST JSON or GET. Free live sample /v1/evm/tx-precheck/sample. Advice only; RPC down 502, never charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"the signer's wallet (0x + 40 hex): the account that would sign; its ETH balance, allowances granted and net position are checked"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the transaction's to (contract or recipient, 0x + 40 hex)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"data","in":"query","required":false,"schema":{"type":"string","description":"calldata as 0x hex (omit or 0x for a plain ETH transfer); max 6 KB"},"example":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"value","in":"query","required":false,"schema":{"type":"string","description":"ETH value in wei as a decimal or 0x hex integer string (default 0)"},"example":"0"},{"name":"gas","in":"query","required":false,"schema":{"type":"integer","minimum":21000,"maximum":30000000,"description":"optional gas limit for the cost columns (default: the simulation's gas_used)"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK: the pre-sign check (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"precheck":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx":{"type":"object"},"verdict":{"type":"object"},"decoded":{"type":"object"},"sim":{"type":"object"},"signer":{"type":"object"},"transfers":{"type":"array"},"net_for_from":{"type":"object"},"approvals":{"type":"array"},"risk":{"type":"object"},"also_available":{"type":"object"},"disclaimer":{"type":"string"}},"required":["chain","verdict","decoded","sim","transfers","net_for_from","approvals","risk"]},"example":{"precheck":"evm-tx-precheck-1","chain":"ethereum","chain_id":1,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","data_bytes":68,"value_wei":"0","value_eth":"0","gas_limit":null},"verdict":{"level":"CAUTION","action":"sign only after reviewing the reasons","reasons":["UNLIMITED_APPROVAL: Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"],"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"decoded":{"selector":"0x095ea7b3","method":"approve","kind":"approve","signature":"approve(address,uint256)","args":{"spender_or_to":"0x2626664c2603336e57b271c5c0b26f421741e481","amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"to_known":"USDC (Circle)","one_liner":"approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"sim":{"would_revert":false,"revert_reason":null,"status":"0x1","gas_used":55785,"gas_limit_used_for_cost":55785,"return_data":"0x0000000000000000000000000000000000000000000000000000000000000001","gas_price":{"base_fee_wei":"5000000","priority_wei":"1000000","effective_wei":"6000000","max_fee_wei":"11000000","basis":"effective = base fee + priority (standard tier); max = 2 x base fee + priority"},"gas_cost_eth":"0.00000033471","l1_data_fee_eth":"0.000000000488126494","gas_usd":0.000865,"gas_usd_max":0.001585,"eth_usd":2580.5,"eth_usd_source":"chainlink ETH/USD (latestRoundData)","chain_id":8453,"block_tag":"latest","block_number":53394126,"block_timestamp":1793180287,"rpc":"base-rpc.publicnode.com","method":"eth_simulateV1 (traceTransfers, validation off; funds checked separately)"},"signer":{"address":"0xf977814e90da44bfa03b6295a0616a897441acec","balance_eth":"2.5","nonce":1200,"funds_ok":true,"needs_eth_max":"0.000000614123126494"},"transfers":[],"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"335198126494","gas_cost_eth":"0.000000335198126494","gas_cost_usd":0.000865,"eth_delta_after_gas":"-0.000000335198126494","tokens":[],"usd_net":-0.000865,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"approvals":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","token_known":"USDC (Circle)","owner":"0xf977814e90da44bfa03b6295a0616a897441acec","by_signer":true,"spender":"0x2626664c2603336e57b271c5c0b26f421741e481","spender_known":"Uniswap SwapRouter02","spender_is_contract":true,"nft":false,"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"unlimited","unlimited":true,"covers_full_balance":true,"signer_balance":"1234.56","usd_exposure":1234.56,"exposure_basis":"your whole current balance of this token (allowance covers it)"}],"risk":{"counterparties":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","role":"to","known":"USDC (Circle)","is_contract":false,"ofac":false,"goplus":{"available":true,"block":[],"warn":[]}}],"ofac":{"available":true,"hits":[]},"goplus":{"source":"GoPlus address_security (keyless)","screened":2,"unavailable":0},"flags":[{"code":"UNLIMITED_APPROVAL","level":"CAUTION","label":"an unlimited allowance: the spender can move your whole balance of that token at any later time","evidence":"Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"}]},"disclaimer":"advice only; see the paid body","also_available":{"ladder":"$0.02 Ethereum tx precheck (this call) -> $0.02 Ethereum tx-receipt https://agents.avasis.ai/v1/eth/tx-receipt (after you send) -> $0.02 Ethereum erc20-allowance https://agents.avasis.ai/v1/eth/erc20-allowance | $0.02 Ethereum multi-balance https://agents.avasis.ai/v1/eth/multi-balance; free samples https://agents.avasis.ai/v1/evm/{tx-precheck,tx-receipt,erc20-allowance,multi-balance}/sample","items":[{"what":"Ethereum tx receipt + status: after you send, wait for the receipt (up to 30 s), decoded transfers, fee in USD, revert reason, or a pending/stuck diagnosis","price_usd":"0.02","url":"https://agents.avasis.ai/v1/eth/tx-receipt","free_sample":"https://agents.avasis.ai/v1/evm/tx-receipt/sample"},{"what":"Ethereum ERC-20 allowance check: is the spender approved, for how much, does the owner hold it; ready approve / revoke calldata","price_usd":"0.02","url":"https://agents.avasis.ai/v1/eth/erc20-allowance","free_sample":"https://agents.avasis.ai/v1/evm/erc20-allowance/sample"}],"how":"same x402 flow as this quote (USDC on Base, no account or API key); an unpaid GET on any url is a free quote; free samples at /v1/evm/<sku>/sample"}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txPrecheck_ethPost","summary":"Ethereum tx precheck ($0.02): simulate an unsigned transaction before signing: revert, gas USD, transfers, wallet PnL, approval risk, counterparty risk, SIGN / CAUTION / BLOCK","description":"Pre-sign tx precheck for Ethereum (chain 1, $0.02): simulate transaction {from,to,data,value} with eth_simulateV1 before signing. Returns would_revert + reason, gas USD, each ETH/ERC-20/NFT transfer with USD, wallet PnL (net_for_from usd_net), approval risk (spender, unlimited:true, USD exposure), counterparty risk (GoPlus + OFAC), decoded method, SIGN/CAUTION/BLOCK verdict with reasons. POST JSON or GET. Free live sample /v1/evm/tx-precheck/sample. Advice only; RPC down 502, never charged. POST form: JSON body {chain, from, to, data, value, gas?}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","description":"the signer's wallet (0x + 40 hex): the account that would sign; its ETH balance, allowances granted and net position are checked"},"to":{"type":"string","description":"the transaction's to (contract or recipient, 0x + 40 hex)"},"data":{"type":"string","description":"calldata as 0x hex (omit or 0x for a plain ETH transfer); max 6 KB"},"value":{"type":"string","description":"ETH value in wei as a decimal or 0x hex integer string (default 0)"},"gas":{"type":"integer","minimum":21000,"maximum":30000000,"description":"optional gas limit for the cost columns (default: the simulation's gas_used)"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["from","to"]},"example":{"chain":"ethereum","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"0"}}}},"responses":{"200":{"description":"OK: the pre-sign check (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"precheck":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx":{"type":"object"},"verdict":{"type":"object"},"decoded":{"type":"object"},"sim":{"type":"object"},"signer":{"type":"object"},"transfers":{"type":"array"},"net_for_from":{"type":"object"},"approvals":{"type":"array"},"risk":{"type":"object"},"also_available":{"type":"object"},"disclaimer":{"type":"string"}},"required":["chain","verdict","decoded","sim","transfers","net_for_from","approvals","risk"]},"example":{"precheck":"evm-tx-precheck-1","chain":"ethereum","chain_id":1,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","data_bytes":68,"value_wei":"0","value_eth":"0","gas_limit":null},"verdict":{"level":"CAUTION","action":"sign only after reviewing the reasons","reasons":["UNLIMITED_APPROVAL: Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"],"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"decoded":{"selector":"0x095ea7b3","method":"approve","kind":"approve","signature":"approve(address,uint256)","args":{"spender_or_to":"0x2626664c2603336e57b271c5c0b26f421741e481","amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"to_known":"USDC (Circle)","one_liner":"approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"sim":{"would_revert":false,"revert_reason":null,"status":"0x1","gas_used":55785,"gas_limit_used_for_cost":55785,"return_data":"0x0000000000000000000000000000000000000000000000000000000000000001","gas_price":{"base_fee_wei":"5000000","priority_wei":"1000000","effective_wei":"6000000","max_fee_wei":"11000000","basis":"effective = base fee + priority (standard tier); max = 2 x base fee + priority"},"gas_cost_eth":"0.00000033471","l1_data_fee_eth":"0.000000000488126494","gas_usd":0.000865,"gas_usd_max":0.001585,"eth_usd":2580.5,"eth_usd_source":"chainlink ETH/USD (latestRoundData)","chain_id":8453,"block_tag":"latest","block_number":53394126,"block_timestamp":1793180287,"rpc":"base-rpc.publicnode.com","method":"eth_simulateV1 (traceTransfers, validation off; funds checked separately)"},"signer":{"address":"0xf977814e90da44bfa03b6295a0616a897441acec","balance_eth":"2.5","nonce":1200,"funds_ok":true,"needs_eth_max":"0.000000614123126494"},"transfers":[],"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"335198126494","gas_cost_eth":"0.000000335198126494","gas_cost_usd":0.000865,"eth_delta_after_gas":"-0.000000335198126494","tokens":[],"usd_net":-0.000865,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"approvals":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","token_known":"USDC (Circle)","owner":"0xf977814e90da44bfa03b6295a0616a897441acec","by_signer":true,"spender":"0x2626664c2603336e57b271c5c0b26f421741e481","spender_known":"Uniswap SwapRouter02","spender_is_contract":true,"nft":false,"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"unlimited","unlimited":true,"covers_full_balance":true,"signer_balance":"1234.56","usd_exposure":1234.56,"exposure_basis":"your whole current balance of this token (allowance covers it)"}],"risk":{"counterparties":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","role":"to","known":"USDC (Circle)","is_contract":false,"ofac":false,"goplus":{"available":true,"block":[],"warn":[]}}],"ofac":{"available":true,"hits":[]},"goplus":{"source":"GoPlus address_security (keyless)","screened":2,"unavailable":0},"flags":[{"code":"UNLIMITED_APPROVAL","level":"CAUTION","label":"an unlimited allowance: the spender can move your whole balance of that token at any later time","evidence":"Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"}]},"disclaimer":"advice only; see the paid body","also_available":{"ladder":"$0.02 Ethereum tx precheck (this call) -> $0.02 Ethereum tx-receipt https://agents.avasis.ai/v1/eth/tx-receipt (after you send) -> $0.02 Ethereum erc20-allowance https://agents.avasis.ai/v1/eth/erc20-allowance | $0.02 Ethereum multi-balance https://agents.avasis.ai/v1/eth/multi-balance; free samples https://agents.avasis.ai/v1/evm/{tx-precheck,tx-receipt,erc20-allowance,multi-balance}/sample","items":[{"what":"Ethereum tx receipt + status: after you send, wait for the receipt (up to 30 s), decoded transfers, fee in USD, revert reason, or a pending/stuck diagnosis","price_usd":"0.02","url":"https://agents.avasis.ai/v1/eth/tx-receipt","free_sample":"https://agents.avasis.ai/v1/evm/tx-receipt/sample"},{"what":"Ethereum ERC-20 allowance check: is the spender approved, for how much, does the owner hold it; ready approve / revoke calldata","price_usd":"0.02","url":"https://agents.avasis.ai/v1/eth/erc20-allowance","free_sample":"https://agents.avasis.ai/v1/evm/erc20-allowance/sample"}],"how":"same x402 flow as this quote (USDC on Base, no account or API key); an unpaid GET on any url is a free quote; free samples at /v1/evm/<sku>/sample"}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/erc20-allowance":{"get":{"operationId":"erc20Allowance_base","summary":"Base ERC-20 allowance check ($0.02): is the spender approved, for how much, does the owner hold it; approve / revoke calldata","description":"ERC-20 allowance check on Base (chain 8453, $0.02): owner + token + spender -> allowance (raw + units, unlimited flag), balance, spendable now = min(allowance, balance), USD exposure, spender code check (EOA = drainer pattern), Permit2 note. Add amount for a needs-approval check (shortfall) + approve calldata; revoke calldata always. Phrases: erc20 allowance, token approval check, needs approval, approve calldata, revoke approval. GET or POST JSON. Not an ERC-20 -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"owner","in":"query","required":true,"schema":{"type":"string","description":"the token holder whose approval you are checking (0x + 40 hex)"},"example":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d"},{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 token contract on Base (0x + 40 hex)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"spender","in":"query","required":true,"schema":{"type":"string","description":"the contract or account that would call transferFrom (router, Permit2, bridge, ...) (0x + 40 hex)"},"example":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"optional amount in token units (e.g. 100.5): adds the needs-approval check (sufficient allowance / balance, shortfall) and exact approve calldata"},"example":"250"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"token":{"type":"object"},"owner":{"type":"string"},"spender":{"type":"object"},"allowance":{"type":"object"},"owner_balance":{"type":"object"},"spendable_now":{"type":"object"},"covers_full_balance":{"type":["boolean","null"]},"check":{"type":["object","null"]},"usd":{"type":"object"},"calldata":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","token","owner","spender","allowance","spendable_now","calldata","headline"]},"example":{"rail":"evm-rails-1","kind":"erc20-allowance","chain":"base","chain_id":8453,"block_number":53354727,"headline":"USDC on Base: 0x8fae…9b8d allows Uniswap Permit2 UNLIMITED; balance 11,285.039971 (exposure $11,285.04); READY for 250","token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"decimals_source":"decimals()","known":"USDC (Circle)"},"owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","spender":{"address":"0x000000000022d473030f116ddee9f6b43ac78ba3","is_contract":true,"known":"Uniswap Permit2","permit2":true,"note":"Permit2 keeps its own per-spender allowances on top of this ERC-20 approval"},"allowance":{"raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"115792089237316195423570985008687907853269984665640564039457584007913129.639935","unlimited":true,"zero":false,"pct_of_balance":100},"owner_balance":{"raw":"11285039971","amount":"11285.039971","error":null},"spendable_now":{"raw":"11285039971","amount":"11285.039971","limited_by":"balance","note":"what the spender could move right now = min(allowance, owner balance)"},"covers_full_balance":true,"check":{"amount":"250","amount_raw":"250000000","sufficient_allowance":true,"sufficient_balance":true,"needs_approval":false,"shortfall_allowance":"0","shortfall_balance":"0","verdict":"READY: the spender can move this amount now","approve_exact_calldata":null},"usd":{"price":1,"price_source":"stablecoin peg (known issuer)","exposure":11285.04,"allowance":null,"owner_balance":11285.04,"note":"exposure = spendable_now at the current price"},"calldata":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","from":"the owner","approve_exact":null,"approve_unlimited":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","revoke":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000","note":"approve(spender, amount) as 0x calldata, ready to sign from the owner; prefer an exact amount over unlimited; revoke = approve(spender, 0). Simulate first: /v1/<chain>/tx-precheck"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"erc20Allowance_basePost","summary":"Base ERC-20 allowance check ($0.02): is the spender approved, for how much, does the owner hold it; approve / revoke calldata","description":"ERC-20 allowance check on Base (chain 8453, $0.02): owner + token + spender -> allowance (raw + units, unlimited flag), balance, spendable now = min(allowance, balance), USD exposure, spender code check (EOA = drainer pattern), Permit2 note. Add amount for a needs-approval check (shortfall) + approve calldata; revoke calldata always. Phrases: erc20 allowance, token approval check, needs approval, approve calldata, revoke approval. GET or POST JSON. Not an ERC-20 -> 404, never charged. POST form: JSON body {chain, owner, tokenAddress, spender, amount}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"string","description":"the token holder whose approval you are checking (0x + 40 hex)"},"spender":{"type":"string","description":"the contract or account that would call transferFrom (router, Permit2, bridge, ...) (0x + 40 hex)"},"amount":{"type":"string","description":"optional amount in token units (e.g. 100.5): adds the needs-approval check (sufficient allowance / balance, shortfall) and exact approve calldata"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"},"tokenAddress":{"type":"string","description":"ERC-20 token contract on Base (0x + 40 hex) (the GET query param is token)"}},"required":["owner","tokenAddress","spender"]},"example":{"chain":"base","owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","tokenAddress":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","amount":"250"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"token":{"type":"object"},"owner":{"type":"string"},"spender":{"type":"object"},"allowance":{"type":"object"},"owner_balance":{"type":"object"},"spendable_now":{"type":"object"},"covers_full_balance":{"type":["boolean","null"]},"check":{"type":["object","null"]},"usd":{"type":"object"},"calldata":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","token","owner","spender","allowance","spendable_now","calldata","headline"]},"example":{"rail":"evm-rails-1","kind":"erc20-allowance","chain":"base","chain_id":8453,"block_number":53354727,"headline":"USDC on Base: 0x8fae…9b8d allows Uniswap Permit2 UNLIMITED; balance 11,285.039971 (exposure $11,285.04); READY for 250","token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"decimals_source":"decimals()","known":"USDC (Circle)"},"owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","spender":{"address":"0x000000000022d473030f116ddee9f6b43ac78ba3","is_contract":true,"known":"Uniswap Permit2","permit2":true,"note":"Permit2 keeps its own per-spender allowances on top of this ERC-20 approval"},"allowance":{"raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"115792089237316195423570985008687907853269984665640564039457584007913129.639935","unlimited":true,"zero":false,"pct_of_balance":100},"owner_balance":{"raw":"11285039971","amount":"11285.039971","error":null},"spendable_now":{"raw":"11285039971","amount":"11285.039971","limited_by":"balance","note":"what the spender could move right now = min(allowance, owner balance)"},"covers_full_balance":true,"check":{"amount":"250","amount_raw":"250000000","sufficient_allowance":true,"sufficient_balance":true,"needs_approval":false,"shortfall_allowance":"0","shortfall_balance":"0","verdict":"READY: the spender can move this amount now","approve_exact_calldata":null},"usd":{"price":1,"price_source":"stablecoin peg (known issuer)","exposure":11285.04,"allowance":null,"owner_balance":11285.04,"note":"exposure = spendable_now at the current price"},"calldata":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","from":"the owner","approve_exact":null,"approve_unlimited":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","revoke":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000","note":"approve(spender, amount) as 0x calldata, ready to sign from the owner; prefer an exact amount over unlimited; revoke = approve(spender, 0). Simulate first: /v1/<chain>/tx-precheck"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/erc20-allowance":{"get":{"operationId":"erc20Allowance_eth","summary":"Ethereum ERC-20 allowance check ($0.02): is the spender approved, for how much, does the owner hold it; approve / revoke calldata","description":"ERC-20 allowance check on Ethereum (chain 1, $0.02): owner + token + spender -> allowance (raw + units, unlimited flag), balance, spendable now = min(allowance, balance), USD exposure, spender code check (EOA = drainer pattern), Permit2 note. Add amount for a needs-approval check (shortfall) + approve calldata; revoke calldata always. Phrases: erc20 allowance, token approval check, needs approval, approve calldata, revoke approval. GET or POST JSON. Not an ERC-20 -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"owner","in":"query","required":true,"schema":{"type":"string","description":"the token holder whose approval you are checking (0x + 40 hex)"},"example":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d"},{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"ERC-20 token contract on Ethereum (0x + 40 hex)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"spender","in":"query","required":true,"schema":{"type":"string","description":"the contract or account that would call transferFrom (router, Permit2, bridge, ...) (0x + 40 hex)"},"example":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"optional amount in token units (e.g. 100.5): adds the needs-approval check (sufficient allowance / balance, shortfall) and exact approve calldata"},"example":"250"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"token":{"type":"object"},"owner":{"type":"string"},"spender":{"type":"object"},"allowance":{"type":"object"},"owner_balance":{"type":"object"},"spendable_now":{"type":"object"},"covers_full_balance":{"type":["boolean","null"]},"check":{"type":["object","null"]},"usd":{"type":"object"},"calldata":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","token","owner","spender","allowance","spendable_now","calldata","headline"]},"example":{"rail":"evm-rails-1","kind":"erc20-allowance","chain":"ethereum","chain_id":1,"block_number":53354727,"headline":"USDC on Base: 0x8fae…9b8d allows Uniswap Permit2 UNLIMITED; balance 11,285.039971 (exposure $11,285.04); READY for 250","token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"decimals_source":"decimals()","known":"USDC (Circle)"},"owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","spender":{"address":"0x000000000022d473030f116ddee9f6b43ac78ba3","is_contract":true,"known":"Uniswap Permit2","permit2":true,"note":"Permit2 keeps its own per-spender allowances on top of this ERC-20 approval"},"allowance":{"raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"115792089237316195423570985008687907853269984665640564039457584007913129.639935","unlimited":true,"zero":false,"pct_of_balance":100},"owner_balance":{"raw":"11285039971","amount":"11285.039971","error":null},"spendable_now":{"raw":"11285039971","amount":"11285.039971","limited_by":"balance","note":"what the spender could move right now = min(allowance, owner balance)"},"covers_full_balance":true,"check":{"amount":"250","amount_raw":"250000000","sufficient_allowance":true,"sufficient_balance":true,"needs_approval":false,"shortfall_allowance":"0","shortfall_balance":"0","verdict":"READY: the spender can move this amount now","approve_exact_calldata":null},"usd":{"price":1,"price_source":"stablecoin peg (known issuer)","exposure":11285.04,"allowance":null,"owner_balance":11285.04,"note":"exposure = spendable_now at the current price"},"calldata":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","from":"the owner","approve_exact":null,"approve_unlimited":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","revoke":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000","note":"approve(spender, amount) as 0x calldata, ready to sign from the owner; prefer an exact amount over unlimited; revoke = approve(spender, 0). Simulate first: /v1/<chain>/tx-precheck"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"erc20Allowance_ethPost","summary":"Ethereum ERC-20 allowance check ($0.02): is the spender approved, for how much, does the owner hold it; approve / revoke calldata","description":"ERC-20 allowance check on Ethereum (chain 1, $0.02): owner + token + spender -> allowance (raw + units, unlimited flag), balance, spendable now = min(allowance, balance), USD exposure, spender code check (EOA = drainer pattern), Permit2 note. Add amount for a needs-approval check (shortfall) + approve calldata; revoke calldata always. Phrases: erc20 allowance, token approval check, needs approval, approve calldata, revoke approval. GET or POST JSON. Not an ERC-20 -> 404, never charged. POST form: JSON body {chain, owner, tokenAddress, spender, amount}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"string","description":"the token holder whose approval you are checking (0x + 40 hex)"},"spender":{"type":"string","description":"the contract or account that would call transferFrom (router, Permit2, bridge, ...) (0x + 40 hex)"},"amount":{"type":"string","description":"optional amount in token units (e.g. 100.5): adds the needs-approval check (sufficient allowance / balance, shortfall) and exact approve calldata"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"tokenAddress":{"type":"string","description":"ERC-20 token contract on Ethereum (0x + 40 hex) (the GET query param is token)"}},"required":["owner","tokenAddress","spender"]},"example":{"chain":"ethereum","owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","tokenAddress":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","amount":"250"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"token":{"type":"object"},"owner":{"type":"string"},"spender":{"type":"object"},"allowance":{"type":"object"},"owner_balance":{"type":"object"},"spendable_now":{"type":"object"},"covers_full_balance":{"type":["boolean","null"]},"check":{"type":["object","null"]},"usd":{"type":"object"},"calldata":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","token","owner","spender","allowance","spendable_now","calldata","headline"]},"example":{"rail":"evm-rails-1","kind":"erc20-allowance","chain":"ethereum","chain_id":1,"block_number":53354727,"headline":"USDC on Base: 0x8fae…9b8d allows Uniswap Permit2 UNLIMITED; balance 11,285.039971 (exposure $11,285.04); READY for 250","token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"decimals_source":"decimals()","known":"USDC (Circle)"},"owner":"0x8fae03e3e0cb922297495bc22ee2a7c997f89b8d","spender":{"address":"0x000000000022d473030f116ddee9f6b43ac78ba3","is_contract":true,"known":"Uniswap Permit2","permit2":true,"note":"Permit2 keeps its own per-spender allowances on top of this ERC-20 approval"},"allowance":{"raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","amount":"115792089237316195423570985008687907853269984665640564039457584007913129.639935","unlimited":true,"zero":false,"pct_of_balance":100},"owner_balance":{"raw":"11285039971","amount":"11285.039971","error":null},"spendable_now":{"raw":"11285039971","amount":"11285.039971","limited_by":"balance","note":"what the spender could move right now = min(allowance, owner balance)"},"covers_full_balance":true,"check":{"amount":"250","amount_raw":"250000000","sufficient_allowance":true,"sufficient_balance":true,"needs_approval":false,"shortfall_allowance":"0","shortfall_balance":"0","verdict":"READY: the spender can move this amount now","approve_exact_calldata":null},"usd":{"price":1,"price_source":"stablecoin peg (known issuer)","exposure":11285.04,"allowance":null,"owner_balance":11285.04,"note":"exposure = spendable_now at the current price"},"calldata":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","from":"the owner","approve_exact":null,"approve_unlimited":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","revoke":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000","note":"approve(spender, amount) as 0x calldata, ready to sign from the owner; prefer an exact amount over unlimited; revoke = approve(spender, 0). Simulate first: /v1/<chain>/tx-precheck"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/multi-balance":{"get":{"operationId":"multiBalance_base","summary":"Base wallet multi-balance ($0.02): ETH + USDC + any ERC-20 list in one call, USD totals, can it pay for gas","description":"Wallet multi-balance on Base (chain 8453, $0.02): address -> ETH + USDC + up to 10 ERC-20s (addresses or symbols: USDC, USDBC, DAI, WETH, CBBTC, USDT) in ONE batched read: raw + units, USD per asset and total (Chainlink, pegs, Dexscreener), tx_count, is_contract, empty flag, gas affordability (ETH transfer cost at 2x base fee, can_pay_eth_transfer). Phrases: wallet balance, multi balance, usdc balance, eth balance. GET or POST JSON. Per-token fail-soft; RPC down 502, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the wallet or contract to read (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"tokens","in":"query","required":false,"schema":{"type":"string","description":"optional comma-separated ERC-20 addresses or known symbols (USDC, USDBC, DAI, WETH, CBBTC, USDT), up to 10; USDC is always included"},"example":"WETH,cbBTC"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"is_contract":{"type":["boolean","null"]},"tx_count":{"type":["integer","null"]},"empty":{"type":"boolean"},"eth":{"type":"object"},"usdc":{"type":"object"},"tokens":{"type":"array"},"totals":{"type":"object"},"gas":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","address","eth","usdc","tokens","totals","gas","headline"]},"example":{"rail":"evm-rails-1","kind":"multi-balance","chain":"base","chain_id":8453,"block_number":53354727,"block_timestamp":1793498801,"headline":"0xf977…acec on Base: 0.0421 ETH ($94.43), 15,115.05 USDC, 0.25 WETH, 0.0012 cbBTC; total $15,902.06; gas for 182251 ETH transfers","address":"0xf977814e90da44bfa03b6295a0616a897441acec","is_contract":false,"tx_count":499417,"empty":false,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":94.43,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"15115.05","usd":15115.05,"error":null},"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"known":"USDC (Circle)","raw":"15115050000","amount":"15115.05","usd":15115.05,"price":1,"price_source":"stablecoin peg (known issuer)","error":null},{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18,"known":"WETH (canonical)","raw":"250000000000000000","amount":"0.25","usd":560.73,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","error":null},{"address":"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","symbol":"cbBTC","decimals":8,"known":"cbBTC (Coinbase)","raw":"120000","amount":"0.0012","usd":131.85,"price":109876.5,"price_source":"dexscreener aerodrome (liquidity $12,345,678)","error":null}],"totals":{"usd":15902.06,"complete":true,"unpriced":[],"note":"ETH + priced tokens at current prices"},"gas":{"base_fee_gwei":0.005,"eth_transfer_cost_wei":"231000000000","eth_transfer_cost_eth":"0.000000231","eth_transfer_cost_usd":0.0005181,"can_pay_eth_transfer":true,"eth_transfers_affordable":182251,"note":"21000 gas at 2x the current base fee + 0.001 gwei tip; excludes the Base L1 data fee (~$0.0003-0.001 per tx); contract calls cost more: /v1/evm/gas-ops prices them"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"multiBalance_basePost","summary":"Base wallet multi-balance ($0.02): ETH + USDC + any ERC-20 list in one call, USD totals, can it pay for gas","description":"Wallet multi-balance on Base (chain 8453, $0.02): address -> ETH + USDC + up to 10 ERC-20s (addresses or symbols: USDC, USDBC, DAI, WETH, CBBTC, USDT) in ONE batched read: raw + units, USD per asset and total (Chainlink, pegs, Dexscreener), tx_count, is_contract, empty flag, gas affordability (ETH transfer cost at 2x base fee, can_pay_eth_transfer). Phrases: wallet balance, multi balance, usdc balance, eth balance. GET or POST JSON. Per-token fail-soft; RPC down 502, never charged. POST form: JSON body {chain, address, tokens}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the wallet or contract to read (0x + 40 hex)"},"tokens":{"type":"string","description":"optional comma-separated ERC-20 addresses or known symbols (USDC, USDBC, DAI, WETH, CBBTC, USDT), up to 10; USDC is always included"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["address"]},"example":{"chain":"base","address":"0xf977814e90da44bfa03b6295a0616a897441acec","tokens":"WETH,cbBTC"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"is_contract":{"type":["boolean","null"]},"tx_count":{"type":["integer","null"]},"empty":{"type":"boolean"},"eth":{"type":"object"},"usdc":{"type":"object"},"tokens":{"type":"array"},"totals":{"type":"object"},"gas":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","address","eth","usdc","tokens","totals","gas","headline"]},"example":{"rail":"evm-rails-1","kind":"multi-balance","chain":"base","chain_id":8453,"block_number":53354727,"block_timestamp":1793498801,"headline":"0xf977…acec on Base: 0.0421 ETH ($94.43), 15,115.05 USDC, 0.25 WETH, 0.0012 cbBTC; total $15,902.06; gas for 182251 ETH transfers","address":"0xf977814e90da44bfa03b6295a0616a897441acec","is_contract":false,"tx_count":499417,"empty":false,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":94.43,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"15115.05","usd":15115.05,"error":null},"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"known":"USDC (Circle)","raw":"15115050000","amount":"15115.05","usd":15115.05,"price":1,"price_source":"stablecoin peg (known issuer)","error":null},{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18,"known":"WETH (canonical)","raw":"250000000000000000","amount":"0.25","usd":560.73,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","error":null},{"address":"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","symbol":"cbBTC","decimals":8,"known":"cbBTC (Coinbase)","raw":"120000","amount":"0.0012","usd":131.85,"price":109876.5,"price_source":"dexscreener aerodrome (liquidity $12,345,678)","error":null}],"totals":{"usd":15902.06,"complete":true,"unpriced":[],"note":"ETH + priced tokens at current prices"},"gas":{"base_fee_gwei":0.005,"eth_transfer_cost_wei":"231000000000","eth_transfer_cost_eth":"0.000000231","eth_transfer_cost_usd":0.0005181,"can_pay_eth_transfer":true,"eth_transfers_affordable":182251,"note":"21000 gas at 2x the current base fee + 0.001 gwei tip; excludes the Base L1 data fee (~$0.0003-0.001 per tx); contract calls cost more: /v1/evm/gas-ops prices them"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/multi-balance":{"get":{"operationId":"multiBalance_eth","summary":"Ethereum wallet multi-balance ($0.02): ETH + USDC + any ERC-20 list in one call, USD totals, can it pay for gas","description":"Wallet multi-balance on Ethereum (chain 1, $0.02): address -> ETH + USDC + up to 10 ERC-20s (addresses or symbols: USDC, USDT, DAI, WETH, WBTC) in ONE batched read: raw + units, USD per asset and total (Chainlink, pegs, Dexscreener), tx_count, is_contract, empty flag, gas affordability (ETH transfer cost at 2x base fee, can_pay_eth_transfer). Phrases: wallet balance, multi balance, usdc balance, eth balance. GET or POST JSON. Per-token fail-soft; RPC down 502, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the wallet or contract to read (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"tokens","in":"query","required":false,"schema":{"type":"string","description":"optional comma-separated ERC-20 addresses or known symbols (USDC, USDT, DAI, WETH, WBTC), up to 10; USDC is always included"},"example":"WETH,WBTC"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"is_contract":{"type":["boolean","null"]},"tx_count":{"type":["integer","null"]},"empty":{"type":"boolean"},"eth":{"type":"object"},"usdc":{"type":"object"},"tokens":{"type":"array"},"totals":{"type":"object"},"gas":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","address","eth","usdc","tokens","totals","gas","headline"]},"example":{"rail":"evm-rails-1","kind":"multi-balance","chain":"ethereum","chain_id":1,"block_number":53354727,"block_timestamp":1793498801,"headline":"0xf977…acec on Base: 0.0421 ETH ($94.43), 15,115.05 USDC, 0.25 WETH, 0.0012 cbBTC; total $15,902.06; gas for 182251 ETH transfers","address":"0xf977814e90da44bfa03b6295a0616a897441acec","is_contract":false,"tx_count":499417,"empty":false,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":94.43,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"15115.05","usd":15115.05,"error":null},"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"known":"USDC (Circle)","raw":"15115050000","amount":"15115.05","usd":15115.05,"price":1,"price_source":"stablecoin peg (known issuer)","error":null},{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18,"known":"WETH (canonical)","raw":"250000000000000000","amount":"0.25","usd":560.73,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","error":null},{"address":"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","symbol":"cbBTC","decimals":8,"known":"cbBTC (Coinbase)","raw":"120000","amount":"0.0012","usd":131.85,"price":109876.5,"price_source":"dexscreener aerodrome (liquidity $12,345,678)","error":null}],"totals":{"usd":15902.06,"complete":true,"unpriced":[],"note":"ETH + priced tokens at current prices"},"gas":{"base_fee_gwei":0.005,"eth_transfer_cost_wei":"231000000000","eth_transfer_cost_eth":"0.000000231","eth_transfer_cost_usd":0.0005181,"can_pay_eth_transfer":true,"eth_transfers_affordable":182251,"note":"21000 gas at 2x the current base fee + 0.001 gwei tip; excludes the Base L1 data fee (~$0.0003-0.001 per tx); contract calls cost more: /v1/evm/gas-ops prices them"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"multiBalance_ethPost","summary":"Ethereum wallet multi-balance ($0.02): ETH + USDC + any ERC-20 list in one call, USD totals, can it pay for gas","description":"Wallet multi-balance on Ethereum (chain 1, $0.02): address -> ETH + USDC + up to 10 ERC-20s (addresses or symbols: USDC, USDT, DAI, WETH, WBTC) in ONE batched read: raw + units, USD per asset and total (Chainlink, pegs, Dexscreener), tx_count, is_contract, empty flag, gas affordability (ETH transfer cost at 2x base fee, can_pay_eth_transfer). Phrases: wallet balance, multi balance, usdc balance, eth balance. GET or POST JSON. Per-token fail-soft; RPC down 502, never charged. POST form: JSON body {chain, address, tokens}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the wallet or contract to read (0x + 40 hex)"},"tokens":{"type":"string","description":"optional comma-separated ERC-20 addresses or known symbols (USDC, USDT, DAI, WETH, WBTC), up to 10; USDC is always included"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["address"]},"example":{"chain":"ethereum","address":"0xf977814e90da44bfa03b6295a0616a897441acec","tokens":"WETH,WBTC"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"is_contract":{"type":["boolean","null"]},"tx_count":{"type":["integer","null"]},"empty":{"type":"boolean"},"eth":{"type":"object"},"usdc":{"type":"object"},"tokens":{"type":"array"},"totals":{"type":"object"},"gas":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","address","eth","usdc","tokens","totals","gas","headline"]},"example":{"rail":"evm-rails-1","kind":"multi-balance","chain":"ethereum","chain_id":1,"block_number":53354727,"block_timestamp":1793498801,"headline":"0xf977…acec on Base: 0.0421 ETH ($94.43), 15,115.05 USDC, 0.25 WETH, 0.0012 cbBTC; total $15,902.06; gas for 182251 ETH transfers","address":"0xf977814e90da44bfa03b6295a0616a897441acec","is_contract":false,"tx_count":499417,"empty":false,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":94.43,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"15115.05","usd":15115.05,"error":null},"tokens":[{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"known":"USDC (Circle)","raw":"15115050000","amount":"15115.05","usd":15115.05,"price":1,"price_source":"stablecoin peg (known issuer)","error":null},{"address":"0x4200000000000000000000000000000000000006","symbol":"WETH","decimals":18,"known":"WETH (canonical)","raw":"250000000000000000","amount":"0.25","usd":560.73,"price":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","error":null},{"address":"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","symbol":"cbBTC","decimals":8,"known":"cbBTC (Coinbase)","raw":"120000","amount":"0.0012","usd":131.85,"price":109876.5,"price_source":"dexscreener aerodrome (liquidity $12,345,678)","error":null}],"totals":{"usd":15902.06,"complete":true,"unpriced":[],"note":"ETH + priced tokens at current prices"},"gas":{"base_fee_gwei":0.005,"eth_transfer_cost_wei":"231000000000","eth_transfer_cost_eth":"0.000000231","eth_transfer_cost_usd":0.0005181,"can_pay_eth_transfer":true,"eth_transfers_affordable":182251,"note":"21000 gas at 2x the current base fee + 0.001 gwei tip; excludes the Base L1 data fee (~$0.0003-0.001 per tx); contract calls cost more: /v1/evm/gas-ops prices them"},"reads":{"rpc":"fixture","calls":8,"elapsed_ms":0}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a contract / not an ERC-20 on this chain (not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/tx-receipt":{"get":{"operationId":"txReceipt_base","summary":"Base tx receipt + status ($0.02): wait for the receipt, decoded transfers, fee in USD, revert reason, or a pending diagnosis","description":"Transaction receipt on Base (chain 8453, $0.02): txHash (+ wait) -> polls every 1.2 s up to wait (default 10, max 25) -> status success / reverted, block + confirmations, gas used vs limit, fee in ETH and USD incl. Base L1 fee, decoded input, ERC-20 / NFT transfers with USD, net_for_from, revert reason (replay). Still pending -> nonce state + fee-market diagnosis. Phrases: tx receipt, transaction status, pending transaction, gas used. GET or POST JSON. Unknown hash -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"txHash","in":"query","required":true,"schema":{"type":"string","description":"transaction hash on Base (0x + 64 hex)"},"example":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4"},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep polling for the receipt before answering (default 10, max 25; 0 = one read). Still pending after that -> 200 with a diagnosis; never seen -> 404, not charged"},"example":10},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx_hash":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"status":{"type":"string"},"success":{"type":["boolean","null"]},"headline":{"type":"string"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"from":{"type":"string"},"to":{"type":["string","null"]},"gas":{"type":"object"},"value":{"type":"object"},"input":{"type":["object","null"]},"transfers":{"type":"array"},"approvals":{"type":"array"},"net_for_from":{"type":["object","null"]},"revert":{"type":["object","null"]},"tx":{"type":"object"},"fee_market":{"type":"object"},"nonce_check":{"type":"object"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","tx_hash","found","mined","status","headline","waited_ms","polls"]},"example":{"rail":"evm-rails-1","kind":"tx-receipt","chain":"base","chain_id":8453,"tx_hash":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4","found":true,"mined":true,"status":"success","success":true,"headline":"MINED on Base: block 53354721 (242 s ago), 7 confirmations, fee $0.0005, 3.72 USDC -> 0x128b…c93a","block":{"number":53354721,"hash":"0x1ebe0db0f987758950ecbe3594538c2a5e54dc88ccbbca90d58258c65161f801","timestamp":1793498789,"age_s":242,"base_fee_gwei":0.005},"confirmations":7,"latest_block":53354727,"tx_index":39,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","contract_created":null,"nonce":1,"type":"eip-1559","value":{"wei":"0","eth":"0","usd":0},"gas":{"limit":91312,"used":40259,"used_pct":44.1,"effective_gas_price_gwei":0.006,"fee_wei":"241554000000","fee_eth":"0.000000241554","fee_usd":0.0005418,"l1_fee_wei":"325219751","l1_fee_eth":"0.000000000325219751","l1_fee_usd":7.294e-7,"total_fee_eth":"0.000000241879219751","total_fee_usd":0.0005425,"eth_usd":2242.9,"max_fee_per_gas_gwei":0.011},"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"},"transfers":[{"kind":"erc20","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"token_id":null,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000","amount":"3.72","usd":3.72,"price_source":"stablecoin peg (known issuer)","direction":"out"}],"approvals":[],"logs_count":1,"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"241879219751","gas_cost_eth":"0.000000241879219751","gas_cost_usd":0.0005425,"eth_delta_after_gas":"-0.000000241879219751","tokens":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","kind":"erc20","symbol":"USDC","decimals":6,"token_id":null,"delta_raw":"-3720000","delta":"-3.72","usd":-3.72,"price_source":"stablecoin peg (known issuer)"}],"usd_net":-3.72,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"revert":null,"receipt_unavailable":false,"waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Transaction unknown to this chain's nodes after the wait (not settled): retry later"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txReceipt_basePost","summary":"Base tx receipt + status ($0.02): wait for the receipt, decoded transfers, fee in USD, revert reason, or a pending diagnosis","description":"Transaction receipt on Base (chain 8453, $0.02): txHash (+ wait) -> polls every 1.2 s up to wait (default 10, max 25) -> status success / reverted, block + confirmations, gas used vs limit, fee in ETH and USD incl. Base L1 fee, decoded input, ERC-20 / NFT transfers with USD, net_for_from, revert reason (replay). Still pending -> nonce state + fee-market diagnosis. Phrases: tx receipt, transaction status, pending transaction, gas used. GET or POST JSON. Unknown hash -> 404, never charged. POST form: JSON body {chain, txHash, wait}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"txHash":{"type":"string","description":"transaction hash on Base (0x + 64 hex)"},"wait":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep polling for the receipt before answering (default 10, max 25; 0 = one read). Still pending after that -> 200 with a diagnosis; never seen -> 404, not charged"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["txHash"]},"example":{"chain":"base","txHash":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4","wait":10}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx_hash":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"status":{"type":"string"},"success":{"type":["boolean","null"]},"headline":{"type":"string"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"from":{"type":"string"},"to":{"type":["string","null"]},"gas":{"type":"object"},"value":{"type":"object"},"input":{"type":["object","null"]},"transfers":{"type":"array"},"approvals":{"type":"array"},"net_for_from":{"type":["object","null"]},"revert":{"type":["object","null"]},"tx":{"type":"object"},"fee_market":{"type":"object"},"nonce_check":{"type":"object"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","tx_hash","found","mined","status","headline","waited_ms","polls"]},"example":{"rail":"evm-rails-1","kind":"tx-receipt","chain":"base","chain_id":8453,"tx_hash":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4","found":true,"mined":true,"status":"success","success":true,"headline":"MINED on Base: block 53354721 (242 s ago), 7 confirmations, fee $0.0005, 3.72 USDC -> 0x128b…c93a","block":{"number":53354721,"hash":"0x1ebe0db0f987758950ecbe3594538c2a5e54dc88ccbbca90d58258c65161f801","timestamp":1793498789,"age_s":242,"base_fee_gwei":0.005},"confirmations":7,"latest_block":53354727,"tx_index":39,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","contract_created":null,"nonce":1,"type":"eip-1559","value":{"wei":"0","eth":"0","usd":0},"gas":{"limit":91312,"used":40259,"used_pct":44.1,"effective_gas_price_gwei":0.006,"fee_wei":"241554000000","fee_eth":"0.000000241554","fee_usd":0.0005418,"l1_fee_wei":"325219751","l1_fee_eth":"0.000000000325219751","l1_fee_usd":7.294e-7,"total_fee_eth":"0.000000241879219751","total_fee_usd":0.0005425,"eth_usd":2242.9,"max_fee_per_gas_gwei":0.011},"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"},"transfers":[{"kind":"erc20","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"token_id":null,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000","amount":"3.72","usd":3.72,"price_source":"stablecoin peg (known issuer)","direction":"out"}],"approvals":[],"logs_count":1,"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"241879219751","gas_cost_eth":"0.000000241879219751","gas_cost_usd":0.0005425,"eth_delta_after_gas":"-0.000000241879219751","tokens":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","kind":"erc20","symbol":"USDC","decimals":6,"token_id":null,"delta_raw":"-3720000","delta":"-3.72","usd":-3.72,"price_source":"stablecoin peg (known issuer)"}],"usd_net":-3.72,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"revert":null,"receipt_unavailable":false,"waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Transaction unknown to this chain's nodes after the wait (not settled): retry later"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/tx-receipt":{"get":{"operationId":"txReceipt_eth","summary":"Ethereum tx receipt + status ($0.02): wait for the receipt, decoded transfers, fee in USD, revert reason, or a pending diagnosis","description":"Transaction receipt on Ethereum (chain 1, $0.02): txHash (+ wait) -> polls every 2.5 s up to wait (default 10, max 25) -> status success / reverted, block + confirmations, gas used vs limit, fee in ETH and USD, decoded input, ERC-20 / NFT transfers with USD, net_for_from, revert reason (replay). Still pending -> nonce state + fee-market diagnosis. Phrases: tx receipt, transaction status, pending transaction, gas used. GET or POST JSON. Unknown hash -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"txHash","in":"query","required":true,"schema":{"type":"string","description":"transaction hash on Ethereum (0x + 64 hex)"},"example":"0x727ed9559077333971cdc1eadc7add616206504b540212863dabf2f53c569b18"},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep polling for the receipt before answering (default 10, max 25; 0 = one read). Still pending after that -> 200 with a diagnosis; never seen -> 404, not charged"},"example":10},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx_hash":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"status":{"type":"string"},"success":{"type":["boolean","null"]},"headline":{"type":"string"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"from":{"type":"string"},"to":{"type":["string","null"]},"gas":{"type":"object"},"value":{"type":"object"},"input":{"type":["object","null"]},"transfers":{"type":"array"},"approvals":{"type":"array"},"net_for_from":{"type":["object","null"]},"revert":{"type":["object","null"]},"tx":{"type":"object"},"fee_market":{"type":"object"},"nonce_check":{"type":"object"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","tx_hash","found","mined","status","headline","waited_ms","polls"]},"example":{"rail":"evm-rails-1","kind":"tx-receipt","chain":"ethereum","chain_id":1,"tx_hash":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4","found":true,"mined":true,"status":"success","success":true,"headline":"MINED on Base: block 53354721 (242 s ago), 7 confirmations, fee $0.0005, 3.72 USDC -> 0x128b…c93a","block":{"number":53354721,"hash":"0x1ebe0db0f987758950ecbe3594538c2a5e54dc88ccbbca90d58258c65161f801","timestamp":1793498789,"age_s":242,"base_fee_gwei":0.005},"confirmations":7,"latest_block":53354727,"tx_index":39,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","contract_created":null,"nonce":1,"type":"eip-1559","value":{"wei":"0","eth":"0","usd":0},"gas":{"limit":91312,"used":40259,"used_pct":44.1,"effective_gas_price_gwei":0.006,"fee_wei":"241554000000","fee_eth":"0.000000241554","fee_usd":0.0005418,"l1_fee_wei":"325219751","l1_fee_eth":"0.000000000325219751","l1_fee_usd":7.294e-7,"total_fee_eth":"0.000000241879219751","total_fee_usd":0.0005425,"eth_usd":2242.9,"max_fee_per_gas_gwei":0.011},"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"},"transfers":[{"kind":"erc20","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"token_id":null,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000","amount":"3.72","usd":3.72,"price_source":"stablecoin peg (known issuer)","direction":"out"}],"approvals":[],"logs_count":1,"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"241879219751","gas_cost_eth":"0.000000241879219751","gas_cost_usd":0.0005425,"eth_delta_after_gas":"-0.000000241879219751","tokens":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","kind":"erc20","symbol":"USDC","decimals":6,"token_id":null,"delta_raw":"-3720000","delta":"-3.72","usd":-3.72,"price_source":"stablecoin peg (known issuer)"}],"usd_net":-3.72,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"revert":null,"receipt_unavailable":false,"waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Transaction unknown to this chain's nodes after the wait (not settled): retry later"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txReceipt_ethPost","summary":"Ethereum tx receipt + status ($0.02): wait for the receipt, decoded transfers, fee in USD, revert reason, or a pending diagnosis","description":"Transaction receipt on Ethereum (chain 1, $0.02): txHash (+ wait) -> polls every 2.5 s up to wait (default 10, max 25) -> status success / reverted, block + confirmations, gas used vs limit, fee in ETH and USD, decoded input, ERC-20 / NFT transfers with USD, net_for_from, revert reason (replay). Still pending -> nonce state + fee-market diagnosis. Phrases: tx receipt, transaction status, pending transaction, gas used. GET or POST JSON. Unknown hash -> 404, never charged. POST form: JSON body {chain, txHash, wait}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"txHash":{"type":"string","description":"transaction hash on Ethereum (0x + 64 hex)"},"wait":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep polling for the receipt before answering (default 10, max 25; 0 = one read). Still pending after that -> 200 with a diagnosis; never seen -> 404, not charged"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["txHash"]},"example":{"chain":"ethereum","txHash":"0x727ed9559077333971cdc1eadc7add616206504b540212863dabf2f53c569b18","wait":10}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"tx_hash":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"status":{"type":"string"},"success":{"type":["boolean","null"]},"headline":{"type":"string"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"from":{"type":"string"},"to":{"type":["string","null"]},"gas":{"type":"object"},"value":{"type":"object"},"input":{"type":["object","null"]},"transfers":{"type":"array"},"approvals":{"type":"array"},"net_for_from":{"type":["object","null"]},"revert":{"type":["object","null"]},"tx":{"type":"object"},"fee_market":{"type":"object"},"nonce_check":{"type":"object"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","tx_hash","found","mined","status","headline","waited_ms","polls"]},"example":{"rail":"evm-rails-1","kind":"tx-receipt","chain":"ethereum","chain_id":1,"tx_hash":"0x29309a800f5468275623e5dbd3da5965f3a8041f7b9aeef8287af30a734d3df4","found":true,"mined":true,"status":"success","success":true,"headline":"MINED on Base: block 53354721 (242 s ago), 7 confirmations, fee $0.0005, 3.72 USDC -> 0x128b…c93a","block":{"number":53354721,"hash":"0x1ebe0db0f987758950ecbe3594538c2a5e54dc88ccbbca90d58258c65161f801","timestamp":1793498789,"age_s":242,"base_fee_gwei":0.005},"confirmations":7,"latest_block":53354727,"tx_index":39,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","contract_created":null,"nonce":1,"type":"eip-1559","value":{"wei":"0","eth":"0","usd":0},"gas":{"limit":91312,"used":40259,"used_pct":44.1,"effective_gas_price_gwei":0.006,"fee_wei":"241554000000","fee_eth":"0.000000241554","fee_usd":0.0005418,"l1_fee_wei":"325219751","l1_fee_eth":"0.000000000325219751","l1_fee_usd":7.294e-7,"total_fee_eth":"0.000000241879219751","total_fee_usd":0.0005425,"eth_usd":2242.9,"max_fee_per_gas_gwei":0.011},"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"},"transfers":[{"kind":"erc20","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","decimals":6,"token_id":null,"from":"0xf1dbe0008b5f36241ad5f720671611ab6ffc0e8d","to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000","amount":"3.72","usd":3.72,"price_source":"stablecoin peg (known issuer)","direction":"out"}],"approvals":[],"logs_count":1,"net_for_from":{"eth_delta_wei":"0","eth_delta":"0","eth_delta_usd":0,"gas_cost_wei":"241879219751","gas_cost_eth":"0.000000241879219751","gas_cost_usd":0.0005425,"eth_delta_after_gas":"-0.000000241879219751","tokens":[{"token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","kind":"erc20","symbol":"USDC","decimals":6,"token_id":null,"delta_raw":"-3720000","delta":"-3.72","usd":-3.72,"price_source":"stablecoin peg (known issuer)"}],"usd_net":-3.72,"usd_net_complete":true,"unpriced":[],"note":"usd_net = ETH delta - gas + priced token deltas, at current prices"},"revert":null,"receipt_unavailable":false,"waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Transaction unknown to this chain's nodes after the wait (not settled): retry later"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/payment-verify":{"get":{"operationId":"paymentVerify_base","summary":"x402 payment verify on Base ($0.02): did my USDC payment settle, to whom, how much, is it final; by tx hash or by the (from, nonce) of the EIP-3009 authorization you signed","description":"x402 payment verify on Base (chain 8453, $0.02): tx hash (your PAYMENT-RESPONSE transaction) or from + nonce of the EIP-3009 authorization you signed -> settled yes/no from the chain (AuthorizationUsed + adjacent USDC Transfer): payer, payTo, amount, block, confirmations, safe/finalized, relayer label, fee, matches vs your expected payTo/amount. Phrases: x402 payment verify, did my payment settle, verify usdc payment, settlement proof. GET or POST. Not found -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"tx","in":"query","required":false,"schema":{"type":"string","description":"the settle transaction hash (0x + 64 hex): the `transaction` of your x402 PAYMENT-RESPONSE / settle receipt. Or pass from + nonce instead"},"example":"0x058bc61d196b9d6ea4cc15315711ef075a0c7e9a3224c19e3deb44eaa4f568ec"},{"name":"from","in":"query","required":false,"schema":{"type":"string","description":"with nonce: the payer address of the EIP-3009 authorization you signed (payload.authorization.from)"}},{"name":"nonce","in":"query","required":false,"schema":{"type":"string","description":"with from: the 32-byte authorization nonce (payload.authorization.nonce, 0x + 64 hex)"}},{"name":"payTo","in":"query","required":false,"schema":{"type":"string","description":"optional expected recipient (the 402's accepts[].payTo): sets matches.payTo"},"example":"0x6264191d6dd5427435b5e829077842e130ef1fc8"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"optional expected amount in atomic units (USDC: 20000 = $0.02, the accepts[].amount you paid) or a decimal with a dot (0.02): sets matches.amount"},"example":"2000"},{"name":"asset","in":"query","required":false,"schema":{"type":"string","description":"optional token contract (0x + 40 hex; default USDC on Base)"}},{"name":"lookback","in":"query","required":false,"schema":{"type":"integer","minimum":1000,"maximum":150000,"description":"for from + nonce: blocks to search back (default 50000, about 28 h on Base; max 150000)"}},{"name":"wait","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep looking for the settle before answering (default 5, max 25; 0 = one read). Unknown after that -> 404, not charged"},"example":0},{"name":"network","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / eip155:8453 (x402 USDC settles on Base)"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"network":{"type":"string"},"tx_hash":{"type":["string","null"]},"asset":{"type":"object"},"lookup":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"settled":{"type":"boolean"},"verdict":{"type":"string"},"headline":{"type":"string"},"payment":{"type":["object","null"]},"matches":{"type":"object"},"expected":{"type":"object"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"finality":{"type":"object"},"submitter":{"type":"object"},"method":{"type":"object"},"tx":{"type":"object"},"transfers":{"type":"array"},"transfers_total":{"type":"integer"},"authorizations":{"type":"integer"},"searched":{"type":"object"},"advice":{"type":"string"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","network","found","settled","verdict","headline","matches","waited_ms","polls"]},"example":{"rail":"x402-payment-verify-1","kind":"payment-verify","chain":"base","chain_id":8453,"network":"eip155:8453","tx_hash":"0x058bc61d196b9d6ea4cc15315711ef075a0c7e9a3224c19e3deb44eaa4f568ec","asset":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","known":"USDC (Circle)"},"lookup":"tx","found":true,"mined":true,"settled":true,"verdict":"SETTLED","headline":"SETTLED on Base: 0.002 USDC from 0x8ec9…9d15 to 0x6264…1fc8, block 53352110 (4 h ago), 5991 confirmations, finalized, relayed by a third-party wallet (gasless EIP-3009)","payment":{"payer":"0x8ec901f7e2710163387d70950f680f1ea2269d15","pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","symbol":"USDC","decimals":6,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","eip3009":true,"nonce":"0x7a7f161978b5f38c40a4d50fd28021cf0b9d0c10c2c50368059d0340d2b663a6","log_index":55,"basis":"the EIP-3009 (AuthorizationUsed + adjacent Transfer) Transfer to payTo"},"matches":{"payTo":true,"amount":true,"asset":null,"authorization":null,"all":true},"expected":{"payTo":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","asset":null,"from":null,"nonce":null},"block":{"number":53352110,"hash":"0x1805f413f0d4032c819c6b0e5b8b8f485b0524faf2276a4199fb89309d0d1441","timestamp":1793493567,"age_s":14133},"confirmations":5991,"latest_block":53358100,"finality":{"confirmations":5991,"safe":true,"finalized":true,"safe_head":53358056,"finalized_head":53357536,"note":"Base: safe = the block is in a batch posted to Ethereum; finalized = that Ethereum block is finalized (~15-25 min). Undoing a safe block would need an Ethereum reorg."},"submitter":{"address":"0x625d8a65134079f8faaac39a7947c73d93c6ac39","relayed":true,"known":null,"basis":null,"tx_count":1690137,"note":"a third party paid the gas: the payer only signed an EIP-3009 authorization (x402 facilitators settle from rotating hot wallets)"},"method":{"selector":"0xe3ee160e","name":"transferWithAuthorization"},"tx":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","to_known":"USDC (Circle)","status":"success","nonce":1689614,"gas_used":86474,"fee_eth":"0.00000086555958535","fee_usd":0.001961,"l1_fee_eth":"0.00000000081958535","eth_usd":2265.28},"transfers":[{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","eip3009":true,"nonce":"0x7a7f161978b5f38c40a4d50fd28021cf0b9d0c10c2c50368059d0340d2b663a6","log_index":55,"payment":true}],"transfers_total":1,"authorizations":1,"advice":"final: book it","waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":8},"note":"On-chain facts only (the same rule our own settle reconciler uses): AuthorizationUsed(authorizer, nonce) + its adjacent Transfer = that authorization's payment. A seller's receipt, status page or PAYMENT-RESPONSE is a claim; this is the chain."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash / authorization never used in the lookback (not settled): retry later or raise lookback"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"paymentVerify_basePost","summary":"x402 payment verify on Base ($0.02): did my USDC payment settle, to whom, how much, is it final; by tx hash or by the (from, nonce) of the EIP-3009 authorization you signed","description":"x402 payment verify on Base (chain 8453, $0.02): tx hash (your PAYMENT-RESPONSE transaction) or from + nonce of the EIP-3009 authorization you signed -> settled yes/no from the chain (AuthorizationUsed + adjacent USDC Transfer): payer, payTo, amount, block, confirmations, safe/finalized, relayer label, fee, matches vs your expected payTo/amount. Phrases: x402 payment verify, did my payment settle, verify usdc payment, settlement proof. GET or POST. Not found -> 404, never charged. POST form: JSON body {tx, payTo, amount}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tx":{"type":"string","description":"the settle transaction hash (0x + 64 hex): the `transaction` of your x402 PAYMENT-RESPONSE / settle receipt. Or pass from + nonce instead"},"from":{"type":"string","description":"with nonce: the payer address of the EIP-3009 authorization you signed (payload.authorization.from)"},"nonce":{"type":"string","description":"with from: the 32-byte authorization nonce (payload.authorization.nonce, 0x + 64 hex)"},"payTo":{"type":"string","description":"optional expected recipient (the 402's accepts[].payTo): sets matches.payTo"},"amount":{"type":"string","description":"optional expected amount in atomic units (USDC: 20000 = $0.02, the accepts[].amount you paid) or a decimal with a dot (0.02): sets matches.amount"},"asset":{"type":"string","description":"optional token contract (0x + 40 hex; default USDC on Base)"},"lookback":{"type":"integer","minimum":1000,"maximum":150000,"description":"for from + nonce: blocks to search back (default 50000, about 28 h on Base; max 150000)"},"wait":{"type":"integer","minimum":0,"maximum":25,"description":"seconds to keep looking for the settle before answering (default 5, max 25; 0 = one read). Unknown after that -> 404, not charged"},"network":{"type":"string","description":"optional; must be base / eip155:8453 (x402 USDC settles on Base)"}},"required":[]},"example":{"tx":"0x058bc61d196b9d6ea4cc15315711ef075a0c7e9a3224c19e3deb44eaa4f568ec","payTo":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount":"2000"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"network":{"type":"string"},"tx_hash":{"type":["string","null"]},"asset":{"type":"object"},"lookup":{"type":"string"},"found":{"type":"boolean"},"mined":{"type":"boolean"},"settled":{"type":"boolean"},"verdict":{"type":"string"},"headline":{"type":"string"},"payment":{"type":["object","null"]},"matches":{"type":"object"},"expected":{"type":"object"},"block":{"type":["object","null"]},"confirmations":{"type":["integer","null"]},"latest_block":{"type":["integer","null"]},"finality":{"type":"object"},"submitter":{"type":"object"},"method":{"type":"object"},"tx":{"type":"object"},"transfers":{"type":"array"},"transfers_total":{"type":"integer"},"authorizations":{"type":"integer"},"searched":{"type":"object"},"advice":{"type":"string"},"waited_ms":{"type":"integer"},"polls":{"type":"integer"},"also_available":{"type":"object"}},"required":["chain","network","found","settled","verdict","headline","matches","waited_ms","polls"]},"example":{"rail":"x402-payment-verify-1","kind":"payment-verify","chain":"base","chain_id":8453,"network":"eip155:8453","tx_hash":"0x058bc61d196b9d6ea4cc15315711ef075a0c7e9a3224c19e3deb44eaa4f568ec","asset":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","symbol":"USDC","known":"USDC (Circle)"},"lookup":"tx","found":true,"mined":true,"settled":true,"verdict":"SETTLED","headline":"SETTLED on Base: 0.002 USDC from 0x8ec9…9d15 to 0x6264…1fc8, block 53352110 (4 h ago), 5991 confirmations, finalized, relayed by a third-party wallet (gasless EIP-3009)","payment":{"payer":"0x8ec901f7e2710163387d70950f680f1ea2269d15","pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","symbol":"USDC","decimals":6,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","eip3009":true,"nonce":"0x7a7f161978b5f38c40a4d50fd28021cf0b9d0c10c2c50368059d0340d2b663a6","log_index":55,"basis":"the EIP-3009 (AuthorizationUsed + adjacent Transfer) Transfer to payTo"},"matches":{"payTo":true,"amount":true,"asset":null,"authorization":null,"all":true},"expected":{"payTo":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","asset":null,"from":null,"nonce":null},"block":{"number":53352110,"hash":"0x1805f413f0d4032c819c6b0e5b8b8f485b0524faf2276a4199fb89309d0d1441","timestamp":1793493567,"age_s":14133},"confirmations":5991,"latest_block":53358100,"finality":{"confirmations":5991,"safe":true,"finalized":true,"safe_head":53358056,"finalized_head":53357536,"note":"Base: safe = the block is in a batch posted to Ethereum; finalized = that Ethereum block is finalized (~15-25 min). Undoing a safe block would need an Ethereum reorg."},"submitter":{"address":"0x625d8a65134079f8faaac39a7947c73d93c6ac39","relayed":true,"known":null,"basis":null,"tx_count":1690137,"note":"a third party paid the gas: the payer only signed an EIP-3009 authorization (x402 facilitators settle from rotating hot wallets)"},"method":{"selector":"0xe3ee160e","name":"transferWithAuthorization"},"tx":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","to_known":"USDC (Circle)","status":"success","nonce":1689614,"gas_used":86474,"fee_eth":"0.00000086555958535","fee_usd":0.001961,"l1_fee_eth":"0.00000000081958535","eth_usd":2265.28},"transfers":[{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"2000","amount":"0.002","eip3009":true,"nonce":"0x7a7f161978b5f38c40a4d50fd28021cf0b9d0c10c2c50368059d0340d2b663a6","log_index":55,"payment":true}],"transfers_total":1,"authorizations":1,"advice":"final: book it","waited_ms":0,"polls":1,"reads":{"rpc":"fixture","calls":8},"note":"On-chain facts only (the same rule our own settle reconciler uses): AuthorizationUsed(authorizer, nonce) + its adjacent Transfer = that authorization's payment. A seller's receipt, status page or PAYMENT-RESPONSE is a claim; this is the chain."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash / authorization never used in the lookback (not settled): retry later or raise lookback"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/address-screen":{"get":{"operationId":"addressScreen_base","summary":"Base address screen ($0.02): is it safe to pay this address; OFAC SDN + GoPlus labels + chain state (EOA / contract / proxy / burn / never used), CLEAR / CAUTION / BLOCK","description":"Address screen on Base (chain 8453, $0.02): address -> CLEAR / CAUTION / BLOCK with reasons: OFAC SDN list hit, GoPlus address_security labels (phishing, theft, blacklist, mixer), EOA vs contract (proxy, ERC-20, EIP-7702 delegate), burn / precompile, never used (0 txs, 0 ETH, 0 USDC), known router / Permit2 / x402 facilitator labels, ETH + USDC balance. Phrases: address screen, is this address safe, sanctions check, wallet screening, payee check. GET or POST JSON. Never charged on 4xx / 5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the payee / counterparty you are about to pay or call (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":["integer","null"]},"address":{"type":"string"},"headline":{"type":"string"},"verdict":{"type":"object"},"type":{"type":"object"},"activity":{"type":"object"},"labels":{"type":"object"},"sanctions":{"type":"object"},"goplus":{"type":"object"},"contract":{"type":["object","null"]},"advice":{"type":"string"},"also_available":{"type":"object"}},"required":["chain","address","headline","verdict","type","activity","sanctions","goplus","advice"]},"example":{"rail":"evm-address-screen-1","kind":"address-screen","chain":"base","chain_id":8453,"block_number":53358100,"address":"0xf977814e90da44bfa03b6295a0616a897441acec","headline":"0xf977…acec on Base: eoa, 499417 txs, 0.0421 ETH ($95.37), 15,115.05 USDC -> CLEAR (no sanctions or GoPlus flags; active address)","verdict":{"level":"CLEAR","reasons":[],"basis":"OFAC SDN digital-currency list + GoPlus address_security + on-chain state at the latest block (code, nonce, balances, proxy slots, ERC-20 probes)"},"type":{"kind":"eoa","is_contract":false,"code_bytes":0,"eip7702_delegate":null},"activity":{"tx_count":499417,"ever_used":true,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":95.37,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","raw":"15115050000","amount":"15115.05"}},"labels":{"known":null,"known_kind":null,"relayer":null,"relayer_basis":null,"burn":false,"precompile":false},"sanctions":{"ofac_sdn":false,"list":"OFAC SDN digital-currency addresses (0xB10C daily export)","list_size":1,"available":true},"goplus":{"available":true,"flags_block":[],"flags_warn":[],"is_contract":false,"data_source":null},"contract":null,"advice":"no red flags on these screens; a clean screen is not a guarantee of intent: verify the counterparty yourself for large amounts","reads":{"rpc":"fixture","calls":10,"elapsed_ms":0},"note":"Screens public facts: sanctions list membership, GoPlus labels and chain state. They catch known-bad and obviously-wrong payees, not a counterparty's intent."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an address always screens)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"addressScreen_basePost","summary":"Base address screen ($0.02): is it safe to pay this address; OFAC SDN + GoPlus labels + chain state (EOA / contract / proxy / burn / never used), CLEAR / CAUTION / BLOCK","description":"Address screen on Base (chain 8453, $0.02): address -> CLEAR / CAUTION / BLOCK with reasons: OFAC SDN list hit, GoPlus address_security labels (phishing, theft, blacklist, mixer), EOA vs contract (proxy, ERC-20, EIP-7702 delegate), burn / precompile, never used (0 txs, 0 ETH, 0 USDC), known router / Permit2 / x402 facilitator labels, ETH + USDC balance. Phrases: address screen, is this address safe, sanctions check, wallet screening, payee check. GET or POST JSON. Never charged on 4xx / 5xx. POST form: JSON body {chain, address}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the payee / counterparty you are about to pay or call (0x + 40 hex)"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["address"]},"example":{"chain":"base","address":"0xf977814e90da44bfa03b6295a0616a897441acec"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":["integer","null"]},"address":{"type":"string"},"headline":{"type":"string"},"verdict":{"type":"object"},"type":{"type":"object"},"activity":{"type":"object"},"labels":{"type":"object"},"sanctions":{"type":"object"},"goplus":{"type":"object"},"contract":{"type":["object","null"]},"advice":{"type":"string"},"also_available":{"type":"object"}},"required":["chain","address","headline","verdict","type","activity","sanctions","goplus","advice"]},"example":{"rail":"evm-address-screen-1","kind":"address-screen","chain":"base","chain_id":8453,"block_number":53358100,"address":"0xf977814e90da44bfa03b6295a0616a897441acec","headline":"0xf977…acec on Base: eoa, 499417 txs, 0.0421 ETH ($95.37), 15,115.05 USDC -> CLEAR (no sanctions or GoPlus flags; active address)","verdict":{"level":"CLEAR","reasons":[],"basis":"OFAC SDN digital-currency list + GoPlus address_security + on-chain state at the latest block (code, nonce, balances, proxy slots, ERC-20 probes)"},"type":{"kind":"eoa","is_contract":false,"code_bytes":0,"eip7702_delegate":null},"activity":{"tx_count":499417,"ever_used":true,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":95.37,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","raw":"15115050000","amount":"15115.05"}},"labels":{"known":null,"known_kind":null,"relayer":null,"relayer_basis":null,"burn":false,"precompile":false},"sanctions":{"ofac_sdn":false,"list":"OFAC SDN digital-currency addresses (0xB10C daily export)","list_size":1,"available":true},"goplus":{"available":true,"flags_block":[],"flags_warn":[],"is_contract":false,"data_source":null},"contract":null,"advice":"no red flags on these screens; a clean screen is not a guarantee of intent: verify the counterparty yourself for large amounts","reads":{"rpc":"fixture","calls":10,"elapsed_ms":0},"note":"Screens public facts: sanctions list membership, GoPlus labels and chain state. They catch known-bad and obviously-wrong payees, not a counterparty's intent."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an address always screens)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/address-screen":{"get":{"operationId":"addressScreen_eth","summary":"Ethereum address screen ($0.02): is it safe to pay this address; OFAC SDN + GoPlus labels + chain state (EOA / contract / proxy / burn / never used), CLEAR / CAUTION / BLOCK","description":"Address screen on Ethereum (chain 1, $0.02): address -> CLEAR / CAUTION / BLOCK with reasons: OFAC SDN list hit, GoPlus address_security labels (phishing, theft, blacklist, mixer), EOA vs contract (proxy, ERC-20, EIP-7702 delegate), burn / precompile, never used (0 txs, 0 ETH, 0 USDC), known router / Permit2 / x402 facilitator labels, ETH + USDC balance. Phrases: address screen, is this address safe, sanctions check, wallet screening, payee check. GET or POST JSON. Never charged on 4xx / 5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the payee / counterparty you are about to pay or call (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":["integer","null"]},"address":{"type":"string"},"headline":{"type":"string"},"verdict":{"type":"object"},"type":{"type":"object"},"activity":{"type":"object"},"labels":{"type":"object"},"sanctions":{"type":"object"},"goplus":{"type":"object"},"contract":{"type":["object","null"]},"advice":{"type":"string"},"also_available":{"type":"object"}},"required":["chain","address","headline","verdict","type","activity","sanctions","goplus","advice"]},"example":{"rail":"evm-address-screen-1","kind":"address-screen","chain":"ethereum","chain_id":1,"block_number":53358100,"address":"0xf977814e90da44bfa03b6295a0616a897441acec","headline":"0xf977…acec on Base: eoa, 499417 txs, 0.0421 ETH ($95.37), 15,115.05 USDC -> CLEAR (no sanctions or GoPlus flags; active address)","verdict":{"level":"CLEAR","reasons":[],"basis":"OFAC SDN digital-currency list + GoPlus address_security + on-chain state at the latest block (code, nonce, balances, proxy slots, ERC-20 probes)"},"type":{"kind":"eoa","is_contract":false,"code_bytes":0,"eip7702_delegate":null},"activity":{"tx_count":499417,"ever_used":true,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":95.37,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","raw":"15115050000","amount":"15115.05"}},"labels":{"known":null,"known_kind":null,"relayer":null,"relayer_basis":null,"burn":false,"precompile":false},"sanctions":{"ofac_sdn":false,"list":"OFAC SDN digital-currency addresses (0xB10C daily export)","list_size":1,"available":true},"goplus":{"available":true,"flags_block":[],"flags_warn":[],"is_contract":false,"data_source":null},"contract":null,"advice":"no red flags on these screens; a clean screen is not a guarantee of intent: verify the counterparty yourself for large amounts","reads":{"rpc":"fixture","calls":10,"elapsed_ms":0},"note":"Screens public facts: sanctions list membership, GoPlus labels and chain state. They catch known-bad and obviously-wrong payees, not a counterparty's intent."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an address always screens)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"addressScreen_ethPost","summary":"Ethereum address screen ($0.02): is it safe to pay this address; OFAC SDN + GoPlus labels + chain state (EOA / contract / proxy / burn / never used), CLEAR / CAUTION / BLOCK","description":"Address screen on Ethereum (chain 1, $0.02): address -> CLEAR / CAUTION / BLOCK with reasons: OFAC SDN list hit, GoPlus address_security labels (phishing, theft, blacklist, mixer), EOA vs contract (proxy, ERC-20, EIP-7702 delegate), burn / precompile, never used (0 txs, 0 ETH, 0 USDC), known router / Permit2 / x402 facilitator labels, ETH + USDC balance. Phrases: address screen, is this address safe, sanctions check, wallet screening, payee check. GET or POST JSON. Never charged on 4xx / 5xx. POST form: JSON body {chain, address}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the payee / counterparty you are about to pay or call (0x + 40 hex)"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["address"]},"example":{"chain":"ethereum","address":"0xf977814e90da44bfa03b6295a0616a897441acec"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":["integer","null"]},"address":{"type":"string"},"headline":{"type":"string"},"verdict":{"type":"object"},"type":{"type":"object"},"activity":{"type":"object"},"labels":{"type":"object"},"sanctions":{"type":"object"},"goplus":{"type":"object"},"contract":{"type":["object","null"]},"advice":{"type":"string"},"also_available":{"type":"object"}},"required":["chain","address","headline","verdict","type","activity","sanctions","goplus","advice"]},"example":{"rail":"evm-address-screen-1","kind":"address-screen","chain":"ethereum","chain_id":1,"block_number":53358100,"address":"0xf977814e90da44bfa03b6295a0616a897441acec","headline":"0xf977…acec on Base: eoa, 499417 txs, 0.0421 ETH ($95.37), 15,115.05 USDC -> CLEAR (no sanctions or GoPlus flags; active address)","verdict":{"level":"CLEAR","reasons":[],"basis":"OFAC SDN digital-currency list + GoPlus address_security + on-chain state at the latest block (code, nonce, balances, proxy slots, ERC-20 probes)"},"type":{"kind":"eoa","is_contract":false,"code_bytes":0,"eip7702_delegate":null},"activity":{"tx_count":499417,"ever_used":true,"eth":{"wei":"42100000000000000","amount":"0.0421","usd":95.37,"price_source":"chainlink ETH/USD (latestRoundData)"},"usdc":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","raw":"15115050000","amount":"15115.05"}},"labels":{"known":null,"known_kind":null,"relayer":null,"relayer_basis":null,"burn":false,"precompile":false},"sanctions":{"ofac_sdn":false,"list":"OFAC SDN digital-currency addresses (0xB10C daily export)","list_size":1,"available":true},"goplus":{"available":true,"flags_block":[],"flags_warn":[],"is_contract":false,"data_source":null},"contract":null,"advice":"no red flags on these screens; a clean screen is not a guarantee of intent: verify the counterparty yourself for large amounts","reads":{"rpc":"fixture","calls":10,"elapsed_ms":0},"note":"Screens public facts: sanctions list membership, GoPlus labels and chain state. They catch known-bad and obviously-wrong payees, not a counterparty's intent."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an address always screens)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/price/consensus":{"get":{"operationId":"priceConsensus","summary":"Price consensus ($0.02): one token -> median of Pyth, Chainlink, CoinGecko, DefiLlama, Dexscreener and Jupiter with dispersion %, stale flags and an agreement grade; optional amount -> USD","description":"Price consensus ($0.02): token symbol (BTC, ETH, SOL, USDC, BONK, ...), EVM contract or Solana mint -> median of up to 6 independent sources (Pyth push feed, Chainlink, CoinGecko, DefiLlama, Dexscreener pool, Jupiter) with dispersion %, grade TIGHT / OK / WIDE / DIVERGENT, per-source age + stale flags, outliers; optional amount -> USD. Phrases: token price, price consensus, usd price, is the price reliable, convert amount to usd. GET only. Unknown symbol 404, no source 502: never charged.","tags":["market"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"a symbol (BTC, ETH, SOL, USDC, USDT, BONK, JUP, WIF, PEPE, DEGEN, AERO, LINK, ...; unknown symbols resolved via CoinGecko / the Pyth catalog / Jupiter-verified tickers), an EVM token contract (0x + 40 hex) or a Solana mint (base58)"},"example":"SOL"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"for a 0x contract: base (default) or eth; a Solana mint is always solana; ignored for symbols"},"example":"solana"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"optional number of tokens: converted to USD at the consensus price (and per source)"},"example":"2.5"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"headline":{"type":"string"},"token":{"type":"object"},"consensus":{"type":"object"},"sources":{"type":"array"},"amount":{"type":["object","null"]},"advice":{"type":"string"},"reads":{"type":"object"},"also_available":{"type":"object"}},"required":["headline","token","consensus","sources","advice"]},"example":{"rail":"price-consensus-1","kind":"price-consensus","headline":"SOL $95.59: 6 fresh sources agree (spread 0.14%: TIGHT); 2.5 SOL = $238.98","token":{"input":"SOL","symbol":"SOL","name":"Solana","kind":"symbol","chain":null,"address":null,"coingecko_id":"solana","pyth_feed":"ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d","chainlink_feed":"0x975043adBb80fc32276CbF9Bbcfd4A601a12462D","resolved_by":"built-in table"},"consensus":{"usd":95.59,"usd_display":"$95.59","n_sources":6,"sources_used":["pyth","chainlink","coingecko","defillama","dexscreener","jupiter"],"grade":"TIGHT","agree":true,"dispersion_pct":0.14,"mad_pct":0.04,"min":95.4997,"max":95.6302,"outliers":[],"used_stale":false,"stale":[],"unavailable":[],"skipped":[],"method":"median of 6 fresh source(s); dispersion = (max - min) / median; TIGHT <= 0.25%, OK <= 1%, WIDE <= 3%, else DIVERGENT; outliers > 2% from the median"},"sources":[{"source":"pyth","status":"ok","usd":95.53320000000001,"at":1793507687,"age_s":13,"fresh":true,"basis":"Pyth push-feed account on Solana (sponsored feed, shard 0)","detail":"feed ef0d8b6f…, account 7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE, slot 463948435","confidence_interval":0.0638},{"source":"chainlink","status":"ok","usd":95.6302,"at":1793495398,"age_s":12302,"fresh":true,"basis":"Chainlink aggregator on Base (0x975043ad…), fresh within its 86400s heartbeat","detail":"round updatedAt 2026-11-01T01:09:58.000Z"},{"source":"coingecko","status":"ok","usd":95.61,"at":1793507661,"age_s":39,"fresh":true,"basis":"CoinGecko simple price (public tier, cached 60 s)","detail":"id solana"},{"source":"defillama","status":"ok","usd":95.618,"at":1793507620,"age_s":80,"fresh":true,"basis":"DefiLlama coins (aggregated, with timestamp + confidence)","detail":"key coingecko:solana, confidence 0.99","confidence":0.99},{"source":"dexscreener","status":"ok","usd":95.57,"at":null,"age_s":null,"fresh":true,"basis":"Dexscreener: best-liquidity pool mid-price on solana (wSOL pool as a SOL proxy)","detail":"orca pool Czfq3xZZDm…, liquidity $25,000,000","liquidity_usd":25000000},{"source":"jupiter","status":"ok","usd":95.4997,"at":null,"age_s":null,"fresh":true,"basis":"Jupiter price v3 (Solana swap routing)","detail":"block 463946713, liquidity $905,292,315","liquidity_usd":905292315}],"amount":{"amount":"2.5","usd":238.97500000000002,"usd_display":"$238.98","by_source":{"pyth":238.833,"chainlink":239.0755,"coingecko":239.025,"defillama":239.045,"dexscreener":238.925,"jupiter":238.74925},"basis":"amount x consensus median (and per source)"},"advice":"sources agree: safe to use the median for receipts, limits and conversions","reads":{"elapsed_ms":0,"sources_queried":6},"note":"Each source is independent (oracle, aggregator, DEX, routing); the grade measures their agreement, not the quality of any one source. Not financial advice."}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown token symbol (not settled): pass a contract address or a Solana mint"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/tx-unstick":{"get":{"operationId":"txUnstick_base","summary":"Base tx unstick ($0.02): is my wallet stuck (nonce gap), why the pending tx does not mine, ready-to-sign cancel + speed-up at a +10 % replacement fee, cost in USD","description":"Tx unstick on Base (chain 8453, $0.02): address (+ tx hash or nonce, urgency) -> stuck transaction diagnosis: confirmed vs pending nonce (nonce gap), tx state next / queued / superseded / mined, max fee below base fee, low tip; EIP-1559 replacement plan (+10 % rule, fee tier), ready-to-sign cancel + speed-up, cost ETH + USD, can_pay. Phrases: stuck transaction, tx unstick, replace transaction, cancel transaction, nonce gap. GET or POST JSON. Unknown hash + nothing pending -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the sender wallet of the stuck transaction (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"tx","in":"query","required":false,"schema":{"type":"string","description":"optional: the pending transaction hash to replace (0x + 64 hex); its state, fees and a ready-to-sign speed-up come from it"},"example":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c"},{"name":"nonce","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"optional: the stuck nonce when you have no hash"}},{"name":"urgency","in":"query","required":false,"schema":{"type":"string","description":"fee tier of the replacement: low / normal / high / next_block (default high)"},"example":"high"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"verdict":{"type":"object"},"nonces":{"type":"object"},"tx":{"type":["object","null"]},"fee_market":{"type":"object"},"replacement":{"type":["object","null"]},"cancel":{"type":["object","null"]},"speed_up":{"type":["object","null"]},"cost":{"type":["object","null"]},"also_available":{"type":"object"}},"required":["chain","address","verdict","nonces","fee_market","headline"]},"example":{"rail":"evm-tx-unstick-1","kind":"tx-unstick","chain":"base","chain_id":8453,"block_number":53354727,"block_timestamp":1793498801,"headline":"STUCK UNDERPRICED on Base: maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied); cancel = nonce 499417 at 0.0115 gwei max / 0.0015 gwei tip ($0.0003)","address":"0xf977814e90da44bfa03b6295a0616a897441acec","verdict":{"level":"STUCK_UNDERPRICED","stuck":true,"action":"replace","reasons":["maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied)"]},"nonces":{"confirmed":499417,"pending":499421,"gap":4,"mempool_visible":true,"note":"pending = this node's pending-nonce view (no txpool RPC on public hosts): a gap of 0 can still hide a tx in a private mempool"},"tx":{"hash":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","found":true,"mined":false,"block_number":null,"status":"pending","nonce":499417,"state":"next","queued_behind":0,"type":"eip-1559","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value_wei":"0","value_eth":"0","gas_limit":75000,"max_fee_per_gas_gwei":0.004,"max_priority_fee_per_gas_gwei":0.0001,"underpriced":true,"low_tip":true,"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"}},"fee_market":{"base_fee_gwei":0.005,"priority_gwei":0.001,"priority_basis":"node eth_maxPriorityFeePerGas","urgency":"high","tier":{"tier":"fast","max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"when":"busy blocks: out-bid the median tip"}},"replacement":{"nonce":499417,"rule":"same nonce; maxPriorityFeePerGas AND maxFeePerGas each >= original x 1.10 (geth / op-geth), never below the chosen tier, maxFee >= 2 x base fee + priority","urgency":"high","tier":"fast","basis":"fast tier already above +10 % of the original","min_priority_fee_gwei":0.000110001,"min_max_fee_gwei":0.004400001,"max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"priority_basis":"node eth_maxPriorityFeePerGas"},"cancel":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0xf977814e90da44bfa03b6295a0616a897441acec","value":"0x0","data":"0x","gas":"0x5208","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"ready to sign from `from`: a 0-value self-transfer with the stuck nonce and the bumped fees; signing and broadcasting it drops the original"},"speed_up":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0x0","data":"0xa9059cbb000000000000000000000000128b1240168fcb68bd2d98d718e559337722c93a000000000000000000000000000000000000000000000000000000000038c340","gas":"0x124f8","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"the original call with the bumped fees (same nonce, to, value, data, gas): re-simulate before signing at /v1/base/tx-precheck"},"cost":{"cancel_max":{"wei":"241500000000","eth":2.415e-7,"usd":0.00054166},"cancel_expected":{"wei":"136500000000","eth":1.365e-7,"usd":0.000306156},"balance_wei":"42100000000000000","balance_eth":"0.0421","can_pay_cancel":true,"eth_usd":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","note":"21000 gas at the replacement fees (max = authorized ceiling, expected = base fee + tip); excludes the Base L1 data fee (~$0.0003-0.001 per tx, priced by /v1/base/fee-plan); the speed-up costs its own gas limit x the same fees"},"reads":{"rpc":"fixture","calls":9,"elapsed_ms":7}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash and no pending nonce for this wallet on the node (not settled): nothing to replace"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txUnstick_basePost","summary":"Base tx unstick ($0.02): is my wallet stuck (nonce gap), why the pending tx does not mine, ready-to-sign cancel + speed-up at a +10 % replacement fee, cost in USD","description":"Tx unstick on Base (chain 8453, $0.02): address (+ tx hash or nonce, urgency) -> stuck transaction diagnosis: confirmed vs pending nonce (nonce gap), tx state next / queued / superseded / mined, max fee below base fee, low tip; EIP-1559 replacement plan (+10 % rule, fee tier), ready-to-sign cancel + speed-up, cost ETH + USD, can_pay. Phrases: stuck transaction, tx unstick, replace transaction, cancel transaction, nonce gap. GET or POST JSON. Unknown hash + nothing pending -> 404, never charged. POST form: JSON body {chain, address, tx, urgency}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the sender wallet of the stuck transaction (0x + 40 hex)"},"tx":{"type":"string","description":"optional: the pending transaction hash to replace (0x + 64 hex); its state, fees and a ready-to-sign speed-up come from it"},"nonce":{"type":"integer","minimum":0,"description":"optional: the stuck nonce when you have no hash"},"urgency":{"type":"string","description":"fee tier of the replacement: low / normal / high / next_block (default high)"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["address"]},"example":{"chain":"base","address":"0xf977814e90da44bfa03b6295a0616a897441acec","tx":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","urgency":"high"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"verdict":{"type":"object"},"nonces":{"type":"object"},"tx":{"type":["object","null"]},"fee_market":{"type":"object"},"replacement":{"type":["object","null"]},"cancel":{"type":["object","null"]},"speed_up":{"type":["object","null"]},"cost":{"type":["object","null"]},"also_available":{"type":"object"}},"required":["chain","address","verdict","nonces","fee_market","headline"]},"example":{"rail":"evm-tx-unstick-1","kind":"tx-unstick","chain":"base","chain_id":8453,"block_number":53354727,"block_timestamp":1793498801,"headline":"STUCK UNDERPRICED on Base: maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied); cancel = nonce 499417 at 0.0115 gwei max / 0.0015 gwei tip ($0.0003)","address":"0xf977814e90da44bfa03b6295a0616a897441acec","verdict":{"level":"STUCK_UNDERPRICED","stuck":true,"action":"replace","reasons":["maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied)"]},"nonces":{"confirmed":499417,"pending":499421,"gap":4,"mempool_visible":true,"note":"pending = this node's pending-nonce view (no txpool RPC on public hosts): a gap of 0 can still hide a tx in a private mempool"},"tx":{"hash":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","found":true,"mined":false,"block_number":null,"status":"pending","nonce":499417,"state":"next","queued_behind":0,"type":"eip-1559","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value_wei":"0","value_eth":"0","gas_limit":75000,"max_fee_per_gas_gwei":0.004,"max_priority_fee_per_gas_gwei":0.0001,"underpriced":true,"low_tip":true,"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"}},"fee_market":{"base_fee_gwei":0.005,"priority_gwei":0.001,"priority_basis":"node eth_maxPriorityFeePerGas","urgency":"high","tier":{"tier":"fast","max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"when":"busy blocks: out-bid the median tip"}},"replacement":{"nonce":499417,"rule":"same nonce; maxPriorityFeePerGas AND maxFeePerGas each >= original x 1.10 (geth / op-geth), never below the chosen tier, maxFee >= 2 x base fee + priority","urgency":"high","tier":"fast","basis":"fast tier already above +10 % of the original","min_priority_fee_gwei":0.000110001,"min_max_fee_gwei":0.004400001,"max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"priority_basis":"node eth_maxPriorityFeePerGas"},"cancel":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0xf977814e90da44bfa03b6295a0616a897441acec","value":"0x0","data":"0x","gas":"0x5208","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"ready to sign from `from`: a 0-value self-transfer with the stuck nonce and the bumped fees; signing and broadcasting it drops the original"},"speed_up":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0x0","data":"0xa9059cbb000000000000000000000000128b1240168fcb68bd2d98d718e559337722c93a000000000000000000000000000000000000000000000000000000000038c340","gas":"0x124f8","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"the original call with the bumped fees (same nonce, to, value, data, gas): re-simulate before signing at /v1/base/tx-precheck"},"cost":{"cancel_max":{"wei":"241500000000","eth":2.415e-7,"usd":0.00054166},"cancel_expected":{"wei":"136500000000","eth":1.365e-7,"usd":0.000306156},"balance_wei":"42100000000000000","balance_eth":"0.0421","can_pay_cancel":true,"eth_usd":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","note":"21000 gas at the replacement fees (max = authorized ceiling, expected = base fee + tip); excludes the Base L1 data fee (~$0.0003-0.001 per tx, priced by /v1/base/fee-plan); the speed-up costs its own gas limit x the same fees"},"reads":{"rpc":"fixture","calls":9,"elapsed_ms":7}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash and no pending nonce for this wallet on the node (not settled): nothing to replace"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/tx-unstick":{"get":{"operationId":"txUnstick_eth","summary":"Ethereum tx unstick ($0.02): is my wallet stuck (nonce gap), why the pending tx does not mine, ready-to-sign cancel + speed-up at a +10 % replacement fee, cost in USD","description":"Tx unstick on Ethereum (chain 1, $0.02): address (+ tx hash or nonce, urgency) -> stuck transaction diagnosis: confirmed vs pending nonce (nonce gap), tx state next / queued / superseded / mined, max fee below base fee, low tip; EIP-1559 replacement plan (+10 % rule, fee tier), ready-to-sign cancel + speed-up, cost ETH + USD, can_pay. Phrases: stuck transaction, tx unstick, replace transaction, cancel transaction, nonce gap. GET or POST JSON. Unknown hash + nothing pending -> 404, never charged.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"the sender wallet of the stuck transaction (0x + 40 hex)"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"tx","in":"query","required":false,"schema":{"type":"string","description":"optional: the pending transaction hash to replace (0x + 64 hex); its state, fees and a ready-to-sign speed-up come from it"},"example":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c"},{"name":"nonce","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"optional: the stuck nonce when you have no hash"}},{"name":"urgency","in":"query","required":false,"schema":{"type":"string","description":"fee tier of the replacement: low / normal / high / next_block (default high)"},"example":"high"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"verdict":{"type":"object"},"nonces":{"type":"object"},"tx":{"type":["object","null"]},"fee_market":{"type":"object"},"replacement":{"type":["object","null"]},"cancel":{"type":["object","null"]},"speed_up":{"type":["object","null"]},"cost":{"type":["object","null"]},"also_available":{"type":"object"}},"required":["chain","address","verdict","nonces","fee_market","headline"]},"example":{"rail":"evm-tx-unstick-1","kind":"tx-unstick","chain":"ethereum","chain_id":1,"block_number":53354727,"block_timestamp":1793498801,"headline":"STUCK UNDERPRICED on Base: maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied); cancel = nonce 499417 at 0.0115 gwei max / 0.0015 gwei tip ($0.0003)","address":"0xf977814e90da44bfa03b6295a0616a897441acec","verdict":{"level":"STUCK_UNDERPRICED","stuck":true,"action":"replace","reasons":["maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied)"]},"nonces":{"confirmed":499417,"pending":499421,"gap":4,"mempool_visible":true,"note":"pending = this node's pending-nonce view (no txpool RPC on public hosts): a gap of 0 can still hide a tx in a private mempool"},"tx":{"hash":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","found":true,"mined":false,"block_number":null,"status":"pending","nonce":499417,"state":"next","queued_behind":0,"type":"eip-1559","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value_wei":"0","value_eth":"0","gas_limit":75000,"max_fee_per_gas_gwei":0.004,"max_priority_fee_per_gas_gwei":0.0001,"underpriced":true,"low_tip":true,"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"}},"fee_market":{"base_fee_gwei":0.005,"priority_gwei":0.001,"priority_basis":"node eth_maxPriorityFeePerGas","urgency":"high","tier":{"tier":"fast","max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"when":"busy blocks: out-bid the median tip"}},"replacement":{"nonce":499417,"rule":"same nonce; maxPriorityFeePerGas AND maxFeePerGas each >= original x 1.10 (geth / op-geth), never below the chosen tier, maxFee >= 2 x base fee + priority","urgency":"high","tier":"fast","basis":"fast tier already above +10 % of the original","min_priority_fee_gwei":0.000110001,"min_max_fee_gwei":0.004400001,"max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"priority_basis":"node eth_maxPriorityFeePerGas"},"cancel":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0xf977814e90da44bfa03b6295a0616a897441acec","value":"0x0","data":"0x","gas":"0x5208","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"ready to sign from `from`: a 0-value self-transfer with the stuck nonce and the bumped fees; signing and broadcasting it drops the original"},"speed_up":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0x0","data":"0xa9059cbb000000000000000000000000128b1240168fcb68bd2d98d718e559337722c93a000000000000000000000000000000000000000000000000000000000038c340","gas":"0x124f8","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"the original call with the bumped fees (same nonce, to, value, data, gas): re-simulate before signing at /v1/base/tx-precheck"},"cost":{"cancel_max":{"wei":"241500000000","eth":2.415e-7,"usd":0.00054166},"cancel_expected":{"wei":"136500000000","eth":1.365e-7,"usd":0.000306156},"balance_wei":"42100000000000000","balance_eth":"0.0421","can_pay_cancel":true,"eth_usd":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","note":"21000 gas at the replacement fees (max = authorized ceiling, expected = base fee + tip); excludes the Base L1 data fee (~$0.0003-0.001 per tx, priced by /v1/base/fee-plan); the speed-up costs its own gas limit x the same fees"},"reads":{"rpc":"fixture","calls":9,"elapsed_ms":7}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash and no pending nonce for this wallet on the node (not settled): nothing to replace"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"txUnstick_ethPost","summary":"Ethereum tx unstick ($0.02): is my wallet stuck (nonce gap), why the pending tx does not mine, ready-to-sign cancel + speed-up at a +10 % replacement fee, cost in USD","description":"Tx unstick on Ethereum (chain 1, $0.02): address (+ tx hash or nonce, urgency) -> stuck transaction diagnosis: confirmed vs pending nonce (nonce gap), tx state next / queued / superseded / mined, max fee below base fee, low tip; EIP-1559 replacement plan (+10 % rule, fee tier), ready-to-sign cancel + speed-up, cost ETH + USD, can_pay. Phrases: stuck transaction, tx unstick, replace transaction, cancel transaction, nonce gap. GET or POST JSON. Unknown hash + nothing pending -> 404, never charged. POST form: JSON body {chain, address, tx, urgency}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["wallet"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"the sender wallet of the stuck transaction (0x + 40 hex)"},"tx":{"type":"string","description":"optional: the pending transaction hash to replace (0x + 64 hex); its state, fees and a ready-to-sign speed-up come from it"},"nonce":{"type":"integer","minimum":0,"description":"optional: the stuck nonce when you have no hash"},"urgency":{"type":"string","description":"fee tier of the replacement: low / normal / high / next_block (default high)"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["address"]},"example":{"chain":"ethereum","address":"0xf977814e90da44bfa03b6295a0616a897441acec","tx":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","urgency":"high"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"headline":{"type":"string"},"address":{"type":"string"},"verdict":{"type":"object"},"nonces":{"type":"object"},"tx":{"type":["object","null"]},"fee_market":{"type":"object"},"replacement":{"type":["object","null"]},"cancel":{"type":["object","null"]},"speed_up":{"type":["object","null"]},"cost":{"type":["object","null"]},"also_available":{"type":"object"}},"required":["chain","address","verdict","nonces","fee_market","headline"]},"example":{"rail":"evm-tx-unstick-1","kind":"tx-unstick","chain":"ethereum","chain_id":1,"block_number":53354727,"block_timestamp":1793498801,"headline":"STUCK UNDERPRICED on Base: maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied); cancel = nonce 499417 at 0.0115 gwei max / 0.0015 gwei tip ($0.0003)","address":"0xf977814e90da44bfa03b6295a0616a897441acec","verdict":{"level":"STUCK_UNDERPRICED","stuck":true,"action":"replace","reasons":["maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied)"]},"nonces":{"confirmed":499417,"pending":499421,"gap":4,"mempool_visible":true,"note":"pending = this node's pending-nonce view (no txpool RPC on public hosts): a gap of 0 can still hide a tx in a private mempool"},"tx":{"hash":"0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c","found":true,"mined":false,"block_number":null,"status":"pending","nonce":499417,"state":"next","queued_behind":0,"type":"eip-1559","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value_wei":"0","value_eth":"0","gas_limit":75000,"max_fee_per_gas_gwei":0.004,"max_priority_fee_per_gas_gwei":0.0001,"underpriced":true,"low_tip":true,"input":{"selector":"0xa9059cbb","method":"transfer","kind":"transfer","signature":"transfer(address,uint256)","args":{"spender_or_to":"0x128b1240168fcb68bd2d98d718e559337722c93a","amount_raw":"3720000"},"to_known":"USDC (Circle)"}},"fee_market":{"base_fee_gwei":0.005,"priority_gwei":0.001,"priority_basis":"node eth_maxPriorityFeePerGas","urgency":"high","tier":{"tier":"fast","max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"when":"busy blocks: out-bid the median tip"}},"replacement":{"nonce":499417,"rule":"same nonce; maxPriorityFeePerGas AND maxFeePerGas each >= original x 1.10 (geth / op-geth), never below the chosen tier, maxFee >= 2 x base fee + priority","urgency":"high","tier":"fast","basis":"fast tier already above +10 % of the original","min_priority_fee_gwei":0.000110001,"min_max_fee_gwei":0.004400001,"max_priority_fee_per_gas":{"wei":"1500000","gwei":0.0015},"max_fee_per_gas":{"wei":"11500000","gwei":0.0115},"priority_basis":"node eth_maxPriorityFeePerGas"},"cancel":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0xf977814e90da44bfa03b6295a0616a897441acec","value":"0x0","data":"0x","gas":"0x5208","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"ready to sign from `from`: a 0-value self-transfer with the stuck nonce and the bumped fees; signing and broadcasting it drops the original"},"speed_up":{"type":"0x2","chainId":"0x2105","nonce":"0x79ed9","from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0x0","data":"0xa9059cbb000000000000000000000000128b1240168fcb68bd2d98d718e559337722c93a000000000000000000000000000000000000000000000000000000000038c340","gas":"0x124f8","maxFeePerGas":"0xaf79e0","maxPriorityFeePerGas":"0x16e360","note":"the original call with the bumped fees (same nonce, to, value, data, gas): re-simulate before signing at /v1/base/tx-precheck"},"cost":{"cancel_max":{"wei":"241500000000","eth":2.415e-7,"usd":0.00054166},"cancel_expected":{"wei":"136500000000","eth":1.365e-7,"usd":0.000306156},"balance_wei":"42100000000000000","balance_eth":"0.0421","can_pay_cancel":true,"eth_usd":2242.9,"price_source":"chainlink ETH/USD (latestRoundData)","note":"21000 gas at the replacement fees (max = authorized ceiling, expected = base fee + tip); excludes the Base L1 data fee (~$0.0003-0.001 per tx, priced by /v1/base/fee-plan); the speed-up costs its own gas limit x the same fees"},"reads":{"rpc":"fixture","calls":9,"elapsed_ms":7}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Unknown transaction hash and no pending nonce for this wallet on the node (not settled): nothing to replace"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/authorization-check":{"get":{"operationId":"authCheck_base","summary":"x402 authorization check on Base ($0.02): should I sign this EIP-3009 TransferWithAuthorization; quote match, nonce unused, not expired, domain verified on-chain, decoy flags, the EIP-712 digest","description":"x402 authorization check on Base (chain 8453, $0.02): the EIP-3009 authorization you will sign (from, to, value, validAfter, validBefore, nonce) + its 402 quote (payTo, amount, asset, network) -> SIGN/CAUTION/BLOCK: payTo / amount / asset / chain match, nonce unused, not expired, EIP-712 domain verified on-chain, look-alike USDC, balance, decoy >= $1, the digest you sign. Phrases: should I sign this, x402 authorization check, eip-3009, decoy quote. GET or POST JSON. Never charged on 4xx/5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"the payer: the wallet that signs (authorization.from) (0x + 40 hex)"},"example":"0x8ec901f7e2710163387d70950f680f1ea2269d15"},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the recipient (authorization.to; must equal the quote's payTo) (0x + 40 hex)"},"example":"0x6264191d6dd5427435b5e829077842e130ef1fc8"},{"name":"value","in":"query","required":true,"schema":{"type":"string","description":"authorization.value in atomic units (USDC has 6 decimals: 20000 = $0.02)"},"example":"20000"},{"name":"validAfter","in":"query","required":false,"schema":{"type":"string","description":"authorization.validAfter, unix seconds (default 0)"}},{"name":"validBefore","in":"query","required":true,"schema":{"type":"string","description":"authorization.validBefore, unix seconds (x402 clients set now + maxTimeoutSeconds)"},"example":"1793518925"},{"name":"nonce","in":"query","required":true,"schema":{"type":"string","description":"authorization.nonce: 32 random bytes (0x + 64 hex), one per payment"},"example":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"},{"name":"verifyingContract","in":"query","required":false,"schema":{"type":"string","description":"domain.verifyingContract: the token contract the typed data names (default USDC on this chain)"}},{"name":"domainName","in":"query","required":false,"schema":{"type":"string","description":"optional domain.name of the typed data (checked against the token's on-chain DOMAIN_SEPARATOR)"}},{"name":"domainVersion","in":"query","required":false,"schema":{"type":"string","description":"optional domain.version of the typed data"}},{"name":"domainChainId","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"optional domain.chainId of the typed data (must be this chain's)"}},{"name":"primaryType","in":"query","required":false,"schema":{"type":"string","description":"TransferWithAuthorization or ReceiveWithAuthorization (default TransferWithAuthorization, the x402 exact scheme)"}},{"name":"payTo","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].payTo: sets matches.pay_to (BLOCK on mismatch)"},"example":"0x6264191d6dd5427435b5e829077842e130ef1fc8"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].amount (v2) / maxAmountRequired (v1), atomic units: sets matches.amount"},"example":"20000"},{"name":"asset","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].asset (token contract)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"network","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].network: base / eip155:8453 or ethereum / eip155:1"},"example":"eip155:8453"},{"name":"maxTimeout","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"the quote's accepts[].maxTimeoutSeconds: flags a validBefore longer than the seller asked for"},"example":120},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"authorization":{"type":"object"},"quote":{"type":"object"},"token":{"type":"object"},"domain":{"type":"object"},"typed_data":{"type":"object"},"digest":{"type":"object"},"payer":{"type":"object"},"pay_to":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","authorization","quote","token","domain","typed_data","digest","headline"]},"example":{"rail":"x402-authorization-check-1","kind":"authorization-check","chain":"base","chain_id":8453,"block_number":53364734,"block_timestamp":1793518815,"headline":"SIGN on Base: payTo matches, amount matches, asset matches, network base matches, nonce unused, valid for 110 s, domain separator verified on-chain, canonical USDC, balance 16.71874 covers 0.02","verdict":{"level":"SIGN","sign":true,"reasons":[],"checks_ok":["payTo matches","amount matches","asset matches","network base matches","nonce unused","valid for 110 s","domain separator verified on-chain","canonical USDC","balance 16.71874 covers 0.02"]},"authorization":{"primary_type":"TransferWithAuthorization","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value_raw":"20000","value_units":"0.02","value_usd":0.02,"valid_after":"0","valid_before":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","nonce_used":false,"seconds_until_expiry":110,"window_s":1793518925,"valid_now":true},"quote":{"given":true,"pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"base","max_timeout_s":120,"matches":{"pay_to":true,"amount":true,"asset":true,"network":true}},"token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"canonical_usdc":true,"name":"USD Coin","version":"2","symbol":"USDC","decimals":6,"domain_separator_onchain":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"},"domain":{"name":"USD Coin","version":"2","chain_id":8453,"verifying_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","separator_computed":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f","matches_onchain":true,"expected":{"name":"USD Coin","version":"2","chain_id":8453,"separator":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"}},"typed_data":{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"TransferWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"TransferWithAuthorization","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"}},"digest":{"struct_hash":"0x242f86ef909386979cd3fc1238cf25ad012e338444e5917a2f4dd32c1e1f829a","eip712_digest":"0xa5eb1a2bb1b6283c2e0b10f6fe4e68449fb7b157ae8956dc5fd00e35cfdcb420","note":"eip712_digest = keccak256(0x1901 || domainSeparator || structHash): what eth_signTypedData_v4 signs; compare it with your wallet's prompt"},"payer":{"balance_raw":"16718740","balance_units":"16.71874","sufficient":true},"pay_to":{"address":"0x6264191d6dd5427435b5e829077842e130ef1fc8","is_contract":false},"reads":{"rpc":"fixture","calls":10,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (every authorization gets a verdict; a decoy asset is a BLOCK, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"authCheck_basePost","summary":"x402 authorization check on Base ($0.02): should I sign this EIP-3009 TransferWithAuthorization; quote match, nonce unused, not expired, domain verified on-chain, decoy flags, the EIP-712 digest","description":"x402 authorization check on Base (chain 8453, $0.02): the EIP-3009 authorization you will sign (from, to, value, validAfter, validBefore, nonce) + its 402 quote (payTo, amount, asset, network) -> SIGN/CAUTION/BLOCK: payTo / amount / asset / chain match, nonce unused, not expired, EIP-712 domain verified on-chain, look-alike USDC, balance, decoy >= $1, the digest you sign. Phrases: should I sign this, x402 authorization check, eip-3009, decoy quote. GET or POST JSON. Never charged on 4xx/5xx. POST form: JSON body {chain, from, to, value, validAfter, validBefore, nonce, payTo, amount, asset, network, maxTimeout}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","description":"the payer: the wallet that signs (authorization.from) (0x + 40 hex)"},"to":{"type":"string","description":"the recipient (authorization.to; must equal the quote's payTo) (0x + 40 hex)"},"value":{"type":"string","description":"authorization.value in atomic units (USDC has 6 decimals: 20000 = $0.02)"},"validAfter":{"type":"string","description":"authorization.validAfter, unix seconds (default 0)"},"validBefore":{"type":"string","description":"authorization.validBefore, unix seconds (x402 clients set now + maxTimeoutSeconds)"},"nonce":{"type":"string","description":"authorization.nonce: 32 random bytes (0x + 64 hex), one per payment"},"verifyingContract":{"type":"string","description":"domain.verifyingContract: the token contract the typed data names (default USDC on this chain)"},"domainName":{"type":"string","description":"optional domain.name of the typed data (checked against the token's on-chain DOMAIN_SEPARATOR)"},"domainVersion":{"type":"string","description":"optional domain.version of the typed data"},"domainChainId":{"type":"integer","minimum":1,"description":"optional domain.chainId of the typed data (must be this chain's)"},"primaryType":{"type":"string","description":"TransferWithAuthorization or ReceiveWithAuthorization (default TransferWithAuthorization, the x402 exact scheme)"},"payTo":{"type":"string","description":"the quote's accepts[].payTo: sets matches.pay_to (BLOCK on mismatch)"},"amount":{"type":"string","description":"the quote's accepts[].amount (v2) / maxAmountRequired (v1), atomic units: sets matches.amount"},"asset":{"type":"string","description":"the quote's accepts[].asset (token contract)"},"network":{"type":"string","description":"the quote's accepts[].network: base / eip155:8453 or ethereum / eip155:1"},"maxTimeout":{"type":"integer","minimum":1,"description":"the quote's accepts[].maxTimeoutSeconds: flags a validBefore longer than the seller asked for"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["from","to","value","validBefore","nonce"]},"example":{"chain":"base","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","payTo":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"eip155:8453","maxTimeout":120}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"authorization":{"type":"object"},"quote":{"type":"object"},"token":{"type":"object"},"domain":{"type":"object"},"typed_data":{"type":"object"},"digest":{"type":"object"},"payer":{"type":"object"},"pay_to":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","authorization","quote","token","domain","typed_data","digest","headline"]},"example":{"rail":"x402-authorization-check-1","kind":"authorization-check","chain":"base","chain_id":8453,"block_number":53364734,"block_timestamp":1793518815,"headline":"SIGN on Base: payTo matches, amount matches, asset matches, network base matches, nonce unused, valid for 110 s, domain separator verified on-chain, canonical USDC, balance 16.71874 covers 0.02","verdict":{"level":"SIGN","sign":true,"reasons":[],"checks_ok":["payTo matches","amount matches","asset matches","network base matches","nonce unused","valid for 110 s","domain separator verified on-chain","canonical USDC","balance 16.71874 covers 0.02"]},"authorization":{"primary_type":"TransferWithAuthorization","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value_raw":"20000","value_units":"0.02","value_usd":0.02,"valid_after":"0","valid_before":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","nonce_used":false,"seconds_until_expiry":110,"window_s":1793518925,"valid_now":true},"quote":{"given":true,"pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"base","max_timeout_s":120,"matches":{"pay_to":true,"amount":true,"asset":true,"network":true}},"token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"canonical_usdc":true,"name":"USD Coin","version":"2","symbol":"USDC","decimals":6,"domain_separator_onchain":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"},"domain":{"name":"USD Coin","version":"2","chain_id":8453,"verifying_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","separator_computed":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f","matches_onchain":true,"expected":{"name":"USD Coin","version":"2","chain_id":8453,"separator":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"}},"typed_data":{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"TransferWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"TransferWithAuthorization","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"}},"digest":{"struct_hash":"0x242f86ef909386979cd3fc1238cf25ad012e338444e5917a2f4dd32c1e1f829a","eip712_digest":"0xa5eb1a2bb1b6283c2e0b10f6fe4e68449fb7b157ae8956dc5fd00e35cfdcb420","note":"eip712_digest = keccak256(0x1901 || domainSeparator || structHash): what eth_signTypedData_v4 signs; compare it with your wallet's prompt"},"payer":{"balance_raw":"16718740","balance_units":"16.71874","sufficient":true},"pay_to":{"address":"0x6264191d6dd5427435b5e829077842e130ef1fc8","is_contract":false},"reads":{"rpc":"fixture","calls":10,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (every authorization gets a verdict; a decoy asset is a BLOCK, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/authorization-check":{"get":{"operationId":"authCheck_eth","summary":"x402 authorization check on Ethereum ($0.02): should I sign this EIP-3009 TransferWithAuthorization; quote match, nonce unused, not expired, domain verified on-chain, decoy flags, the EIP-712 digest","description":"x402 authorization check on Ethereum (chain 1, $0.02): the EIP-3009 authorization you will sign (from, to, value, validAfter, validBefore, nonce) + its 402 quote (payTo, amount, asset, network) -> SIGN/CAUTION/BLOCK: payTo / amount / asset / chain match, nonce unused, not expired, EIP-712 domain verified on-chain, look-alike USDC, balance, decoy >= $1, the digest you sign. Phrases: should I sign this, x402 authorization check, eip-3009, decoy quote. GET or POST JSON. Never charged on 4xx/5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"the payer: the wallet that signs (authorization.from) (0x + 40 hex)"},"example":"0x8ec901f7e2710163387d70950f680f1ea2269d15"},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the recipient (authorization.to; must equal the quote's payTo) (0x + 40 hex)"},"example":"0x6264191d6dd5427435b5e829077842e130ef1fc8"},{"name":"value","in":"query","required":true,"schema":{"type":"string","description":"authorization.value in atomic units (USDC has 6 decimals: 20000 = $0.02)"},"example":"20000"},{"name":"validAfter","in":"query","required":false,"schema":{"type":"string","description":"authorization.validAfter, unix seconds (default 0)"}},{"name":"validBefore","in":"query","required":true,"schema":{"type":"string","description":"authorization.validBefore, unix seconds (x402 clients set now + maxTimeoutSeconds)"},"example":"1793518925"},{"name":"nonce","in":"query","required":true,"schema":{"type":"string","description":"authorization.nonce: 32 random bytes (0x + 64 hex), one per payment"},"example":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"},{"name":"verifyingContract","in":"query","required":false,"schema":{"type":"string","description":"domain.verifyingContract: the token contract the typed data names (default USDC on this chain)"}},{"name":"domainName","in":"query","required":false,"schema":{"type":"string","description":"optional domain.name of the typed data (checked against the token's on-chain DOMAIN_SEPARATOR)"}},{"name":"domainVersion","in":"query","required":false,"schema":{"type":"string","description":"optional domain.version of the typed data"}},{"name":"domainChainId","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"optional domain.chainId of the typed data (must be this chain's)"}},{"name":"primaryType","in":"query","required":false,"schema":{"type":"string","description":"TransferWithAuthorization or ReceiveWithAuthorization (default TransferWithAuthorization, the x402 exact scheme)"}},{"name":"payTo","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].payTo: sets matches.pay_to (BLOCK on mismatch)"},"example":"0x6264191d6dd5427435b5e829077842e130ef1fc8"},{"name":"amount","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].amount (v2) / maxAmountRequired (v1), atomic units: sets matches.amount"},"example":"20000"},{"name":"asset","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].asset (token contract)"},"example":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{"name":"network","in":"query","required":false,"schema":{"type":"string","description":"the quote's accepts[].network: base / eip155:8453 or ethereum / eip155:1"},"example":"eip155:1"},{"name":"maxTimeout","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"the quote's accepts[].maxTimeoutSeconds: flags a validBefore longer than the seller asked for"},"example":120},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"authorization":{"type":"object"},"quote":{"type":"object"},"token":{"type":"object"},"domain":{"type":"object"},"typed_data":{"type":"object"},"digest":{"type":"object"},"payer":{"type":"object"},"pay_to":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","authorization","quote","token","domain","typed_data","digest","headline"]},"example":{"rail":"x402-authorization-check-1","kind":"authorization-check","chain":"ethereum","chain_id":1,"block_number":53364734,"block_timestamp":1793518815,"headline":"SIGN on Base: payTo matches, amount matches, asset matches, network base matches, nonce unused, valid for 110 s, domain separator verified on-chain, canonical USDC, balance 16.71874 covers 0.02","verdict":{"level":"SIGN","sign":true,"reasons":[],"checks_ok":["payTo matches","amount matches","asset matches","network base matches","nonce unused","valid for 110 s","domain separator verified on-chain","canonical USDC","balance 16.71874 covers 0.02"]},"authorization":{"primary_type":"TransferWithAuthorization","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value_raw":"20000","value_units":"0.02","value_usd":0.02,"valid_after":"0","valid_before":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","nonce_used":false,"seconds_until_expiry":110,"window_s":1793518925,"valid_now":true},"quote":{"given":true,"pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"base","max_timeout_s":120,"matches":{"pay_to":true,"amount":true,"asset":true,"network":true}},"token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"canonical_usdc":true,"name":"USD Coin","version":"2","symbol":"USDC","decimals":6,"domain_separator_onchain":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"},"domain":{"name":"USD Coin","version":"2","chain_id":8453,"verifying_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","separator_computed":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f","matches_onchain":true,"expected":{"name":"USD Coin","version":"2","chain_id":8453,"separator":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"}},"typed_data":{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"TransferWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"TransferWithAuthorization","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"}},"digest":{"struct_hash":"0x242f86ef909386979cd3fc1238cf25ad012e338444e5917a2f4dd32c1e1f829a","eip712_digest":"0xa5eb1a2bb1b6283c2e0b10f6fe4e68449fb7b157ae8956dc5fd00e35cfdcb420","note":"eip712_digest = keccak256(0x1901 || domainSeparator || structHash): what eth_signTypedData_v4 signs; compare it with your wallet's prompt"},"payer":{"balance_raw":"16718740","balance_units":"16.71874","sufficient":true},"pay_to":{"address":"0x6264191d6dd5427435b5e829077842e130ef1fc8","is_contract":false},"reads":{"rpc":"fixture","calls":10,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (every authorization gets a verdict; a decoy asset is a BLOCK, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"authCheck_ethPost","summary":"x402 authorization check on Ethereum ($0.02): should I sign this EIP-3009 TransferWithAuthorization; quote match, nonce unused, not expired, domain verified on-chain, decoy flags, the EIP-712 digest","description":"x402 authorization check on Ethereum (chain 1, $0.02): the EIP-3009 authorization you will sign (from, to, value, validAfter, validBefore, nonce) + its 402 quote (payTo, amount, asset, network) -> SIGN/CAUTION/BLOCK: payTo / amount / asset / chain match, nonce unused, not expired, EIP-712 domain verified on-chain, look-alike USDC, balance, decoy >= $1, the digest you sign. Phrases: should I sign this, x402 authorization check, eip-3009, decoy quote. GET or POST JSON. Never charged on 4xx/5xx. POST form: JSON body {chain, from, to, value, validAfter, validBefore, nonce, payTo, amount, asset, network, maxTimeout}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string","description":"the payer: the wallet that signs (authorization.from) (0x + 40 hex)"},"to":{"type":"string","description":"the recipient (authorization.to; must equal the quote's payTo) (0x + 40 hex)"},"value":{"type":"string","description":"authorization.value in atomic units (USDC has 6 decimals: 20000 = $0.02)"},"validAfter":{"type":"string","description":"authorization.validAfter, unix seconds (default 0)"},"validBefore":{"type":"string","description":"authorization.validBefore, unix seconds (x402 clients set now + maxTimeoutSeconds)"},"nonce":{"type":"string","description":"authorization.nonce: 32 random bytes (0x + 64 hex), one per payment"},"verifyingContract":{"type":"string","description":"domain.verifyingContract: the token contract the typed data names (default USDC on this chain)"},"domainName":{"type":"string","description":"optional domain.name of the typed data (checked against the token's on-chain DOMAIN_SEPARATOR)"},"domainVersion":{"type":"string","description":"optional domain.version of the typed data"},"domainChainId":{"type":"integer","minimum":1,"description":"optional domain.chainId of the typed data (must be this chain's)"},"primaryType":{"type":"string","description":"TransferWithAuthorization or ReceiveWithAuthorization (default TransferWithAuthorization, the x402 exact scheme)"},"payTo":{"type":"string","description":"the quote's accepts[].payTo: sets matches.pay_to (BLOCK on mismatch)"},"amount":{"type":"string","description":"the quote's accepts[].amount (v2) / maxAmountRequired (v1), atomic units: sets matches.amount"},"asset":{"type":"string","description":"the quote's accepts[].asset (token contract)"},"network":{"type":"string","description":"the quote's accepts[].network: base / eip155:8453 or ethereum / eip155:1"},"maxTimeout":{"type":"integer","minimum":1,"description":"the quote's accepts[].maxTimeoutSeconds: flags a validBefore longer than the seller asked for"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["from","to","value","validBefore","nonce"]},"example":{"chain":"ethereum","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","payTo":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount":"20000","asset":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","network":"eip155:1","maxTimeout":120}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"authorization":{"type":"object"},"quote":{"type":"object"},"token":{"type":"object"},"domain":{"type":"object"},"typed_data":{"type":"object"},"digest":{"type":"object"},"payer":{"type":"object"},"pay_to":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","authorization","quote","token","domain","typed_data","digest","headline"]},"example":{"rail":"x402-authorization-check-1","kind":"authorization-check","chain":"ethereum","chain_id":1,"block_number":53364734,"block_timestamp":1793518815,"headline":"SIGN on Base: payTo matches, amount matches, asset matches, network base matches, nonce unused, valid for 110 s, domain separator verified on-chain, canonical USDC, balance 16.71874 covers 0.02","verdict":{"level":"SIGN","sign":true,"reasons":[],"checks_ok":["payTo matches","amount matches","asset matches","network base matches","nonce unused","valid for 110 s","domain separator verified on-chain","canonical USDC","balance 16.71874 covers 0.02"]},"authorization":{"primary_type":"TransferWithAuthorization","from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value_raw":"20000","value_units":"0.02","value_usd":0.02,"valid_after":"0","valid_before":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4","nonce_used":false,"seconds_until_expiry":110,"window_s":1793518925,"valid_now":true},"quote":{"given":true,"pay_to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","amount_raw":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","network":"base","max_timeout_s":120,"matches":{"pay_to":true,"amount":true,"asset":true,"network":true}},"token":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"canonical_usdc":true,"name":"USD Coin","version":"2","symbol":"USDC","decimals":6,"domain_separator_onchain":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"},"domain":{"name":"USD Coin","version":"2","chain_id":8453,"verifying_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","separator_computed":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f","matches_onchain":true,"expected":{"name":"USD Coin","version":"2","chain_id":8453,"separator":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f"}},"typed_data":{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"TransferWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"TransferWithAuthorization","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":{"from":"0x8ec901f7e2710163387d70950f680f1ea2269d15","to":"0x6264191d6dd5427435b5e829077842e130ef1fc8","value":"20000","validAfter":"0","validBefore":"1793518925","nonce":"0xa1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4"}},"digest":{"struct_hash":"0x242f86ef909386979cd3fc1238cf25ad012e338444e5917a2f4dd32c1e1f829a","eip712_digest":"0xa5eb1a2bb1b6283c2e0b10f6fe4e68449fb7b157ae8956dc5fd00e35cfdcb420","note":"eip712_digest = keccak256(0x1901 || domainSeparator || structHash): what eth_signTypedData_v4 signs; compare it with your wallet's prompt"},"payer":{"balance_raw":"16718740","balance_units":"16.71874","sufficient":true},"pay_to":{"address":"0x6264191d6dd5427435b5e829077842e130ef1fc8","is_contract":false},"reads":{"rpc":"fixture","calls":10,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (every authorization gets a verdict; a decoy asset is a BLOCK, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/calldata-decode":{"get":{"operationId":"calldataDecode_base","summary":"Base calldata decode ($0.02): what this unsigned transaction does before you sign it; selector -> verified ABI, arguments by name, nested calls, Universal Router plan, unlimited approval / permit / delegatecall / no-code target flags","description":"Calldata decode on Base (chain 8453, $0.02): to + data (+ value, from) -> what the tx asks for: selector via the verified Sourcify ABI (proxy), our table, openchain / 4byte; args by name; nested multicall / Safe calls; Universal Router plan; flags: unlimited approve, setApprovalForAll, permit, delegatecall, admin, ETH value, no-code / unverified target, past deadline. Phrases: decode calldata, what does this transaction do, abi decode, unlimited approval. GET or POST. Never charged on 4xx/5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the transaction's target contract (tx.to) (0x + 40 hex)"},"example":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"name":"data","in":"query","required":true,"schema":{"type":"string","description":"the calldata (tx.data / input): 0x hex, at least the 4-byte selector, max 6 KB"},"example":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"value","in":"query","required":false,"schema":{"type":"string","description":"ETH value in wei sent with the call (decimal or 0x hex; default 0)"},"example":"0"},{"name":"from","in":"query","required":false,"schema":{"type":"string","description":"optional signer address (0x + 40 hex): enables the recipient-not-sender and self-call checks"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be base / 8453 on this route"},"example":"base"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"call":{"type":"object"},"target":{"type":"object"},"value":{"type":"object"},"nested":{"type":["array","null"]},"commands":{"type":["array","null"]},"tx":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","call","target","value","tx","headline"]},"example":{"rail":"evm-calldata-decode-1","kind":"calldata-decode","chain":"base","chain_id":8453,"block_number":53364734,"block_timestamp":1793518815,"headline":"HIGH on Base: approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC (APPROVE_UNLIMITED)","verdict":{"level":"HIGH","summary":"approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC","flags":[{"code":"APPROVE_UNLIMITED","severity":"high","text":"approve grants Uniswap Permit2 0x0000…8ba3 an UNLIMITED allowance of USDC: it can move every unit you hold now or later; approve the exact amount instead"},{"code":"PROXY_TARGET","severity":"info","text":"0x8335…2913 is a ZeppelinOSProxy proxy; the code that runs is FiatTokenV2_2 at 0x2ce6…d779 (exact_match)"}],"flags_ok":["target has code","target verified on Sourcify (exact_match)","known: USDC (Circle)","decoded with the verified ABI","no ETH value"]},"call":{"selector":"0x095ea7b3","signature":"approve(address,uint256)","name":"approve","kind":"approve","source":"sourcify","confidence":"verified-abi","decoded":true,"args":[{"name":"spender","type":"address","value":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"value","type":"uint256","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}],"trailing_bytes":0,"candidates":[{"signature":"approve(address,uint256)","source":"sourcify","verified":true},{"signature":"approve(address,uint256)","source":"local","verified":true}],"args_by_name":{"spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}},"target":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"label":"USDC (Circle)","known_kind":"token","token":{"symbol":"USDC","decimals":6,"source":"table"},"sourcify":{"available":true,"verified":"exact_match","name":"FiatTokenProxy","proxy":{"is_proxy":true,"type":"ZeppelinOSProxy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","implementation_name":"FiatTokenV2_2","implementation_verified":"exact_match"},"abi_functions":3}},"value":{"wei":"0","eth":"0","nonzero":false},"nested":null,"commands":null,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0","data_bytes":68,"selector":"0x095ea7b3"},"reads":{"rpc":"fixture","calls":4,"sourcify":"exact_match","sigdb_lookups":0,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an unknown selector or a target without code is a flag, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"calldataDecode_basePost","summary":"Base calldata decode ($0.02): what this unsigned transaction does before you sign it; selector -> verified ABI, arguments by name, nested calls, Universal Router plan, unlimited approval / permit / delegatecall / no-code target flags","description":"Calldata decode on Base (chain 8453, $0.02): to + data (+ value, from) -> what the tx asks for: selector via the verified Sourcify ABI (proxy), our table, openchain / 4byte; args by name; nested multicall / Safe calls; Universal Router plan; flags: unlimited approve, setApprovalForAll, permit, delegatecall, admin, ETH value, no-code / unverified target, past deadline. Phrases: decode calldata, what does this transaction do, abi decode, unlimited approval. GET or POST. Never charged on 4xx/5xx. POST form: JSON body {chain, to, data, value, from}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"the transaction's target contract (tx.to) (0x + 40 hex)"},"data":{"type":"string","description":"the calldata (tx.data / input): 0x hex, at least the 4-byte selector, max 6 KB"},"value":{"type":"string","description":"ETH value in wei sent with the call (decimal or 0x hex; default 0)"},"from":{"type":"string","description":"optional signer address (0x + 40 hex): enables the recipient-not-sender and self-call checks"},"chain":{"type":"string","description":"optional; must be base / 8453 on this route"}},"required":["to","data"]},"example":{"chain":"base","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"0","from":"0xf977814e90da44bfa03b6295a0616a897441acec"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"call":{"type":"object"},"target":{"type":"object"},"value":{"type":"object"},"nested":{"type":["array","null"]},"commands":{"type":["array","null"]},"tx":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","call","target","value","tx","headline"]},"example":{"rail":"evm-calldata-decode-1","kind":"calldata-decode","chain":"base","chain_id":8453,"block_number":53364734,"block_timestamp":1793518815,"headline":"HIGH on Base: approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC (APPROVE_UNLIMITED)","verdict":{"level":"HIGH","summary":"approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC","flags":[{"code":"APPROVE_UNLIMITED","severity":"high","text":"approve grants Uniswap Permit2 0x0000…8ba3 an UNLIMITED allowance of USDC: it can move every unit you hold now or later; approve the exact amount instead"},{"code":"PROXY_TARGET","severity":"info","text":"0x8335…2913 is a ZeppelinOSProxy proxy; the code that runs is FiatTokenV2_2 at 0x2ce6…d779 (exact_match)"}],"flags_ok":["target has code","target verified on Sourcify (exact_match)","known: USDC (Circle)","decoded with the verified ABI","no ETH value"]},"call":{"selector":"0x095ea7b3","signature":"approve(address,uint256)","name":"approve","kind":"approve","source":"sourcify","confidence":"verified-abi","decoded":true,"args":[{"name":"spender","type":"address","value":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"value","type":"uint256","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}],"trailing_bytes":0,"candidates":[{"signature":"approve(address,uint256)","source":"sourcify","verified":true},{"signature":"approve(address,uint256)","source":"local","verified":true}],"args_by_name":{"spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}},"target":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"label":"USDC (Circle)","known_kind":"token","token":{"symbol":"USDC","decimals":6,"source":"table"},"sourcify":{"available":true,"verified":"exact_match","name":"FiatTokenProxy","proxy":{"is_proxy":true,"type":"ZeppelinOSProxy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","implementation_name":"FiatTokenV2_2","implementation_verified":"exact_match"},"abi_functions":3}},"value":{"wei":"0","eth":"0","nonzero":false},"nested":null,"commands":null,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0","data_bytes":68,"selector":"0x095ea7b3"},"reads":{"rpc":"fixture","calls":4,"sourcify":"exact_match","sigdb_lookups":0,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an unknown selector or a target without code is a flag, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/eth/calldata-decode":{"get":{"operationId":"calldataDecode_eth","summary":"Ethereum calldata decode ($0.02): what this unsigned transaction does before you sign it; selector -> verified ABI, arguments by name, nested calls, Universal Router plan, unlimited approval / permit / delegatecall / no-code target flags","description":"Calldata decode on Ethereum (chain 1, $0.02): to + data (+ value, from) -> what the tx asks for: selector via the verified Sourcify ABI (proxy), our table, openchain / 4byte; args by name; nested multicall / Safe calls; Universal Router plan; flags: unlimited approve, setApprovalForAll, permit, delegatecall, admin, ETH value, no-code / unverified target, past deadline. Phrases: decode calldata, what does this transaction do, abi decode, unlimited approval. GET or POST. Never charged on 4xx/5xx.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"the transaction's target contract (tx.to) (0x + 40 hex)"},"example":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},{"name":"data","in":"query","required":true,"schema":{"type":"string","description":"the calldata (tx.data / input): 0x hex, at least the 4-byte selector, max 6 KB"},"example":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"value","in":"query","required":false,"schema":{"type":"string","description":"ETH value in wei sent with the call (decimal or 0x hex; default 0)"},"example":"0"},{"name":"from","in":"query","required":false,"schema":{"type":"string","description":"optional signer address (0x + 40 hex): enables the recipient-not-sender and self-call checks"},"example":"0xf977814e90da44bfa03b6295a0616a897441acec"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"example":"ethereum"}],"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"call":{"type":"object"},"target":{"type":"object"},"value":{"type":"object"},"nested":{"type":["array","null"]},"commands":{"type":["array","null"]},"tx":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","call","target","value","tx","headline"]},"example":{"rail":"evm-calldata-decode-1","kind":"calldata-decode","chain":"ethereum","chain_id":1,"block_number":53364734,"block_timestamp":1793518815,"headline":"HIGH on Base: approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC (APPROVE_UNLIMITED)","verdict":{"level":"HIGH","summary":"approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC","flags":[{"code":"APPROVE_UNLIMITED","severity":"high","text":"approve grants Uniswap Permit2 0x0000…8ba3 an UNLIMITED allowance of USDC: it can move every unit you hold now or later; approve the exact amount instead"},{"code":"PROXY_TARGET","severity":"info","text":"0x8335…2913 is a ZeppelinOSProxy proxy; the code that runs is FiatTokenV2_2 at 0x2ce6…d779 (exact_match)"}],"flags_ok":["target has code","target verified on Sourcify (exact_match)","known: USDC (Circle)","decoded with the verified ABI","no ETH value"]},"call":{"selector":"0x095ea7b3","signature":"approve(address,uint256)","name":"approve","kind":"approve","source":"sourcify","confidence":"verified-abi","decoded":true,"args":[{"name":"spender","type":"address","value":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"value","type":"uint256","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}],"trailing_bytes":0,"candidates":[{"signature":"approve(address,uint256)","source":"sourcify","verified":true},{"signature":"approve(address,uint256)","source":"local","verified":true}],"args_by_name":{"spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}},"target":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"label":"USDC (Circle)","known_kind":"token","token":{"symbol":"USDC","decimals":6,"source":"table"},"sourcify":{"available":true,"verified":"exact_match","name":"FiatTokenProxy","proxy":{"is_proxy":true,"type":"ZeppelinOSProxy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","implementation_name":"FiatTokenV2_2","implementation_verified":"exact_match"},"abi_functions":3}},"value":{"wei":"0","eth":"0","nonzero":false},"nested":null,"commands":null,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0","data_bytes":68,"selector":"0x095ea7b3"},"reads":{"rpc":"fixture","calls":4,"sourcify":"exact_match","sigdb_lookups":0,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an unknown selector or a target without code is a flag, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"calldataDecode_ethPost","summary":"Ethereum calldata decode ($0.02): what this unsigned transaction does before you sign it; selector -> verified ABI, arguments by name, nested calls, Universal Router plan, unlimited approval / permit / delegatecall / no-code target flags","description":"Calldata decode on Ethereum (chain 1, $0.02): to + data (+ value, from) -> what the tx asks for: selector via the verified Sourcify ABI (proxy), our table, openchain / 4byte; args by name; nested multicall / Safe calls; Universal Router plan; flags: unlimited approve, setApprovalForAll, permit, delegatecall, admin, ETH value, no-code / unverified target, past deadline. Phrases: decode calldata, what does this transaction do, abi decode, unlimited approval. GET or POST. Never charged on 4xx/5xx. POST form: JSON body {chain, to, data, value, from}; same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"the transaction's target contract (tx.to) (0x + 40 hex)"},"data":{"type":"string","description":"the calldata (tx.data / input): 0x hex, at least the 4-byte selector, max 6 KB"},"value":{"type":"string","description":"ETH value in wei sent with the call (decimal or 0x hex; default 0)"},"from":{"type":"string","description":"optional signer address (0x + 40 hex): enables the recipient-not-sender and self-call checks"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"}},"required":["to","data"]},"example":{"chain":"ethereum","to":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","data":"0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","value":"0","from":"0xf977814e90da44bfa03b6295a0616a897441acec"}}}},"responses":{"200":{"description":"OK (charged)","content":{"application/json":{"schema":{"type":"object","properties":{"rail":{"type":"string"},"kind":{"type":"string"},"chain":{"type":"string"},"chain_id":{"type":"integer"},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"headline":{"type":"string"},"verdict":{"type":"object"},"call":{"type":"object"},"target":{"type":"object"},"value":{"type":"object"},"nested":{"type":["array","null"]},"commands":{"type":["array","null"]},"tx":{"type":"object"},"also_available":{"type":"object"}},"required":["chain","verdict","call","target","value","tx","headline"]},"example":{"rail":"evm-calldata-decode-1","kind":"calldata-decode","chain":"ethereum","chain_id":1,"block_number":53364734,"block_timestamp":1793518815,"headline":"HIGH on Base: approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC (APPROVE_UNLIMITED)","verdict":{"level":"HIGH","summary":"approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC","flags":[{"code":"APPROVE_UNLIMITED","severity":"high","text":"approve grants Uniswap Permit2 0x0000…8ba3 an UNLIMITED allowance of USDC: it can move every unit you hold now or later; approve the exact amount instead"},{"code":"PROXY_TARGET","severity":"info","text":"0x8335…2913 is a ZeppelinOSProxy proxy; the code that runs is FiatTokenV2_2 at 0x2ce6…d779 (exact_match)"}],"flags_ok":["target has code","target verified on Sourcify (exact_match)","known: USDC (Circle)","decoded with the verified ABI","no ETH value"]},"call":{"selector":"0x095ea7b3","signature":"approve(address,uint256)","name":"approve","kind":"approve","source":"sourcify","confidence":"verified-abi","decoded":true,"args":[{"name":"spender","type":"address","value":"0x000000000022d473030f116ddee9f6b43ac78ba3"},{"name":"value","type":"uint256","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}],"trailing_bytes":0,"candidates":[{"signature":"approve(address,uint256)","source":"sourcify","verified":true},{"signature":"approve(address,uint256)","source":"local","verified":true}],"args_by_name":{"spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"}},"target":{"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":true,"label":"USDC (Circle)","known_kind":"token","token":{"symbol":"USDC","decimals":6,"source":"table"},"sourcify":{"available":true,"verified":"exact_match","name":"FiatTokenProxy","proxy":{"is_proxy":true,"type":"ZeppelinOSProxy","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","implementation_name":"FiatTokenV2_2","implementation_verified":"exact_match"},"abi_functions":3}},"value":{"wei":"0","eth":"0","nonzero":false},"nested":null,"commands":null,"tx":{"from":"0xf977814e90da44bfa03b6295a0616a897441acec","to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0","data_bytes":68,"selector":"0x095ea7b3"},"reads":{"rpc":"fixture","calls":4,"sourcify":"exact_match","sigdb_lookups":0,"elapsed_ms":5}}}}},"400":{"description":"Invalid input (validated before the challenge or on a paid request; payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"never (an unknown selector or a target without code is a flag, not a 404)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error / simulation unavailable (not settled)"},"503":{"description":"Busy: RPC self-budget (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/pm/complete-kit":{"get":{"operationId":"pmCompleteKit","summary":"Polymarket odds complete kit ($0.02): event + books + history + checks in one call","description":"Polymarket odds in one call: prediction market kit, $0.02, event + books + history. Search text or event slug -> ranked event, rules, resolution source, every outcome with probability + CLOB token ids, live order books (bid/ask/spread/depth), 7-day price trend, series siblings, Gamma-vs-CLOB consistency checks and a tradability label. Read-only public Polymarket data. Free sample /v1/pm/kit/sample. No match 404, never charged.","tags":["markets"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Search text (2-100 chars), e.g. bitcoin, fed rate, election. Or pass event instead."},"example":"bitcoin"},{"name":"event","in":"query","required":false,"schema":{"type":"string","description":"Polymarket event slug (skips search), e.g. what-price-will-bitcoin-hit-before-2027"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"kit":{"type":"string"},"headline":{"type":"string"},"one_liner":{"type":"string"},"top_pick":{"type":"object"},"consensus":{"type":"object"},"finder":{"type":"object"},"event":{"type":"object"},"markets":{"type":"array"},"order_books":{"type":"object"},"price_history":{"type":"object"},"related":{"type":"object"},"sources":{"type":"array"}},"required":["kit","headline","consensus","event","markets","sources"]},"example":{"kit":"pm-complete-kit-1","query":{"q":"bitcoin","event":null},"headline":"What price will Bitcoin hit in October?: Will Bitcoin dip to $75,000 in October? Yes 26% (+24.1 pts 24h) · 19 markets · $1,765,758 24h vol · tradability good · checks 4/4","one_liner":"What price will Bitcoin hit in October?: Will Bitcoin dip to $75,000 in October? Yes 26% (+24.1 pts 24h)","top_pick":{"market_id":"5170740","question":"Will Bitcoin dip to $75,000 in October?","outcome":"Yes","probability":0.26,"token_id":"6571…8131","condition_id":"0x…","clob_mid":0.2795,"url":"https://polymarket.com/event/what-price-will-bitcoin-hit-in-october-2026"},"consensus":{"sources_agree":"4/4","tradability":"good","checks":[{"check":"gamma price vs clob mid (within 3c)","agree":true,"max_diff":0.0195}],"flags":["volatile: top pick moved over a 0.539 range in 7 days"]},"finder":{"matched_events":3,"ranked":[{"rank":1,"slug":"what-price-will-bitcoin-hit-in-october-2026","volume_24h_usd":1765758.12}]},"event":{"slug":"what-price-will-bitcoin-hit-in-october-2026","title":"What price will Bitcoin hit in October?","neg_risk":false,"markets_active":19,"open_interest_usd":3787549.12},"markets":[{"id":"5170740","label":"↓ 75,000","probability":0.26,"outcomes":[{"name":"Yes","price":0.26,"token_id":"6571…"},{"name":"No","price":0.74,"token_id":"…"}],"spread":0.001}],"order_books":{"available":true,"books":[{"market_id":"5170740","outcome":"Yes","best_bid":0.279,"best_ask":0.28,"mid":0.2795,"spread":0.001,"depth_usd_2c":{"bids":2193.53,"asks":531.37}}]},"price_history":{"available":true,"now":0.266,"change_24h":0.241,"change_7d":0.2,"high_7d":0.56,"low_7d":0.02,"trend":"up"},"related":{"same_event_markets":19,"series":{"available":true,"slug":"bitcoin-hit-price-monthly","events":[{"slug":"what-price-will-bitcoin-hit-before-2027"}]},"other_matches":[]},"sources":[{"name":"polymarket gamma /public-search","status":"ok","upstream_cost_usd":0}],"upstream":{"paid_upstream_calls":0,"upstream_cost_usd":0,"upstream_calls":6},"value":{"kit_price_usd":0.02}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"pmCompleteKitPost","summary":"Polymarket odds complete kit ($0.02): event + books + history + checks in one call","description":"Polymarket odds in one call: prediction market kit, $0.02, event + books + history. Search text or event slug -> ranked event, rules, resolution source, every outcome with probability + CLOB token ids, live order books (bid/ask/spread/depth), 7-day price trend, series siblings, Gamma-vs-CLOB consistency checks and a tradability label. Read-only public Polymarket data. Free sample /v1/pm/kit/sample. No match 404, never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["markets"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"kit":{"type":"string"},"headline":{"type":"string"},"one_liner":{"type":"string"},"top_pick":{"type":"object"},"consensus":{"type":"object"},"finder":{"type":"object"},"event":{"type":"object"},"markets":{"type":"array"},"order_books":{"type":"object"},"price_history":{"type":"object"},"related":{"type":"object"},"sources":{"type":"array"}},"required":["kit","headline","consensus","event","markets","sources"]},"example":{"kit":"pm-complete-kit-1","query":{"q":"bitcoin","event":null},"headline":"What price will Bitcoin hit in October?: Will Bitcoin dip to $75,000 in October? Yes 26% (+24.1 pts 24h) · 19 markets · $1,765,758 24h vol · tradability good · checks 4/4","one_liner":"What price will Bitcoin hit in October?: Will Bitcoin dip to $75,000 in October? Yes 26% (+24.1 pts 24h)","top_pick":{"market_id":"5170740","question":"Will Bitcoin dip to $75,000 in October?","outcome":"Yes","probability":0.26,"token_id":"6571…8131","condition_id":"0x…","clob_mid":0.2795,"url":"https://polymarket.com/event/what-price-will-bitcoin-hit-in-october-2026"},"consensus":{"sources_agree":"4/4","tradability":"good","checks":[{"check":"gamma price vs clob mid (within 3c)","agree":true,"max_diff":0.0195}],"flags":["volatile: top pick moved over a 0.539 range in 7 days"]},"finder":{"matched_events":3,"ranked":[{"rank":1,"slug":"what-price-will-bitcoin-hit-in-october-2026","volume_24h_usd":1765758.12}]},"event":{"slug":"what-price-will-bitcoin-hit-in-october-2026","title":"What price will Bitcoin hit in October?","neg_risk":false,"markets_active":19,"open_interest_usd":3787549.12},"markets":[{"id":"5170740","label":"↓ 75,000","probability":0.26,"outcomes":[{"name":"Yes","price":0.26,"token_id":"6571…"},{"name":"No","price":0.74,"token_id":"…"}],"spread":0.001}],"order_books":{"available":true,"books":[{"market_id":"5170740","outcome":"Yes","best_bid":0.279,"best_ask":0.28,"mid":0.2795,"spread":0.001,"depth_usd_2c":{"bids":2193.53,"asks":531.37}}]},"price_history":{"available":true,"now":0.266,"change_24h":0.241,"change_7d":0.2,"high_7d":0.56,"low_7d":0.02,"trend":"up"},"related":{"same_event_markets":19,"series":{"available":true,"slug":"bitcoin-hit-price-monthly","events":[{"slug":"what-price-will-bitcoin-hit-before-2027"}]},"other_matches":[]},"sources":[{"name":"polymarket gamma /public-search","status":"ok","upstream_cost_usd":0}],"upstream":{"paid_upstream_calls":0,"upstream_cost_usd":0,"upstream_calls":6},"value":{"kit_price_usd":0.02}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/sol/complete-kit/{mint}":{"get":{"operationId":"solCompleteKit","summary":"Solana rug check complete kit ($0.02): is this token safe? verdict + holders + Jupiter + RugCheck + Dexscreener","description":"Solana rug check in one call: is this token safe? Complete multi-source kit, $0.02: SAFE/WARN/DANGER grade + 0-100 token risk score with evidenced flags, top-20 holders + concentration, Dexscreener liquidity/volume, Jupiter verified tag + holder count, RugCheck second opinion, cross-source consensus. ax1 alternative: same ~$0.02 ticket, 5 sources (we don't resell ax1). Free sample /v1/kit/sample. Not a mint 404, never charged.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"mint":{"type":"string"},"kit":{"type":"string"},"headline":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"roast":{"type":"string"},"score":{"type":"integer"},"consensus":{"type":"object"},"verdict":{"type":"object"},"market":{"type":"object"},"holders":{"type":"object"},"jupiter":{"type":"object"},"rugcheck":{"type":"object"},"sources":{"type":"array"}},"required":["token_chain","mint","kit","grade","one_liner","consensus","sources"]},"example":{"token_chain":"solana","mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","kit":"sol-complete-kit-1","headline":"SAFE Bonk: Renounced mint and freeze, liquidity spread across 30 pools. · 1,027,750 holders · RugCheck 7/100 · sources agree 4/4","grade":"SAFE","one_liner":"Renounced mint and freeze, liquidity spread across 30 pools.","quip":"A veteran that has seen every cycle.","roast":"A veteran that has seen every cycle. $6.0M liquidity, $3.5M 24h volume.","score":8,"consensus":{"sources_agree":"4/4","agree":4,"total":4,"checks":[{"check":"mint authority renounced","avasis":true,"jupiter":true,"agree":true}],"extra_warnings":[],"final_grade":"SAFE"},"verdict":{"rubric":{"version":"sol-verdict-1"},"flags":[]},"market":{"available":true,"source":"dexscreener","liquidity_usd":5998478,"volume_24h_usd":3525094,"pair_count":30},"holders":{"available":true,"top":[{"owner":"…","pctOfSupply":3.1,"label":null}],"holder_count_jupiter":1027750},"jupiter":{"available":true,"is_verified":true,"organic_score":88.4,"holder_count":1027750,"audit":{"mint_authority_disabled":true,"freeze_authority_disabled":true,"top_holders_pct":30.04}},"rugcheck":{"available":true,"score_normalised":7,"risks":[{"name":"Mutable metadata","level":"warn"}],"lp_locked_pct":16.49},"sources":[{"name":"avasis/sol-verdict-1","status":"ok","upstream_cost_usd":0}],"not_included":[{"name":"ax1.vc Q-Verdict (LLM roast)","included":false}],"upstream":{"paid_upstream_calls":0,"upstream_cost_usd":0},"value":{"kit_price_usd":0.02,"a_la_carte_usd":0.26}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/complete-kit":{"get":{"operationId":"solCompleteKitByQuery","summary":"Solana rug check complete kit ($0.02): is this token safe? verdict + holders + Jupiter + RugCheck + Dexscreener","description":"Solana rug check in one call: is this token safe? Complete multi-source kit, $0.02: SAFE/WARN/DANGER grade + 0-100 token risk score with evidenced flags, top-20 holders + concentration, Dexscreener liquidity/volume, Jupiter verified tag + holder count, RugCheck second opinion, cross-source consensus. ax1 alternative: same ~$0.02 ticket, 5 sources (we don't resell ax1). Free sample /v1/kit/sample. Not a mint 404, never charged.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"mint":{"type":"string"},"kit":{"type":"string"},"headline":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"roast":{"type":"string"},"score":{"type":"integer"},"consensus":{"type":"object"},"verdict":{"type":"object"},"market":{"type":"object"},"holders":{"type":"object"},"jupiter":{"type":"object"},"rugcheck":{"type":"object"},"sources":{"type":"array"}},"required":["token_chain","mint","kit","grade","one_liner","consensus","sources"]},"example":{"token_chain":"solana","mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","kit":"sol-complete-kit-1","headline":"SAFE Bonk: Renounced mint and freeze, liquidity spread across 30 pools. · 1,027,750 holders · RugCheck 7/100 · sources agree 4/4","grade":"SAFE","one_liner":"Renounced mint and freeze, liquidity spread across 30 pools.","quip":"A veteran that has seen every cycle.","roast":"A veteran that has seen every cycle. $6.0M liquidity, $3.5M 24h volume.","score":8,"consensus":{"sources_agree":"4/4","agree":4,"total":4,"checks":[{"check":"mint authority renounced","avasis":true,"jupiter":true,"agree":true}],"extra_warnings":[],"final_grade":"SAFE"},"verdict":{"rubric":{"version":"sol-verdict-1"},"flags":[]},"market":{"available":true,"source":"dexscreener","liquidity_usd":5998478,"volume_24h_usd":3525094,"pair_count":30},"holders":{"available":true,"top":[{"owner":"…","pctOfSupply":3.1,"label":null}],"holder_count_jupiter":1027750},"jupiter":{"available":true,"is_verified":true,"organic_score":88.4,"holder_count":1027750,"audit":{"mint_authority_disabled":true,"freeze_authority_disabled":true,"top_holders_pct":30.04}},"rugcheck":{"available":true,"score_normalised":7,"risks":[{"name":"Mutable metadata","level":"warn"}],"lp_locked_pct":16.49},"sources":[{"name":"avasis/sol-verdict-1","status":"ok","upstream_cost_usd":0}],"not_included":[{"name":"ax1.vc Q-Verdict (LLM roast)","included":false}],"upstream":{"paid_upstream_calls":0,"upstream_cost_usd":0},"value":{"kit_price_usd":0.02,"a_la_carte_usd":0.26}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"solCompleteKitPost","summary":"Solana rug check complete kit ($0.02): is this token safe? verdict + holders + Jupiter + RugCheck + Dexscreener","description":"Solana rug check in one call: is this token safe? Complete multi-source kit, $0.02: SAFE/WARN/DANGER grade + 0-100 token risk score with evidenced flags, top-20 holders + concentration, Dexscreener liquidity/volume, Jupiter verified tag + holder count, RugCheck second opinion, cross-source consensus. ax1 alternative: same ~$0.02 ticket, 5 sources (we don't resell ax1). Free sample /v1/kit/sample. Not a mint 404, never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"mint":{"type":"string"},"kit":{"type":"string"},"headline":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"roast":{"type":"string"},"score":{"type":"integer"},"consensus":{"type":"object"},"verdict":{"type":"object"},"market":{"type":"object"},"holders":{"type":"object"},"jupiter":{"type":"object"},"rugcheck":{"type":"object"},"sources":{"type":"array"}},"required":["token_chain","mint","kit","grade","one_liner","consensus","sources"]},"example":{"token_chain":"solana","mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","kit":"sol-complete-kit-1","headline":"SAFE Bonk: Renounced mint and freeze, liquidity spread across 30 pools. · 1,027,750 holders · RugCheck 7/100 · sources agree 4/4","grade":"SAFE","one_liner":"Renounced mint and freeze, liquidity spread across 30 pools.","quip":"A veteran that has seen every cycle.","roast":"A veteran that has seen every cycle. $6.0M liquidity, $3.5M 24h volume.","score":8,"consensus":{"sources_agree":"4/4","agree":4,"total":4,"checks":[{"check":"mint authority renounced","avasis":true,"jupiter":true,"agree":true}],"extra_warnings":[],"final_grade":"SAFE"},"verdict":{"rubric":{"version":"sol-verdict-1"},"flags":[]},"market":{"available":true,"source":"dexscreener","liquidity_usd":5998478,"volume_24h_usd":3525094,"pair_count":30},"holders":{"available":true,"top":[{"owner":"…","pctOfSupply":3.1,"label":null}],"holder_count_jupiter":1027750},"jupiter":{"available":true,"is_verified":true,"organic_score":88.4,"holder_count":1027750,"audit":{"mint_authority_disabled":true,"freeze_authority_disabled":true,"top_holders_pct":30.04}},"rugcheck":{"available":true,"score_normalised":7,"risks":[{"name":"Mutable metadata","level":"warn"}],"lp_locked_pct":16.49},"sources":[{"name":"avasis/sol-verdict-1","status":"ok","upstream_cost_usd":0}],"not_included":[{"name":"ax1.vc Q-Verdict (LLM roast)","included":false}],"upstream":{"paid_upstream_calls":0,"upstream_cost_usd":0},"value":{"kit_price_usd":0.02,"a_la_carte_usd":0.26}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/meter/pack-trial":{"get":{"operationId":"meterPackTrial","summary":"Prepaid API credit: trial pack, $0.060 of calls (+20% bonus)","description":"One x402 payment of $0.050 USDC buys a bearer token holding $0.060 of credit for every metered endpoint on this host (20% bonus). Send it as \"Authorization: Bearer <token>\"; each call is debited with no per-call settlement or facilitator round trip. Failed calls are never debited. Send an existing token in X-Meter-Token to top it up. Credit expires 30 days after the last top-up.","tags":["meter"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":["string","null"]},"creditedAtomic":{"type":"integer"},"balanceAtomic":{"type":"integer"},"expiresAt":{"type":"string"}},"required":["creditedAtomic","balanceAtomic","expiresAt"]},"example":{"token":"mtr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","account":"3f9a0c1d2e4b5a69","creditedAtomic":60000,"creditedUSDC":"0.060","topUp":false,"status":"active","balanceAtomic":60000,"expiresAt":"2026-11-28T12:00:00.000Z","use":{"header":"Authorization: Bearer <token>","balance":"https://agents.avasis.ai/v1/meter/balance","prices":"https://agents.avasis.ai/v1/meter"}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/evm/gas-ops":{"get":{"operationId":"evmGasOps","summary":"EVM gas ops kit ($0.05): Ethereum gas + Base gas fee tiers, next base fee, USD cost per tx, pick","description":"Ethereum gas + Base gas in one call (evm gas ops, $0.05) for agents that send transactions. Per chain: base fee, priority fee, four EIP-1559 fee tiers (slow/standard/fast/urgent: maxFeePerGas + maxPriorityFeePerGas), next-block base-fee estimate + congestion, ETH + USD cost of a transfer / ERC-20 transfer / approve / swap and of your gas_limit (Chainlink ETH/USD), Base-vs-Ethereum comparison, a pick with its reason. Free live sample /v1/evm/gas-ops/sample. Upstream down 503, never charged.","tags":["gas"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"gas_limit","in":"query","required":false,"schema":{"type":"integer","minimum":21000,"maximum":30000000,"description":"gas units of YOUR transaction (default 21000 = ETH transfer; ~65000 ERC-20 transfer, ~180000 swap): priced per tier in ETH and USD under costs.your_tx"},"example":21000}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"kit":{"type":"string"},"headline":{"type":"string"},"gas_limit":{"type":"integer"},"eth_usd":{"type":"object"},"ethereum":{"type":"object"},"base":{"type":"object"},"compare":{"type":"object"},"solana":{"type":"object"},"how_to_use":{"type":"array"},"sources":{"type":"array"}},"required":["kit","headline","ethereum","base","eth_usd"]},"example":{"kit":"evm-gas-ops-1","headline":"Ethereum base fee 0.41 gwei, balanced (falling), transfer ~$0.076 · Base 0.0021 gwei, transfer ~$0.00017 · ETH $2580.5 · Base 455x cheaper for 21000 gas right now","gas_limit":21000,"eth_usd":{"available":true,"price":2580.5,"source":"chainlink ETH/USD aggregator on Base (latestRoundData)"},"ethereum":{"available":true,"chain":"ethereum","chainId":1,"seq":812,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":420,"stale":false,"block":{"number":23700000,"timestamp":1761739195,"ageSeconds":5,"gasUsedPct":46.3},"gwei":{"baseFee":0.41,"gasPrice":1.41,"maxPriorityFee":1,"suggestedMaxFee":1.82},"priority":{"gwei":1,"basis":"node eth_maxPriorityFeePerGas"},"tiers":[{"tier":"slow","maxPriorityFeePerGas":{"gwei":0.5},"maxFeePerGas":{"gwei":0.96125}},{"tier":"standard","maxPriorityFeePerGas":{"gwei":1},"maxFeePerGas":{"gwei":1.82}},{"tier":"fast","maxPriorityFeePerGas":{"gwei":1.5},"maxFeePerGas":{"gwei":2.32}},{"tier":"urgent","maxPriorityFeePerGas":{"gwei":2},"maxFeePerGas":{"gwei":3.23}}],"next_block":{"label":"balanced","base_fee_direction":"falling","next_base_fee_estimate":{"gwei":0.406208},"change_pct":-0.925,"vs_target":0.926,"eip1559":{"elasticity":2,"denominator":8,"max_change_pct":12.5}},"costs":{"per_gas_now":{"gwei":1.41},"ops":[{"op":"eth_transfer","gas":21000,"expected":{"eth":0.00002961,"usd":0.0764086}}],"your_tx":{"gas":21000,"expected":{"eth":0.00002961,"usd":0.0764086}},"note":"(+ erc20_transfer, erc20_approve, dex_swap, max_authorized, wei in the paid body)"},"pick":{"tier":"standard"}},"base":{"available":true,"chain":"base","chainId":8453,"seq":2411,"observedAt":"2026-10-29T12:00:00.000Z","ageMs":380,"stale":false,"block":{"number":37400000,"timestamp":1761739199,"ageSeconds":1,"gasUsedPct":14.2},"gwei":{"baseFee":0.0021,"gasPrice":0.0031,"maxPriorityFee":0.001,"suggestedMaxFee":0.0052},"priority":{"gwei":0.001,"basis":"node eth_maxPriorityFeePerGas"},"tiers":[{"tier":"slow","maxPriorityFeePerGas":{"gwei":0.0005},"maxFeePerGas":{"gwei":0.002863}},{"tier":"standard","maxPriorityFeePerGas":{"gwei":0.001},"maxFeePerGas":{"gwei":0.0052}},{"tier":"fast","maxPriorityFeePerGas":{"gwei":0.0015},"maxFeePerGas":{"gwei":0.0057}},{"tier":"urgent","maxPriorityFeePerGas":{"gwei":0.002},"maxFeePerGas":{"gwei":0.0083}}],"next_block":{"label":"balanced","base_fee_direction":"falling","next_base_fee_estimate":{"gwei":0.002099},"change_pct":-0.0592,"vs_target":0.852,"eip1559":{"elasticity":6,"denominator":250,"max_change_pct":0.4}},"costs":{"per_gas_now":{"gwei":0.0031},"ops":[{"op":"eth_transfer","gas":21000,"expected":{"eth":6.51e-8,"usd":0.000167991}}],"your_tx":{"gas":21000,"expected":{"eth":6.51e-8,"usd":0.000167991}},"note":"(+ erc20_transfer, erc20_approve, dex_swap, max_authorized, wei in the paid body)"},"pick":{"tier":"standard"}},"compare":{"cheaper":"base","ethereum_over_base":454.8,"gas_limit":21000},"solana":{"slot":{"available":true,"slotProcessed":462900001},"priority_fee":{"available":true,"suggested":{"low":1000,"medium":10000,"high":50000,"veryHigh":200000}},"sol_usd":{"available":true,"price":100.08}},"how_to_use":["Type-2 (EIP-1559) transaction: set maxFeePerGas and maxPriorityFeePerGas from the tier you choose (tiers[]); pick.tier is our deterministic suggestion with its reason."],"sources":["publicnode ethereum rpc (via stream hub)","publicnode base rpc (via stream hub)","chainlink ETH/USD (Base feed)","publicnode solana rpc (via stream hub)"],"computedAt":"2026-10-29T12:00:00.500Z","also_try":[{"what":"Base tx precheck: simulate YOUR unsigned transaction before you sign (would it revert + reason, gas in USD, every transfer, approval exposure, counterparty risk): SIGN / CAUTION / BLOCK","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/tx-precheck","free_sample":"https://agents.avasis.ai/v1/evm/tx-precheck/sample"},{"what":"Base wallet multi-balance: ETH + USDC + up to 20 ERC-20s in one call, USD totals, and can this wallet pay the gas you just priced","price_usd":"0.02","url":"https://agents.avasis.ai/v1/base/multi-balance","free_sample":"https://agents.avasis.ai/v1/evm/multi-balance/sample"}]}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/token-verdict-batch":{"get":{"operationId":"solVerdictBatch","summary":"Solana token verdict batch: up to 10 mints, one $0.05 payment","description":"Up to 10 Solana token verdicts (SAFE / WARN / DANGER, same deterministic rubric as /v1/sol/token-verdict) in one call (?mints=a,b,...), one payment. Top-level grade = worst member; verdicts[] has each mint's full result or its error. Same receipt: operation_id + free status_url, replay the same signed request to recover, never pay twice. Garbage input -> 400 before any challenge; never charged.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mints","in":"query","required":true,"schema":{"type":"string","description":"1..10 comma-separated base58 mint addresses (duplicates removed)"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_7bK2mQxZr8kq1yN0vD7aB","status":"completed","grade":"WARN","one_liner":"2 mints: 0 DANGER, 1 WARN, 1 SAFE","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_7bK2mQxZr8kq1yN0vD7aB","page_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx","image_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx/card.svg","result":{"grade":"WARN","one_liner":"2 mints: 0 DANGER, 1 WARN, 1 SAFE","summary":"Batch verdict (WARN worst of 2/2 graded). 2 mints: 0 DANGER, 1 WARN, 1 SAFE.","score":33,"scoreMeaning":"max member risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"batch: grade = worst member grade (WARN)"},"flags":[],"metrics":{"ticker":"BATCH","tokenName":"2 Solana mints","chain":"solana","metrics":[]},"batch":true,"count":2,"verdicts":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","score":33,"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}}},{"mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","grade":"SAFE","one_liner":"No flags","score":8,"result":{"grade":"SAFE","one_liner":"No flags","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":8,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}}}],"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent."},"payment":{"status":"settling","method":"x402","amount_raw":"50000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/token-verdict-batch?mints=73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"solVerdictBatchPost","summary":"Solana token verdict batch: up to 10 mints, one $0.05 payment","description":"Up to 10 Solana token verdicts (SAFE / WARN / DANGER, same deterministic rubric as /v1/sol/token-verdict) in one call (?mints=a,b,...), one payment. Top-level grade = worst member; verdicts[] has each mint's full result or its error. Same receipt: operation_id + free status_url, replay the same signed request to recover, never pay twice. Garbage input -> 400 before any challenge; never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"result":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result"]},"example":{"token_chain":"solana","operation_id":"vop_7bK2mQxZr8kq1yN0vD7aB","status":"completed","grade":"WARN","one_liner":"2 mints: 0 DANGER, 1 WARN, 1 SAFE","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_7bK2mQxZr8kq1yN0vD7aB","page_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx","image_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aB7bK2mQx/card.svg","result":{"grade":"WARN","one_liner":"2 mints: 0 DANGER, 1 WARN, 1 SAFE","summary":"Batch verdict (WARN worst of 2/2 graded). 2 mints: 0 DANGER, 1 WARN, 1 SAFE.","score":33,"scoreMeaning":"max member risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"batch: grade = worst member grade (WARN)"},"flags":[],"metrics":{"ticker":"BATCH","tokenName":"2 Solana mints","chain":"solana","metrics":[]},"batch":true,"count":2,"verdicts":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","score":33,"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}}},{"mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","grade":"SAFE","one_liner":"No flags","score":8,"result":{"grade":"SAFE","one_liner":"No flags","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":8,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}}}}],"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent."},"payment":{"status":"settling","method":"x402","amount_raw":"50000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/token-verdict-batch?mints=73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"mints":{"type":"array","items":{"type":"string"},"description":"base58 mint addresses (or a comma-separated string)"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"mints":["73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"]}}}}}},"/v1/sol/holders-authority/{mint}":{"get":{"operationId":"holdersAuthority","summary":"Solana holders + authority pack: top 20, holder count, extensions","description":"Holders + authority pack for a Solana mint: SPL vs Token-2022, decimals, supply, mint/freeze authority, every Token-2022 extension with a risk label, on-chain metadata (name, symbol, uri, update authority, mutable), top 20 owners with % of supply and labels (pump.fun curve, PumpSwap pool, Raydium/Orca/Meteora, burn), concentration top1/5/10/20 incl. and excl. pools/curve/burn, holder count when the holder set fits a public-RPC scan, pump.fun curve/graduation. < 8 s.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"holders":{"type":"object"},"pump":{"type":"object"}},"required":["mint","verdict","flags","token","holders","pump"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"holders-authority","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","uri":"https://ipfs.io/ipfs/Qm...","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","updateAuthorityLabel":"pump.fun","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"budget":{"rpcCalls":6,"maxRpcCalls":16,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":2900,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/holders-authority":{"get":{"operationId":"holdersAuthorityByQuery","summary":"Solana holders + authority pack: top 20, holder count, extensions","description":"Holders + authority pack for a Solana mint: SPL vs Token-2022, decimals, supply, mint/freeze authority, every Token-2022 extension with a risk label, on-chain metadata (name, symbol, uri, update authority, mutable), top 20 owners with % of supply and labels (pump.fun curve, PumpSwap pool, Raydium/Orca/Meteora, burn), concentration top1/5/10/20 incl. and excl. pools/curve/burn, holder count when the holder set fits a public-RPC scan, pump.fun curve/graduation. < 8 s.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"holders":{"type":"object"},"pump":{"type":"object"}},"required":["mint","verdict","flags","token","holders","pump"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"holders-authority","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","uri":"https://ipfs.io/ipfs/Qm...","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","updateAuthorityLabel":"pump.fun","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"budget":{"rpcCalls":6,"maxRpcCalls":16,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":2900,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"holdersAuthorityPost","summary":"Solana holders + authority pack: top 20, holder count, extensions","description":"Holders + authority pack for a Solana mint: SPL vs Token-2022, decimals, supply, mint/freeze authority, every Token-2022 extension with a risk label, on-chain metadata (name, symbol, uri, update authority, mutable), top 20 owners with % of supply and labels (pump.fun curve, PumpSwap pool, Raydium/Orca/Meteora, burn), concentration top1/5/10/20 incl. and excl. pools/curve/burn, holder count when the holder set fits a public-RPC scan, pump.fun curve/graduation. < 8 s. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"token":{"type":"object"},"holders":{"type":"object"},"pump":{"type":"object"}},"required":["mint","verdict","flags","token","holders","pump"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"holders-authority","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","uri":"https://ipfs.io/ipfs/Qm...","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","updateAuthorityLabel":"pump.fun","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"budget":{"rpcCalls":6,"maxRpcCalls":16,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":2900,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/x402/audit":{"get":{"operationId":"x402AuditLint","summary":"x402 Seller Audit lint ($0.25): score + fix list for any 402 endpoint","description":"Lint any x402 endpoint in one call: decodes the live 402 (v1 body or v2 PAYMENT-REQUIRED), checks accepts[] (canonical USDC, payTo, amount, EIP-712 extra, timeout), header size, description length, $1 cap, bazaar schema, CORS. Score 0-100 + prioritized fixes. Read-only, never pays. Full audit $2 at /v1/x402/audit/full.","tags":["x402-seller"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.25"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Public x402 endpoint URL to audit (http/https, max 2048 chars)"},"example":"https://agents.avasis.ai/v1/quest/token-watch"},{"name":"method","in":"query","required":false,"schema":{"type":"string","description":"GET (default) or POST"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"verdict":{"type":"string"},"score":{"type":"number"},"checks":{"type":"array"},"fixes":{"type":"array"},"accepts":{"type":"array"}},"required":["url","verdict","score","checks","fixes"]},"example":{"audit":"lint","version":"x402-seller-audit-1","url":"https://agents.avasis.ai/v1/quest/token-watch","final_url":"https://agents.avasis.ai/v1/quest/token-watch","method":"GET","http_status":402,"latency_ms":140,"x402_version":2,"challenge_source":"header","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","usd":0.02,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","maxTimeoutSeconds":120}],"lowest_price_usd":0.02,"verdict":"conformant","score":100,"fails":0,"warns":0,"checks":[{"id":"http.402","status":"pass","detail":"unpaid request answers 402"},{"id":"header.size","status":"pass","detail":"PAYMENT-REQUIRED is 4568 bytes"},{"id":"description.length","status":"pass","detail":"description 412 chars"}],"fixes":[],"payment_attempted":false,"audit_ms":180}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/dossier/{mint}":{"get":{"operationId":"solDossier","summary":"Solana token dossier: facts pack + grounded research brief + card ($0.50)","description":"Deep Solana mint research in one paid call: the deterministic SAFE/WARN/DANGER verdict, a facts pack (authorities, Token-2022 traps, holder concentration + top wallets, pump.fun curve / PumpSwap pool, creator holding + trades + launch record, mint age) and a research brief grounded only in those facts: exec summary, open risks, what would change the call, unknowns, agent checklist, each line citing facts. Free status_url; replay to recover, never pay twice. Garbage -> 400 before any challenge.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"result":{"type":"object"},"dossier":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result","dossier"]},"example":{"token_chain":"solana","operation_id":"vop_5dQ7mWxZr8kq1yN0vD7aD","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_5dQ7mWxZr8kq1yN0vD7aD","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply. https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png"},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}},"payment":{"status":"settling","method":"x402","amount_raw":"500000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/dossier/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/dossier":{"get":{"operationId":"solDossierByQuery","summary":"Solana token dossier: facts pack + grounded research brief + card ($0.50)","description":"Deep Solana mint research in one paid call: the deterministic SAFE/WARN/DANGER verdict, a facts pack (authorities, Token-2022 traps, holder concentration + top wallets, pump.fun curve / PumpSwap pool, creator holding + trades + launch record, mint age) and a research brief grounded only in those facts: exec summary, open risks, what would change the call, unknowns, agent checklist, each line citing facts. Free status_url; replay to recover, never pay twice. Garbage -> 400 before any challenge.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"result":{"type":"object"},"dossier":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result","dossier"]},"example":{"token_chain":"solana","operation_id":"vop_5dQ7mWxZr8kq1yN0vD7aD","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_5dQ7mWxZr8kq1yN0vD7aD","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply. https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png"},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}},"payment":{"status":"settling","method":"x402","amount_raw":"500000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/dossier/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"solDossierPost","summary":"Solana token dossier: facts pack + grounded research brief + card ($0.50)","description":"Deep Solana mint research in one paid call: the deterministic SAFE/WARN/DANGER verdict, a facts pack (authorities, Token-2022 traps, holder concentration + top wallets, pump.fun curve / PumpSwap pool, creator holding + trades + launch record, mint age) and a research brief grounded only in those facts: exec summary, open risks, what would change the call, unknowns, agent checklist, each line citing facts. Free status_url; replay to recover, never pay twice. Garbage -> 400 before any challenge. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["verdict"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token_chain":{"type":"string"},"operation_id":{"type":"string"},"status":{"type":"string"},"grade":{"type":"string"},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"share":{"type":"object"},"result":{"type":"object"},"dossier":{"type":"object"},"payment":{"type":"object"},"recovery":{"type":"object"}},"required":["operation_id","status","grade","status_url","result","dossier"]},"example":{"token_chain":"solana","operation_id":"vop_5dQ7mWxZr8kq1yN0vD7aD","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_5dQ7mWxZr8kq1yN0vD7aD","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png","card_svg_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.svg","share":{"text":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply. https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","page_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx","image_url":"https://agents.avasis.ai/verdict/Vd7aD5dQ7mWx/card.png"},"result":{"grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","summary":"WARN (risk 33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","score":33,"scoreMeaning":"risk 0-100, higher = riskier","rubric":{"version":"sol-verdict-1","rule":"WARN: high flag TOP_HOLDER_LARGE (score 33)"},"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}],"metrics":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","chain":"solana","ticker":"COIN","tokenName":"Coin","fetchedAt":"2026-10-29T14:00:00.000Z","slot":377000000,"metrics":[{"key":"mint_authority","label":"Mint authority","availability":"available","value":"renounced","unit":"address|renounced","provenance":{"source":"onchain","method":"getMultipleAccounts(mint)","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}},{"key":"top10_pct","label":"Top 10 wallets (excl. pools/curve/burn)","availability":"available","value":"54.1","unit":"% of supply","provenance":{"source":"onchain","method":"getTokenLargestAccounts","slot":377000000,"observedAt":"2026-10-29T14:00:00.000Z"}}]},"generatedAt":"2026-10-29T14:00:00.200Z","fromCache":false,"disclaimer":"Automated structural read of public Solana state at fetchedAt. Not financial advice, not a guarantee: a GREEN token can still lose value, and RED flags describe what the on-chain configuration ALLOWS, not intent.","quip":"One wallet holds 21.1%. That's not a community, that's a landlord.","roast":"One wallet holds 21.1%. That's not a community, that's a landlord. $412k liquidity across 3 pools, $1.9M 24h volume, $2.4M mcap (Dexscreener).","market":{"available":true,"source":"dexscreener","fetchedAt":"2026-10-29T14:00:00.000Z","liquidity_usd":412000,"volume_24h_usd":1900000,"buys_24h":5210,"sells_24h":4870,"price_usd":0.0024,"price_change_24h_pct":18.4,"market_cap_usd":2400000,"fdv_usd":2400000,"pair_count":3,"market_age_days":2,"top_pool":{"dex":"pumpswap","address":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","quote_symbol":"SOL","liquidity_usd":390000}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}}},"dossier":{"version":"sol-dossier-1","facts":{"version":"sol-dossier-1","mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","slot":377000000,"identity":{"symbol":"COIN","name":"Coin","tokenProgram":"spl-token"},"authorities":{"mint":"renounced","freeze":"renounced","token2022":{"riskExtensions":[]}},"holders":{"available":true,"holderCount":1843,"top10ExclPct":54.1,"top10InclPct":59.7,"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false}},"curve":{"isPumpCoin":true,"status":"graduated","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true}},"creator":{"address":"5GdK7pump1111111111111111111111111111111111","holdingPct":0},"age":{"verified":true,"ageHours":31.1},"risk":{"flags":[{"code":"TOP_HOLDER_LARGE","severity":"high","weight":20,"evidence":"one wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS holds 21.1% of supply"},{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply"}]},"coverage":{"degraded":[]}},"brief":{"version":"sol-dossier-1","headline":"COIN: WARN (risk 33/100). One wallet holds 21.1% of the supply","confidence":{"level":"high"},"exec_summary":[{"text":"COIN grades WARN with a risk score of 33/100 under rubric sol-verdict-1 (WARN: high flag TOP_HOLDER_LARGE (score 33)).","basis":["risk.verdict.grade","risk.verdict.score","risk.verdict.rubric"]},{"text":"Mint and freeze authorities are both renounced: supply cannot be inflated and holders cannot be frozen by the issuer.","basis":["authorities.mint","authorities.freeze"]},{"text":"Top 10 wallets excluding pools, curve and burn hold 54.1% of supply (59.7% including them); the largest unlabeled wallet 9yhi...EtKS holds 21.1%. 1,843 accounts hold a balance.","basis":["holders.top10ExclPct","holders.largestUnlabeledOwner","holders.holderCount"]}],"open_risks":[{"risk":"One wallet (9yhi...EtKS) can move 21.1% of supply in a single sale","severity":"high","evidence":"largest unlabeled owner holds 21.1%","basis":["holders.largestUnlabeledOwner"]}],"what_would_change_the_call":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","then":"removes TOP10_CONCENTRATED; score 18 (GREEN)","direction":"better","basis":["risk.improvements.0"]}],"unknowns":[],"agent_action_checklist":[{"action":"Watch the largest unlabeled wallet 9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS (21.1% of supply) for transfers","why":"single largest sell-side risk visible on-chain","basis":["holders.largestUnlabeledOwner"]}],"grounding":"Every statement lists `basis`: dotted paths into `facts`.","method":"deterministic template over on-chain facts (no model inference at runtime)"}},"payment":{"status":"settling","method":"x402","amount_raw":"500000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","tx_hash":null},"recovery":{"url":"https://agents.avasis.ai/v1/sol/dossier/73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","method":"GET","headers":"the original PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1), byte-identical","note":"re-send this exact request to recover; GET status_url is free. Never sign a new payment for an unknown outcome."}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/sol/risk-pack/{mint}":{"get":{"operationId":"riskPack","summary":"Solana deep rug-risk pack: holders, creator activity, mint age","description":"Deep on-chain rug-risk pack for one Solana mint: everything in holders-authority plus the creator/dev (from the pump.fun curve or Metaplex), the creator's current holding %, the creator's buys/sells in this mint from a bounded sample of decoded transactions, mint age from the verified creation transaction (else a lower bound: public RPC keeps ~1-3 days of signatures), pump.fun curve progress or PumpSwap pool reserves, a 0-100 risk score with RED/AMBER/GREEN, every flag with evidence and weight, what would change the verdict, sources and the RPC budget used. Pure on-chain, < 20 s; timeout -> 504 and busy -> 503, never charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"whatWouldChangeTheVerdict":{"type":"object"},"token":{"type":"object"},"holders":{"type":"object"},"creator":{"type":"object"},"mintAge":{"type":"object"}},"required":["mint","verdict","flags","whatWouldChangeTheVerdict","token","holders","creator","mintAge"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"risk-pack","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","criticalFlags":[]},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"whatWouldChangeTheVerdict":{"improvements":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","removes":"TOP10_CONCENTRATED","scoreAfter":18,"levelAfter":"AMBER"}],"watch":[]},"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"creator":{"address":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","basis":"pump.fun bonding curve creator","holding":{"pctOfSupply":0,"inTopHolders":false},"activity":{"signaturesSeen":3,"historyComplete":true,"sampled":3,"events":[{"signature":"5Xq...","time":"2026-10-28T09:12:44.000Z","kind":"buy","tokenDeltaPctOfSupply":3.1,"solDelta":-1.02,"isLaunchTx":true}],"sampleTotalsPctOfSupply":{"bought":3.1,"sold":3.1,"sentOrBurned":0,"received":0}}},"mintAge":{"firstSignatureTime":"2026-10-28T09:12:44.000Z","ageSeconds":112000,"ageHours":31.1,"verified":true,"basis":"creation transaction of the Metaplex metadata account (verified)"},"sources":["solana-mainnet getMultipleAccounts via PublicNode"],"budget":{"rpcCalls":14,"maxRpcCalls":40,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":6120,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/risk-pack":{"get":{"operationId":"riskPackByQuery","summary":"Solana deep rug-risk pack: holders, creator activity, mint age","description":"Deep on-chain rug-risk pack for one Solana mint: everything in holders-authority plus the creator/dev (from the pump.fun curve or Metaplex), the creator's current holding %, the creator's buys/sells in this mint from a bounded sample of decoded transactions, mint age from the verified creation transaction (else a lower bound: public RPC keeps ~1-3 days of signatures), pump.fun curve progress or PumpSwap pool reserves, a 0-100 risk score with RED/AMBER/GREEN, every flag with evidence and weight, what would change the verdict, sources and the RPC budget used. Pure on-chain, < 20 s; timeout -> 504 and busy -> 503, never charged.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana SPL / Token-2022 mint address"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"whatWouldChangeTheVerdict":{"type":"object"},"token":{"type":"object"},"holders":{"type":"object"},"creator":{"type":"object"},"mintAge":{"type":"object"}},"required":["mint","verdict","flags","whatWouldChangeTheVerdict","token","holders","creator","mintAge"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"risk-pack","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","criticalFlags":[]},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"whatWouldChangeTheVerdict":{"improvements":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","removes":"TOP10_CONCENTRATED","scoreAfter":18,"levelAfter":"AMBER"}],"watch":[]},"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"creator":{"address":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","basis":"pump.fun bonding curve creator","holding":{"pctOfSupply":0,"inTopHolders":false},"activity":{"signaturesSeen":3,"historyComplete":true,"sampled":3,"events":[{"signature":"5Xq...","time":"2026-10-28T09:12:44.000Z","kind":"buy","tokenDeltaPctOfSupply":3.1,"solDelta":-1.02,"isLaunchTx":true}],"sampleTotalsPctOfSupply":{"bought":3.1,"sold":3.1,"sentOrBurned":0,"received":0}}},"mintAge":{"firstSignatureTime":"2026-10-28T09:12:44.000Z","ageSeconds":112000,"ageHours":31.1,"verified":true,"basis":"creation transaction of the Metaplex metadata account (verified)"},"sources":["solana-mainnet getMultipleAccounts via PublicNode"],"budget":{"rpcCalls":14,"maxRpcCalls":40,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":6120,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"riskPackPost","summary":"Solana deep rug-risk pack: holders, creator activity, mint age","description":"Deep on-chain rug-risk pack for one Solana mint: everything in holders-authority plus the creator/dev (from the pump.fun curve or Metaplex), the creator's current holding %, the creator's buys/sells in this mint from a bounded sample of decoded transactions, mint age from the verified creation transaction (else a lower bound: public RPC keeps ~1-3 days of signatures), pump.fun curve progress or PumpSwap pool reserves, a 0-100 risk score with RED/AMBER/GREEN, every flag with evidence and weight, what would change the verdict, sources and the RPC budget used. Pure on-chain, < 20 s; timeout -> 504 and busy -> 503, never charged. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"verdict":{"type":"object"},"flags":{"type":"array"},"whatWouldChangeTheVerdict":{"type":"object"},"token":{"type":"object"},"holders":{"type":"object"},"creator":{"type":"object"},"mintAge":{"type":"object"}},"required":["mint","verdict","flags","whatWouldChangeTheVerdict","token","holders","creator","mintAge"]},"example":{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"risk-pack","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE.","criticalFlags":[]},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}],"whatWouldChangeTheVerdict":{"improvements":[{"if":"top-10 (excl. pools/curve/burn) falls below 30%","removes":"TOP10_CONCENTRATED","scoreAfter":18,"levelAfter":"AMBER"}],"watch":[]},"token":{"program":"spl-token","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","decimals":6,"supply":{"raw":"999999999999999","ui":"999999999.999999"},"mintAuthority":null,"freezeAuthority":null,"mintAuthorityRenounced":true,"freezeAuthorityRenounced":true,"token2022":null,"knownIssuer":null},"metadata":{"source":"metaplex","name":"Coin","symbol":"COIN","updateAuthority":"TSLvdd1pWpHVjahSpsvCXUbgwsL3JAcvokwaKt1eokM","mutable":false},"holders":{"method":"getProgramAccounts-scan","holderCount":1843,"concentration":{"basis":"owners (token accounts of one owner merged) among the top token accounts, % of total supply","inclPoolsCurveBurn":{"top1Pct":18.2,"top5Pct":41.3,"top10Pct":59.7,"top20Pct":71.4},"exclPoolsCurveBurn":{"top1Pct":21.1,"top5Pct":38.2,"top10Pct":54.1,"top20Pct":63.9},"largestUnlabeledOwner":{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pctOfSupply":21.1,"isCreator":false},"labeledPct":{"curve":0,"pool":18.2,"burn":0,"programOwned":0}},"top":[{"rank":1,"tokenAccount":"6Yh2sFf8mYdhD5YxBZuXvpwHJTv1XKqzCbiv1HHNhAzw","owner":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","amount":"182000000.5","pctOfSupply":18.2,"ownerType":"program-derived (off-curve)","ownerProgram":"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA","label":"PumpSwap pool","labelKind":"pool","isCreator":false,"frozen":false,"delegate":null}]},"pump":{"isPumpCoin":true,"bondingCurve":"7xzFVZhi3mfgNGGKxysRQpqzX6Wd3KQRcRvbKssEJb9n","complete":true,"status":"graduated","progressPct":100,"creator":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","pumpSwap":{"pool":"82snhLdfCPovMbeFBwTFEqCiUabg3KyniQspfykm1LD7","found":true,"baseReserve":"182000000.5","quoteReserve":"84.1"}},"creator":{"address":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","basis":"pump.fun bonding curve creator","holding":{"pctOfSupply":0,"inTopHolders":false},"activity":{"signaturesSeen":3,"historyComplete":true,"sampled":3,"events":[{"signature":"5Xq...","time":"2026-10-28T09:12:44.000Z","kind":"buy","tokenDeltaPctOfSupply":3.1,"solDelta":-1.02,"isLaunchTx":true}],"sampleTotalsPctOfSupply":{"bought":3.1,"sold":3.1,"sentOrBurned":0,"received":0}}},"mintAge":{"firstSignatureTime":"2026-10-28T09:12:44.000Z","ageSeconds":112000,"ageHours":31.1,"verified":true,"basis":"creation transaction of the Metaplex metadata account (verified)"},"sources":["solana-mainnet getMultipleAccounts via PublicNode"],"budget":{"rpcCalls":14,"maxRpcCalls":40,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":6120,"hardTimeoutMs":19000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"base58 Solana mint address"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"tokenAddress":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump"}}}}}},"/v1/meter/pack-1":{"get":{"operationId":"meterPack1","summary":"Prepaid API credit: $1 pack, $1.100 of calls (+10% bonus)","description":"One x402 payment of $1.000 USDC buys a bearer token holding $1.100 of credit for every metered endpoint on this host (10% bonus). Send it as \"Authorization: Bearer <token>\"; each call is debited with no per-call settlement or facilitator round trip. Failed calls are never debited. Send an existing token in X-Meter-Token to top it up. Credit expires 30 days after the last top-up.","tags":["meter"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":["string","null"]},"creditedAtomic":{"type":"integer"},"balanceAtomic":{"type":"integer"},"expiresAt":{"type":"string"}},"required":["creditedAtomic","balanceAtomic","expiresAt"]},"example":{"token":"mtr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","account":"3f9a0c1d2e4b5a69","creditedAtomic":1100000,"creditedUSDC":"1.100","topUp":false,"status":"active","balanceAtomic":1100000,"expiresAt":"2026-11-28T12:00:00.000Z","use":{"header":"Authorization: Bearer <token>","balance":"https://agents.avasis.ai/v1/meter/balance","prices":"https://agents.avasis.ai/v1/meter"}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/x402/audit/full":{"get":{"operationId":"x402AuditFull","summary":"x402 Seller Audit full ($2.00): lint + CDP validator + Bazaar index + discovery","description":"Full x402 seller audit: everything in the $0.25 lint plus HEAD/POST parity (free paths), accepts[] stability re-probe, Coinbase CDP x402 validator (valid + failed checks) and Bazaar index.active, and origin discovery files (/.well-known/x402, openapi.json, llms.txt, agent-card). Score + fix list. Read-only. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["x402-seller"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"2.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Public x402 endpoint URL to audit (http/https, max 2048 chars)"},"example":"https://agents.avasis.ai/v1/quest/token-watch"},{"name":"method","in":"query","required":false,"schema":{"type":"string","description":"GET (default) or POST"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"verdict":{"type":"string"},"score":{"type":"number"},"checks":{"type":"array"},"fixes":{"type":"array"},"accepts":{"type":"array"}},"required":["url","verdict","score","checks","fixes"]},"example":{"audit":"full","version":"x402-seller-audit-1","url":"https://agents.avasis.ai/v1/quest/token-watch","final_url":"https://agents.avasis.ai/v1/quest/token-watch","method":"GET","http_status":402,"latency_ms":140,"x402_version":2,"challenge_source":"header","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","usd":0.02,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8","maxTimeoutSeconds":120}],"lowest_price_usd":0.02,"verdict":"conformant","score":100,"fails":0,"warns":0,"checks":[{"id":"http.402","status":"pass","detail":"unpaid request answers 402"},{"id":"header.size","status":"pass","detail":"PAYMENT-REQUIRED is 4568 bytes"},{"id":"description.length","status":"pass","detail":"description 412 chars"}],"fixes":[],"payment_attempted":false,"audit_ms":180,"cdp":{"valid":true,"index_active":true,"failed_required":[]},"discovery":{"/.well-known/x402":{"status":200},"/openapi.json":{"status":200},"/llms.txt":{"status":200}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/risk-pack-batch":{"get":{"operationId":"riskPackBatch","summary":"Solana rug-risk pack batch (2-10 mints) + bundle check","description":"The deep rug-risk pack for 2-10 Solana mints in one call (?mints=a,b,...), with a ranked riskiest-first summary and a cross-mint check: shared creator, shared metadata update authority and wallets in the top 20 of several mints (same-deployer / bundle signal). Invalid or duplicate-only input -> 400, a non-mint -> 404, timeout -> 504: never charged. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[{"name":"mints","in":"query","required":true,"schema":{"type":"string","description":"2..10 comma-separated base58 mint addresses (duplicates removed)"},"example":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump,Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"summary":{"type":"object"},"crossMint":{"type":"object"},"packs":{"type":"array"}},"required":["count","summary","crossMint","packs"]},"example":{"product":"risk-pack-batch","count":2,"mints":["73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump"],"summary":{"riskiestFirst":[{"rank":1,"mint":"Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump","symbol":"LaMisery","score":41,"level":"AMBER","topFlags":["TOP_HOLDER_LARGE"]},{"rank":2,"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","symbol":"COIN","score":33,"level":"AMBER","topFlags":["TOP10_CONCENTRATED"]}],"levels":{"RED":0,"AMBER":2,"GREEN":0}},"crossMint":{"signals":[{"code":"SHARED_TOP_HOLDER","severity":"medium","evidence":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS is a top-20 holder of 2 of these mints"}],"sharedCreators":[],"sharedUpdateAuthorities":[],"sharedTopHolders":[{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","mints":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","pctOfSupply":21.1},{"mint":"Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump","pctOfSupply":4.2}]}]},"packs":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"risk-pack (batch member)","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}]}],"budget":{"rpcCalls":31,"maxRpcCalls":180,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":12400,"hardTimeoutMs":55000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}},"post":{"operationId":"riskPackBatchPost","summary":"Solana rug-risk pack batch (2-10 mints) + bundle check","description":"The deep rug-risk pack for 2-10 Solana mints in one call (?mints=a,b,...), with a ranked riskiest-first summary and a cross-mint check: shared creator, shared metadata update authority and wallets in the top 20 of several mints (same-deployer / bundle signal). Invalid or duplicate-only input -> 400, a non-mint -> 404, timeout -> 504: never charged. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter. POST form: same price and response; unpaid -> 402 on the POST URL, settled on the POST.","tags":["risk"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"summary":{"type":"object"},"crossMint":{"type":"object"},"packs":{"type":"array"}},"required":["count","summary","crossMint","packs"]},"example":{"product":"risk-pack-batch","count":2,"mints":["73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump"],"summary":{"riskiestFirst":[{"rank":1,"mint":"Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump","symbol":"LaMisery","score":41,"level":"AMBER","topFlags":["TOP_HOLDER_LARGE"]},{"rank":2,"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","symbol":"COIN","score":33,"level":"AMBER","topFlags":["TOP10_CONCENTRATED"]}],"levels":{"RED":0,"AMBER":2,"GREEN":0}},"crossMint":{"signals":[{"code":"SHARED_TOP_HOLDER","severity":"medium","evidence":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS is a top-20 holder of 2 of these mints"}],"sharedCreators":[],"sharedUpdateAuthorities":[],"sharedTopHolders":[{"owner":"9yhiZpgcuf8TNw5ypLHtooYGgHRunjLr1UMDkPrUEtKS","mints":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","pctOfSupply":21.1},{"mint":"Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump","pctOfSupply":4.2}]}]},"packs":[{"mint":"73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","product":"risk-pack (batch member)","verdict":{"score":33,"level":"AMBER","scoreMeaning":"risk 0-100, higher = riskier","summary":"AMBER (33/100) for COIN: no critical flags; high TOP_HOLDER_LARGE."},"flags":[{"code":"TOP10_CONCENTRATED","severity":"medium","weight":15,"evidence":"top 10 non-pool/curve/burn owners hold 54.1% of supply","resolution":"top-10 (excl. pools/curve/burn) falls below 30%"}]}],"budget":{"rpcCalls":31,"maxRpcCalls":180,"byHost":{"solana-rpc.publicnode.com":12,"public.rpc.solanavibestation.com":2},"cacheHits":1,"elapsedMs":12400,"hardTimeoutMs":55000,"degraded":[]}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"mints":{"type":"array","items":{"type":"string"},"description":"base58 mint addresses (or a comma-separated string)"},"chain":{"type":"string","description":"optional; must match the route's chain"}}},"example":{"mints":["73CpbqfwmZB3HWPao26wgFGiEPD3AARve9JFmUiBpump","Fje19rrC8VePmz23kuMHremBgovZJYtbNsJ7c5wFpump"]}}}}}},"/v1/meter/pack-5":{"get":{"operationId":"meterPack5","summary":"Prepaid API credit: $5 pack, $6.000 of calls (+20% bonus)","description":"One x402 payment of $5.000 USDC buys a bearer token holding $6.000 of credit for every metered endpoint on this host (20% bonus). Send it as \"Authorization: Bearer <token>\"; each call is debited with no per-call settlement or facilitator round trip. Failed calls are never debited. Send an existing token in X-Meter-Token to top it up. Credit expires 30 days after the last top-up. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["meter"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"5.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":["string","null"]},"creditedAtomic":{"type":"integer"},"balanceAtomic":{"type":"integer"},"expiresAt":{"type":"string"}},"required":["creditedAtomic","balanceAtomic","expiresAt"]},"example":{"token":"mtr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","account":"3f9a0c1d2e4b5a69","creditedAtomic":6000000,"creditedUSDC":"6.000","topUp":false,"status":"active","balanceAtomic":6000000,"expiresAt":"2026-11-28T12:00:00.000Z","use":{"header":"Authorization: Bearer <token>","balance":"https://agents.avasis.ai/v1/meter/balance","prices":"https://agents.avasis.ai/v1/meter"}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/meter/pack-20":{"get":{"operationId":"meterPack20","summary":"Prepaid API credit: $20 pack, $26.000 of calls (+30% bonus)","description":"One x402 payment of $20.000 USDC buys a bearer token holding $26.000 of credit for every metered endpoint on this host (30% bonus). Send it as \"Authorization: Bearer <token>\"; each call is debited with no per-call settlement or facilitator round trip. Failed calls are never debited. Send an existing token in X-Meter-Token to top it up. Credit expires 30 days after the last top-up. Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["meter"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"20.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":["string","null"]},"creditedAtomic":{"type":"integer"},"balanceAtomic":{"type":"integer"},"expiresAt":{"type":"string"}},"required":["creditedAtomic","balanceAtomic","expiresAt"]},"example":{"token":"mtr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","account":"3f9a0c1d2e4b5a69","creditedAtomic":26000000,"creditedUSDC":"26.000","topUp":false,"status":"active","balanceAtomic":26000000,"expiresAt":"2026-11-28T12:00:00.000Z","use":{"header":"Authorization: Bearer <token>","balance":"https://agents.avasis.ai/v1/meter/balance","prices":"https://agents.avasis.ai/v1/meter"}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/x402-starter-kit":{"get":{"operationId":"x402StarterKit","summary":"x402 Paid-API Starter Kit (zip, $49.00 USDC)","description":"x402 starter kit / paid API template: charge agents per call. Pay once for the zip Avasis runs in production — Express + @x402/express (CDP + PayAI failover), never-charged-on-failure + idempotent receipts, tests, hardened deploy (Caddy, systemd), Bazaar/openapi/llms listings. Default x402 client cap is $1: raise spendControls.maxAmountPerPayment to at least $49 before paying. Docs: /v1/base/x402-starter-kit/info Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["starter-kit"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"49.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"object"},"zip_base64":{"type":"string"},"download":{"type":"object"},"payment":{"type":"object"}},"required":["file","zip_base64","download"]},"example":{"product":"x402 Paid-API Starter Kit","status":"delivered","file":{"name":"x402-paid-api-starter-kit.zip","bytes":59057,"sha256":"ab5cfc51fba8c9ca877108b4b8a384b9eb095643eb5fcadd6e982d7c172fc477","content_type":"application/zip","files":25},"zip_base64":"UEsDBBQAAAAI... (base64 of the zip)","download":{"url":"https://agents.avasis.ai/v1/downloads/x402-starter-kit/skt_<random>/x402-paid-api-starter-kit.zip","status_url":"https://agents.avasis.ai/v1/base/x402-starter-kit/status/skt_<random>","expires_at":"2026-12-04T12:00:00.000Z","max_downloads":50},"payment":{"priceUSDC":"49.00","network":"eip155:8453","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/research-rails-retainer":{"get":{"operationId":"researchRailsRetainer","summary":"Research + Rails Retainer (1 month) ($999.00 USDC)","description":"Monthly retainer: agent-commerce research plus priority use and tuning of the Avasis live x402 rails (Base USDC, Solana, EVM, Polymarket). Pay once over x402; the 200 body is a purchase receipt + token + intake steps (ops fulfil via abhay@avasis.ai). Default x402 client cap is $1: raise spendControls.maxAmountPerPayment to $999 before paying. Docs: /v1/base/research-rails-retainer/info Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["retainer"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"999.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"purchase":{"type":"object"},"fulfillment":{"type":"object"},"payment":{"type":"object"},"intake":{"type":"object"}},"required":["purchase","fulfillment","payment"]},"example":{"product":"Research + Rails Retainer (1 month)","sku":"researchRailsRetainer","status":"purchased","fulfillment":{"status":"awaiting_intake","status_url":"https://agents.avasis.ai/v1/base/research-rails-retainer/status/rsk_<random>"},"purchase":{"token":"rsk_<random>","term":"30 days from settlement; renew by paying again (each payment = one more month)"},"payment":{"priceUSDC":"999.00","network":"eip155:8453","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"},"next_steps":["Email abhay@avasis.ai with your token"]}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/base/white-label-rails-pack":{"get":{"operationId":"whiteLabelRailsPack","summary":"White-Label x402 Rails Pack ($2,500.00 USDC)","description":"White-label x402 rails pack: the production paid-API stack Avasis runs, rebranded and scoped for your platform (custom scope welcome). Pay once over x402; the 200 body is a purchase receipt + token + intake steps (ops fulfil via abhay@avasis.ai). Default x402 client cap is $1: raise spendControls.maxAmountPerPayment to $2500 before paying. Docs: /v1/base/white-label-rails-pack/info Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter.","tags":["white-label"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"2500.00"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"purchase":{"type":"object"},"fulfillment":{"type":"object"},"payment":{"type":"object"},"intake":{"type":"object"}},"required":["purchase","fulfillment","payment"]},"example":{"product":"White-Label x402 Rails Pack","sku":"whiteLabelRailsPack","status":"purchased","fulfillment":{"status":"awaiting_intake","status_url":"https://agents.avasis.ai/v1/base/white-label-rails-pack/status/rsk_<random>"},"purchase":{"token":"rsk_<random>","term":"One-time; custom scope agreed at intake, delivered under your brand"},"payment":{"priceUSDC":"2500.00","network":"eip155:8453","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"},"next_steps":["Email abhay@avasis.ai with your token"]}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/launch-provenance/{mint}":{"get":{"operationId":"qbLaunchProvenance","summary":"pump.fun launch provenance (creator history, funding cluster, clone metadata, instant-graduation bundle)","description":"Launch provenance for one pump.fun mint from the QuantBase launch tape: creator prior launches and graduations, funding-cluster stats (size, launches, organic vs instant graduations, rug proxy), metadata clone checks (image dHash, 7-day name/symbol collisions), socials presence, minutes to graduate, SERIAL_LAUNCHER / INSTANT_GRAD_BUNDLE / CLONE_METADATA flags and 14-day pump.fun base rates. Fields the tape lacks are null, never estimated. Unknown mint -> 404, not charged.","tags":["solana"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"x-served-by":"qb-lens","parameters":[{"name":"mint","in":"path","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana mint address (pump.fun launch)"},"example":"31SYoqWFhx3i9UsfnoXTjFp4ZwJA8F8UPrMxymfDpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"known":{"type":"boolean"},"token":{"type":"object"},"creator":{"type":"object"},"metadata":{"type":["object","null"]},"base_rates":{"type":["object","null"]},"flags":{"type":"array"},"lens_flags":{"type":"array"}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/launch-provenance":{"get":{"operationId":"qbLaunchProvenanceByQuery","summary":"pump.fun launch provenance (creator history, funding cluster, clone metadata, instant-graduation bundle)","description":"Launch provenance for one pump.fun mint from the QuantBase launch tape: creator prior launches and graduations, funding-cluster stats (size, launches, organic vs instant graduations, rug proxy), metadata clone checks (image dHash, 7-day name/symbol collisions), socials presence, minutes to graduate, SERIAL_LAUNCHER / INSTANT_GRAD_BUNDLE / CLONE_METADATA flags and 14-day pump.fun base rates. Fields the tape lacks are null, never estimated. Unknown mint -> 404, not charged.","tags":["solana"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"x-served-by":"qb-lens","parameters":[{"name":"mint","in":"query","required":true,"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"base58 Solana mint address (pump.fun launch)"},"example":"31SYoqWFhx3i9UsfnoXTjFp4ZwJA8F8UPrMxymfDpump"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"mint":{"type":"string"},"known":{"type":"boolean"},"token":{"type":"object"},"creator":{"type":"object"},"metadata":{"type":["object","null"]},"base_rates":{"type":["object","null"]},"flags":{"type":"array"},"lens_flags":{"type":"array"}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/sol/pumpfun-base-rates":{"get":{"operationId":"qbPumpfunBaseRates","summary":"pump.fun base rates (organic graduation rate, P(up 1h / 24h), liquidity alive 1h) + 24h launch counts","description":"The priors any pump.fun memecoin rule has to beat, from the QuantBase launch tape: trailing-24h launches / graduated / instant / organic counts, organic graduation rate over the last 14 days, and among organic graduates P(price up at 1 h), P(liquidity alive at 1 h), P(price up at 24 h), each with raw yes/n counts. Cached 10 min server-side; the feed is delayed ~10 min. Coverage since ~2026-10-09.","tags":["solana"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"networks":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x6264191D6dD5427435B5E829077842e130Ef1fc8"}]},"x-served-by":"qb-lens","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"as_of":{"type":["string","null"]},"counts_24h":{"type":["object","null"]},"organic_graduation":{"type":["object","null"],"properties":{"p":{"type":["number","null"]},"yes":{"type":["integer","null"]},"n":{"type":["integer","null"]}}},"up_1h_given_organic":{"type":["object","null"],"properties":{"p":{"type":["number","null"]},"yes":{"type":["integer","null"]},"n":{"type":["integer","null"]}}},"liq_alive_1h_given_organic":{"type":["object","null"],"properties":{"p":{"type":["number","null"]},"yes":{"type":["integer","null"]},"n":{"type":["integer","null"]}}},"up_24h_given_organic":{"type":["object","null"],"properties":{"p":{"type":["number","null"]},"yes":{"type":["integer","null"]},"n":{"type":["integer","null"]}}},"coverage":{"type":"string"}}}}}},"400":{"description":"Invalid input on a paid request (payment not settled)"},"402":{"description":"Payment Required (x402 v2 PAYMENT-REQUIRED header)"},"404":{"description":"Not a mint / not found (payment not settled)"},"429":{"description":"Rate limited (not settled)"},"502":{"description":"Upstream RPC error (not settled)"},"503":{"description":"Busy: our per-host RPC budget or concurrency cap (not settled)"},"504":{"description":"Hard timeout (not settled)"}}}},"/v1/evm/gas-ops/sample":{"get":{"operationId":"evmGasOpsSample","summary":"Free live sample of the $0.05 EVM gas ops kit","tags":["gas"],"security":[],"x-free":true,"description":"A real gas-ops kit (Ethereum gas + Base gas fee tiers, EIP-1559 next base fee, USD costs, pick, Solana tips) computed by the paid route's code, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample kit","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"kit":{"type":"string"},"ethereum":{"type":"object"},"base":{"type":"object"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"Ethereum base fee 0.41 gwei, balanced (falling), transfer ~$0.076 · Base 0.0021 gwei, transfer ~$0.00017 · ETH $2580.5 · Base 455x cheaper for 21000 gas right now","kit":"evm-gas-ops-1"}}}}}}},"/v1/evm/fee-plan/sample":{"get":{"operationId":"evmFeePlanSample","summary":"Free live sample of the $0.02 per-transaction fee plan (Base or Ethereum, ?chain=)","tags":["gas"],"security":[],"x-free":true,"description":"A real fee plan (65000 gas, normal urgency) for Base (default) or Ethereum (?chain=eth) computed by the paid route's code, refreshed every 2 minutes, free: the EIP-1559 fields to sign, USD cost, inclusion window and the send_now / wait decision, exactly as the paid call returns them for your own inputs.","parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["base","eth"]},"example":"base"}],"responses":{"200":{"description":"sample plan","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"kit":{"type":"string"},"chain":{"type":"string"},"decision":{"type":"object"},"plan":{"type":"object"},"ready_to_sign":{"type":"object"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"Base: standard tier (normal urgency) = maxFee 0.0052 gwei / tip 0.001 gwei, ~$0.00052 for 65000 gas, ~1-2 blocks · send now","kit":"evm-fee-plan-1","chain":"base"}}}}}}},"/v1/evm/fee-plan":{"get":{"operationId":"evmFeePlanIndex","summary":"Redirects (307) to the $0.02 fee plan of the chain in ?chain= (base default, eth)","tags":["gas"],"security":[],"x-free":true,"description":"Not a paid route: GET /v1/evm/fee-plan?chain=base|eth&gas_limit=... answers 307 to /v1/base/fee-plan or /v1/eth/fee-plan with the query preserved; pay on the chain route.","parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["base","eth"]},"example":"base"}],"responses":{"307":{"description":"Location: the chain route"},"400":{"description":"unknown chain"}}}},"/v1/evm/tx-precheck/sample":{"get":{"operationId":"txPrecheckSample","summary":"Free live sample of the $0.02 tx precheck (pre-sign check)","tags":["risk"],"security":[],"x-free":true,"description":"A real pre-sign check (approve unlimited USDC to Uniswap SwapRouter02 from a well-known wallet on Base) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample check","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"verdict":{"type":"object"},"approvals":{"type":"array"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet","precheck":"evm-tx-precheck-1"}}}}}}},"/v1/evm/erc20-allowance/sample":{"get":{"operationId":"erc20AllowanceSample","summary":"Free live sample of the $0.02 erc20-allowance rail","tags":["wallet"],"security":[],"x-free":true,"description":"A real allowance read (a Base wallet's USDC approval to Uniswap Permit2, with a 250 USDC needs-approval check) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"USDC on Base: 0x8fae…9b8d allows Uniswap Permit2 UNLIMITED; balance 11,285.039971 (exposure $11,285.04); READY for 250","rail":"evm-rails-1"}}}}}}},"/v1/evm/multi-balance/sample":{"get":{"operationId":"multiBalanceSample","summary":"Free live sample of the $0.02 multi-balance rail","tags":["wallet"],"security":[],"x-free":true,"description":"A real multi-balance read (the Binance 8 hot wallet on Base: ETH, USDC, WETH, cbBTC) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"0xf977…acec on Base: 0.0421 ETH ($94.43), 15,115.05 USDC, 0.25 WETH, 0.0012 cbBTC; total $15,902.06; gas for 182251 ETH transfers","rail":"evm-rails-1"}}}}}}},"/v1/evm/tx-receipt/sample":{"get":{"operationId":"txReceiptSample","summary":"Free live sample of the $0.02 tx-receipt rail","tags":["wallet"],"security":[],"x-free":true,"description":"A real receipt read (a 3.72 USDC transfer mined on Base on 1 Nov 2026; its confirmations keep growing) computed by the paid route's code, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"MINED on Base: block 53354721 (242 s ago), 7 confirmations, fee $0.0005, 3.72 USDC -> 0x128b…c93a","rail":"evm-rails-1"}}}}}}},"/v1/x402/payment-verify/sample":{"get":{"operationId":"paymentVerifySample","summary":"Free live sample of the $0.02 payment-verify rail","tags":["wallet"],"security":[],"x-free":true,"description":"A real verify of a $0.002 x402 payment settled to agents.avasis.ai on Base on 1 Nov 2026 (a CDP-relayed EIP-3009 transfer; its confirmations keep growing) computed by the paid route's code, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"SETTLED on Base: 0.002 USDC from 0x8ec9…9d15 to 0x6264…1fc8, block 53352110 (4 h ago), 5991 confirmations, finalized, relayed by a third-party wallet (gasless EIP-3009)","rail":"x402-payment-verify-1"}}}}}}},"/v1/evm/address-screen/sample":{"get":{"operationId":"addressScreenSample","summary":"Free live sample of the $0.02 address-screen rail","tags":["risk"],"security":[],"x-free":true,"description":"A real screen of the Binance 8 hot wallet on Base (OFAC list, GoPlus labels, code / nonce / balances at the latest block) computed by the paid route's code, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"0xf977…acec on Base: eoa, 499417 txs, 0.0421 ETH ($95.37), 15,115.05 USDC -> CLEAR (no sanctions or GoPlus flags; active address)","rail":"evm-address-screen-1"}}}}}}},"/v1/price/consensus/sample":{"get":{"operationId":"priceConsensusSample","summary":"Free live sample of the $0.02 price consensus rail","tags":["market"],"security":[],"x-free":true,"description":"A real SOL/USD consensus (Pyth push feed on Solana, Chainlink on Base, CoinGecko, DefiLlama, Dexscreener wSOL pool, Jupiter) computed by the paid route's code, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"SOL $95.59: 6 fresh sources agree (spread 0.14%: TIGHT); 2.5 SOL = $238.98","rail":"price-consensus-1"}}}}}}},"/v1/evm/tx-unstick/sample":{"get":{"operationId":"txUnstickSample","summary":"Free live sample of the $0.02 tx-unstick rail","tags":["wallet"],"security":[],"x-free":true,"description":"A real stuck-wallet check of the Binance 8 hot wallet on Base (confirmed vs pending nonce, the fee tier and what a cancel would cost at the current base fee) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"STUCK UNDERPRICED on Base: maxFeePerGas 0.004 gwei is below the current base fee 0.005 gwei: the tx cannot be included until the base fee drops; replace it with the same nonce 499417 at the fast tier (+10 % rule applied); cancel = nonce 499417 at 0.0115 gwei max / 0.0015 gwei tip ($0.0003)","rail":"evm-tx-unstick-1"}}}}}}},"/v1/x402/authorization-check/sample":{"get":{"operationId":"authCheckSample","summary":"Free live sample of the $0.02 authorization-check rail","tags":["risk"],"security":[],"x-free":true,"description":"A real check of a $0.02 USDC authorization from a known x402 payer to agents.avasis.ai's payTo on Base (fresh nonce, 110 s window, the live quote fields) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"SIGN on Base: payTo matches, amount matches, asset matches, network base matches, nonce unused, valid for 110 s, domain separator verified on-chain, canonical USDC, balance 16.71874 covers 0.02","rail":"x402-authorization-check-1"}}}}}}},"/v1/evm/calldata-decode/sample":{"get":{"operationId":"calldataDecodeSample","summary":"Free live sample of the $0.02 calldata-decode rail","tags":["risk"],"security":[],"x-free":true,"description":"A real decode of approve(Permit2, unlimited) calldata against USDC on Base (the live Sourcify ABI through the FiatTokenProxy and its implementation, the flags) computed by the paid route's code against the latest block, refreshed every 2 minutes, free: see exactly what you get before paying.","responses":{"200":{"description":"sample read","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"live":{"type":"boolean"},"charged":{"type":"boolean"},"headline":{"type":"string"},"rail":{"type":"string"}}},"example":{"sample":true,"live":true,"charged":false,"headline":"HIGH on Base: approve: let Uniswap Permit2 0x0000…8ba3 spend an UNLIMITED amount of USDC (APPROVE_UNLIMITED)","rail":"evm-calldata-decode-1"}}}}}}},"/v1/verdict/operations/{operation_id}":{"get":{"operationId":"solVerdictStatus","summary":"Verdict receipt + result (free)","tags":["verdict"],"security":[],"x-free":true,"description":"Free. 200 with the saved verdict once paid (status completed) or status payment_failed (not charged); 202 while settlement is pending (Retry-After: 3). Never pay again to recover: poll this URL or re-send the identical signed request.","parameters":[{"name":"operation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^vop_[A-Za-z0-9_-]{22}$"},"example":"vop_3q2Xb9mWZr8kq1yN0vD7aA"}],"responses":{"200":{"description":"completed or payment_failed","content":{"application/json":{"schema":{"type":"object","properties":{"operation_id":{"type":"string"},"status":{"type":"string","enum":["completed","pending","payment_failed"]},"grade":{"type":"string","enum":["SAFE","WARN","DANGER"]},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"token_chain":{"type":"string","enum":["solana"]},"quip":{"type":["string","null"]},"market":{"type":"object"},"recovery":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"note":{"type":"string"}}},"result":{"type":["object","null"]},"payment":{"type":"object"},"retry_after_seconds":{"type":"integer"},"retryable":{"type":"boolean"},"recovery_request":{"type":"object","description":"the exact request to re-send to recover (method, url; byte-identical payment header; same JSON body for a POST)","properties":{"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"string"},"body":{"type":"string"}}}},"required":["operation_id","status","status_url"]},"example":{"operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","status":"completed","grade":"WARN","one_liner":"One wallet holds 21.1% of the supply","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_3q2Xb9mWZr8kq1yN0vD7aA","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m","image_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m/card.png","result":{"grade":"WARN","score":33,"rubric":{"version":"sol-verdict-1"}},"payment":{"settled":true,"amount_raw":"10000"}}}}},"202":{"description":"pending","content":{"application/json":{"schema":{"type":"object","properties":{"operation_id":{"type":"string"},"status":{"type":"string","enum":["completed","pending","payment_failed"]},"grade":{"type":"string","enum":["SAFE","WARN","DANGER"]},"one_liner":{"type":"string"},"status_url":{"type":"string"},"page_url":{"type":"string"},"image_url":{"type":"string"},"token_chain":{"type":"string","enum":["solana"]},"quip":{"type":["string","null"]},"market":{"type":"object"},"recovery":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"note":{"type":"string"}}},"result":{"type":["object","null"]},"payment":{"type":"object"},"retry_after_seconds":{"type":"integer"},"retryable":{"type":"boolean"},"recovery_request":{"type":"object","description":"the exact request to re-send to recover (method, url; byte-identical payment header; same JSON body for a POST)","properties":{"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"string"},"body":{"type":"string"}}}},"required":["operation_id","status","status_url"]},"example":{"operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","status":"pending","status_url":"https://agents.avasis.ai/v1/verdict/operations/vop_3q2Xb9mWZr8kq1yN0vD7aA","result":null,"retry_after_seconds":3,"note":"settlement outcome is being confirmed on-chain; poll status_url (free). Do not pay again."}}}},"404":{"description":"unknown operation_id","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"unknown operation_id"}}}}}}},"/verdict/{share_id}":{"get":{"operationId":"solVerdictPage","summary":"Public verdict page (free)","tags":["verdict"],"security":[],"x-free":true,"description":"Shareable HTML page for a paid verdict (grade, one-liner, flags, card). Linked from page_url in every paid response.","parameters":[{"name":"share_id","in":"path","required":true,"schema":{"type":"string"},"example":"Vd7aA3q2Xb9m"}],"responses":{"200":{"description":"HTML","content":{"text/html":{"schema":{"type":"string"}}}},"404":{"description":"not found"}}}},"/verdict/{share_id}/card.png":{"get":{"operationId":"solVerdictCard","summary":"1200x630 PNG share card (free)","tags":["verdict"],"security":[],"x-free":true,"description":"Open Graph / X card for the verdict (image_url in every paid response). Also available as card.svg.","parameters":[{"name":"share_id","in":"path","required":true,"schema":{"type":"string"},"example":"Vd7aA3q2Xb9m"}],"responses":{"200":{"description":"image/png","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"not found"}}}},"/v1/verdict/sample":{"get":{"operationId":"solVerdictSample","summary":"Free real sample of the $0.01 verdict","tags":["verdict"],"security":[],"x-free":true,"description":"A real paid verdict (our own payment), free to view: exactly what the paid response looks like before you pay. price_now carries the current price; payment.historical marks a sample paid at an older price.","responses":{"200":{"description":"sample verdict envelope + price_now","content":{"application/json":{"schema":{"type":"object","properties":{"sample":{"type":"boolean"},"price_now":{"type":"object"},"grade":{"type":"string"},"result":{"type":"object"}}},"example":{"sample":true,"price_now":{"amount_raw":"10000","usd":"0.01"},"grade":"WARN","operation_id":"vop_3q2Xb9mWZr8kq1yN0vD7aA","page_url":"https://agents.avasis.ai/verdict/Vd7aA3q2Xb9m"}}}},"404":{"description":"no sample on this host"}}}},"/v1/dossier/format":{"get":{"operationId":"solDossierFormat","summary":"Dossier format (free): what the $0.50 dossier returns","tags":["verdict"],"security":[],"x-free":true,"description":"The dossier.facts sections and the dossier.brief shape (exec_summary, open_risks, what_would_change_the_call, unknowns, agent_action_checklist, each line with basis[] citations into facts). Read it before paying.","responses":{"200":{"description":"format","content":{"application/json":{"schema":{"type":"object"},"example":{"version":"sol-dossier-1","price_atomic":500000,"result":"the same verdict object as /v1/sol/token-verdict (grade, one_liner, score, rubric, flags, metrics with provenance) + result.dossier","dossier":{"facts":"normalized facts pack: identity, authorities (+ token2022.riskExtensions), holders (top10ExclPct, largestUnlabeledOwner, topUnlabeled, topLabeled, holderCount), curve (pump.fun status, PumpSwap pool reserves), creator (holding, sampled buys/sells, wallet, trackRecord: other pump.fun launches in the wallet's newest transactions), age (verified or atLeastSeconds), market (optional), risk (flags, improvements, watch), coverage (degraded sections). Unknown = null with a reason, never a fake zero. Every section has provenance {source, method, slot, observedAt}.","brief":{"headline":"<= 140 chars","exec_summary":"[{text, basis[]}] grounded statements","open_risks":"[{risk, severity, evidence, basis[]}] sorted by severity","what_would_change_the_call":"[{if, then, direction: better|worse|structural|context, basis[]}]","unknowns":"[{what, why, basis[]}] what this read could not establish","agent_action_checklist":"[{action, why, basis[]}]","confidence":"{level: high|medium|low, reasons[]} from coverage","citations":"{count, unresolved[]} self-check; unresolved is always [] on a healthy build","basis":"dotted paths into dossier.facts (e.g. holders.largestUnlabeledOwner). A statement never appears without a basis."}},"method":"deterministic template over on-chain facts; no model inference at runtime. The grade is the same rubric as the $0.01 verdict."}}}}}}},"/v1/verdict/rubric":{"get":{"operationId":"solVerdictRubric","summary":"Grading rubric sol-verdict-1 (free)","tags":["verdict"],"security":[],"x-free":true,"description":"Deterministic rules behind SAFE / WARN / DANGER: flag codes, severities, weights and the grade thresholds. Cite it when explaining a verdict.","responses":{"200":{"description":"rubric","content":{"application/json":{"schema":{"type":"object"},"example":{"version":"sol-verdict-1","scale":"SAFE | WARN | DANGER, from weighted on-chain flags; score = risk 0-100 (sum of flag weights, capped), higher = riskier","rules":["DANGER: any critical flag (live mint authority, live freeze authority, permanent delegate, non-transferable, paused, accounts frozen by default, transfer fee >= 25%) or score >= 60","WARN: score 25-59 or any high flag (one wallet >= 20% of supply, top-10 >= 80%, pausable, transfer hook, transfer fee >= 5%, 10+ identical top balances)","SAFE: score < 25 and no critical or high flag. SAFE = no structural red flag found on-chain, not a price or safety guarantee"],"holders":"top-10 and largest-wallet shares exclude the pump.fun bonding curve, AMM pools (PumpSwap, Raydium, Orca, Meteora) and burn addresses","knownIssuers":"centrally issued tokens (USDC, USDT, ...) keep their authorities at low weight: counterparty risk is the issuer"}}}}}}},"/agents.md":{"get":{"operationId":"agentsMd","summary":"Agent instructions (free)","tags":["verdict"],"security":[],"x-free":true,"description":"How an agent should call, pay for, recover and present a verdict (markdown).","responses":{"200":{"description":"text/markdown","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/mcp":{"post":{"operationId":"mcp","summary":"MCP server (free tools): claude mcp add --transport http avasis https://agents.avasis.ai/mcp","tags":["mcp"],"security":[],"x-free":true,"description":"Model Context Protocol endpoint (Streamable HTTP, stateless JSON-RPC 2.0, no auth, no session). Tools: avasis_products (catalog + live prices), avasis_free_sample (sol-kit | pm-kit | sol-verdict | gas-ops), avasis_quote (x402 payment requirements + pay URL of any paid route, paid by the client's own wallet; this server never holds funds), avasis_verdict_rubric. Read-only, 60 requests/min per IP. GET answers 405 (no event stream).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":["integer","string"]},"method":{"type":"string"},"params":{"type":"object"}},"required":["jsonrpc","method"]},"example":{"jsonrpc":"2.0","id":1,"method":"tools/list"}}}},"responses":{"200":{"description":"JSON-RPC response (result or error)","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{},"result":{"type":"object"},"error":{"type":"object"}}},"example":{"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"avasis_quote"}]}}}}},"202":{"description":"notification accepted (no body)"},"429":{"description":"rate limited"}}}},"/v1/base/x402-starter-kit/info":{"get":{"operationId":"x402StarterKitInfo","summary":"Starter kit: price, payTo, contents, sha256 (free)","tags":["starter-kit"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/base/x402-starter-kit/status/{token}":{"get":{"operationId":"x402StarterKitStatus","summary":"Starter kit purchase status (free)","tags":["starter-kit"],"security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown token"}}}},"/v1/base/research-rails-retainer/info":{"get":{"operationId":"researchRailsRetainerInfo","summary":"Research + Rails Retainer (1 month): scope, price, payTo (free)","tags":["retainer"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/base/research-rails-retainer/status/{token}":{"get":{"operationId":"researchRailsRetainerStatus","summary":"Research + Rails Retainer (1 month) purchase status (free)","tags":["retainer"],"security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown token"}}}},"/v1/base/white-label-rails-pack/info":{"get":{"operationId":"whiteLabelRailsPackInfo","summary":"White-Label x402 Rails Pack: scope, price, payTo (free)","tags":["white-label"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/base/white-label-rails-pack/status/{token}":{"get":{"operationId":"whiteLabelRailsPackStatus","summary":"White-Label x402 Rails Pack purchase status (free)","tags":["white-label"],"security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown token"}}}},"/health":{"get":{"operationId":"health","summary":"Liveness","security":[],"responses":{"200":{"description":"OK"}}}}}}