{"server":{"name":"io.github.romudille-bit/agentpay","title":"AgentPay — trust routing + spend caps for x402 agents","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://agentpay.tools/mcp","type":"streamable-http"}],"version":"2.7.3","packages":[{"version":"2.7.3","transport":{"type":"stdio"},"identifier":"@romudille/agentpay-mcp","registryType":"npm","environmentVariables":[{"name":"AGENTPAY_BASE_KEY","format":"string","isSecret":true,"description":"Optional EVM private key for wallet mode: settle paid tools in-place (gasless EIP-3009 on Base). Keyless free-tools mode works without it."},{"name":"AGENTPAY_ENABLE_PAID","format":"string","description":"Set to 1 to settle paid tools from the wallet the server mints on first run (fund it with USDC on Base first). Off by default."},{"name":"AGENTPAY_MAX_SPEND","format":"string","description":"Hard per-session spend cap in USD when wallet mode is enabled (default 0.10)."}]}],"repository":{"url":"https://github.com/romudille-bit/agentpay","source":"github"},"websiteUrl":"https://agentpay.tools","description":"Buyer-side trust oracle + capped sessions for x402 agents: verified_route, receipts, 17 free tools."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-03T19:19:52.988132Z","publishedAt":"2026-10-03T19:19:52.988132Z","statusChangedAt":"2026-10-03T19:19:52.988132Z"},"dev.protogrid/connectability":{"class":"unknown","autonomous":false,"human_steps":["unknown"],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://agentpay.tools/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":false,"uptime_30d":0.9480519,"latency_ms_p50":531,"consecutive_failures":1,"last_probe_at":"2026-10-20T02:55:30.755Z","last_ok_at":"2026-10-19T20:48:49.361Z"}}],"packages":[{"idx":0,"registry_type":"npm","identifier":"@romudille/agentpay-mcp","version":"2.7.3","runtime_hint":null,"transport":"stdio","secrets":["AGENTPAY_BASE_KEY"],"requires_execution":true}]},"dev.protogrid/tools":[{"name":"crypto_news","title":null,"description":"Latest crypto news and community sentiment from r/CryptoCurrency for any token\n\nUse when: You need recent news headlines or community sentiment for one or more crypto tokens.\nNot for: you need general web news or documentation — web_search; a specific article's text — url_reader; a numeric sentiment gauge — fear_greed_index.\nReturns: headlines[] with title, url, sentiment (bullish/neutral/bearish), score, published_at\nExample response: {\"currencies\":\"ETH\",\"headlines\":[{\"title\":\"Ethereum devs confirm Pectra upgrade timeline\",\"url\":\"https://reddit.com/r/CryptoCurrency/...\",\"sentiment\":\"bullish\",\"score\":1842,\"published_at\":\"2026-03-22T08:14:00Z\"},{\"title\":\"ETH gas fees drop to yearly lows\",\"url\":\"https://reddit.com/r/CryptoCurrency/...\",\"sentiment\":\"bullish\",\"score\":934,\"published_at\":\"2026-03-22T06:31:00Z\"}],\"source\":\"reddit\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Crypto News","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"defi_tvl","title":null,"description":"DeFi protocol Total Value Locked from DeFiLlama. Returns top 10 or a specific protocol.\n\nUse when: You need the Total Value Locked in a specific DeFi protocol or want to compare the top protocols by TVL.\nNot for: you want the best yield for a token — yield_scanner; protocol revenue or custom metrics — dune_query.\nReturns: tvl, change_1h, change_1d, change_7d, chains[], category for the protocol (or top 10 list)\nExample response: {\"protocol\":\"aave\",\"tvl\":23800000000,\"change_1h\":0.12,\"change_1d\":-1.43,\"change_7d\":3.21,\"chains\":[\"Ethereum\",\"Polygon\",\"Avalanche\",\"Base\"],\"category\":\"Lending\",\"source\":\"defillama\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Defi Tvl","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"dune_query","title":null,"description":"Run any Dune Analytics query and return live onchain results by query ID. Use fast_only=True for live bots — returns cached result instantly or raises immediately, never blocks.\n\nUse when: You need deep onchain analytics from a specific Dune query — protocol revenue, user counts, custom metrics.\nNot for: you have no Dune query ID — the other tools cover prices, derivatives, TVL and security without one; you need sub-second answers — set fast_only=true or use a cached tool.\nReturns: rows[], columns[], row_count, generated_at from the Dune Analytics query result\nExample response: {\"query_id\":3810512,\"row_count\":2,\"columns\":[\"protocol\",\"revenue_usd\"],\"rows\":[{\"protocol\":\"Uniswap V3\",\"revenue_usd\":1243800},{\"protocol\":\"Aave V3\",\"revenue_usd\":987200}],\"generated_at\":\"2026-03-22T00:00:00Z\",\"source\":\"dune\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Dune Query","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"estimate_plan","title":null,"description":"Price a multi-tool plan BEFORE spending anything. Submits the tool calls an agent intends to make to the gateway's free /v1/plan/estimate and returns per-step cost, total, a fits-budget verdict, and a cheaper alternative per paid step. No payment, no wallet needed.  Use when: planning a multi-step task with paid tools, \"what would this cost\", \"does this plan fit my budget\", or before committing a Session cap.","annotations":{"title":"Estimate Plan (pre-flight plan pricing)","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"fear_greed_index","title":null,"description":"Crypto Fear & Greed Index (0=extreme fear, 100=extreme greed) with optional history\n\nUse when: You need to gauge overall crypto market sentiment or mood — whether the market is fearful or greedy.\nNot for: you want token-specific sentiment — crypto_news (per-token headlines) or funding_rates (leveraged positioning).\nReturns: value (0–100), value_classification (e.g. 'Greed'), optional history[]\nExample response: {\"value\":10,\"value_classification\":\"Extreme Fear\",\"timestamp\":1774137600,\"source\":\"alternative.me\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Fear Greed Index","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"funding_rates","title":null,"description":"Get perpetual futures funding rates across Binance, Bybit, and OKX\n\nUse when: You need funding rates to gauge leveraged market sentiment or cost of holding a perp position.\nNot for: you need open interest or long/short ratio — open_interest; one verdict combining funding, OI, slippage and security for a trade — pre_trade_check.\nReturns: funding_rate_pct, annualized_rate_pct, sentiment (bullish/neutral/bearish) per exchange\nExample response: {\"asset\":\"BTC\",\"rates\":[{\"exchange\":\"binance\",\"funding_rate_pct\":0.012,\"annualized_rate_pct\":13.14,\"sentiment\":\"bullish\"},{\"exchange\":\"bybit\",\"funding_rate_pct\":0.011,\"annualized_rate_pct\":12.04,\"sentiment\":\"bullish\"},{\"exchange\":\"okx\",\"funding_rate_pct\":0.009,\"annualized_rate_pct\":9.85,\"sentiment\":\"neutral\"}],\"source\":\"binance/bybit/okx\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Funding Rates","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"gas_tracker","title":null,"description":"Get current Ethereum gas prices (slow, standard, fast)\n\nUse when: You need to know current Ethereum gas prices before submitting a transaction or estimating costs.\nNot for: you need gas as part of a broader read — market_snapshot already includes standard gwei; only Ethereum mainnet gas is reported.\nReturns: slow_gwei, standard_gwei, fast_gwei, base_fee_gwei, estimated confirmation times\nExample response: {\"slow_gwei\":1.5,\"standard_gwei\":2,\"fast_gwei\":3,\"base_fee_gwei\":1.2,\"source\":\"etherscan\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Gas Tracker","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"market_snapshot","title":null,"description":"Fed rate, inflation proxy, S&P 500, BTC, ETH, and gas in one call. Replaces three separate API integrations with a single normalized response — the only tool that gives you macro + crypto in one shot.\n\nUse when: You need a combined macro + crypto market overview in one call: S&P 500, Treasury yield, BTC, ETH, and Ethereum gas.\nNot for: you need one asset in depth — token_price, gas_tracker or funding_rates; history or time series — dune_query.\nReturns: sp500_price, sp500_change_pct, treasury_yield_10y, btc_price_usd, eth_price_usd, gas_standard_gwei, timestamp\nExample response: {\"sp500_price\":5234.18,\"sp500_change_pct\":-0.42,\"treasury_yield_10y\":4.31,\"btc_price_usd\":67200,\"eth_price_usd\":3450,\"gas_standard_gwei\":5.2,\"timestamp\":\"2026-05-26T12:00:00Z\",\"source\":\"yahoo_finance+coingecko+etherscan\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Market Snapshot","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"open_interest","title":null,"description":"Get total open interest in perpetual futures for any asset, with 1h and 24h change rates. Pairs with funding_rates to complete the derivatives picture — rising OI with high funding = overcrowded position.\n\nUse when: You need to know total open interest in perpetual futures and whether it's rising or falling. Combine with funding_rates for a full derivatives picture.\nNot for: you need the funding cost of holding a position — funding_rates; a single trade verdict — pre_trade_check.\nReturns: total_oi_usd, oi_change_1h_pct, oi_change_24h_pct, long_short_ratio, per-exchange breakdown\nExample response: {\"asset\":\"ETH\",\"price_usd\":2069.73,\"total_oi_usd\":8420000000,\"oi_change_1h_pct\":1.2,\"oi_change_24h_pct\":12.4,\"long_short_ratio\":1.08,\"exchanges\":[{\"exchange\":\"Binance\",\"oi_contracts\":4066123.5,\"oi_change_1h_pct\":1.2,\"oi_change_24h_pct\":12.4,\"long_short_ratio\":1.08}],\"source\":\"binance/bybit\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Open Interest","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"orderbook_depth","title":null,"description":"Get real bid/ask depth and slippage estimates at $10k, $50k, and $250k notional from Binance and Bybit. Use before sizing a position to know if you can execute without moving the market.\n\nUse when: You need to estimate slippage before executing a large trade. Tells you how much a $10k, $50k, or $250k order will move the market.\nNot for: you need market cap or 24h volume — token_market_data; a full pre-trade verdict at your size — pre_trade_check. Centralised-exchange books (Binance/Bybit) only, not DEX pools.\nReturns: best_bid, best_ask, spread_pct, depth with slippage_pct at $10k/$50k/$250k notional, per-exchange best prices\nExample response: {\"asset\":\"ETH\",\"pair\":\"ETH/USDT\",\"best_ask\":2071.5,\"best_bid\":2071.2,\"spread_pct\":0.0145,\"depth\":[{\"notional_usd\":10000,\"slippage_pct\":0.002,\"executable\":true},{\"notional_usd\":50000,\"slippage_pct\":0.008,\"executable\":true},{\"notional_usd\":250000,\"slippage_pct\":0.031,\"executable\":true}],\"exchanges\":[{\"exchange\":\"Binance\",\"best_ask\":2071.5,\"best_bid\":2071.2},{\"exchange\":\"Bybit\",\"best_ask\":2071.6,\"best_bid\":2071.1}],\"source\":\"binance/bybit\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Orderbook Depth","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"pre_trade_check","title":null,"description":"One-call pre-trade sanity check: 'I want to long $X of SYMBOL — is now sane?' Combines live orderbook slippage at YOUR size, cross-exchange funding (carry cost), open-interest crowding, and contract security (GoPlus) into a single ok/caution/avoid verdict with a per-factor breakdown. Major ERC-20 addresses (LINK, UNI, ARB, OP, AAVE, PEPE, SHIB) resolve automatically; native assets (BTC, ETH, SOL, ...) report security n/a; an unrecognized token without token_address reads 'unknown' and caps the verdict at caution — an unscreened contract can never read 'ok'. Replaces four API integrations and the judgment layer on top of them. Raw component data embedded so you can apply your own thresholds.\n\nUse when: An agent (or human) is about to enter a position and wants one verdict covering liquidity, carry, crowding, and security — instead of four raw feeds plus its own synthesis.\nNot for: you need a single raw factor — funding_rates, open_interest, orderbook_depth or token_security are free; you are not about to size a position. This call settles $0.01 on-chain.\nReturns: verdict (ok/caution/avoid), factors{liquidity,carry,crowding,security} each with level + reason, components{orderbook_depth,funding_rates,open_interest}, symbol, side, size_usd\nExample response: {\"symbol\":\"ETH\",\"side\":\"long\",\"size_usd\":50000,\"verdict\":\"caution\",\"factors\":{\"liquidity\":{\"level\":\"ok\",\"slippage_pct\":0.011,\"bucket_usd\":50000,\"reason\":\"fills within 0.011% of best ask\"},\"carry\":{\"level\":\"caution\",\"median_funding_pct\":0.062,\"annualized_pct\":67.9,\"reason\":\"longs paying elevated funding\"},\"crowding\":{\"level\":\"ok\",\"long_short_ratio\":1.4,\"oi_change_24h_pct\":3.2,\"reason\":\"positioning unremarkable\"},\"security\":{\"level\":\"skipped\",\"reason\":\"no token_address provided\"}}}\n\nPrice: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)","annotations":{"title":"Pre Trade Check","readOnlyHint":false,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"route","title":null,"description":"Legacy alias of verified_route (kept for back-compat). Find and judge the best paid x402 tool for a need, within a budget. Discovers across Coinbase Bazaar, drops stubs (no schema / factory clones), ranks survivors by real usage (unique payers × 3 + calls + recency bonus), enforces the budget, price- tiebreaks quality-equal candidates. Returns ranked candidates + a recommendation + ready-to-pay details. Advise-only — no payment happens here. Prefer verified_route (same vetting, matches the paid tool + Bazaar listing).  Use when: \"which x402 tool for X\", \"find a paid API for X under $Y\".","annotations":{"title":"Route (x402 marketplace routing, legacy)","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"session_create","title":null,"description":"Open a budget-capped agent session on AgentPay. Pay $0.01 USDC once — get a session_id, budget config, and gateway URL. Enforces a hard max_spend cap across all subsequent tool calls via the AgentPay SDK. The entry point for agents discovering AgentPay on Base Bazaar.\n\nUse when: You want to start an AgentPay session with a hard spend cap and get a session_id for tracking.\nNot for: you only need a session for free tools — the SDK's quickstart() opens one at no cost; this call settles $0.01 on-chain.\nReturns: session_id, max_spend, agent_address, gateway_url, tools_endpoint, created_at, receipt (tx_hash + network)\nExample response: {\"session_id\":\"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\"max_spend\":\"0.10\",\"agent_address\":\"GBCVQCNFWPM3GDO4GPT4YEQ42ZHPY67QTJA3WN5ERQIKQDXKBX62SLNJ\",\"label\":null,\"gateway_url\":\"https://agentpay.tools\",\"tools_endpoint\":\"https://agentpay.tools/tools\",\"created_at\":\"2026-05-27T12:00:00Z\",\"receipt\":{\"tx_hash\":\"0xabc...def\",\"network\":\"base\",\"amount_usdc\":\"0.01\"},\"sdk_hint\":\"Use `from agentpay import Session` to enforce the max_spend cap client-side.\"}\n\nPrice: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)","annotations":{"title":"Session Create","readOnlyHint":false,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"token_market_data","title":null,"description":"Get market cap, 24h volume, ATH, and price change for any token. Note: does NOT return pool depth or slippage — for pre-trade liquidity estimates, use a dedicated orderbook tool.\n\nUse when: You need 24h trading volume, market cap, or all-time high for a token pair on decentralized exchanges.\nNot for: you only need the spot price — token_price is lighter; you need pool depth or slippage — orderbook_depth.\nReturns: volume_24h_usd, market_cap_usd, price_usd, ath_usd, price_change_24h_pct\nExample response: {\"token_a\":\"ETH\",\"token_b\":\"USDC\",\"price_usd\":2071.45,\"volume_24h_usd\":312847293,\"volume_change_24h_pct\":-8.3,\"market_cap_usd\":249800000000,\"ath_usd\":4878.26,\"price_change_24h_pct\":-3.91,\"source\":\"coingecko\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Token Market Data","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"token_price","title":null,"description":"Get the current USD price of any cryptocurrency token\n\nUse when: You need the current USD price, 24h change, or market cap of any cryptocurrency.\nNot for: you need volume, ATH or a pair quote — token_market_data; a one-call macro + crypto overview — market_snapshot; pool depth or slippage — orderbook_depth.\nReturns: price_usd, change_24h_pct, market_cap_usd, coin_id\nExample response: {\"symbol\":\"ETH\",\"price_usd\":2069.73,\"change_24h_pct\":-4.04,\"market_cap_usd\":250330787714.19,\"source\":\"coingecko\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Token Price","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"token_security","title":null,"description":"Scan any token contract for honeypot, rug pull, and security risks\n\nUse when: You need to check if a token contract is safe before trading or investing.\nNot for: the asset is a native coin (BTC, ETH, SOL) with no contract — nothing to scan; you want liquidity or price — orderbook_depth / token_price. Ethereum and BSC contracts only.\nReturns: risk_level, is_honeypot, buy_tax, sell_tax, holder_count, owner_address, is_mintable, can_take_back_ownership\nExample response: {\"contract_address\":\"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\"chain\":\"ethereum\",\"risk_level\":\"low\",\"is_honeypot\":false,\"buy_tax\":0,\"sell_tax\":0,\"holder_count\":842341,\"is_mintable\":false,\"can_take_back_ownership\":false,\"source\":\"goplus\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Token Security","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"url_reader","title":null,"description":"Convert any URL to clean, LLM-ready markdown. Strips ads, nav, and boilerplate — returns just the content. No API key needed.\n\nUse when: You need to read the content of a web page or article and get clean, structured text for further processing.\nNot for: you do not have a URL yet — web_search returns pages with content; the page requires a login or renders only in a browser.\nReturns: content (markdown), url, length, truncated flag\nExample response: {\"url\":\"https://example.com\",\"content\":\"# Example Domain\\n\\nThis domain is for use in illustrative examples...\",\"length\":1256,\"truncated\":false,\"source\":\"jina_reader\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Url Reader","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"verified_route","title":null,"description":"Paid buyer-side trust oracle: 'I need X, budget $Y — which x402 tool is real?' Sweeps the WHOLE x402 marketplace across many queries (a single search shows only a slice), collapses sybil/factory clusters (one wallet stamping many fake-distinct listings → one entry), ranks the genuinely-used survivors by real unique-payer usage, and returns ONE vetted recommendation with a ready-to-pay x402 challenge. The credit-bureau check an agent cannot do itself in one query — pay $0.01 to avoid paying a scam or a dead stub.\n\nUse when: An agent is about to pay an unknown x402 tool and wants the real, used, non-sybil one under budget — not just the cheapest.\nNot for: you already know which AgentPay tool you need — call it directly; you only want a free preview of the marketplace ranking — the MCP's free preview (verified_route_preview on the remote server). This call settles $0.01 on-chain.\nReturns: recommendation (with ready_to_pay), survivors[] (each with typed evidence[]), catalog{scanned, real_providers, sybil_collapsed, biggest_factory}, vetting summary\nExample response: {\"need\":\"dex pair liquidity\",\"chain\":null,\"budget_usd\":\"1\",\"recommendation\":{\"name\":\"Otto AI\",\"url\":\"https://otto.example/dex\",\"price_usd\":\"0.001\",\"network\":\"eip155:8453\",\"pay_to\":\"0x0e84ddedaae6a7\",\"payers30d\":200,\"calls30d\":3246,\"quality\":3851,\"flags\":[],\"evidence\":[{\"type\":\"delivery\",\"source\":\"agentpay-prober\",\"metric\":\"delivery_rate\",\"value\":1,\"n\":12,\"observed_at\":\"2026-09-30T13:05:00Z\",\"ref\":\"/s/otto-example-dex-1a2b3c\"},{\"type\":\"third-party\",\"source\":\"coinbase-bazaar\",\"metric\":\"unique_payers_30d\",\"value\":200,\"observed_at\":\"2026-10-01T12:00:00Z\",\"ref\":null}],\"ready_to_pay\":{\"url\":\"https://otto.example/dex\",\"network\":\"eip155:8453\",\"price_usd\":\"0.001\",\"accepts\":{\"scheme\":\"exact\",\"network\":\"eip155:8453\"}}},\"survivors\":[],\"catalog\":{\"scanned\":117,\"after_vetting\":114,\"real_providers\":41,\"unique_wallets\":38,\"sybil_collapsed\":73,\"biggest_factory\":{\"pay_to\":\"0x2bb72231eed3\",\"listings\":72}},\"vetting\":\"swept 17 queries → 117 listings → collapsed 73 sybil listings → 41 real providers\"}\n\nPrice: $0.01 USDC per call (x402 over MCP: an unpaid call returns PaymentRequired; pay via _meta x402/payment)","annotations":{"title":"Verified Route","readOnlyHint":false,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"verified_route_preview","title":null,"description":"Buyer-side trust oracle for the x402 marketplace: \"I need X, budget $Y — which tool is real?\" Vets Coinbase Bazaar (discover → drop stubs/factory clones → rank by real unique-payer usage → budget-gate).  This MCP runs the FREE single-query PREVIEW: it returns the vetted pick (name + usage stats + why) and survivor count to PROVE a real provider exists, but WITHHOLDS the provider URL + ready-to-pay x402 challenge. To get those — plus the full multi-query sweep + usage-based sybil-collapse + trust allowlist — call verified_route ($0.01: an unpaid call returns the x402 PaymentRequired, which a wallet-carrying client pays in-band), or use the agentpay-x402 SDK. This preview never charges.  Use when: \"which x402 tool for X\", \"find a real/trustworthy paid API for X\", \"avoid a scam or dead stub\", \"vet this provider before I pay\".","annotations":{"title":"Verified Route (x402 trust oracle, preview)","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"wallet_balance","title":null,"description":"Get the token balances for any Ethereum or Stellar wallet address\n\nUse when: You need to look up the token holdings of an Ethereum or Stellar wallet address.\nNot for: you want a token's price or market data rather than one address's holdings — token_price / token_market_data; large transfers across many wallets — whale_activity. Ethereum addresses are 0x…, Stellar addresses G…; no other chains.\nReturns: list of token balances (symbol, amount) for the given address\nExample response: {\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\"chain\":\"ethereum\",\"balances\":[{\"token\":\"ETH\",\"amount\":\"1.234\"},{\"token\":\"USDC\",\"contract\":\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\"amount\":\"500.00\"}]}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Wallet Balance","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"web_search","title":null,"description":"Search the web and return the top 5 results with their full content as clean markdown. Better than DIY because zero setup and results include page content, not just links.\n\nUse when: You need to find current information on any topic — news, documentation, prices, events, or anything else on the web.\nNot for: you already have the URL — url_reader; you want crypto headlines with sentiment — crypto_news.\nReturns: results[] with url, title, description, content; query; count\nExample response: {\"query\":\"ETH gas fees today\",\"count\":5,\"results\":[{\"url\":\"https://etherscan.io/gastracker\",\"title\":\"Ethereum Gas Tracker\",\"description\":\"Real-time Ethereum gas price tracker\",\"content\":\"Current gas: 2 Gwei...\"}],\"source\":\"jina_search\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Web Search","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"whale_activity","title":null,"description":"Detect recent large wallet movements for a token (whale tracking)\n\nUse when: You need to detect large token transfers that may signal institutional moves, accumulation, or sell-offs.\nNot for: you need one address's holdings — wallet_balance; exchange order-book size rather than on-chain transfers — orderbook_depth. Ethereum ERC-20 transfers only.\nReturns: large_transfers[] with from, to (full addresses), amount, usd_value, minutes_ago, tx_hash; total_volume_usd\nExample response: {\"token\":\"USDC\",\"large_transfers\":[{\"from\":\"0xabababababababababababababababababababab\",\"to\":\"0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd\",\"amount\":5000000,\"usd_value\":5000000,\"minutes_ago\":12,\"tx_hash\":\"0x9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f\"},{\"from\":\"0x1111111111111111111111111111111111111111\",\"to\":\"0x2222222222222222222222222222222222222222\",\"amount\":2500000,\"usd_value\":2500000,\"minutes_ago\":34,\"tx_hash\":\"0x7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a\"}],\"total_volume_usd\":7500000,\"source\":\"etherscan\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Whale Activity","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"},{"name":"yield_scanner","title":null,"description":"Find best DeFi yield opportunities across protocols for a given token\n\nUse when: You need to find the best yield/APY for a token across DeFi protocols.\nNot for: you need a protocol's total TVL rather than pool APYs — defi_tvl; risk_level is a heuristic, run token_security on the pool's token before depositing.\nReturns: list of pools with protocol, apy, tvl_usd, chain, risk_level sorted by APY descending\nExample response: {\"token\":\"USDC\",\"pools\":[{\"protocol\":\"morpho\",\"apy\":8.74,\"tvl_usd\":312000000,\"chain\":\"Ethereum\",\"risk_level\":\"low\"},{\"protocol\":\"aave-v3\",\"apy\":5.21,\"tvl_usd\":1840000000,\"chain\":\"Ethereum\",\"risk_level\":\"low\"},{\"protocol\":\"compound-v3\",\"apy\":4.87,\"tvl_usd\":920000000,\"chain\":\"Ethereum\",\"risk_level\":\"low\"}],\"source\":\"defillama\"}\n\nPrice: $0.000 USDC per call","annotations":{"title":"Yield Scanner","readOnlyHint":true,"openWorldHint":true},"source":"probe","observed_at":"2026-10-19T20:48:49.361Z"}],"dev.protogrid/trust":{"score":75,"components":{"hygiene":100,"liveness":28,"freshness":100,"provenance":90},"drivers":["+repository","+namespace-matches-repo","+website","-unreachable(1 failures)","+updated-16d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-20T05:13:21.130Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":66,"label":"needs work","components":{"auth":null,"hygiene":79,"protocol":75,"stability":25,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"5 tools have descriptions over 1,024 characters, which crowds the context","status":"warn","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"23 of 23 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: session_create (destructiveHint, idempotentHint); verified_route (destructiveHint, idempotentHint); gas_tracker (destructiveHint, idempotentHint); …","status":"fail","category":"hygiene"},{"id":"tools.token_cost","detail":"about 6,981 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"7 tool changes in 30 days","status":"warn","category":"stability"},{"id":"stability.rug_pull","detail":"1 tools kept their name but changed most of their description in 30 days; review before trusting them","status":"fail","category":"stability"},{"id":"deps.known_vulns","detail":"deps.dev does not know @romudille/agentpay-mcp@2.7.3","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"deps.dev does not know @romudille/agentpay-mcp@2.7.3","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"deps.dev does not know @romudille/agentpay-mcp@2.7.3","status":"na","category":"dependencies"}],"drivers":["-tools.directory_hints","-stability.rug_pull","~protocol.modern","~tools.description_length","~stability.changes"],"flags":[],"tool_count":23,"token_estimate":6981,"tools_hash":"92fcab6379c7711f28e6696a2daca572","tools_changed_at":"2026-10-10T19:49:25.451Z","computed_at":"2026-10-20T05:13:30.517Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.romudille-bit/agentpay","aliases":[],"alias_count":0,"repository_key":"github:romudille-bit/agentpay","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.romudille-bit%2Fagentpay/tools","arguments":{"name":"io.github.romudille-bit/agentpay"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.romudille-bit%2Fagentpay/connection?target=mcpServers","arguments":{"name":"io.github.romudille-bit/agentpay","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}