# ChainRay (remote · chainray.online)

Multi-chain on-chain intelligence for AI agents through a public remote MCP server.

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-04

## Components

- remote · `chainray.online`: 77/100, [markdown](https://verifymcp.io/servers/online-chainray-chainray/chainray.md), [page](https://verifymcp.io/servers/online-chainray-chainray/chainray)
- remote · `chainray.online`: 71/100 (this document), [markdown](https://verifymcp.io/servers/online-chainray-chainray/chainray-2.md), [page](https://verifymcp.io/servers/online-chainray-chainray/chainray-2)

## Channel facts

- Endpoint: `https://chainray.online/mcp/sse`
- Transports: `sse`
- Auth: `none`
- Version: `2.5.8`

## 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-10-04.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 40/100
  - Verified sse transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 12187 tokens (~154/item across 79 items; 79 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 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 (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 79 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 79 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the ChainRay MCP server?

ChainRay is a hosted endpoint at https://chainray.online/mcp/sse, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http online-chainray-chainray 'https://chainray.online/mcp/sse'
```

### Cursor

```json
{
  "mcpServers": {
    "online-chainray-chainray": {
      "url": "https://chainray.online/mcp/sse"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "online-chainray-chainray": {
      "type": "http",
      "url": "https://chainray.online/mcp/sse"
    }
  }
}
```

### Codex

```toml
[mcp_servers.online-chainray-chainray]
url = "https://chainray.online/mcp/sse"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "online-chainray-chainray": {
      "type": "remote",
      "url": "https://chainray.online/mcp/sse",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add online-chainray-chainray --url 'https://chainray.online/mcp/sse' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  online-chainray-chainray:
    url: "https://chainray.online/mcp/sse"
```

### Netclaw

```json
{
  "McpServers": {
    "online-chainray-chainray": {
      "Transport": "http",
      "Url": "https://chainray.online/mcp/sse"
    }
  }
}
```

### Vellum

```bash
assistant mcp add online-chainray-chainray -t streamable-http -u 'https://chainray.online/mcp/sse'
```

### Other

```json
{
  "mcpServers": {
    "online-chainray-chainray": {
      "type": "http",
      "url": "https://chainray.online/mcp/sse"
    }
  }
}
```

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-10-03 (score 71, +1)

- [security] Tool “gas.optimize” rewrote its description, which is the text the model reads
- [security] Tool “security.sandwich” rewrote its description, which is the text the model reads
- [security] Tool “token.holders” rewrote its description, which is the text the model reads
- [security] Tool “token.risk” rewrote its description, which is the text the model reads
- [security] Tool “token.supply” rewrote its description, which is the text the model reads
- [security] Tool “util.context_brief” rewrote its description, which is the text the model reads
- [security] Tool “util.intent_router” rewrote its description, which is the text the model reads
- [security] Tool “util.stream_info” rewrote its description, which is the text the model reads
- [security] Tool “util.verify_proof” rewrote its description, which is the text the model reads
- [security] Tool “wallet.credit_score” rewrote its description, which is the text the model reads
- [security] Tool “agent.reputation” rewrote its description, which is the text the model reads
- [security] Tool “analyze.risk_dashboard” rewrote its description, which is the text the model reads
- [security] Tool “chain.block” rewrote its description, which is the text the model reads
- [security] Tool “chain.bridge.flow” rewrote its description, which is the text the model reads
- [security] Tool “chain.compare” rewrote its description, which is the text the model reads
- [security] Tool “chain.health” rewrote its description, which is the text the model reads
- [security] Tool “defi.aggregator” rewrote its description, which is the text the model reads
- [security] Tool “defi.health” rewrote its description, which is the text the model reads
- [security] Tool “defi.liquidity” rewrote its description, which is the text the model reads
- [security] Tool “gas.history” rewrote its description, which is the text the model reads
- [security] Tool “gas.predict” rewrote its description, which is the text the model reads
- [security] Tool “gas.tracker” rewrote its description, which is the text the model reads
- [security] Tool “market.dex_trades” rewrote its description, which is the text the model reads
- [security] Tool “market.overview” rewrote its description, which is the text the model reads
- [security] Tool “market.solver_feed” rewrote its description, which is the text the model reads
- [security] Tool “monitor.watch.address” rewrote its description, which is the text the model reads
- [security] Tool “monitor.watch.diff” rewrote its description, which is the text the model reads
- [security] Tool “security.contract.scan” rewrote its description, which is the text the model reads
- [security] Tool “security.mev.shield” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 136 → 154
- [functional improvement] Stability: unverified → 0.03

### 2026-10-02 (score 70)

First indexed and scored.

## MCP tools (79)

### `monitor.whale.alerts` (~223 tokens)

Whale Alerts

Monitor large token transfers (USDC, WETH) on EVM chains or large SOL transfers on Solana. Returns recent whale movements above a threshold.

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…
- `hours` (number): Lookback hours (EVM only)
- `minAmount` (number): Minimum USD value to qualify as whale transfer

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number): Number of transfers
- `transfers` (array): Whale transfers detected

### `token.risk` (~300 tokens)

Token Risk Analysis

Analyze a token's risk profile. EVM: checks contract verification, proxy status, ownership renouncement, liquidity. Solana: checks mint/freeze authority, supply, Metaplex metadata. Scope: asset-level token due diligence for a token contract or mint, combining market, liquidity, verification, and control signals. Use this when the question is 'is this token safe or liquid?'. It is not raw bytecode inspection (use security.contract.scan), a wallet's financial behavior (use wallet.credit_score), or a multi-signal address dashboard (use analyze.risk_dashboard).

Input parameters:

- `address` (string, required): Token contract address (EVM hex) or mint address (Solana base58)
- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `factors` (array): Risk factors identified
- `riskLevel` (string): Overall risk level (low/medium/high/critical)
- `score` (number): Risk score 0-100

### `gas.tracker` (~235 tokens)

Gas Tracker

Get current gas/fee data. EVM: base fee, priority fee, predictions. Solana: priority fees, TPS, congestion level. Scope: current fee snapshot for a transaction decision. Use this for 'what are fees now?'. It is not a historical series (gas.history), a short-horizon forecast (gas.predict), or timing advice (gas.optimize).

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `chain` (string): Blockchain queried
- `congestion` (string): Network congestion level
- `current`
- `timestamp` (number): Unix timestamp ms
- `trend` (string): Gas trend direction

### `token.price` (~225 tokens)

Token Price

Get real-time token price. EVM: reads Uniswap V3 TWAP on-chain. Solana: reads Pyth oracle price account directly from chain. No external API.

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…
- `token` (string, required): Token symbol (e.g., 'eth', 'weth', 'sol', 'usdc') or contract address

Output parameters:

- `chain` (string): Blockchain queried
- `confidence` (string): Price confidence level
- `marketCap` (string): Market capitalization
- `priceChange24h` (string): 24h price change percentage
- `priceUsd` (number): Current USD price
- `source` (string): Price data source
- `timestamp` (number): Unix timestamp ms
- `token` (string): Token symbol
- `volume24h` (string): 24h trading volume

### `wallet.profile` (~208 tokens)

Wallet Profile

Profile a wallet address. EVM: ETH balance, token count, activity labels (whale/active/dormant). Solana: SOL balance, SPL token holdings, activity classification.

Input parameters:

- `address` (string, required): Wallet address to profile
- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `address` (string): Address
- `balance` (string): Native token balance
- `chain` (string): Blockchain queried
- `classification` (string): Wallet classification (whale/active/dormant)
- `lastActivity` (string): Last activity timestamp
- `tokenCount` (number): Number of token holdings

### `token.trending` (~64 tokens)

Trending Tokens

Get trending tokens by on-chain transfer volume. EVM only — ranks tokens by Transfer event count in recent blocks.

Input parameters:

- `chain` (string): EVM chain only. Solana is not supported for this endpoint.
- `hours` (number): Lookback period in hours

Output parameters:

- `chain` (string): Blockchain queried
- `tokens` (array)

### `defi.yields` (~193 tokens)

DeFi Yields

Get live DeFi lending rates. EVM: Aave V3 supply/borrow APY. Solana: Kamino KLend reserves + native staking yield.

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `chain` (string): Blockchain queried
- `protocol` (string)
- `yields` (array): DeFi yield opportunities

### `nft.collection` (~58 tokens)

NFT Collection

Get NFT collection info: name, symbol, total supply, owner count. EVM chains only (ERC-721/1155).

Input parameters:

- `chain` (string): EVM chain for NFT lookup.
- `contract` (string, required): NFT contract address

Output parameters:

- `address` (string): Address
- `analyzedAt` (number): Unix timestamp ms
- `chain` (string): Blockchain queried
- `hasRoyalties` (boolean)
- `name` (string)
- `sampleMetadata`
- `standard` (string)
- `symbol` (string)
- `totalSupply` (string)

### `nft.metadata` (~71 tokens)

NFT Token Metadata

Get individual NFT token metadata: owner, tokenURI, image, attributes. Resolves IPFS URIs. EVM chains only.

Input parameters:

- `chain` (string): EVM chain for NFT lookup.
- `contract` (string, required): NFT contract address
- `tokenId` (string, required): Token ID within the collection

Output parameters:

- `chain` (string): Blockchain queried
- `contract` (string)
- `metadata`
- `tokenId` (string)

### `chain.bridge.monitor` (~177 tokens)

Bridge Monitor

Detect large token transfers involving known bridge contracts (Across, Wormhole, official bridges). EVM only.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `minAmount` (number): Minimum USD value

Output parameters:

- `bridges` (array): Bridge activity data
- `chain` (string): Blockchain queried
- `totalVolume`

### `analyze.recent_interactions` (~187 tokens)

Recent Interactions

Show addresses that interacted with a target in recent ~2000 blocks. Labels known entities (CEX, DEX, bridges). EVM only.

Input parameters:

- `address` (string, required): Target wallet address
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `blocksScanned` (number)
- `chain` (string): Blockchain queried
- `chainName` (string)
- `knownEntities` (number)
- `note` (string)
- `summary` (object)
- `target` (string): Address
- `timestamp` (number): Unix timestamp ms
- `topInteractions` (array)
- `uniqueAddresses` (number)

### `security.contract.scan` (~259 tokens)

Contract Security Scan

Security scan a smart contract via bytecode analysis. Detects selfdestruct, delegatecall, proxy patterns, ownership. No external APIs. EVM only. Scope: bytecode-level inspection of one EVM contract for proxy, ownership, delegatecall, and selfdestruct signals. Use this for 'what does the deployed code expose?'. It is not a token market/liquidity assessment (token.risk), a wallet score, or a full audit, and it does not judge a trade by itself.

Input parameters:

- `address` (string, required): Contract address to scan
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `findings` (array): Security findings
- `riskLevel` (string): Risk assessment
- `verified` (boolean): Contract verification status

### `gas.history` (~233 tokens)

Gas History

Get 6-hour gas fee trend with 36 sampled data points. EVM: base fee per block. Solana: TPS performance samples. Scope: recent sampled fee history and trend. Use this for 'how have fees behaved recently?'. It is not a current quote (gas.tracker), a forecast (gas.predict), or a submission recommendation (gas.optimize).

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `chain` (string): Blockchain queried
- `history` (array): Historical gas data points
- `period` (string)

### `security.contract.events` (~189 tokens)

Contract Events

Read recent event logs from any smart contract. Auto-decodes Transfer, Approval, Swap events. EVM only.

Input parameters:

- `address` (string, required): Contract address
- `blocks` (number): Number of blocks to scan
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `blockRange` (object)
- `blocksScanned` (number)
- `chain` (string): Blockchain queried
- `chainName` (string)
- `contract` (string): Address
- `error` (string)
- `eventTypes` (object)
- `knownLabel`
- `recentEvents` (array)
- `timestamp` (number): Unix timestamp ms
- `totalEvents` (number)

### `security.mev.detect` (~182 tokens)

MEV Detection

Quick sandwich attack detection. Analyzes 5 transactions before/after target in the same block. EVM only.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `txHash` (string, required): Transaction hash to analyze

Output parameters:

- `chain` (string): Blockchain queried
- `detected` (boolean)
- `mevType` (string)
- `transactions` (array)

### `defi.compare` (~191 tokens)

DeFi Compare

Compare DeFi lending rates across protocols. EVM: Aave V3 vs Compound V3 side-by-side. Solana: Kamino + staking yield.

Input parameters:

- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `chain` (string): Blockchain queried
- `comparison` (array): Protocol comparison data

### `token.screener` (~194 tokens)

Token Screener

Screen tokens by risk score and price. Returns sorted list of tokens matching criteria. EVM only.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `limit` (integer): Max results
- `maxRisk` (number): Maximum risk score (0-100, lower = safer)

Output parameters:

- `chain` (string): Blockchain queried
- `filters`
- `tokens` (array)

### `defi.liquidity` (~232 tokens)

Liquidity Depth

Read Uniswap V3 pool state for a token pair: current price, active liquidity, fee tier. EVM only. Use when a known token pair needs pool-depth and active-liquidity context. It requires both token addresses and does not rank lending yields; use defi.aggregator or defi.compare for rates.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `tokenA` (string, required): First token address
- `tokenB` (string, required): Second token address

Output parameters:

- `chain` (string): Blockchain queried
- `depth`: Liquidity depth data
- `pool` (string)

### `util.governance` (~175 tokens)

Governance

Read on-chain DAO governance proposals. Shows last 5 proposals with vote counts and states. Supported: Ethereum, Arbitrum, Optimism.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number)
- `proposals` (array): Governance proposals

### `market.stablecoin.monitor` (~178 tokens)

Stablecoin Monitor

Monitor stablecoin peg stability. Detects USDC/USDT/DAI price deviations from $1.00 using on-chain DEX pool data.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `stablecoins` (array): Stablecoin status data

### `gas.predict` (~224 tokens)

Gas Prediction

Predict near-future gas prices using moving average and trend analysis of recent block base fees. Returns prediction, trend, and recommendation. Scope: short-horizon fee forecast from recent samples. Use this for 'what may fees be soon?'. It is not a live quote (gas.tracker), historical data (gas.history), or a timing recommendation (gas.optimize), and it never executes a transaction.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `current` (object)
- `dataSource` (string)
- `error` (string)
- `forecast` (object)
- `methodology` (string)
- `recommendation` (string)
- `stats` (object)
- `timestamp` (number): Unix timestamp ms
- `trend` (object)

### `defi.tvl` (~178 tokens)

Protocol TVL

Calculate total value locked (TVL) in DeFi protocols (Aave V3, Compound V3) directly from on-chain aToken and Comet supplies.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `market` (object)
- `onChain` (object)
- `timestamp` (number): Unix timestamp ms

### `token.holders` (~230 tokens)

Token Holders

Analyze top token holders by recent accumulation. Scans Transfer events to identify the largest net receivers of a token. Use for token-holder concentration and recent net accumulation. Do not use it for a wallet's portfolio or token price; use wallet.report for a wallet address or token.price for a token price.

Input parameters:

- `address` (string, required): ERC20 token contract address
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `limit` (integer): Number of top holders to return

Output parameters:

- `available` (boolean)
- `blocksScanned` (number)
- `chain` (string): Blockchain queried
- `error`
- `note` (string)
- `status` (string)
- `timestamp` (number): Unix timestamp ms
- `token` (object)
- `topHolders` (array)
- `transfersAnalyzed` (number)

### `defi.farming` (~164 tokens)

Yield Farming

Get Uniswap V3 LP pool statistics including liquidity, fee tiers, and current tick data.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `farms` (array): Yield farming opportunities

### `monitor.flashloan` (~166 tokens)

Flash Loan Monitor

Monitor flash loan activity on Aave V3. Detects recent flash loans with amounts and premiums paid.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number): Event count
- `events` (array): Monitored events
- `timestamp` (number): Unix timestamp ms

### `monitor.liquidation` (~168 tokens)

Liquidation Alerts

Monitor DeFi liquidation events on Aave V3. High liquidation counts indicate market stress and potential cascading risk.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number): Event count
- `events` (array): Monitored events
- `timestamp` (number): Unix timestamp ms

### `token.approval` (~179 tokens)

Token Approval Scanner

Check a wallet's ERC20 token approvals for security risks. Flags unlimited approvals and risky spender contracts.

Input parameters:

- `address` (string, required): Wallet address to check approvals for
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `approvals` (array)
- `available` (boolean)
- `chain` (string): Blockchain queried
- `highRiskCount`
- `note` (string)
- `riskLevel` (string)
- `status` (string)
- `timestamp` (number): Unix timestamp ms
- `totalApprovals`
- `wallet` (string): Address

### `util.multi_sig` (~180 tokens)

Multi-Sig Analysis

Analyze a Gnosis Safe multi-sig wallet. Returns owners, threshold, nonce, modules, and security assessment.

Input parameters:

- `address` (string, required): Gnosis Safe contract address
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `data`
- `owners` (array)
- `threshold` (number)

### `util.ens_resolve` (~56 tokens)

ENS Resolver

Resolve ENS domain names to Ethereum addresses (forward) or addresses to ENS names (reverse). Also retrieves text records.

Input parameters:

- `nameOrAddress` (string, required): ENS name (e.g. vitalik.eth) or Ethereum address

Output parameters:

- `address` (string): Address
- `name` (string)
- `resolved` (boolean)

### `market.overview` (~91 tokens)

Market Overview

Get a cross-chain market snapshot: ETH price, gas costs, and DeFi TVL across Base, Ethereum, Arbitrum, and Optimism in one call. Use for a fixed broad snapshot of major market, gas, and TVL signals. It is not a chain health verdict, token price lookup, or custom chain comparison; use chain.health, token.price, or chain.compare for those questions.

Output parameters:

- `chains` (array)
- `globalMarket` (object)
- `sources` (array)
- `summary` (object)
- `timestamp` (number): Unix timestamp ms
- `topTokens` (array)

### `chain.compare` (~123 tokens)

Chain Compare

Side-by-side comparison of EVM chains — gas costs, block time, and best DeFi yields. Helps choose the optimal chain for transactions. Use to compare a bounded set of EVM chains when selecting a network for an action. It is a decision aid, not an outage monitor or transaction executor; use chain.health for a single-chain snapshot, gas.tracker for a live fee quote, or oracle.chain_status for multi-chain status.

Input parameters:

- `chains` (array): Up to 15 EVM chains to compare. Defaults to base, ethereum, arbitrum, optimism.

Output parameters:

- `chainsCompared` (number)
- `comparison` (array)
- `rankings` (object)
- `timestamp` (number): Unix timestamp ms

### `wallet.portfolio` (~176 tokens)

Portfolio Analysis

Analyze a wallet's portfolio: total USD value, token breakdown, concentration analysis, and diversification score.

Input parameters:

- `address` (string, required): Wallet address to analyze
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `analysis` (object)
- `chain` (string): Blockchain queried
- `ethPrice`
- `holdings` (array)
- `portfolio` (object)
- `timestamp` (number): Unix timestamp ms
- `wallet` (string): Address

### `wallet.smart_money` (~165 tokens)

Smart Money Tracker

Track smart money patterns by analyzing whale transfer activity. Identifies accumulation vs distribution behavior and market sentiment.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `addresses` (array): Smart money addresses
- `chain` (string): Blockchain queried
- `count` (number)

### `wallet.credit_score` (~264 tokens)

Credit Score

Calculate an on-chain credit score (0-100) for any wallet. Factors: transaction history, native balance, token diversity, stablecoin holdings, DeFi activity. Returns grade (AAA to C). Scope: wallet-level financial behavior and activity score based on transaction history, balances, token diversity, stablecoins, and DeFi use. Use this for 'how active or creditworthy is this wallet?'. It is not Agent identity/reputation (agent.reputation), a registered card (agent.card.lookup), or token/contract risk.

Input parameters:

- `address` (string, required): Wallet address to score
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `creditScore` (number)
- `description` (string)
- `factors` (array)
- `grade` (string)
- `maxScore` (number)
- `methodology` (string)
- `timestamp` (number): Unix timestamp ms
- `wallet` (string): Address

### `analyze.risk_dashboard` (~242 tokens)

Risk Dashboard

Get a unified risk assessment for any address: combines contract security scan, token approval risks, and market liquidation stress into one composite risk score. Scope: composite decision view for one wallet or contract, combining contract, approval, and liquidation-risk signals. Use this when the agent wants one prioritized address risk summary. Use security.contract.scan, token.approval, or wallet.credit_score when it needs one focused dimension instead.

Input parameters:

- `address` (string, required): Wallet or contract address to assess
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `overallRisk` (string)
- `risks` (array): Risk indicators

### `chain.bridge.flow` (~205 tokens)

Bridge Flow

Analyze cross-chain bridge capital flow direction. Determines if a chain is seeing net capital inflow (bullish) or outflow (bearish). Use for directional net capital flow across bridges on one chain. For large bridge-transfer detection, use chain.bridge.monitor; use chain.compare when choosing between chains.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `flows` (array): Bridge flow data

### `defi.health` (~220 tokens)

Protocol Health

Assess DeFi protocol health: combines TVL, utilization rates, and liquidation frequency into a composite health score (0-100). Use for protocol-level DeFi health and stress signals on one chain. It does not rank yields or inspect a token contract; use defi.aggregator for cross-chain lending rankings, defi.compare for protocol rates, or token.risk for token risk.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `healthScore` (number)
- `metrics`
- `protocol` (string)

### `nft.floor` (~181 tokens)

NFT Floor Activity

Analyze NFT collection activity: recent transfers, mints, burns, unique buyers, and activity level from on-chain ERC721 events.

Input parameters:

- `address` (string, required): NFT collection contract address
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `contract` (string)
- `floorPrice`
- `sales` (array)

### `chain.cross` (~52 tokens)

Cross-Chain Profile

Cross-chain wallet correlation: queries all supported EVM chains in parallel to show balance, nonce, and activity. Includes diversity score and classification.

Input parameters:

- `address` (string, required): Wallet address to analyze across all EVM chains

Output parameters:

- `address` (string): Address
- `chains` (object)
- `chainsQueried` (number)
- `chainsSuccessful` (number)
- `note` (string)
- `summary` (object)
- `timestamp` (number): Unix timestamp ms

### `security.sandwich` (~94 tokens)

Sandwich Scanner

Batch scan an address's recent transactions for MEV sandwich attacks. Checks front-run + back-run patterns in surrounding transactions. Use to inspect historical sandwich patterns around an address. It is not a pre-trade protection decision; use security.mev.shield before a swap or liquidity action.

Input parameters:

- `address` (string, required): Address to scan for sandwich attacks
- `chain` (string): EVM chain (default: base)

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number)
- `sandwiches` (array): Detected sandwich attacks

### `token.unlock` (~64 tokens)

Token Unlock Schedule

Read token vesting/unlock schedule from on-chain contracts. Supports LinearVesting, CliffVesting, and Timelock patterns.

Input parameters:

- `address` (string, required): Vesting/timelock contract address
- `chain` (string): EVM chain (default: base)

Output parameters:

- `beneficiary` (string)
- `chain` (string): Blockchain queried
- `contract` (string): Address
- `note` (string)
- `schedule` (object)
- `status` (object)
- `timestamp` (number): Unix timestamp ms
- `token` (string)
- `tokenSymbol` (string)
- `type` (string)

### `gas.optimize` (~96 tokens)

Gas Optimization

Gas price optimization advisor: analyzes recent block patterns to recommend the best time to transact. Includes savings estimate. Scope: read-only submission-timing advice derived from current and recent fee conditions. Use this for 'when should I submit?'. It is not the raw current quote (gas.tracker), a history response (gas.history), or a standalone forecast (gas.predict).

Input parameters:

- `chain` (string): EVM chain (default: base)

Output parameters:

- `chain` (string): Blockchain queried
- `currentCost`
- `recommendations` (array): Gas optimization suggestions

### `defi.aggregator` (~73 tokens)

Yield Aggregator

Cross-chain DeFi yield ranking: scans Aave V3 across all supported chains to find the best supply APY and cheapest borrow rates. Use for a cross-chain ranking of configured DeFi lending opportunities. For a chain-specific protocol comparison, use defi.compare; for one protocol's rates, use defi.yields.

Output parameters:

- `byChain` (object)
- `chainsScanned` (array)
- `highlights` (object)
- `ranking` (array)
- `timestamp` (number): Unix timestamp ms
- `tip` (string)
- `tokensScanned` (array)
- `totalOpportunities` (number)

### `wallet.labels` (~50 tokens)

Address Intelligence

Query the Address Intelligence database for labels on an address (whale, smart_money, etc). Labels are learned automatically from whale alerts and smart money tracking.

Input parameters:

- `address` (string, required): Address to look up

Output parameters:

- `address` (string): Address
- `labels` (array): Address intelligence labels
- `source` (string)

### `token.supply` (~96 tokens)

Token Supply

Get ERC20 token total supply, decimals, symbol, and name from on-chain data. Use for contract-level supply metadata such as total supply, decimals, symbol, and name. It does not assess price, token safety, or holder concentration; use token.risk, token.price, or token.holders instead.

Input parameters:

- `address` (string, required): Token contract address
- `chain` (string): EVM chain (default: base)

Output parameters:

- `chain` (string): Blockchain queried
- `decimals` (number)
- `name` (string)
- `symbol` (string)
- `timestamp` (number): Unix timestamp ms
- `token` (string): Address
- `totalSupply` (string)
- `totalSupplyFormatted` (string)
- `totalSupplyUsd`

### `chain.block` (~99 tokens)

Block Info

Get latest or specific block data including gas, transactions, and timestamps. Use for exact latest or historical block facts on one chain, including block number, gas, transactions, and timestamps. Do not use it for an aggregate chain health view; use chain.health for a single chain or oracle.chain_status for multi-chain status.

Input parameters:

- `block` (string): Block number (omit for latest)
- `chain` (string): EVM chain (default: base)

Output parameters:

- `baseFeePerGas`
- `chain` (string): Blockchain queried
- `fetchedAt` (number): Unix timestamp ms
- `gasLimit` (string)
- `gasUsed` (string)
- `hash`
- `miner`
- `number` (number)
- `parentHash`
- `size`
- `timestamp` (number)
- `timestampISO` (string)
- `transactionCount` (number)

### `security.contract.verify` (~56 tokens)

Contract Verify

Check if an address is a smart contract or an EOA wallet. Returns code size, balance, and classification.

Input parameters:

- `address` (string, required): Address to verify
- `chain` (string): EVM chain (default: base)

Output parameters:

- `address` (string): Address
- `balance` (string)
- `balanceEth`
- `balanceNative` (string)
- `balanceUnit` (string)
- `chain` (string): Blockchain queried
- `classification` (string)
- `codeSize` (string)
- `isContract` (boolean)
- `isEOA` (boolean)
- `nativeAsset` (string)
- `nativeDecimals` (number)
- `timestamp` (number): Unix timestamp ms
- `transactionCount` (number)

### `analyze.tx_decode` (~54 tokens)

Transaction Decode

Decode a transaction: value, gas cost, status, method ID, and whether it's a contract call.

Input parameters:

- `chain` (string): EVM chain (default: base)
- `txHash` (string, required): Transaction hash

Output parameters:

- `chain` (string): Blockchain queried
- `gasUsed` (string)
- `isContractCall` (boolean)
- `method` (string)
- `status` (string)
- `txHash` (string)
- `value` (string)

### `nft.holders` (~43 tokens)

NFT Holders

Analyze NFT holder distribution by scanning recent Transfer events.

Input parameters:

- `chain` (string): EVM chain (default: base)
- `contract` (string, required): NFT contract address

Output parameters:

- `available` (boolean)
- `blocksScanned` (number)
- `chain` (string): Blockchain queried
- `contract` (string): Address
- `error`
- `note` (string)
- `status` (string)
- `timestamp` (number): Unix timestamp ms
- `tokensTracked`
- `topHolders` (array)
- `uniqueHolders`

### `market.dex_trades` (~91 tokens)

DEX Trades

Get recent DEX swap trades from a Uniswap V3 pool. Use for recent swaps in a known Uniswap V3 pool. It is pool-specific and read-only; use market.overview for a broad snapshot or defi.liquidity for pool state and depth.

Input parameters:

- `chain` (string): EVM chain (default: base)
- `pool` (string, required): Uniswap V3 pool address

Output parameters:

- `chain` (string): Blockchain queried
- `count` (number)
- `pool` (string)
- `trades` (array)

### `market.new_pairs` (~200 tokens)

New Pair Discovery

Discover recently created Uniswap V3 pools and inspect token metadata. Returns an explicit unavailable result when the selected chain has no configured factory.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `hours` (integer): Lookback period in hours (1-168)
- `withRisk` (boolean): Include token risk scoring

Output parameters:

- `available` (boolean)
- `capability` (string)
- `chain` (string): Blockchain queried
- `error` (string)
- `note` (string)
- `pairs` (array)
- `periodHours` (number)
- `status` (string)
- `supportedChains` (array)
- `timestamp` (number): Unix timestamp ms

### `market.stablecoin.supply` (~40 tokens)

Stablecoin Supply

Get USDC/USDT/DAI total supply across chains.

Input parameters:

- `chain` (string): Specific chain or omit for multi-chain

Output parameters:

- `chain` (string): Blockchain queried
- `supplies` (array): Stablecoin supply data

### `wallet.report` (~52 tokens)

Address Report

Comprehensive address report combining wallet profile, credit score, token approvals, and recent interactions in one response.

Input parameters:

- `address` (string, required): Address to analyze
- `chain` (string): EVM chain (default: base)

Output parameters:

- `address` (string): Address
- `approvals`
- `chain` (string): Blockchain queried
- `creditScore`
- `interactions`
- `profile`

### `chain.health` (~82 tokens)

Chain Health

Chain health score aggregating gas data, protocol TVL, and stablecoin stability. Use for a single-chain operating snapshot before choosing where to act. The score is not a contract audit or a transaction guarantee; use security.contract.scan or token.risk for safety analysis and chain.block for block facts.

Input parameters:

- `chain` (string): EVM chain (default: base)

Output parameters:

- `chain` (string): Blockchain queried
- `gas`
- `healthScore` (number)
- `stability`
- `tvl`

### `defi.opportunity` (~36 tokens)

DeFi Opportunity

Find the best DeFi yield opportunity combined with optimal gas timing.

Input parameters:

- `chain` (string): EVM chain (default: base)

Output parameters:

- `chain` (string): Blockchain queried
- `gasAdvice`
- `opportunity`

### `monitor.whale.tracker` (~49 tokens)

Whale Tracker

Track a specific whale address with Address Intelligence labels and wallet profile.

Input parameters:

- `address` (string, required): Whale address to track
- `chain` (string): EVM chain (default: base)

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `labels` (array)
- `profile`

### `oracle.gas_avg` (~70 tokens)

Oracle Gas Average

Data Oracle: Multi-chain gas price aggregation. Returns gas prices across multiple chains with a cheapest-chain recommendation. Ideal for agents choosing settlement chains.

Input parameters:

- `chains` (string): Comma-separated chain names (e.g. 'base,ethereum,arbitrum'). Defaults to top 5 EVM.

Output parameters:

- `chainsQueried` (number)
- `chainsResponded` (number)
- `feeds` (array)
- `note` (string)
- `oracleType` (string)
- `recommendation`
- `timestamp` (number): Unix timestamp ms

### `oracle.price_feed` (~203 tokens)

Oracle Price Feed

Data Oracle: Verified token price feed with Chain Proof signature. Returns price, source, and confidence level. Lightweight alternative to Chainlink for agent use cases.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `token` (string): Token: 'native', the chain native symbol, or a 0x... ERC-20 address

Output parameters:

- `address` (string)
- `available` (boolean)
- `chain` (string): Blockchain queried
- `confidence` (string)
- `decimals` (number)
- `market` (string)
- `note` (string)
- `oracleType` (string)
- `priceType` (string)
- `priceUsd`
- `source` (string)
- `status` (string)
- `timestamp` (number): Unix timestamp ms
- `token` (string)

### `oracle.chain_status` (~40 tokens)

Oracle Chain Status

Data Oracle: Real-time health and block freshness across configured EVM chains. Detects chain outages, stale blocks, and RPC degradation before agents submit transactions.

Output parameters:

- `chainsMonitored` (number)
- `feeds` (array)
- `oracleType` (string)
- `summary` (object)
- `timestamp` (number): Unix timestamp ms

### `agent.reputation` (~275 tokens)

Agent Reputation

KYA (Know Your Agent): 10-factor on-chain reputation scoring. Evaluates transaction volume, balances, token diversity, DeFi interactions, cross-chain intel, and risk flags. Returns trust score (0-100) and trust level. ERC-8004 compatible. Scope: Agent or wallet collaboration trust and reputation signals, including ERC-8004-compatible evidence. Use this before relying on another Agent. It is not a wallet's financial activity score (wallet.credit_score), a registered identity card (agent.card.lookup), or proof that the subject is a verified person or organization.

Input parameters:

- `address` (string, required): Agent/wallet address to evaluate
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `agentId` (string): Address
- `chain` (string): Blockchain queried
- `factors` (array)
- `maxScore` (number)
- `methodology` (string)
- `oracleType` (string)
- `riskFlags` (array)
- `standard` (string)
- `timestamp` (number): Unix timestamp ms
- `trustLevel` (string)
- `trustScore` (number)
- `verdict` (string)

### `util.context_brief` (~273 tokens)

Context Brief

CaaS (Context as a Service): Aggregates real-time on-chain signals into a structured context brief for agent decision-making. Intents: swap (gas+price+whales), bridge (multi-chain gas), invest (yields+trending), monitor (whales+gas), general (all signals). No LLM cost — pure data. Use at the start of a swap, bridge, invest, monitor, or general workflow to collect the relevant signals in one structured brief. Use focused tools when the agent already knows the exact data it needs.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `intent` (string): Agent's intent for the context brief

Output parameters:

- `advisory` (string)
- `chain` (string): Blockchain queried
- `intent` (string)
- `oracleType` (string)
- `recommendations` (array)
- `signalCount` (number)
- `signalQuality` (string)
- `signals` (object)
- `timestamp` (number): Unix timestamp ms

### `agent.card.register` (~299 tokens)

Agent Card Register

Register an AI Agent in the ChainRay A2A Agent Card registry. Requires agentId, name, and capabilities array. Auto-attaches KYA trust score if paymentAddress provided. Returns registration status. ($0.05)

Input parameters:

- `agentId` (string, required): Unique agent identifier (address, ENS, or custom ID)
- `capabilities` (array, required): Agent capabilities: swap, bridge, monitor, analyze, trade, etc.
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `chains` (array): Supported chains
- `description` (string): What the agent does
- `name` (string, required): Human-readable agent name
- `paymentAddress` (string): Wallet address for receiving payments (triggers KYA scoring)
- `updateToken` (string): Private ownership token returned when this agent was first registered

Output parameters:

- `agentId` (string)
- `card`
- `success` (boolean): Registration success

### `agent.card.discover` (~99 tokens)

Agent Card Discover

Discover AI Agents by capability, chain, or keyword. Returns matching agents with trust scores. Useful for finding agents to collaborate with. ($0.007)

Input parameters:

- `capability` (string): Filter by capability: swap, bridge, monitor, analyze, trade
- `chain` (string): Filter by supported chain
- `keyword` (string): Search keyword in agent name/description
- `limit` (integer): Max results (1-50)

Output parameters:

- `agents` (array): Discovered agent cards
- `count` (number)

### `agent.card.lookup` (~49 tokens)

Agent Card Lookup

Look up a specific AI Agent's card by ID. Returns identity, capabilities, trust score, and endpoints. ($0.002)

Input parameters:

- `agentId` (string, required): Agent ID to look up

Output parameters:

- `agent`: Agent card data
- `found` (boolean)

### `security.mev.shield` (~294 tokens)

Pre-Trade Safety

Pre-trade safety analysis. Evaluates sandwich attack risk, recommends optimal slippage, and suggests mitigations before executing on-chain trades. Every agent should call this before swapping. ($0.05) Scope: composite pre-trade decision for a proposed swap, bridge, or liquidity action, focused on MEV exposure and slippage mitigation. Use this before acting. It is not a historical sandwich scan (security.sandwich), a token due-diligence report (token.risk), or a transaction executor.

Input parameters:

- `action` (string): Trade action type
- `amountUsd` (number): Trade size in USD
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `tokenIn` (string): Input token symbol
- `tokenOut` (string): Output token symbol

Output parameters:

- `available` (boolean)
- `chain` (string): Blockchain queried
- `note` (string)
- `safe` (boolean): Whether trade is safe from MEV
- `status` (string)
- `warnings` (array)

### `market.solver_feed` (~148 tokens)

Solver Feed

Intent Solver decision intelligence. Provides profitability analysis, gas costs, competition level, and recommendations for ERC-7683 cross-chain intent execution. ($0.007) Use before evaluating an ERC-7683 cross-chain intent to compare gas, liquidity, competition, and estimated profitability. It does not execute the intent and should not be treated as a guaranteed quote; both source and destination must be supported EVM chains.

Input parameters:

- `amountUsd` (number): Intent amount in USD
- `fromChain` (string): Source chain
- `toChain` (string): Destination chain
- `tokenIn` (string): Input token
- `tokenOut` (string): Output token symbol or 'native'

Output parameters:

- `available` (boolean)
- `chain` (string): Blockchain queried
- `missingData` (array)
- `note` (string)
- `solvers` (array): Solver feed data
- `status` (string)

### `token.sentiment` (~207 tokens)

Token Sentiment

On-chain sentiment oracle for any token/chain. Derives market sentiment from 5 on-chain signals: gas trend, gas level, momentum, chain health, ecosystem trend. No LLM. ($0.012)

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `token` (string): Token symbol or 'native' for the chain gas asset

Output parameters:

- `available` (boolean)
- `chain` (string): Blockchain queried
- `note` (string)
- `score` (number): Sentiment score -1 to 1
- `sentiment` (string): Sentiment direction (bullish/bearish/neutral/unavailable)
- `sources` (array)
- `status` (string)
- `token` (string)

### `util.workflow_brief` (~93 tokens)

Workflow Brief

Multi-agent workflow intelligence. Generates differentiated context briefs for each agent role in a collaborative workflow (swap, risk, bridge, settle, monitor, analysis agents). ($0.05)

Input parameters:

- `agents` (array, required): Agent roles: swap-agent, risk-agent, bridge-agent, settle-agent, monitor-agent, analysis-agent
- `chains` (array): Target EVM chains
- `intent` (string): Workflow intent

Output parameters:

- `chain` (string): Blockchain queried
- `steps` (array)
- `workflow` (object)

### `agent.erc8004` (~197 tokens)

ERC-8004 Reputation

Get agent reputation in ERC-8004 standard format (Identity + Reputation + Validation Registry schema). Same KYA analysis but formatted for on-chain registry compatibility. ($0.025)

Input parameters:

- `address` (string, required): Wallet or agent address (0x...)
- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `address` (string): Address
- `reputation`: ERC-8004 reputation data

### `util.intent_router` (~257 tokens)

Intent Router

Natural language intent routing: describe what you want to know and ChainRay selects a focused set of data services. Counts toward the client hourly MCP capacity policy; use the paid HTTP API for per-request settlement. Use when the agent has a natural-language data question and needs ChainRay to select a focused route. For deterministic workflows, call the specific tool directly; paid HTTP requests are separate from this MCP capacity policy.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `query` (string, required): Natural language query: 'Is 0xABC safe?', 'Best yield on base?', 'Whale activity?'

Output parameters:

- `chain` (string): Blockchain queried
- `detectedAddress`
- `detectedToken` (string)
- `endpointsQueried` (number)
- `query` (string)
- `results` (array)
- `successCount` (number)
- `summary` (string)
- `timestamp` (number): Unix timestamp ms
- `type` (string)

### `util.verify_proof` (~95 tokens)

Verify Proof

Verify data integrity: pass a dataHash from any ChainRay response's _proof field to verify that the data was produced by ChainRay. Use after receiving a ChainRay response with _proof.dataHash to verify its integrity. It verifies a supplied hash and does not independently validate the underlying blockchain data.

Input parameters:

- `hash` (string, required): 64-char SHA-256 hex hash from _proof.dataHash of any ChainRay response

Output parameters:

- `chain` (string): Blockchain queried
- `inputHash` (string)
- `proofVersion` (string)
- `signedBy`
- `timestamp` (number): Unix timestamp ms
- `type` (string)
- `verificationDetail`
- `verified` (boolean): Proof validity

### `monitor.watch.address` (~242 tokens)

Watch Address

Create a watch on an address. Returns a wallet snapshot and watchId; use watch-diff later to receive only changed fields. Use to create the first address snapshot in a stateful watch workflow. Save the returned watchId and call monitor.watch.diff in the same MCP session for later changes.

Input parameters:

- `address` (string, required): Wallet address to watch (EVM 0x... or Solana base58)
- `chain` (string): Blockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, crono…

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `diffEndpoint` (string)
- `snapshot`
- `timestamp` (number): Unix timestamp ms
- `totalWatches` (number)
- `type` (string)
- `watchId` (string)

### `monitor.watch.diff` (~90 tokens)

Watch Diff

Get changes since the last check for a watched address. Returns changed fields and numeric deltas. Use only after monitor.watch.address has created a watchId in the same MCP session. It returns changes since the last check and advances the snapshot; create a new watch for a new address.

Input parameters:

- `watchId` (string, required): Watch ID from a previous watch-address call (e.g. w_abc123)

Output parameters:

- `address` (string): Address
- `chain` (string): Blockchain queried
- `createdAt` (string)
- `currentSnapshot`
- `diff`
- `timeSinceLastCheckSeconds` (number)
- `timestamp` (number): Unix timestamp ms
- `type` (string)
- `watchId` (string)

### `predict.gas` (~166 tokens)

Predict Gas

Gas price prediction: EMA-based forecast for the next 5 minutes and 1 hour using accumulated readings.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `confidence` (number): Confidence score 0-1
- `horizon` (string): Prediction time horizon
- `prediction`: Prediction result
- `timestamp` (number): Unix timestamp ms

### `predict.whale_move` (~163 tokens)

Predict Whale Move

Whale activity prediction: projects next-hour transfer count and volume using a frequency decay model.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `confidence` (number): Confidence score 0-1
- `horizon` (string): Prediction time horizon
- `prediction`: Prediction result
- `timestamp` (number): Unix timestamp ms

### `predict.liquidity` (~168 tokens)

Predict Liquidity

Liquidity prediction: TVL trend analysis with health scoring, risk factors, and a 24-hour range.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `confidence` (number): Confidence score 0-1
- `horizon` (string): Prediction time horizon
- `prediction`: Prediction result
- `timestamp` (number): Unix timestamp ms

### `predict.token_momentum` (~183 tokens)

Predict Token Momentum

Token momentum prediction: BUY, SELL, or HOLD signal based on price change and trending activity.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…
- `token` (string): Token symbol or 'native' for the chain gas asset

Output parameters:

- `chain` (string): Blockchain queried
- `confidence` (number): Confidence score 0-1
- `horizon` (string): Prediction time horizon
- `prediction`: Prediction result
- `timestamp` (number): Unix timestamp ms

### `security.mev.intel` (~181 tokens)

Cross-DEX Spread Analysis

Cross-protocol spread analysis with chain-specific DEX names, cost estimates, and market microstructure data. This is a heuristic estimate, not real-time mempool data.

Input parameters:

- `chain` (string): EVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cron…

Output parameters:

- `chain` (string): Blockchain queried
- `marketMicrostructure`
- `opportunities` (array): Cross-DEX arbitrage opportunities
- `recommendation` (string)
- `timestamp` (number): Unix timestamp ms
- `type` (string)
- `viableCount` (number)

### `util.stream_info` (~82 tokens)

Stream Info

Get connection info for ChainRay real-time SSE streaming endpoints. These endpoints require a direct HTTP connection with text/event-stream Accept header, not MCP. Use this tool to learn how to connect. Use to discover the five real-time SSE streams and their connection requirements. The returned guidance is not a stream itself; connect directly over HTTP with the documented Accept and payment headers.

Output parameters:

- `count` (number)
- `streams` (array): Available SSE stream endpoints

## Diagnostics

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

## Score history

- 2026-10-04: 71
- 2026-10-03: 71
- 2026-10-02: 70

## Common questions

### What is the ChainRay MCP server?

ChainRay is an MCP server listed in the public MCP registry as online.chainray/chainray. Multi-chain on-chain intelligence for AI agents through a public remote MCP server. This page covers its hosted endpoint (https://chainray.online/mcp/sse).

### Is the ChainRay MCP server safe to use?

ChainRay scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ChainRay MCP server expose?

ChainRay exposes 79 tools: monitor.whale.alerts, token.risk, gas.tracker, token.price, wallet.profile, and 74 more. Their descriptions and schemas cost roughly 12,187 tokens of context every time the server is loaded.

### Does the ChainRay MCP server require authentication?

No. We connected to ChainRay without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the ChainRay MCP server still maintained?

ChainRay is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://chainray.online/mcp/sse
- Changelog RSS feed: https://verifymcp.io/servers/online-chainray-chainray/chainray-2.xml
- Changelog JSON feed: https://verifymcp.io/servers/online-chainray-chainray/chainray-2.json
- HTML version of this page: https://verifymcp.io/servers/online-chainray-chainray/chainray-2
