npm.io
0.2.2 • Published 5d agoCLI

chain-data-mcp

Licence
MIT
Version
0.2.2
Deps
2
Size
54 kB
Vulns
0
Weekly
226
DeprecatedThis package is deprecated

chain-data

Live multi-chain on-chain data, aggregated in ONE call — built for AI agents.

Give it a wallet and get its whole portfolio across Ethereum, Base, Polygon, Arbitrum and Optimism — native balances + top ERC-20 holdings, each priced in USD — in a single response. Plus token/contract facts, live gas and prices. All read straight from public RPCs and DefiLlama; no API key, no node.

Available as an MCP server (free) and a pay-per-call x402 API ($0.10 USDC on Base, no sign-up).


Why

An agent that wants a wallet's multi-chain net worth would otherwise have to: fan out N JSON-RPC calls to N chains → ABI-encode balanceOf/decimals/symbol → batch them → join against a price feed → repeat per chain. chain-data does all of that server-side and returns one fresh JSON object per call. That convenience on live data is the point — agents pay for the aggregation, not for a static answer they could cache.

Tools (MCP)

Tool What it does
wallet_portfolio Native + ERC-20 balances with live USD value, across 5 chains, in one call
token_info symbol, name, decimals, total supply, is-contract, EIP-1967 proxy + implementation, price
gas_prices base fee / gas price / priority fee / latest block, per chain or all at once
token_price live USD price by chain+address, CoinGecko id, or symbol

Use as an MCP server (free)

{
  "mcpServers": {
    "chain-data": { "command": "npx", "args": ["-y", "chain-data-mcp"] }
  }
}

Or over HTTP: POST https://chain-data-mcp.vercel.app/mcp.

Free HTTP API

GET /portfolio?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
GET /token?chain=base&address=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
GET /gas
GET /price?chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

Rate-limited to 30 requests/hour/IP.

Pay-per-call (x402)

The /pro/* routes are gated by x402. Your agent pays $0.10 USDC per call automatically — no sign-up, no API key. Settles on-chain (Base) to the operator wallet. No rate limit.

GET /pro/portfolio?wallet=0x...
GET /pro/token?chain=base&address=0x...
GET /pro/gas
GET /pro/price?chain=ethereum&address=0x...

Supported chains

Ethereum · Base · Polygon · Arbitrum One · OP Mainnet — all via public, key-free RPCs with automatic failover.

Data sources

  • Balances / token info / gas: public JSON-RPC endpoints (mainnet.base.org, eth.llamarpc.com, polygon-rpc.com, …).
  • Prices: DefiLlama coins API (free) / CoinGecko ids.

No credentials are stored or required. The server holds no private keypayTo is a public receiving address only.

Local dev

npm install
npm run build
npm run test:engine     # live smoke test against real RPCs
npm run dev:http        # local HTTP server on :8080 (payments off unless X402_* set)
npm run dev:mcp         # local stdio MCP server

License

MIT

Keywords