Avasis Agent Platform

Free remote MCP tools to browse, quote and sample Avasis x402 APIs (USDC on Base): Solana token risk, pump.fun launch intel, Base token-watch.

Hosted MCP Server

npx add-mcp 'https://agents.avasis.ai/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Avasis for agents

Top calls: x402 Paid-API Starter Kit $49 (one-time zip: charge agents per call — production Express + @x402/express template), then two complete data kits (Solana $0.02, Polymarket $0.02); high-ticket: $999 Research + Rails Retainer (1 month) and $2,500 White-Label Rails Pack, USDC on Base over x402 (no account, no API key). Free samples first on data kits; the starter kit has free /info then pay (raise spendControls.maxAmountPerPayment above the default $1 client cap). Price ladder: free samples (https://agents.avasis.ai/v1/verdict/sample, https://agents.avasis.ai/v1/kit/sample, https://agents.avasis.ai/v1/pm/kit/sample) -> $0.01 Solana token verdict -> $0.02 Solana complete kit or $0.02 Polymarket complete kit. Every $0.002 quote (tips, web/read, pm/markets) answers 402 with an also_available block naming the next rung for its intent, with exact prices and URLs. Gas agents: the eth-gas and base-gas quotes also name the $0.05 EVM gas ops kit (https://agents.avasis.ai/v1/evm/gas-ops). MCP (Claude Code, Cursor, any MCP client): claude mcp add --transport http avasis https://agents.avasis.ai/mcp. Free read-only tools: avasis_products (catalog + live prices), avasis_free_sample (sol-kit | pm-kit | sol-verdict | gas-ops), avasis_quote (the x402 payment requirements + pay URL of any paid route, paid from your own wallet), avasis_verdict_rubric. Streamable HTTP, no auth, no session; this server never holds buyer funds. Track record: https://agents.avasis.ai/proofs lists every released Synmerco research delivery (buyer job, release date, net USDC, SHA-256-addressed public report) plus live proof for the $0.02 wallet rails below. Works with AX1 Console agents / the Coinbase CDP facilitator and AgentCash: standard x402 v2 exact, USDC on Base to 0x6264191D6dD5427435B5E829077842e130Ef1fc8 (compatibility, not a partnership). After the $49 kit, start with the Micropay pack ($0.02-$0.05, under the $1 default cap).

CallPriceUse it for
GET https://agents.avasis.ai/v1/base/x402-starter-kit$49.00x402 Paid-API Starter Kit (zip): "x402 starter kit", "paid API template", "charge agents per call", "deploy x402 server". Production template Avasis runs — Express + @x402/express (CDP + PayAI), never-charged-on-failure, idempotent receipts, tests, Caddy/systemd deploy, Bazaar/openapi/llms listings. Unpaid -> free 402; pay exact USDC on Base to 0x6264191D6dD5427435B5E829077842e130Ef1fc8; raise client spendControls.maxAmountPerPayment to at least $49 (default cap is $1). 200: zip_base64 + download link. Free docs: https://agents.avasis.ai/v1/base/x402-starter-kit/info
GET https://agents.avasis.ai/v1/base/research-rails-retainer$999.00Research + Rails Retainer (1 month): monthly agent-commerce / x402 research brief + priority use and tuning of these rails + listing review + email support. Raise spendControls.maxAmountPerPayment to $999. 200: purchase receipt + token + intake (abhay@avasis.ai). Free docs: https://agents.avasis.ai/v1/base/research-rails-retainer/info
GET https://agents.avasis.ai/v1/base/white-label-rails-pack$2,500.00White-Label x402 Rails Pack (custom scope): our production rails rebranded on your domain + payTo, deploy hardening, discovery listings, 30-day support; 200 also carries the starter-kit code base zip. Raise spendControls.maxAmountPerPayment to $2500. Free docs: https://agents.avasis.ai/v1/base/white-label-rails-pack/info
GET https://agents.avasis.ai/v1/sol/complete-kit/{mint} (or POST {"tokenAddress"})$0.02Solana rug check complete kit: "is this token safe", "token risk score", "rug check this mint". Multi-source: verdict + top-20 holders + Jupiter + RugCheck + Dexscreener + consensus. ax1 alternative at the same ~$0.02 ticket (we do not resell ax1). Free sample: https://agents.avasis.ai/v1/kit/sample
GET https://agents.avasis.ai/v1/pm/complete-kit?q=<text> (or ?event=<slug>, POST {"q"})$0.02Polymarket odds complete kit: "polymarket odds on X", "prediction market kit". Event + books + history: every outcome with token ids, live order books, 7-day trend, consistency checks, tradability. Free sample: https://agents.avasis.ai/v1/pm/kit/sample
POST https://agents.avasis.ai/v1/sol/token-verdict (or GET https://agents.avasis.ai/v1/sol/token-verdict/{mint})$0.01Solana token verdict only (single source): SAFE / WARN / DANGER grade
GET https://agents.avasis.ai/v1/web/read?url=<https url>$0.002Web page reader: any public URL to clean markdown + metadata
GET https://agents.avasis.ai/v1/pm/markets?q=<text>$0.002Polymarket markets: flat list of live odds, volume, liquidity, end dates
GET https://agents.avasis.ai/v1/evm/gas-ops (optional ?gas_limit=<units>)$0.05EVM gas ops kit: "ethereum gas", "base gas", "evm gas ops". Ethereum + Base 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. Free live sample: https://agents.avasis.ai/v1/evm/gas-ops/sample
GET https://agents.avasis.ai/v1/base/fee-plan or /v1/eth/fee-plan (`?gas_limit=&urgency=lownormalhigh
POST https://agents.avasis.ai/v1/base/tx-precheck or /v1/eth/tx-precheck (JSON {chain, from, to, data, value}; GET with the same query params)$0.02Pre-sign tx precheck: "tx precheck", "simulate transaction", "pre-sign check", "approval risk", "wallet pnl". eth_simulateV1 of your unsigned transaction: would_revert + reason, gas USD, every transfer with USD, net_for_from (wallet PnL), approvals (unlimited flagged, USD exposure), GoPlus + OFAC counterparty risk, SIGN / CAUTION / BLOCK. Free live sample: https://agents.avasis.ai/v1/evm/tx-precheck/sample
GET https://agents.avasis.ai/v1/base/erc20-allowance?owner=&token=&spender=[&amount=] or /v1/eth/... (POST JSON {owner, tokenAddress, spender, amount})$0.02ERC-20 allowance check: "erc20 allowance", "token approval check", "needs approval", "approve calldata", "revoke approval". allowance raw + units, unlimited flag, owner balance, spendable_now, USD exposure, spender code check, needs-approval check with shortfall, ready-to-sign approve / revoke calldata. Free live sample: https://agents.avasis.ai/v1/evm/erc20-allowance/sample
GET https://agents.avasis.ai/v1/base/multi-balance?address=[&tokens=WETH,cbBTC] or /v1/eth/... (POST JSON {address, tokens})$0.02Wallet multi-balance: "wallet balance", "multi balance", "usdc balance", "eth balance". ETH + USDC + up to 10 ERC-20s (addresses or symbols) in one batched read, USD per asset + total, tx_count, is_contract, gas affordability (can_pay_eth_transfer). Free live sample: https://agents.avasis.ai/v1/evm/multi-balance/sample
GET https://agents.avasis.ai/v1/base/tx-receipt?txHash=[&wait=10] or /v1/eth/... (POST JSON {txHash, wait})$0.02Tx receipt + status: "tx receipt", "transaction status", "is my transaction confirmed", "gas used", "pending transaction". Polls up to wait s (max 25): success / reverted, confirmations, gas used, fee in ETH + USD (Base L1 fee), decoded transfers with USD, net_for_from, revert reason; still pending -> nonce + fee-market diagnosis; unknown hash -> 404, free. Free live sample: https://agents.avasis.ai/v1/evm/tx-receipt/sample
GET https://agents.avasis.ai/v1/base/payment-verify?tx=<0x hash> or ?from=<0x>&nonce=<0x bytes32> (POST JSON {tx} or {from, nonce}; optional payTo, amount)$0.02x402 payment verify: "x402 payment verify", "did my payment settle", "verify usdc payment", "settlement proof". The chain's answer for a USDC payment on Base: settled yes/no (AuthorizationUsed + adjacent Transfer), payer, payTo, amount, confirmations, safe / finalized, relayer label, fee, matches vs your expected payTo / amount; unknown -> 404 free. Free live sample: https://agents.avasis.ai/v1/x402/payment-verify/sample
GET https://agents.avasis.ai/v1/base/address-screen?address=<0x> or /v1/eth/... (POST JSON {address})$0.02Address screen: "address screen", "is this address safe", "sanctions check", "wallet screening", "payee check". CLEAR / CAUTION / BLOCK with reasons: OFAC SDN list, GoPlus address_security labels, EOA / contract / proxy / ERC-20 / EIP-7702 delegate / burn / precompile, tx count + ETH + USDC (never-used flag), known router / Permit2 / x402 facilitator labels. Free live sample: https://agents.avasis.ai/v1/evm/address-screen/sample
`GET https://agents.avasis.ai/v1/base/tx-unstick?address=<0x>[&tx=<0x hash>][&nonce=][&urgency=lownormalhigh
GET https://agents.avasis.ai/v1/base/authorization-check?from=<0x>&to=<0x>&value=<atomic>&validBefore=<unix s>&nonce=<0x bytes32>[&validAfter=][&verifyingContract=][&payTo=][&amount=][&asset=][&network=][&maxTimeout=] or /v1/eth/... (POST JSON {from, to, value, validAfter, validBefore, nonce, payTo, amount, asset, network, maxTimeout})$0.02x402 authorization check: "should I sign this", "x402 authorization check", "eip-3009", "decoy quote". The EIP-3009 TransferWithAuthorization you are about to sign checked against its 402 quote: SIGN / CAUTION / BLOCK with coded reasons (PAYTO_MISMATCH, AMOUNT_OVER_QUOTE, ASSET_MISMATCH, NETWORK_MISMATCH, NONCE_USED, EXPIRED, DOMAIN_MISMATCH, NOT_CANONICAL_USDC, DECOY_LARGE_AMOUNT, ...), nonce state from authorizationState, the EIP-712 domain verified against the token's on-chain DOMAIN_SEPARATOR, the canonical typed data and the exact digest you sign. Free live sample: https://agents.avasis.ai/v1/x402/authorization-check/sample.
GET https://agents.avasis.ai/v1/base/calldata-decode?to=<0x>&data=<0x calldata>[&value=<wei>][&from=<0x>] or /v1/eth/... (POST JSON {to, data, value, from})$0.02Calldata decode: "decode calldata", "what does this transaction do", "abi decode", "unlimited approval". What the unsigned transaction asks for, from the bytes: the selector resolved via the target's verified Sourcify ABI (proxy implementation included), our entry-point table or openchain / 4byte, every argument by name and type, nested multicall / Safe / account calls, the Universal Router command plan, target label + verification + proxy + token decimals, and flags (APPROVE_UNLIMITED, SET_APPROVAL_FOR_ALL, PERMIT, DELEGATECALL, ADMIN_ACTION, VALUE_NONZERO, TARGET_NO_CODE, TARGET_UNVERIFIED, SELECTOR_UNKNOWN, DEADLINE_PAST, RECIPIENT_NOT_SENDER, ...) with a LOW / MEDIUM / HIGH level. Free live sample: https://agents.avasis.ai/v1/evm/calldata-decode/sample.
`GET https://agents.avasis.ai/v1/price/consensus?token=<symbol0x contractSolana mint>[&chain=base

Micropay pack

Why: the calls an agent makes every loop (gas, pre-sign, rug, settle-check) at $0.02-$0.05, one exact USDC payment each on Base, never charged on failure, no spendControls change (under the $1 default cap). Settled by the Coinbase CDP facilitator; any x402 client works (AX1 Console agents, AgentCash, @x402/fetch).

CallPriceWhat
GET https://agents.avasis.ai/v1/base/fee-plan?gas_limit=65000&urgency=normal$0.02EIP-1559 fee plan to sign + USD cost, send now or wait
POST https://agents.avasis.ai/v1/base/tx-precheck {"from","to","data","value"}$0.02Simulate before signing: SIGN / CAUTION / BLOCK
GET https://agents.avasis.ai/v1/evm/gas-ops$0.05Base + Ethereum fee tiers + Solana tips in one call
GET https://agents.avasis.ai/v1/base/token-verdict?token=<0x>$0.02Base token rug check: owner powers, proxy, liquidity
GET https://agents.avasis.ai/v1/base/payment-verify?tx=<0x hash>$0.02Did this x402 USDC payment settle (payer, payTo, amount, finality)
GET https://agents.avasis.ai/v1/quest/token-watch?token=<0x> (or POST {"tokenAddress":"<0x>"})$0.02Base ERC-20 token watch: RED / AMBER / GREEN + 0-100 risk score with evidenced flags. Free docs: https://agents.avasis.ai/v1/quest/token-watch/info. Hourly watchers: buy https://agents.avasis.ai/v1/meter/pack-5 once ($5 -> $6 credit), then $0.015/check with Authorization: Bearer mtr_...
GET https://agents.avasis.ai/v1/x402/audit?url=<x402 endpoint>$0.25x402 seller audit (lint): score 0-100 + fix list; read-only, never pays. Free docs: https://agents.avasis.ai/v1/x402/audit/info
GET https://agents.avasis.ai/v1/x402/audit/full?url=<x402 endpoint>$2.00Full seller audit: lint + CDP validator, Bazaar index, HEAD/POST parity, discovery files (raise maxAmountPerPayment to $2)

Pay snippet:

const f = wrapFetchWithPayment(fetch, x402Client);              // @x402/fetch
const r = await f("https://agents.avasis.ai/v1/base/fee-plan?gas_limit=65000");  // 402 -> pays $0.02 -> 200 JSON

Or npx agentcash@latest add https://agents.avasis.ai. Higher rungs ($999 retainer, $2,500 white-label) stay in each kit's also_available.

Solana rug check complete kit ($0.02)

GET https://agents.avasis.ai/v1/sol/complete-kit/{mint} (or ?mint=, or POST {"tokenAddress": "<mint>"}). One payment returns: our deterministic SAFE/WARN/DANGER grade with a 0-100 risk score and evidenced flags, top-20 holders + concentration (incl./excl. pools, curve, burn), Dexscreener market (liquidity, volume, mcap), Jupiter (verified tag, organic score, holder count, audit), a RugCheck second-opinion score, and a consensus block comparing the sources. Any source that is down is marked unavailable and the rest still return. Not a mint 404, invalid input 400 before any challenge: never charged. Compare: the verdict alone is $0.01, the holders pack alone is $0.25.

Polymarket odds complete kit ($0.02)

GET https://agents.avasis.ai/v1/pm/complete-kit?q=<text> or ?event=<slug>. One payment returns the ranked event, rules and resolution source, every active outcome with probability, CLOB token id and condition id, live order books (bid/ask/mid/spread, depth within 2c), 7-day price history for the top pick, series siblings, and Gamma-vs-CLOB consistency checks with a tradability label and flags. Read-only public Polymarket data; prices are crowd odds, not a forecast. Polymarket's Terms restrict its data for capital-market firms and market-data distributors (see data_terms in the body). No match 404, upstream error 502/504: never charged.

Solana token verdict

Use Verdict when a user asks about a Solana token: "is this token safe", "check this CA / mint", "rug check this pump.fun coin". It returns on-chain facts and a deterministic grade (SAFE, WARN or DANGER). It is not trading advice.

Token network: solana (any SPL or Token-2022 mint). Payment is USDC on Base over x402. You do not need a Solana wallet, an account or an API key.

Call

POST https://agents.avasis.ai/v1/sol/token-verdict

Body: {"tokenAddress": ""}. You may add "chain": "solana". Keep the mint's letter case exactly (base58). The same verdict is available as GET https://agents.avasis.ai/v1/sol/token-verdict/{mint} and GET https://agents.avasis.ai/v1/sol/token-verdict?mint={mint}.

  1. Call without payment. You get HTTP 402 with the price in the PAYMENT-REQUIRED header (x402 v2) and accepts in the body (x402 v1). Before you sign, check that availability is "ready" and that supported_token_chains contains "solana".
  2. Pay $0.01 in USDC on Base (eip155:8453) to 0x6264191D6dD5427435B5E829077842e130Ef1fc8 with any x402 client, then repeat the same call.
  3. HTTP 200 returns the verdict. HTTP 202 means settlement is still pending. Save operation_id and status_url; GET status_url costs nothing. Never create another payment to recover an unknown outcome.

Any x402 client works (v1 or v2). CORS is open, so browser agents can read PAYMENT-REQUIRED.

With AgentCash: npx agentcash@latest add https://agents.avasis.ai Also listed on PayAPI: https://payapi.market/api/avasis-agent-platform

First call (copy-paste)

# free: the 402 quote (price, payTo, availability, supported_token_chains)
curl -i -X POST https://agents.avasis.ai/v1/sol/token-verdict -H 'content-type: application/json' -d '{"tokenAddress":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}'
# free: a real paid verdict, exactly what $0.01 returns
curl https://agents.avasis.ai/v1/verdict/sample
// pay + call: save as pay-verdict.mjs, then: npm i @x402/fetch @x402/evm viem && node pay-verdict.mjs <mint>
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// X402_PRIVATE_KEY=0x<64 hex chars>: a wallet holding a little Base USDC. No ETH needed (EIP-3009: the facilitator pays gas).
const signer = privateKeyToAccount(process.env.X402_PRIVATE_KEY);
const pay = wrapFetchWithPayment(fetch, new x402Client().register("eip155:8453", new ExactEvmScheme(signer)));

const mint = process.argv[2] || "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263";
const r = await pay(`https://agents.avasis.ai/v1/sol/token-verdict/${mint}`); // 402 -> sign $0.01 -> verdict
const v = await r.json();
if (r.status === 200) console.log(v.grade, v.one_liner, v.share.text, v.image_url);
else if (r.status === 202) console.log("settling, poll (free):", v.status_url);
else console.log(r.status, v.error, "charged:", v.charged ?? false);
console.log("operation_id", v.operation_id, "status_url", v.status_url); // save both
# lost the response or got 202? free, never a second payment:
curl https://agents.avasis.ai/v1/verdict/operations/<operation_id>

Response

  • grade: SAFE, WARN or DANGER (rubric sol-verdict-1, below). The same value is in result.grade.
  • token_chain: always "solana" here (ax1 envelope key).
  • one_liner: at most 70 characters, factual, safe to quote. result.summary is one sentence.
  • quip: at most 110 characters, the shareable line. It is a fixed template over the facts in this result (no AI), so status_url and replays return the same text. result.roast is the quip plus one market sentence (ax1 field name).
  • share.text: ready to post ("BONK: SAFE (risk 11/100). <page_url>"). Also share.page_url and share.image_url.
  • page_url: public verdict page with the share card. image_url: PNG card, 1200x630 (card_svg_url is the SVG).
  • result.score: risk 0-100, higher is riskier. result.flags[]: code, severity, weight, evidence.
  • result.metrics.metrics[]: key, label, availability, value (a string, or null when unavailable, never a fake zero), unit, unavailableReason, provenance {source, method, slot, observedAt}.
  • market (also result.market): DEX context from Dexscreener at fetchedAt. Fields: liquidity_usd, volume_24h_usd, buys_24h, sells_24h, price_usd, price_change_24h_pct, market_cap_usd, fdv_usd, pair_count (pairs_capped when 30+), market_age_days (oldest pool), top_pool {dex, address, quote_symbol, liquidity_usd}. The same values are metric rows with provenance.source "dexscreener". This is context only and never changes the grade or score. If the provider is slow or down, available is false, reason says why and every field is null; you are still served and charged normally for the on-chain verdict.
  • payment: status, amount_raw (USDC atomic units, 6 decimals), network, tx_hash, explorer_url. status_url shows the tx_hash after settlement.
  • recovery: {url, method, headers, body?, note}, the exact request to re-send (ax1 shape {url, method}). recovery_request is the same request without the note. Before 30 Oct, recovery was the note string.
  • headers on a paid answer: X-Verdict-Grade, X-Operation-Id, X-Status-Url, Link (page + card).
  • next: deeper reads for the same mint (holders + authority $0.25, risk pack $1).
  • result.disclaimer: always show it next to the verdict.

Recovery (never pay twice)

  • The verdict, its page and its card are saved before settlement. Settlement happens at most once, and only after a 2xx answer.
  • status_url (GET https://agents.avasis.ai/v1/verdict/operations/{operation_id}) is free and never starts a payment. It returns 200 completed with the verdict, 202 pending (respect Retry-After), or 200 payment_failed (not charged).
  • To recover a lost response, GET status_url, or re-send the identical signed request (same PAYMENT-SIGNATURE / X-PAYMENT, same mint). It returns the saved verdict with recovered: true, charged_again: false.
  • A wrapper call that signs a new authorization is a new purchase, not a recovery. Do not let a payment hook re-sign to recover.
  • Save the signed payment and the exact request before sending. Never sign a new payment for an unknown outcome.

Rubric sol-verdict-1

  • 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
  • top-10 and largest-wallet shares exclude the pump.fun bonding curve, AMM pools (PumpSwap, Raydium, Orca, Meteora) and burn addresses
  • centrally issued tokens (USDC, USDT, ...) keep their authorities at low weight: counterparty risk is the issuer

Rules

  • You are never charged for an error: invalid input 400, not a mint 404, no baseline 409, rate limited 429, upstream failure 502, busy 503, timeout 504.
  • Garbage input is rejected before the challenge, so your client never signs for it. Examples: notamint, a 0x.. EVM address, an empty ?mint=. Only the bare path (no mint) returns the free 402 quote. A literal template value (:mint, {mint}, %7Bmint%7D, mint, or {"tokenAddress": ":mint"}) is not a mint: unpaid it returns the same free 402 quote as the bare path (a payable resource for directories, nothing worth signing for), and with a payment attached it returns 200 with the free sample (placeholder: true, charged: false) and a how_to_pay example, never verified or settled. Replace the template with a real mint before you pay.
  • Tickers: GET https://agents.avasis.ai/v1/sol/token-verdict/BONK (or ?mint=BONK, or POST {"tokenAddress": "BONK"}; $ optional, any case) on any /v1/sol/* mint route answers a redirect (307, POST 303) whose Location is the same route for the Jupiter-verified mint; x402 clients follow it and pay the mint URL, so the receipt and status_url name the mint. A symbol that is not Jupiter-verified, or that several tokens share, answers 400 with candidates (mint, holders, liquidity, URL): pick one. Prefer the mint; it skips the hop.
  • Read page_url, image_url and status_url from the response; do not build them yourself. They follow the host you called (https://agents.avasis.ai).
  • Free sample: https://agents.avasis.ai/v1/verdict/sample is a real paid verdict. If payment.historical is true, it was bought at an earlier price; price_now.amount_raw is what the live 402 charges today.
  • Limit: 30 paid calls per minute per IP.
  • When you show a verdict to a user, keep the disclaimer and link page_url.

Web page reader ($0.002)

GET https://agents.avasis.ai/v1/web/read?url=<https url> returns clean markdown, title, author, published date, links, word/token counts and content_sha256 (pass &since_sha256= to get changed: true|false). A page 4xx/5xx, a non-text file, or a private host is never charged.

Polymarket markets ($0.002)

GET https://agents.avasis.ai/v1/pm/markets?q=<text>&order=volume_24h|liquidity|ending_soon|newest&limit=10 returns live prediction markets with outcome prices (implied probabilities), CLOB token ids, bid/ask/spread, 1h/24h change, volume, liquidity and end date. Optional min_liquidity, ending_within_hours. Read-only; an upstream error is never charged.

EVM gas ops kit ($0.05)

Use it when a user or a signer asks "ethereum gas", "base gas", "what should I set maxFeePerGas to", "how much will this transaction cost", "is Base cheaper right now": one call, both chains. GET https://agents.avasis.ai/v1/evm/gas-ops (optional ?gas_limit=<gas units of your transaction>, default 21000) returns, per chain: the latest block (number, age, gasUsed %), base fee, gas price and priority fee (gwei + wei), four EIP-1559 fee tiers (slow / standard / fast / urgent: maxFeePerGas + maxPriorityFeePerGas, with the rule behind each), the next-block base-fee estimate with congestion vs target (EIP-1559 parameters printed), the ETH and USD cost of a transfer / ERC-20 transfer / approve / swap and of your gas_limit (expected now and max authorized; Chainlink ETH/USD), a Base-vs-Ethereum comparison and pick (tier + reason, deterministic). Plus Solana slot, priority-fee percentiles and on-chain SOL/USD. ETH/USD or Solana down: that section says available: false and both EVM chains still return; an EVM chain down: 503, never charged. GET only (POST 405). Free live sample, same code: https://agents.avasis.ai/v1/evm/gas-ops/sample. Repeat buyers: a prepaid pack (https://agents.avasis.ai/v1/meter) prices this call at $0.005 with no per-call settlement; the single $0.002 tips (/v1/tip/eth-gas, /v1/tip/base-gas, /v1/tip/all) carry the raw numbers only.

EVM fee plan ($0.02 per transaction, Base or Ethereum)

Use it when an agent is about to send ONE transaction and asks "base gas fee", "ethereum gas fee", "what maxFeePerGas and maxPriorityFeePerGas do I set", "how much will this cost in USD", "how long until it lands", "should I send now or wait": one call, one chain, your transaction. GET https://agents.avasis.ai/v1/base/fee-plan (Base, chain 8453) or GET https://agents.avasis.ai/v1/eth/fee-plan (Ethereum, chain 1) with ?gas_limit=<gas units of your tx> (default 21000; ~65000 ERC-20 transfer, ~46000 approve, ~180000 swap), urgency=low|normal|high|next_block (default normal), optional max_usd=<USD gas budget> and, on Base, calldata_bytes=<size of your unsigned tx> for the L1 data fee. Returns plan (the tier for your urgency: maxFeePerGas + maxPriorityFeePerGas in wei and gwei, the rule behind it, cost.expected = gas x (base fee + priority) now, cost.max_authorized = gas x maxFeePerGas, both in ETH and USD via Chainlink, on Base l1_data_fee + total_expected, and a typical inclusion window in blocks and seconds), ready_to_sign (type 0x2, chainId, gas, maxFeePerGas, maxPriorityFeePerGas as hex: add to / value / data / nonce), decision (send_now, downgrade when a cheaper tier fits your max_usd, or wait with recheck_in when the block is busy and you are not in a hurry or when even the slow tier is over budget; reason quotes the latest block's fill and the EIP-1559 next-base-fee estimate), alternatives (the other three tiers with costs), market (block, base fee, priority basis, next_block) and eth_usd. Deterministic arithmetic over the latest block (parameters printed), not a mempool model or a prediction. Invalid inputs are refused with 400 before the x402 challenge (nothing to sign); the bare path is a free 402 quote. GET only (POST 405); https://agents.avasis.ai/v1/evm/fee-plan?chain=base|eth redirects (307) to the chain route with the query preserved. ETH/USD or the GasPriceOracle down: that field says available: false and the plan still returns; the chain's RPC down: 503, never charged. Free live sample, same code: https://agents.avasis.ai/v1/evm/fee-plan/sample?chain=base (or eth). Both chains, four typical ops and a chain pick in one call: the $0.05 EVM gas ops kit (https://agents.avasis.ai/v1/evm/gas-ops); raw numbers only: the $0.002 /v1/tip/base-gas / /v1/tip/eth-gas tips; before you sign: https://agents.avasis.ai/v1/base/tx-precheck or /v1/eth/tx-precheck ($0.02) simulates the transaction itself.

Pre-sign tx precheck ($0.02)

Use it when an agent or a signer is about to sign an EVM transaction and asks "tx precheck", "simulate transaction", "is this transaction safe to sign", "what does this calldata do", "approval risk", "wallet pnl": one call per unsigned transaction. POST https://agents.avasis.ai/v1/base/tx-precheck (Base, chain 8453) or POST https://agents.avasis.ai/v1/eth/tx-precheck (Ethereum, chain 1) with JSON {"chain": "base", "from": "<signer 0x>", "to": "<0x>", "data": "<0x calldata or omit>", "value": "<wei as a string, default 0>", "gas": <optional limit>} (GET with the same query params works too; chain is optional and must match the route). The server runs eth_simulateV1 (transfers traced) against the latest block and returns: verdict (level SIGN | CAUTION | BLOCK, action, reasons[] with evidence, headline), decoded (selector, method approve / transfer / transferFrom / swap / permit / unknown, args, one_liner), sim (would_revert, revert_reason decoded from Error(string) / Panic, gas_used, fee basis, gas_usd, Base L1 data fee, ETH/USD from Chainlink, block number), transfers[] (ETH / ERC-20 / NFT: token, symbol, decimals, amount_raw, amount, usd or usd_reason, from, to, direction), net_for_from (eth delta, gas cost, token deltas, usd_net, usd_net_complete, unpriced[]), approvals[] (spender, known name, spender_is_contract, amount or unlimited: true, covers_full_balance, signer_balance, usd_exposure, exposure_basis), risk (every counterparty screened with GoPlus address_security and the OFAC SDN list, flags[] with code / level / evidence), signer (balance, nonce, funds_ok). Rules: a revert, insufficient funds, an OFAC or GoPlus-malicious counterparty or an approval to an address without code -> BLOCK; an unlimited or balance-covering approval, an unknown spender, calldata to an EOA, a never-used recipient, a burn recipient or an outflow with nothing in -> CAUTION; otherwise SIGN. USD prices: Chainlink for ETH, stablecoin pegs, Dexscreener for the long tail; a missing price never blocks the verdict (usd: null + reason). Invalid inputs are refused with 400 before the x402 challenge (nothing to sign); the bare path is a free 402 quote. Advice only: disclaimer says why (state can change between the check and your signature). Free live sample, same code: https://agents.avasis.ai/v1/evm/tx-precheck/sample. After the check: the $0.05 EVM gas ops kit (https://agents.avasis.ai/v1/evm/gas-ops?gas_limit=<sim.gas_used>) prices the fee tiers for exactly that gas, and the $0.002 /v1/tip/base-gas / /v1/tip/eth-gas tips carry the raw numbers.

EVM wallet rails ($0.02 each): ERC-20 allowance, multi-balance, tx receipt

Three fixed-price reads an EVM agent needs around every transaction, on Base (chain 8453) and Ethereum (chain 1); each is a per-chain route (/v1/base/<rail> or /v1/eth/<rail>; /v1/evm/<rail> redirects with 307 to the chain named in ?chain= / body.chain, default base), GET with query params or POST JSON (same price, settled on the POST), with a free live sample at https://agents.avasis.ai/v1/evm/<rail>/sample computed by the paid route's code. Invalid inputs are refused with 400 before the x402 challenge; the bare path is a free 402 quote. Not found (404), busy (503), RPC down (502): never charged.

  • ERC-20 allowance check (erc20-allowance): "erc20 allowance", "token approval check", "needs approval", "approve calldata", "revoke approval". GET https://agents.avasis.ai/v1/base/erc20-allowance?owner=<0x>&token=<0x>&spender=<0x>[&amount=250] (POST JSON {"chain": "base", "owner", "tokenAddress", "spender", "amount"}) returns allowance (raw, units, unlimited >= 2^128-1, zero, pct of balance), owner_balance, spendable_now = min(allowance, balance) with limited_by, covers_full_balance, usd (price source: Chainlink / stablecoin peg / Dexscreener; exposure), spender (is_contract: an EOA spender is the drainer pattern; known name for Uniswap routers, Permit2, 0x, 1inch; permit2), and with amount: check (sufficient_allowance, sufficient_balance, shortfall_allowance, needs_approval, verdict READY / APPROVE FIRST / INSUFFICIENT BALANCE / APPROVE AND FUND, approve_exact_calldata). calldata always carries approve_unlimited and revoke (approve(spender, 0)) for the token address, ready to simulate with the tx precheck and sign from the owner. Not a contract or not an ERC-20 on this chain -> 404, never charged.
  • Wallet multi-balance (multi-balance): "wallet balance", "multi balance", "usdc balance", "eth balance", "can this wallet pay gas". GET https://agents.avasis.ai/v1/base/multi-balance?address=<0x>[&tokens=WETH,cbBTC,0x...] (POST JSON {"chain", "address", "tokens"}; tokens = up to 10 ERC-20 addresses or known symbols, Base: USDC, USDBC, DAI, WETH, CBBTC, USDT; Ethereum: USDC, USDT, DAI, WETH, WBTC; USDC is always included) returns eth (wei, amount, usd), usdc, tokens[] (address, symbol, decimals, raw, amount, usd, price_source, or error for a bad address while the rest still answers), totals (usd, complete, unpriced), tx_count, is_contract, empty, and gas (base fee, ETH transfer cost at 2x base fee in ETH / USD, can_pay_eth_transfer, eth_transfers_affordable).
  • Tx receipt + status (tx-receipt): "tx receipt", "transaction status", "is my transaction confirmed", "gas used", "pending transaction". GET https://agents.avasis.ai/v1/base/tx-receipt?txHash=<0x hash>[&wait=10] (POST JSON {"chain", "txHash", "wait"}) polls the receipt every 1.2 s on Base / 2.5 s on Ethereum for up to wait seconds (default 10, max 25, 0 = one read) and returns, once mined: status success / reverted, block (number, timestamp, age), confirmations, gas (limit, used, used_pct, effective gas price, fee in ETH and USD, Base l1_fee, total), value, input (decoded method), transfers[] from the logs (ETH value / ERC-20 / NFT with symbol, amount, USD, direction), approvals[], net_for_from (what the sender gained or lost incl. gas), revert (reason recovered by replaying the call at the parent block). Still pending after the wait: 200 with nonce_check (state next / queued behind N / consumed = this hash will never mine), fee_market (underpriced when max fee < base fee), reasons, advice. A hash this chain's nodes have never seen -> 404, never charged (retrying is free).

After the check: https://agents.avasis.ai/v1/base/tx-precheck ($0.02) simulates the approve / transfer you are about to sign, and https://agents.avasis.ai/v1/evm/gas-ops ($0.05) prices the fee tiers.

x402 payment verify, address screen, price consensus, tx unstick, authorization check, calldata decode ($0.02 each)

Six more fixed-price answers around a payment, same contract as the wallet rails (GET with query params or POST JSON, free live sample, 400 before the challenge on bad input, 404 / 502 / 503 / 504 never charged):

  • x402 payment verify (/v1/base/payment-verify; /v1/x402/payment-verify redirects 307 to it): "x402 payment verify", "did my payment settle", "verify usdc payment", "settlement proof". GET https://agents.avasis.ai/v1/base/payment-verify?tx=<0x hash> (the transaction of your PAYMENT-RESPONSE) or ?from=<payer>&nonce=<bytes32> (the EIP-3009 authorization you signed; lookback blocks, default 50000, max 150000) with optional payTo, amount (atomic or decimal), asset, wait (0-25 s). Returns settled, verdict SETTLED / SETTLED_MISMATCH / REVERTED / NO_TRANSFER / PENDING, payment (payer, pay_to, amount, eip3009, nonce; the rule is AuthorizationUsed + its adjacent USDC Transfer, the same one our settle reconciler uses), matches (payTo, amount, asset, authorization, all), block, confirmations, finality (Base safe / finalized heads), submitter (relayed by a facilitator?, CDP hot wallets labelled, tx_count), method, tx (fee in ETH + USD), transfers[]. Unknown hash or an authorization never used in the lookback -> 404, never charged (retrying is free).
  • Address screen (/v1/base/address-screen, /v1/eth/address-screen; /v1/evm/address-screen redirects 307 to the chain in ?chain=): "address screen", "is this address safe", "sanctions check", "wallet screening", "payee check". GET https://agents.avasis.ai/v1/base/address-screen?address=<0x> (POST JSON {"chain", "address"}) returns verdict {level CLEAR / CAUTION / BLOCK, reasons[] with codes OFAC_SDN, GOPLUS_MALICIOUS, BURN_ADDRESS, PRECOMPILE, GOPLUS_WEAK_SIGNAL, NEVER_USED, EIP7702_DELEGATED, TOKEN_CONTRACT, UNLABELED_CONTRACT, KNOWN_PROTOCOL, *_UNAVAILABLE}, type (eoa / contract / proxy / ERC-20 / EIP-7702 delegate / burn / precompile, code bytes), activity (tx_count, ever_used, ETH + USD, USDC), labels (known token / router / Permit2, x402 facilitator relay wallet), sanctions (OFAC SDN digital-currency list), goplus (address_security flags), contract (proxy standard + implementation, ERC-20 symbol / decimals). Risk feeds are fail-soft: a feed down adds an INFO reason and the on-chain part still answers.
  • Tx unstick (/v1/base/tx-unstick, /v1/eth/tx-unstick; /v1/evm/tx-unstick redirects 307 to the chain in ?chain=): "stuck transaction", "tx unstick", "replace transaction", "cancel transaction", "nonce gap". GET https://agents.avasis.ai/v1/base/tx-unstick?address=<0x>&tx=<0x hash>&urgency=high (POST JSON {"chain", "address", "tx", "urgency"}; nonce instead of tx when you have no hash) returns verdict {level NOT_STUCK / NONCE_GAP / STUCK_UNDERPRICED / PENDING_PRICED / QUEUED_BEHIND / UNKNOWN_TX_NONCE_GAP / SUPERSEDED / MINED, action none / replace / wait_or_replace / clear_gap_first, reasons[]}, nonces {confirmed, pending, gap, mempool_visible}, tx (state, underpriced, low_tip, decoded input), fee_market (base fee, priority + basis, the tier for your urgency), replacement (the +10 % minimums and the chosen maxFeePerGas / maxPriorityFeePerGas), cancel and speed_up as ready-to-sign type-2 fields (nonce, to, value, data, gas, fees), cost (ceiling + expected in ETH and USD, balance, can_pay_cancel). Already mined or superseded says so; an unknown hash with nothing pending is a 404 (never charged). Free live sample: https://agents.avasis.ai/v1/evm/tx-unstick/sample.
  • x402 authorization check (/v1/base/authorization-check, /v1/eth/authorization-check; /v1/x402/authorization-check redirects 307 to the chain in ?chain=): "should I sign this", "x402 authorization check", "eip-3009", "decoy quote". GET https://agents.avasis.ai/v1/base/authorization-check?from=<0x>&to=<0x>&value=20000&validBefore=<unix s>&nonce=<0x bytes32>&payTo=<0x>&amount=20000&asset=<0x>&network=eip155:8453&maxTimeout=120 (POST JSON {"chain", "from", "to", "value", "validAfter", "validBefore", "nonce", "payTo", "amount", "asset", "network", "maxTimeout"}; optional verifyingContract (the token; default USDC), domainName, domainVersion, domainChainId, primaryType) returns verdict {level SIGN / CAUTION / BLOCK, sign, reasons[] with codes PAYTO_MISMATCH, AMOUNT_OVER_QUOTE, ASSET_MISMATCH, NETWORK_MISMATCH, CHAIN_ID_MISMATCH, ASSET_NO_CODE, NONCE_USED, EXPIRED, EMPTY_WINDOW, DOMAIN_MISMATCH (block); AMOUNT_UNDER_QUOTE, NOT_CANONICAL_USDC, DECOY_LARGE_AMOUNT, INSUFFICIENT_BALANCE, LONG_LIVED, TIMEOUT_EXCEEDED, NOT_YET_VALID, SELF_TRANSFER, RECEIVE_TYPE (warn); NO_QUOTE, PAYTO_IS_CONTRACT, NONCE_ZERO, DOMAIN_UNVERIFIED (info), checks_ok[]}, authorization (value units + USD, nonce_used, seconds_until_expiry, valid_now), quote.matches, token (name, version, symbol, decimals, canonical_usdc, on-chain domain separator), domain (separator_computed, matches_onchain, expected), typed_data (the canonical EIP-712 payload for eth_signTypedData_v4), digest (struct_hash, eip712_digest), payer (balance, sufficient), pay_to. Nothing is signed or paid. Never a 404: a decoy asset is a BLOCK.
  • Calldata decode (/v1/base/calldata-decode, /v1/eth/calldata-decode; /v1/evm/calldata-decode redirects 307 to the chain in ?chain=): "decode calldata", "what does this transaction do", "abi decode", "unlimited approval". GET https://agents.avasis.ai/v1/base/calldata-decode?to=<0x>&data=<0x calldata>&value=0&from=<0x> (POST JSON {"chain", "to", "data", "value", "from"}; value in wei, from optional) returns verdict {level LOW / MEDIUM / HIGH, summary (one sentence: "approve: let Uniswap Permit2 spend an UNLIMITED amount of USDC"), flags[] with codes APPROVE_UNLIMITED, SET_APPROVAL_FOR_ALL, DELEGATECALL, ADMIN_ACTION, TARGET_NO_CODE (high); APPROVE_UNKNOWN_SPENDER, PERMIT, PERMIT2_APPROVE, TARGET_UNVERIFIED, SELECTOR_UNKNOWN, DEADLINE_PAST, RECIPIENT_NOT_SENDER, UR_COMMAND_UNKNOWN (warn); APPROVE_KNOWN_SPENDER, TRANSFER_OUT, PROXY_TARGET, VALUE_NONZERO, UNIVERSAL_ROUTER, TRAILING_DATA, SELECTOR_UNVERIFIED, SIGNATURE_AMBIGUOUS (info), flags_ok[]}, call (selector, signature, name, kind, source sourcify / local / openchain / 4byte, confidence verified-abi / known / signature-db / guess / none, args[] {name, type, value}, args_by_name, candidates[], trailing_bytes), target (is_contract, known label + kind, token symbol + decimals, sourcify {verified exact_match / match / none, name, proxy {type, implementation, implementation_name}}), value (wei, eth), nested[] (multicall / Safe execTransaction / account execute inner calls, one level, each with its own args + flags), commands[] (the Universal Router plan: command, args, route). Nothing is simulated, signed or paid: pair it with the same chain's tx precheck. Never a 404: an unknown selector or a target without code is a flag.
  • Price consensus (/v1/price/consensus, GET only; a JSON POST answers 303 to the same GET URL): "token price", "price consensus", "usd price", "is the price reliable", "convert amount to usd". GET https://agents.avasis.ai/v1/price/consensus?token=SOL&amount=2.5 (a symbol such as BTC / ETH / SOL / USDC / USDT / BONK / JUP / WIF / PEPE / DEGEN / AERO / LINK, unknown symbols resolved via CoinGecko, the Pyth catalog and Jupiter-verified tickers; or a 0x contract with chain=base (default) / chain=eth; or a Solana mint) returns consensus (median usd, n_sources, dispersion_pct, mad_pct, grade TIGHT <= 0.25% / OK <= 1% / WIDE <= 3% / DIVERGENT, agree, outliers, stale, unavailable), sources[] (pyth push feed, chainlink on Base, coingecko, defillama, dexscreener best-liquidity pool, jupiter; each with usd, age, fresh, basis), token (symbol, chain, address, ids, resolved_by) and amount (usd, by_source). Unknown symbol -> 404, no source answered -> 502, never charged.

Ladders: a verify points to the Base address screen and the tx receipt; an authorization check points to the same chain's address screen (the payTo) and, on Base, the payment verify (after you pay); a tx unstick points to the same chain's tx precheck (re-simulate the speed-up) and the gas-ops kit; a calldata decode points to the same chain's tx precheck (simulate the same to / data / value) and the address screen (the target); a screen points to the same chain's tx precheck and (Base) the payment verify; a price answer points to the token's verdict (Solana: /v1/sol/token-verdict/{mint} + the complete kit; Base / Ethereum: /v1/<chain>/token-verdict) and the wallet multi-balance.

x402 Paid-API Starter Kit ($49.00, one-time, zip)

"x402 starter kit", "paid API template", "how do I charge agents per call". The production x402 contract this host runs, as a zip you deploy yourself: Express + @x402/express server (CDP primary, PayAI failover), never-charged-on-failure + idempotent receipts, tests, hardened Caddy + systemd deploy, Bazaar / openapi / llms.txt listing examples. GET https://agents.avasis.ai/v1/base/x402-starter-kit unpaid -> free 402 quote (USDC on Base to 0x6264191D6dD5427435B5E829077842e130Ef1fc8); pay the exact amount — **default x402 clients cap one payment at $1: set spendControls.maxAmountPerPayment to at least $49 (e.g. client.setSpendControls({ maxAmountPerPayment: "$49" })) before you sign; the 200 body carries zip_base64, file.sha256 and an unguessable download.url (application/zip, 30 days). Re-send the identical signed request to get it again free (recovered:true, charged_again:false). Free docs, contents and sha256: https://agents.avasis.ai/v1/base/x402-starter-kit/info.

High-ticket: Research + Rails Retainer ($999.00 / month) and White-Label Rails Pack ($2,500.00)

Same x402 contract as the starter kit: GET unpaid -> free 402 quote (USDC on Base to 0x6264191D6dD5427435B5E829077842e130Ef1fc8); set spendControls.maxAmountPerPayment to $999 / $2500 before you sign; pay and repeat the GET. The 200 body is a purchase receipt (purchase.token, payment, includes, next_steps, intake) and a free fulfillment.status_url; email abhay@avasis.ai with the token to start (ops reply within 1 business day). The white-label pack also returns the scrubbed starter-kit zip (code_base.zip_base64). Never charged on failure; identical signed replay is free (recovered:true). Prefer an invoice? Email abhay@avasis.ai.

Solana pump.fun launch intel (QuantBase data, $0.002 to $1,500)

Same x402 contract as the rest of this page: GET unpaid -> free 402 quote (USDC on Base to 0x6264191D6dD5427435B5E829077842e130Ef1fc8); pay it and repeat the GET. Charged only after a successful answer (a dataset: only after the whole file streamed); an unknown id or day is 404 and not charged. Data, not advice.

CallPriceWhat
GET https://agents.avasis.ai/v1/sol/launch-firehose$0.002Every new pump.fun launch since a cursor, with launch-risk fields (snipers, bundles, dev buy, funders)
GET https://agents.avasis.ai/v1/sol/trap-check/{mint}$0.02Snipers, bundles, funder clusters, dev buy and creator record -> SAFE / WARN / DANGER
GET https://agents.avasis.ai/v1/sol/creator/{wallet}$0.01Every launch by a wallet: graduations, post-graduation collapses, early dev sells, funder and cluster
GET https://agents.avasis.ai/v1/sol/launch-provenance/{mint}$0.02Creator history, funding cluster, clone metadata, instant-graduation bundle
GET https://agents.avasis.ai/v1/sol/pumpfun-base-rates$0.01Organic graduation rate, P(up 1h / 24h), liquidity alive 1h, 24h launch counts
GET https://agents.avasis.ai/v1/sol/launch-firehose/pass-7d / pass-30d$1.00 / $4.00Unlimited polling + SSE stream with a bearer token (raise maxAmountPerPayment to $4 for the 30-day pass)
GET https://agents.avasis.ai/v1/sol/launch-intel/dataset/day/{YYYY-MM-DD}$5.00One finished UTC day of launches as csv.gz (about 31-40k rows, 37 columns, SAFE/WARN/DANGER label with reasons)
GET https://agents.avasis.ai/v1/sol/launch-intel/dataset/last-7d$25.00The last 7 finished UTC days as one csv.gz (about 220-280k rows)
GET https://agents.avasis.ai/v1/sol/launch-intel/dataset/last-30d$79.00The last 30 finished UTC days as one csv.gz (about 1M rows)
GET https://agents.avasis.ai/v1/sol/launch-intel/starter-30d$49.00Starter plan: one bearer token for 30 days with the firehose poll + SSE, trap-check and creator, no further payment; no file downloads (bulk files start at the $199 licence). Fair use per token: 2 requests/s and 5,000 API calls per UTC day; internal use, no resale; buy again to renew
GET https://agents.avasis.ai/v1/sol/launch-intel/license-30d$199.00One bearer token for 30 days: firehose poll + SSE, every daily file, trap-check and creator, no further payment (fair use per token; internal use, no resale; buy again to renew)
GET https://agents.avasis.ai/v1/sol/launch-intel/scale-30d$599.00Scale plan: the licence scope (firehose poll + SSE, every daily file, trap-check and creator) with higher fair-use limits per token: 5 requests/s, 100,000 API calls and 500 file downloads per UTC day; internal use, no resale; buy again to renew
GET https://agents.avasis.ai/v1/sol/launch-intel/enterprise-30d$1,500.00Enterprise plan: the licence scope with the highest fair-use limits per token: 10 requests/s, 500,000 API calls and 2,000 file downloads per UTC day; internal use, no resale; buy again to renew (more: abhay@avasis.ai)
GET https://agents.avasis.ai/v1/sol/launch-intel/history-full$999.00One-time signed 24 h download link (3 downloads) to a tar of every finished UTC day since 30 Aug 2026 plus MANIFEST.json with rows, bytes and sha256 per file (internal use, no resale)

The datasets, the plans (Starter, licence, Scale, Enterprise) and the history download are above the default $1 client cap: set spendControls.maxAmountPerPayment to $5 / $25 / $49 / $79 / $199 / $599 / $999 / $1500 before you sign. Free first: https://agents.avasis.ai/v1/sol/launch-intel/dataset (catalog with row counts and sha256 per file), https://agents.avasis.ai/v1/sol/launch-intel/dataset/schema and https://agents.avasis.ai/v1/sol/launch-intel/dataset/sample (a 7-day sample csv.gz). Paid but the file, token or link did not arrive intact: see Refunds and re-delivery below.

Other routes

Every other paid route (dossier, batch, delta, risk packs, ERC-20 verdicts, chain tips, prepaid meter) stays live with the same charging rules. They are listed with prices in https://agents.avasis.ai/pricing.md and https://agents.avasis.ai/.well-known/x402.

Refunds and re-delivery

  • Failed delivery = not charged: we settle a payment only after a 2xx, non-empty, valid response. 4xx / 5xx / empty answers are never settled.
  • Paid but did not get the data: POST https://agents.avasis.ai/v1/redeliver {"tx_hash":"0x..","signature":"0x.."} re-serves it free (a fresh run for live data) within 72 h: up to 3 times when our delivery ledger shows the response did not reach you, once after a refund claim when it shows it did. Sign Avasis redelivery for <tx_hash lowercase> (EIP-191 personal_sign) with the address that paid. The verdict family, kits with a download, prepaid credit and passes recover by re-sending the identical signed request (served free, never charged twice).
  • Or claim a refund within 14 days: POST https://agents.avasis.ai/v1/refund {"tx_hash":"0x..","reason":"..","signature":"0x.."} (sign Avasis refund claim for <tx_hash lowercase>). One claim per payment; the amount and the refund address come from the chain (the address that paid), never from the request. Automatic when our ledger confirms the failure (payments up to $1 on re-deliverable calls); everything else is reviewed by a human. Refunds are paid by a human, in USDC on Base, within 7 days. Status: GET https://agents.avasis.ai/v1/refund/status?claim=<id>. Terms: https://agents.avasis.ai/v1/refund/info

Pricing: https://agents.avasis.ai/pricing.md · OpenAPI: https://agents.avasis.ai/openapi.json · llms.txt: https://agents.avasis.ai/llms.txt · x402 manifest: https://agents.avasis.ai/.well-known/x402