{"serverId":"mcp-registry/com.aex402/rpc","tools":[{"name":"aex402_getPool","fixed":{"name":"aex402_getPool","description":"Get detailed AeX402 pool info: token mints, balances, fee, amplification, LP supply, analytics (OHLCV candles), circuit breaker status.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Pool account address (base58)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"aex402_listPools","fixed":{"name":"aex402_listPools","description":"List all AeX402 AMM pools on Solana. Returns pool addresses with basic info (mints, balances, fee, amp). Pools are 1024-byte accounts owned by program 3AMM53MsJZy2Jvf7PeHHga3bsGjWV4TSaYz29WUtcdje.","inputSchema":{"type":"object","properties":{"minTvl":{"type":"number","default":0,"description":"Minimum TVL in lamports to filter (default 0)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"api_get","fixed":{"name":"api_get","description":"GET any public read endpoint of rpc.aex402.com: /health, /credits?wallet=, /pumpfun?limit=, /pumpfun/tuple?mint=, /security/<pool>, /market/list, /sniper/leaderboard, /sniper/bets?id=, /settlement/<sig>, /settlements/<wallet>, /ai/models, /ai/stats, /leaderboard, /openapi.json, /llms.txt, /rh/pools (Robinhood), /hl/pools (HyperEVM), /base/pools (Base Uniswap v3), /eth/pools (Ethereum Uniswap v3), /arb/pools (Arbitrum Uniswap v3)","inputSchema":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Endpoint path including query string, e.g. /security/9Wq.. or /pumpfun?limit=5"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":182,"tokensAfter":182},{"name":"bridge_status","fixed":{"name":"bridge_status","description":"Track a cross-chain bridge submitted via bridge_quote — returns DONE / PENDING / FAILED plus the receiving-chain tx once it completes. Pass the source-chain tx hash (and the bridge tool from the quote for a faster lookup).","inputSchema":{"type":"object","required":["txHash"],"properties":{"bridge":{"type":"string","description":"The bridge tool from bridge_quote (e.g. across, stargate) — optional"},"txHash":{"type":"string","description":"Source-chain transaction hash from submitting the bridge tx"},"toChain":{"type":"string","description":"Destination chain id/key (optional)"},"fromChain":{"type":"string","description":"Source chain id/key (optional)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":196,"tokensAfter":196},{"name":"describe_program","fixed":{"name":"describe_program","description":"Introspect ANY specific program/contract address on a chain. Solana/Slonana: returns executable, owner, data size, and whether it is a known program. EVM: RPC-verified facts (is-contract, code size, ERC-20 name/symbol/decimals, EIP-1967 proxy → implementation) PLUS Blockscout explorer enrichment when available.","inputSchema":{"type":"object","required":["chain","address"],"properties":{"chain":{"type":"string","description":"solana | slonana | robinhood | hyperevm | ethereum | base | stable | plasma | tempo | codex"},"address":{"type":"string","description":"Program id (base58, Solana/Slonana) or contract address (0x…, EVM)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":189,"tokensAfter":189},{"name":"discovery_health","fixed":{"name":"discovery_health","description":"Report the freshness and health of the cross-chain program/token discovery pipeline: when the hourly cron last ran, how many programs/tokens each chain scan produced, and which scans failed. Use this to check whether discover_programs / search_tokens data is current before relying on it.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"fetch","fixed":{"name":"fetch","description":"Fetch the full document for one search result id (from the search tool). Accepts token:<chain>:<address>, program:<chain>:<address>, or pool:<address>. Returns the entity detail (on-chain state for pools, census entry for tokens, registry/introspection for programs) as a document.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"A search result id, e.g. \"pool:G5d3qFZq...\" or \"token:robinhood:0x5fc5...\" or \"program:solana:3AMM53...\""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"hl_info","fixed":{"name":"hl_info","description":"Query the Hyperliquid Info API — the perps/spot order-book data layer (read-only, no auth). The 'type' field selects the query: meta (perps universe + leverage), l2Book (order book for a coin), allMids (mid prices), clearinghouseState (a user's positions/margin), spotMeta, meta+assetCtxs (mark/funding/OI), candleSnapshot, and more. For type:metaAndAssetCtxs specifically: the raw response is TWO PARALLEL top-level arrays (universe names, asset contexts) correlated only by array position — do not ","inputSchema":{"type":"object","required":["type"],"properties":{"dir":{"type":"string","description":"rankBy only: asc | desc (default desc — highest rankBy value first)"},"coin":{"type":"string","description":"Coin symbol for l2Book/candleSnapshot (e.g. BTC, ETH)"},"type":{"type":"string","description":"Info request type, e.g. meta, l2Book, allMids, clearinghouseState, metaAndAssetCtxs"},"user":{"type":"string","description":"0x address for user-scoped queries (clearinghouseState, openOrders, userFills)"},"limit":{"type":"number","description":"rankBy only: how many ranked rows to return (default 20, max 100)"},"rankBy":{"type":"string","description":"type:metaAndAssetCtxs ONLY. One of funding | fundingAbs | openInterest | volume. Joins each coin's name to its funding/OI/volume, drops delisted coins, sorts, and returns {ranked, rankBy, dir, totalCoins} instead of the raw two-array response. Use fundingAbs for \"biggest funding outlier either direction\" (ranks by |funding|); use funding for \"most positive/most negative\" specifically (with dir)."},"endTime":{"type":"number","description":"candleSnapshot only: end time epoch ms (default: now)"},"interval":{"type":"string","description":"candleSnapshot only: candle interval, e.g. 1m,5m,15m,1h,4h,1d"},"startTime":{"type":"number","description":"candleSnapshot only: start time epoch ms (default: endTime minus 500 intervals)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":538,"tokensAfter":538},{"name":"payment_help","fixed":{"name":"payment_help","description":"How to pay for API access (x402 micropayments) — the complete self-serve guide for agents: current prices, every accepted asset/chain (USDC/USDT/SOL/ANSEM on Solana, ETH/USDG on Robinhood Chain, USDC/HYPE on HyperEVM), the merchant addresses, step-by-step topup → session-token → API-key flow, and how to attach credentials to MCP calls. This tool is FREE and NEVER rate-limited — call it when you hit a 402 / rate limit to convert into a paid session ($0.01 minimum buys 100 calls, no signup).","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":162,"tokensAfter":162},{"name":"search","fixed":{"name":"search","description":"Search the aeX402 universe by keyword: tokens (Robinhood Chain + HyperEVM census), known programs/contracts (Solana, Robinhood, HyperEVM, Slonana), and live AeX402 AMM pools. Returns a result list; pass a result id to the fetch tool for full detail. Use the specialist tools (search_tokens, discover_programs, aex402_listPools) when you already know the entity type.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Keyword: token symbol/name (\"usdg\"), program name (\"pump.fun\"), contract address, or pool address."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":171,"tokensAfter":171},{"name":"search_tokens","fixed":{"name":"search_tokens","description":"Search the live token/NFT census for Robinhood Chain (4663) and HyperEVM (999) by symbol or name. Returns matching tokens with address, standard (erc20/erc721/erc1155), decimals, holders, market cap, and — for HyperEVM canonical tokens — live spot price + 24h volume. The census is refreshed hourly (canonical tokens from Hyperliquid spotMeta, top tokens from Blockscout, spam-filtered). Use this instead of discover_programs when you want a specific asset (e.g. \"USDC on hyperevm\", \"stablecoins on r","inputSchema":{"type":"object","properties":{"chain":{"type":"string","description":"robinhood | hyperevm. Omit to search both."},"limit":{"type":"number","default":20,"description":"Max results (default 20)."},"query":{"type":"string","description":"Symbol or name substring, case-insensitive (e.g. \"usdc\", \"hype\"). Omit to list the top of the census."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":252,"tokensAfter":252},{"name":"solana_getAccountInfo","fixed":{"name":"solana_getAccountInfo","description":"Get raw account info (owner, lamports, data) for any Solana address.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Account address (base58)"},"encoding":{"type":"string","default":"base64","description":"Data encoding: base64 (default) or jsonParsed"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"solana_getBalance","fixed":{"name":"solana_getBalance","description":"Get SOL balance for a wallet address (in lamports). Divide by 1e9 for SOL.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Solana wallet address (base58)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"solana_getLatestBlockhash","fixed":{"name":"solana_getLatestBlockhash","description":"Get latest blockhash for transaction building. Returns blockhash + lastValidBlockHeight.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"solana_getSignaturesForAddress","fixed":{"name":"solana_getSignaturesForAddress","description":"Get recent transaction signatures for an address. Returns up to 20 most recent.","inputSchema":{"type":"object","required":["address"],"properties":{"limit":{"type":"number","default":20,"description":"Max signatures to return (default 20, max 1000)"},"address":{"type":"string","description":"Account address (base58)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"solana_getSlot","fixed":{"name":"solana_getSlot","description":"Get the current slot number.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":33,"tokensAfter":33},{"name":"solana_getTokenAccountsByOwner","fixed":{"name":"solana_getTokenAccountsByOwner","description":"Get all SPL token accounts owned by a wallet. Returns mint, balance, decimals for each token.","inputSchema":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"Wallet address (base58)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"solana_getTransaction","fixed":{"name":"solana_getTransaction","description":"Get full transaction details by signature, including instructions, logs, and status.","inputSchema":{"type":"object","required":["signature"],"properties":{"signature":{"type":"string","description":"Transaction signature (base58)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"solana_sendTransaction","fixed":{"name":"solana_sendTransaction","description":"Submit a signed transaction to the network. Returns transaction signature.","inputSchema":{"type":"object","required":["transaction"],"properties":{"transaction":{"type":"string","description":"Base64-encoded signed transaction"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78}],"toolsChanged":19,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}