# aeX402 — Cross-Chain DeFi MCP: LINQ, AMM, Bridge, AI (remote · rpc.aex402.com)

Agent MCP for DeFi: cross-chain LINQ fan-out, AMM quotes/swaps, bridge, AI. Solana+EVM. Free+x402.

- Trust score: 62/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `rpc.aex402.com`: 62/100 (this document), [markdown](https://verifymcp.io/servers/com-aex402-rpc/rpc.md), [page](https://verifymcp.io/servers/com-aex402-rpc/rpc)

## Channel facts

- Endpoint: `https://rpc.aex402.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 32 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4541 tokens (~141/item across 32 items; 32 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (84% of tools); any adoption earns full credit.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-aex402-rpc https://rpc.aex402.com/mcp
```

### Codex

```toml
[mcp_servers.com-aex402-rpc]
url = "https://rpc.aex402.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-aex402-rpc": {
      "type": "remote",
      "url": "https://rpc.aex402.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-aex402-rpc --url https://rpc.aex402.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-aex402-rpc:
    url: "https://rpc.aex402.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-aex402-rpc": {
      "type": "http",
      "url": "https://rpc.aex402.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +1)

- [security] Tool “api_get” rewrote its description, which is the text the model reads

### 2026-08-01 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 60, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 60, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 60, +1)

- [security] Tool “aex402_rh_pool” rewrote its description, which is the text the model reads
- [security] Tool “payment_help” rewrote its description, which is the text the model reads

### 2026-07-28 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 58, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 58)

First indexed and scored.

## MCP tools (32)

### `solana_getBalance` (~45 tokens)

Get SOL balance for a wallet address (in lamports). Divide by 1e9 for SOL.

Input parameters:

- `address` (string, required): Solana wallet address (base58)

Output parameters:

- `context` (object)
- `value` (integer): balance in lamports (1e9 = 1 SOL)

### `solana_getAccountInfo` (~59 tokens)

Get raw account info (owner, lamports, data) for any Solana address.

Input parameters:

- `address` (string, required): Account address (base58)
- `encoding` (string): Data encoding: base64 (default) or jsonParsed

Output parameters:

- `context` (object)
- `value` (object|null): account (lamports, owner, data, executable, rentEpoch) or null if it does not exist

### `solana_getTokenAccountsByOwner` (~45 tokens)

Get all SPL token accounts owned by a wallet. Returns mint, balance, decimals for each token.

Input parameters:

- `owner` (string, required): Wallet address (base58)

Output parameters:

- `context` (object)
- `value` (array)

### `solana_getTransaction` (~37 tokens)

Get full transaction details by signature, including instructions, logs, and status.

Input parameters:

- `signature` (string, required): Transaction signature (base58)

Output parameters:

- `blockTime` (integer|null): unix seconds
- `meta` (object): fee, pre/post balances, logs, err
- `slot` (integer)
- `transaction` (object): message + signatures

### `solana_getLatestBlockhash` (~29 tokens)

Get latest blockhash for transaction building. Returns blockhash + lastValidBlockHeight.

Output parameters:

- `context` (object)
- `value` (object)

### `solana_getSignaturesForAddress` (~61 tokens)

Get recent transaction signatures for an address. Returns up to 20 most recent.

Input parameters:

- `address` (string, required): Account address (base58)
- `limit` (number): Max signatures to return (default 20, max 1000)

Output parameters:

- `result` (array)

### `solana_sendTransaction` (~35 tokens)

Submit a signed transaction to the network. Returns transaction signature.

Input parameters:

- `transaction` (string, required): Base64-encoded signed transaction

Output parameters:

- `result` (string): base58 transaction signature

### `solana_getSlot` (~16 tokens)

Get the current slot number.

Output parameters:

- `result` (integer): current slot

### `aex402_listPools` (~101 tokens)

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.

Input parameters:

- `minTvl` (number): Minimum TVL in lamports to filter (default 0)

Output parameters:

- `count` (integer)
- `pools` (array)

### `aex402_getPool` (~56 tokens)

Get detailed AeX402 pool info: token mints, balances, fee, amplification, LP supply, analytics (OHLCV candles), circuit breaker status.

Input parameters:

- `address` (string, required): Pool account address (base58)

Output parameters:

- `address` (string)
- `amp` (integer)
- `authority` (string)
- `balances` (array)
- `feeBps` (integer)
- `mints` (array)

### `aex402_quote` (~77 tokens)

Get a swap quote from an AeX402 pool. Calculates expected output, price impact, and fees without executing.

Input parameters:

- `amount` (number, required): Input amount in atomic units (lamports/smallest unit)
- `inputMint` (string, required): Input token mint address
- `pool` (string, required): Pool account address (base58)

Output parameters:

- `estimatedOutput` (string): u64 as string
- `feeBps` (integer)
- `inputAmount` (string): u64 as string
- `inputMint` (string)
- `note` (string)
- `outputMint` (string)
- `priceImpactPct` (string): percent, 4 decimals

### `aex402_rh_pool` (~180 tokens)

Get the live state of the aeX402 AMM on Robinhood Chain (EVM 4663) — the diamond-contract port of the Solana AMM. The AMM is the set of GRADUATED launchpad coins whose pools are seeded in-diamond on the canonical launchpad (0xED2F); this enumerates them live by scanning VPoolGraduated events + reading each pool's reserves, so it tracks reality as coins graduate. Returns graduatedPools[] (poolId, token, reserves, TVL), graduatedPoolCount, and status ("live" | "no-graduated-pools" | "unknown"), plus the legacy standalone 0xA1F6 USDG/WETH pool (legacy-drained). Distinct from the chain's Uniswap-fork DEX. No inputs.

### `launch_token` (~412 tokens)

Launch a memecoin on the aeX402 launchpad on Robinhood Chain (EVM 4663) for a FIXED pump.fun-style bonding curve (1B supply, starts 0.0001 USDG, graduates at 10,000 USDG raised, quoted in USDG). You supply only identity — name + ticker (+ optional description/image/links). DEFAULT (custodial): the aeX402 backend SIGNS + SUBMITS the createVPool tx for you, so a claude.ai user with NO WALLET can launch in one call; returns {ok,status,txHash,vpId}. Optionally pass `creator` (a 0x address) to record as the coin owner. Pass build:true instead to get an UNSIGNED tx {to,value,data} to submit yourself (non-custodial — that requires `creator` and makes you the on-chain creator). Live create is gated on the launchpad facet upgrade (pending); until enabled a custodial call returns status "gated" and burns no gas.

Input parameters:

- `build` (boolean): If true, return an UNSIGNED tx to submit yourself (non-custodial) instead of the backend launching for you. Default false.
- `creator` (string): OPTIONAL 0x EVM address recorded as the coin owner (and seeds the vpId). REQUIRED only when build:true (then it is the self-signing on-chain creator).
- `description` (string): Short description (<=256 chars) — off-chain metadata
- `image` (string): Image URL (https:// or ipfs:// only) — off-chain metadata
- `links` (array): Up to 3 links (https:// or ipfs:// only) — off-chain metadata
- `name` (string, required): Token name, 1..32 bytes (e.g. "Fork Meme")
- `ticker` (string, required): Ticker / symbol, 1..16 bytes (e.g. "FMEME")

Output parameters:

- `data` (string): build mode: createVPool calldata to submit
- `metadata` (object): Off-chain metadata (stored server-side in custodial mode)
- `note` (string)
- `ok` (boolean): Custodial mode: whether the launch was submitted
- `status` (string): submitted | gated | custodial-disabled | exists | rate-limited | insufficient-gas | submit-failed
- `to` (string): build mode: aeX402 diamond address
- `txHash` (string): Custodial mode: the createVPool tx hash
- `vpId` (string): Deterministic keccak256(creator-or-launcher ++ name ++ ticker)

### `solana_buildTransfer` (~102 tokens)

Build a SOL or SPL token transfer instruction. Returns instruction JSON (programId, keys, data) for client-side TX construction and signing.

Input parameters:

- `amount` (number, required): Amount in atomic units (lamports for SOL, smallest unit for SPL)
- `from` (string, required): Sender wallet address (base58)
- `mint` (string): SPL token mint address. Omit for native SOL transfer.
- `to` (string, required): Recipient address (base58)

Output parameters:

- `action` (string): 'transfer_sol' or 'transfer_spl'
- `instruction` (object)

### `aex402_buildSwap` (~123 tokens)

Build an AeX402 AMM swap action. Fetches live pool state, computes output with slippage protection, returns all instruction parameters and account addresses for client signing.

Input parameters:

- `amount` (number, required): Input amount in atomic units
- `inputMint` (string, required): Input token mint address
- `pool` (string, required): Pool account address (base58)
- `slippageBps` (number): Max slippage in basis points (default 50 = 0.5%)
- `userWallet` (string, required): User wallet address (for account derivation)

Output parameters:

- `action` (string): 'aex402_swap'
- `instruction` (object): programId, keys, data (base64) — sign & submit client-side
- `quote` (object): estimatedOutput, minOutput, priceImpact

### `agent_delegate` (~130 tokens)

Delegate a task to an independent specialist AI agent session. The delegate runs with full tool access and returns its response. Useful for breaking complex tasks into subtasks. Max depth: 3.

Input parameters:

- `message` (string, required): Task or question for the delegate agent
- `model` (string): Model ID or alias (default: gpt-4o-mini)
- `role` (string): Role for new agent (e.g. "Solana pool analyst", "route optimizer"). Ignored if resuming session.
- `session` (string): Existing session ID to resume, or omit to create new session

### `ai_chat` (~204 tokens)

Send a chat completion request to an AI model (GPT-4o, Claude, Llama, Gemini). Uses OpenRouter. Free tier: 3 calls/day. Paid: deducts credits based on token usage.

Input parameters:

- `max_tokens` (number): Maximum tokens to generate (model-dependent default)
- `messages` (array, required): Chat messages array [{role: "user"|"system"|"assistant", content: "..."}]
- `model` (string): Model ID or alias: gpt-4o-mini (default), gpt-4o, claude-sonnet, claude-haiku, llama-70b, llama-8b, gemini-flash
- `reasoning_effort` (string): low | medium | high — ask a reasoning-capable model to think harder. The chain-of-thought comes back in the tool result _meta ("com.aex402/reasoning").
- `temperature` (number): Sampling temperature (0-2)

Output parameters:

- `choices` (array)
- `id` (string)
- `model` (string)
- `usage` (object): prompt/completion/total tokens

### `solana_rpc` (~122 tokens)

Call ANY Solana-compatible JSON-RPC method by name — full RPC surface beyond the typed solana_* tools (getProgramAccounts, getBlock, getEpochInfo, simulateTransaction, ...). Defaults to Solana mainnet; pass network:slonana to query Slonana.

Input parameters:

- `method` (string, required): Solana RPC method name, e.g. getEpochInfo
- `network` (string): solana (default/mainnet-beta) or slonana
- `params` (array): Positional params array (method-specific). Omit for no params.

### `evm_rpc` (~196 tokens)

Call ANY EVM JSON-RPC method on a supported chain — eth_getBalance, eth_call, eth_blockNumber, eth_sendRawTransaction, eth_getLogs, ... Chains: robinhood (4663) / robinhood-testnet (46630), hyperevm (999), ethereum (1), base (8453), stable (988), plasma (9745), tempo (4217), codex (81224), arc (5042, Circle mainnet).

Input parameters:

- `method` (string, required): EVM RPC method name, e.g. eth_getBalance
- `network` (string): Chain slug: robinhood (default; legacy mainnet alias accepted), robinhood-testnet, hyperevm, ethereum/eth, base, stable/tether, plasma, tempo, codex, or arc (Circle mainnet)
- `params` (array): Positional params array (method-specific). Omit for no params.

### `mcp_linq` (~489 tokens)

Primary LINQ-style MCP workflow tool. Run one bounded MCP call: fan out up to 32 READ-ONLY tool calls across chains, then compose the combined result with fluent chains like results.selectMany(...).where(...).groupBy(...).orderByDesc(...).take(...), JSON pipeline steps, or reducers. Use mcp_linq when you want one aggregate answer instead of N tool calls.

Input parameters:

- `calls` (array, required): Read-only MCP tool calls to run. Each call has {id?, tool, args?, pick?}. pick is a dot path into that call output; [] flattens arrays.
- `concurrency` (number): Parallelism for subcalls (default 8, max 12).
- `linq` (string): LINQ-like query string compiled into pipeline steps. Supports fluent dot chaining and query clauses. Fluent example: results.selectMany(r => r.output.programs[]).where(p => p.type in ("token","canoni…
- `pipeline` (array): LINQ-style chained transforms over the raw batch result. Each step feeds the next. Ops: from, expand, where, select/project, groupBy, orderBy/sort, take/limit, skip, distinct, count, sum, avg, min, m…
- `reduce` (object): Named reductions to compute from subcall outputs. Example: {"total":{"op":"sum","path":"results[].picked"},"top":{"op":"top","path":"results[]","sortBy":"picked","limit":5}}.

Output parameters:

- `calls` (integer): number of subcalls attempted
- `concurrency` (integer)
- `note` (string)
- `ok` (boolean)
- `pipeline` (object): LINQ-style pipeline output: steps + output
- `reductions` (object): named reducer outputs
- `results` (array)

### `bridge_quote` (~313 tokens)

Bridge/swap ANY asset across ANY chain via LI.FI (the engine behind Jumper) — e.g. Arbitrum USDC → Robinhood Chain (4663) USDG, or bridge into ETH for gas. Returns the best route (estimated output, fees, bridge used, duration) PLUS an unsigned transactionRequest (to/data/value/gasLimit) that the CALLER signs and submits on the fromChain — no keys are held here. Chains by id or key (1 Ethereum, 42161 Arbitrum, 8453 Base, 10 Optimism, 137 Polygon, 999 HyperEVM, 4663 Robinhood Chain). Tokens by symbol or 0x address.

Input parameters:

- `fromAddress` (string, required): Sender 0x address on the source chain
- `fromAmount` (string, required): Amount in the source token's smallest unit (e.g. 1000000 = 1 USDC at 6 decimals)
- `fromChain` (string, required): Source chain id or key, e.g. 42161 or ARB
- `fromToken` (string, required): Source token symbol or 0x address, e.g. USDC
- `toAddress` (string): Recipient on the destination chain (defaults to fromAddress)
- `toChain` (string, required): Destination chain id or key, e.g. 4663 (Robinhood Chain)
- `toToken` (string, required): Destination token symbol or 0x address, e.g. USDG or ETH

Output parameters:

- `bridge` (string): bridge tool used (e.g. across)
- `estimatedDurationSec` (number)
- `feeCostUsd` (number)
- `fromAddress` (string)
- `fromAmount` (string)
- `fromChainId` (integer)
- `fromToken` (string)
- `fromTokenAddress` (string)
- `gasCostUsd` (number)
- `note` (string)
- `toAddress` (string)
- `toAmount` (string)
- `toAmountMin` (string)
- `toChainId` (integer)
- `toToken` (string)
- `toTokenAddress` (string)
- `transactionRequest` (object): UNSIGNED tx (to, data, value, gasLimit) — caller signs & submits on the fromChain

### `bridge_status` (~123 tokens)

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).

Input parameters:

- `bridge` (string): The bridge tool from bridge_quote (e.g. across, stargate) — optional
- `fromChain` (string): Source chain id/key (optional)
- `toChain` (string): Destination chain id/key (optional)
- `txHash` (string, required): Source-chain transaction hash from submitting the bridge tx

Output parameters:

- `receiving` (object): destination-chain leg (tx hash once complete)
- `sending` (object): source-chain leg
- `status` (string): DONE | PENDING | FAILED | NOT_FOUND
- `substatus` (string)
- `substatusMessage` (string)

### `hl_info` (~181 tokens)

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.

Input parameters:

- `coin` (string): Coin symbol for l2Book/candleSnapshot (e.g. BTC, ETH)
- `type` (string, required): Info request type, e.g. meta, l2Book, allMids, clearinghouseState, metaAndAssetCtxs
- `user` (string): 0x address for user-scoped queries (clearinghouseState, openOrders, userFills)

### `api_get` (~187 tokens)

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)

Input parameters:

- `path` (string, required): Endpoint path including query string, e.g. /security/9Wq.. or /pumpfun?limit=5

### `discover_programs` (~175 tokens)

Discover on-chain programs/contracts across every chain this RPC supports (Solana, Slonana SVM, Robinhood, HyperEVM, Ethereum, Base, Stable, Plasma, Tempo, Codex). Returns a curated seed MERGED with programs/contracts AUTO-DISCOVERED from recent block activity (refreshed hourly) — each carries an `activity` count of recent invocations/calls; entries with type "discovered" were seen live on-chain but not yet named. Use this to learn what is actually active on-chain right now, then describe_program to introspect any specific address.

Input parameters:

- `chain` (string): Filter to one chain: solana | slonana | robinhood | hyperevm | ethereum | base | stable | plasma | tempo | codex. Omit or "all" for every chain.

Output parameters:

- `chain` (string)
- `count` (integer)
- `discovered` (integer): auto-discovered (not curated) entries
- `programs` (array)

### `describe_program` (~145 tokens)

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.

Input parameters:

- `address` (string, required): Program id (base58, Solana/Slonana) or contract address (0x…, EVM)
- `chain` (string, required): solana | slonana | robinhood | hyperevm | ethereum | base | stable | plasma | tempo | codex

Output parameters:

- `address` (string)
- `chain` (string)
- `dataSize` (integer)
- `exists` (boolean)
- `isProgram` (boolean)
- `owner` (string)

### `reconstruct_abi` (~177 tokens)

Reconstruct a PARTIAL function/event interface for an EVM contract on a supported EVM chain from its BYTECODE — no source or verification needed. Extracts PUSH4 function selectors + recent event topic0 hashes and resolves the ones public signature DBs (openchain/4byte) know to human signatures. Works on UNVERIFIED contracts because bytecode is ground truth, but it is NOT a full ABI: novel/proprietary selectors DBs have never seen stay unresolved (decompile for those). Use it to understand what an unknown contract does before trusting behavior-based guesses.

Input parameters:

- `address` (string, required): EVM contract address (0x…). For a proxy, pass the implementation for the real logic.
- `chain` (string, required): robinhood | hyperevm | ethereum | base | stable | plasma | tempo | codex

Output parameters:

- `address` (string)
- `chain` (string)
- `codeSize` (integer)
- `events` (array): resolved event signatures
- `functionCount` (integer): total PUSH4 selectors found
- `functions` (array): resolved function signatures
- `isContract` (boolean)
- `unresolvedSelectors` (array): novel/proprietary selectors no DB knows

### `search_tokens` (~210 tokens)

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 robinhood") rather than the whole list.

Input parameters:

- `chain` (string): robinhood | hyperevm. Omit to search both.
- `limit` (number): Max results (default 20).
- `query` (string): Symbol or name substring, case-insensitive (e.g. "usdc", "hype"). Omit to list the top of the census.

Output parameters:

- `censusAgeMin` (number): minutes since the census cron last ran
- `chains` (array)
- `count` (integer)
- `note` (string)
- `query` (string)
- `tokens` (array)

### `discovery_health` (~63 tokens)

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.

Output parameters:

- `chains` (object): per-chain scan counts/failures
- `lastRunAgeMin` (number)
- `lastRunUnix` (integer)
- `status` (string): healthy | stale | failing

### `payment_help` (~137 tokens)

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).

Output parameters:

- `docs` (string)
- `freeTier` (object)
- `mcp` (object): MCP-specific: which methods stay free, how to attach X-Session / Bearer key to MCP requests
- `paidTier` (object): Prices, accepted assets with mints/contracts + merchant addresses, howToPay steps
- `quickstart` (object)

### `search` (~124 tokens)

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.

Input parameters:

- `query` (string, required): Keyword: token symbol/name ("usdg"), program name ("pump.fun"), contract address, or pool address.

Output parameters:

- `results` (array)

### `fetch` (~120 tokens)

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.

Input parameters:

- `id` (string, required): A search result id, e.g. "pool:G5d3qFZq..." or "token:robinhood:0x5fc5..." or "program:solana:3AMM53..."

Output parameters:

- `id` (string)
- `metadata` (object)
- `text` (string): Entity detail as pretty-printed JSON/prose
- `title` (string)
- `url` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-aex402-rpc/rpc#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 61
- 2026-08-01: 61
- 2026-07-31: 60
- 2026-07-30: 60
- 2026-07-29: 60
- 2026-07-28: 59
- 2026-07-27: 58
- 2026-07-26: 58

## Links

- Remote endpoint: https://rpc.aex402.com/mcp
- Website: https://rpc.aex402.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-aex402-rpc/rpc/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-aex402-rpc/rpc/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-aex402-rpc/rpc
