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.
| Endpoint | USDC | What |
|---|---|---|
GET /v1/tip/sol-slot?since=0..n&wait=0..25 | 0.002 | 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. |
GET /v1/tip/sol-priority-fee?since=0..n&wait=0..25 | 0.002 | 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. |
GET /v1/tip/sol-usd?since=0..n&wait=0..25 | 0.002 | 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. |
GET /v1/tip/base-gas?since=0..n&wait=0..25 | 0.002 | 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. |
GET /v1/tip/eth-gas?since=0..n&wait=0..25 | 0.002 | 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. |
GET /v1/tip/all | 0.002 | 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. |
GET /v1/web/read?url=...&max_chars=...&format=...&links=...&since_sha256=... | 0.002 | 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. |
GET /v1/pm/markets?q=...&order=...&limit=...&min_liquidity=...&ending_within_hours=... | 0.002 | 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. |
GET | POST /v1/sol/token-verdict/{mint} | 0.01 | 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. |
GET | POST /v1/sol/verdict-delta/{mint}?since=... | 0.01 | 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. |
GET | POST /v1/sol/rug-lite/{mint} | 0.02 | 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. |
GET /v1/base/fee-plan?gas_limit=21000..30000000&urgency=...&max_usd=...&calldata_bytes=0..131072 | 0.02 | 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. |
GET /v1/eth/fee-plan?gas_limit=21000..30000000&urgency=...&max_usd=... | 0.02 | 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. |
GET | POST /v1/base/token-verdict?token=... | 0.02 | 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. |
GET | POST /v1/eth/token-verdict?token=... | 0.02 | 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. |
GET | POST /v1/quest/token-watch?token=... | 0.02 | 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. |
GET | POST /v1/base/tx-precheck?from=...&to=...&data=...&value=...&gas=21000..30000000&chain=... | 0.02 | 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. |
GET | POST /v1/eth/tx-precheck?from=...&to=...&data=...&value=...&gas=21000..30000000&chain=... | 0.02 | 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. |
GET | POST /v1/base/erc20-allowance?owner=...&token=...&spender=...&amount=...&chain=... | 0.02 | 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. |
GET | POST /v1/eth/erc20-allowance?owner=...&token=...&spender=...&amount=...&chain=... | 0.02 | 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. |
GET | POST /v1/base/multi-balance?address=...&tokens=...&chain=... | 0.02 | 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. |
GET | POST /v1/eth/multi-balance?address=...&tokens=...&chain=... | 0.02 | 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. |
GET | POST /v1/base/tx-receipt?txHash=...&wait=0..25&chain=... | 0.02 | 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. |
GET | POST /v1/eth/tx-receipt?txHash=...&wait=0..25&chain=... | 0.02 | 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. |
GET | POST /v1/base/payment-verify?tx=...&from=...&nonce=...&payTo=...&amount=...&asset=...&lookback=1000..150000&wait=0..25&network=... | 0.02 | 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. |
GET | POST /v1/base/address-screen?address=...&chain=... | 0.02 | 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. |
GET | POST /v1/eth/address-screen?address=...&chain=... | 0.02 | 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. |
GET /v1/price/consensus?token=...&chain=...&amount=... | 0.02 | 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. |
GET | POST /v1/base/tx-unstick?address=...&tx=...&nonce=0..n&urgency=...&chain=... | 0.02 | 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. |
GET | POST /v1/eth/tx-unstick?address=...&tx=...&nonce=0..n&urgency=...&chain=... | 0.02 | 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. |
GET | POST /v1/base/authorization-check?from=...&to=...&value=...&validAfter=...&validBefore=...&nonce=...&verifyingContract=...&domainName=...&domainVersion=...&domainChainId=1..n&primaryType=...&payTo=...&amount=...&asset=...&network=...&maxTimeout=1..n&chain=... | 0.02 | 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. |
GET | POST /v1/eth/authorization-check?from=...&to=...&value=...&validAfter=...&validBefore=...&nonce=...&verifyingContract=...&domainName=...&domainVersion=...&domainChainId=1..n&primaryType=...&payTo=...&amount=...&asset=...&network=...&maxTimeout=1..n&chain=... | 0.02 | 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. |
GET | POST /v1/base/calldata-decode?to=...&data=...&value=...&from=...&chain=... | 0.02 | 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. |
GET | POST /v1/eth/calldata-decode?to=...&data=...&value=...&from=...&chain=... | 0.02 | 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. |
GET | POST /v1/pm/complete-kit?q=...&event=... | 0.02 | 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. |
GET | POST /v1/sol/complete-kit/{mint} | 0.02 | 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. |
GET /v1/meter/pack-trial | 0.05 | 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. |
GET /v1/evm/gas-ops?gas_limit=21000..30000000 | 0.05 | 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. |
GET | POST /v1/sol/token-verdict-batch?mints=... | 0.05 | 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. |
GET | POST /v1/sol/holders-authority/{mint} | 0.25 | 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. |
GET /v1/x402/audit?url=...&method=... | 0.25 | 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. |
GET | POST /v1/sol/dossier/{mint} | 0.50 | 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. |
GET | POST /v1/sol/risk-pack/{mint} | 1.00 | 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. |
GET /v1/meter/pack-1 | 1.00 | 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. |
GET /v1/x402/audit/full?url=...&method=... | 2.00 | 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. |
GET | POST /v1/sol/risk-pack-batch?mints=... | 5.00 | 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. |
GET /v1/meter/pack-5 | 5.00 | 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. |
GET /v1/meter/pack-20 | 20.00 | 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. |
GET /v1/base/x402-starter-kit | 49.00 | 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. |
GET /v1/base/research-rails-retainer | 999.00 | 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. |
GET /v1/base/white-label-rails-pack | 2500.00 | 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. |
Payment: x402 v2 exact, USDC on Base (eip155:8453) to 0x6264191D6dD5427435B5E829077842e130Ef1fc8, facilitator Coinbase CDP (primary), PayAI (failover). Above the default x402 client cap of $1: set spendControls.maxAmountPerPayment (e.g. '$5'; '$49' for the starter kit) or use the prepaid meter (batch).
PAYMENT-REQUIRED (also for empty or placeholder params; on the Solana verdict, dossier and delta routes a literal {mint} returns the free sample, 200, never charged).{
"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": []
}
}
Pure on-chain data from public Solana RPC at request time. Structural facts, not financial advice. OpenAPI · llms.txt · Pricing · Terms · quantbase@mail.grokbot.com