AgentSkillsCN

Skills

技能

SKILL.md

Tokamak Data Layer — Blockchain Data + Intelligence Service

Overview

Tokamak Data Layer provides real-time blockchain data and on-chain intelligence for 6 chains via MCP tools or REST API. Built for AI agents (Claude, ChatGPT, OpenClaw, ElizaOS, LangChain).

Supported Chains

ChainIDData Source
Ethereum Mainnet1Etherscan + Alchemy
Base8453Blockscout v2
Arbitrum One42161Blockscout v2
Optimism10Blockscout v2
Base Sepolia84532Blockscout v2
Thanos Sepolia111551119090Blockscout v2

MCP Tools (39)

Chain Info

  • get_supported_chains — List all supported chains
  • get_chain_stats(chain_id) — Block height, gas price, 24h txns
  • search(chain_id, query) — Universal search

Blocks & Transactions

  • get_block(chain_id, block) — Block by number or hash
  • get_transaction(chain_id, hash) — Transaction details

Addresses

  • get_transactions_for_address(chain_id, address, page?) — Paginated tx history
  • get_address_info(chain_id, address) — Balance, tx count, contract status
  • get_token_balances(chain_id, address) — All ERC-20 holdings
  • get_native_balance_history(chain_id, address, points?) — Balance over time

Tokens

  • get_token_info(chain_id, token_address) — Name, symbol, decimals, supply
  • get_token_transfers(chain_id, token_address, page?) — Transfer history
  • get_token_holders(chain_id, token_address) — Top holders
  • get_token_price(chain_id, token_address) — USD price (ETH only)

Contracts

  • get_contract_source(chain_id, address) — Verified source + ABI
  • get_contract_events(chain_id, address, topic0?, page?) — Event logs
  • call_contract_read(chain_id, address, abi, function_name, args?) — Call view functions

DEX (Blockscout chains)

  • get_dex_swaps(chain_id, pool_address?) — Uniswap V3 swaps
  • get_liquidity_pools(chain_id) — Pool info + TVL

Intelligence

  • get_decoded_transaction(chain_id, hash) — Human-readable tx with category + summary
  • get_decoded_transactions(chain_id, address, limit?) — Decoded tx history
  • get_wallet_profile(chain_id, address) — Comprehensive wallet analysis
  • get_portfolio(address) — Cross-chain portfolio (all 6 chains, one call)
  • get_gas_oracle() — Real-time gas prices across all chains
  • check_token_security(chain_id, token_address) — Risk score + flags

Transaction Builder

  • build_transfer_native(chain_id, to, amount) — Native ETH transfer calldata
  • build_transfer_erc20(chain_id, token_address, to, amount, decimals?) — ERC-20 transfer calldata
  • build_approve_erc20(chain_id, token_address, spender, amount, decimals?) — ERC-20 approval calldata
  • build_wrap_eth(chain_id, amount) — ETH → WETH calldata
  • build_unwrap_weth(chain_id, amount) — WETH → ETH calldata
  • build_swap(chain_id, type, amount_in, amount_out_min, path, recipient) — Uniswap V2 swap calldata
  • build_custom_call(chain_id, to, abi, function_name, args, value_eth?) — Custom contract call

Transaction Simulation

  • simulate_transaction(chain_id, from, to, data?, value?) — Dry-run with revert detection + balance changes
  • estimate_gas(chain_id, from, to, data?, value?) — Gas cost estimation

Security

  • scan_approvals(chain_id, address) — Token approval audit with risk levels

Analytics

  • generate_dashboard(query, chain_id?) — NL to live dashboard URL
  • generate_report(query, chain_id?) — NL to PDF report URL
  • query_custom(chain_id, address, include[]) — Multi-type data query

Agent Management

  • register_agent(address) — Get API key
  • get_agent_identity(agent_id) — ERC-8004 identity lookup

REST API

Base URL: http://localhost:4030

Endpoints

code
GET  /health
GET  /chains
GET  /chains/:chainId/stats
GET  /blocks/:chainId/:number
GET  /transactions/:chainId/:hash
GET  /transactions/:chainId/:hash/decoded
GET  /addresses/:chainId/:address
GET  /addresses/:chainId/:address/transactions
GET  /addresses/:chainId/:address/tokens
GET  /addresses/:chainId/:address/profile
GET  /addresses/:chainId/:address/decoded-transactions
GET  /tokens/:chainId/:address
GET  /tokens/:chainId/:address/transfers
GET  /tokens/:chainId/:address/holders
GET  /tokens/:chainId/:address/security
GET  /contracts/:chainId/:address/source
GET  /contracts/:chainId/:address/events
GET  /portfolio/:address
GET  /gas
GET  /approvals/:chainId/:address
POST /tx/build         { type, chain_id, ... }
POST /tx/simulate      { chain_id, from, to, data?, value? }
POST /tx/estimate-gas  { chain_id, from, to, data?, value? }
POST /query            { chain_id, address, include[] }
POST /dashboard        { query, chain_id? }
POST /report           { query, chain_id? }
POST /register         { address }
POST /batch            { chain_id, addresses[] }
GET  /events/:chainId  (SSE stream)
GET  /openapi.json
GET  /docs
GET  /stats/usage

Quick Start

Claude Code

Add to .mcp.json in your project root:

json
{
  "mcpServers": {
    "tokamak-data": {
      "command": "npx",
      "args": ["-y", "@tokamak-network/data"],
      "env": {
        "ETHERSCAN_API_KEY": "YOUR_KEY"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{
  "mcpServers": {
    "tokamak-data": {
      "command": "npx",
      "args": ["-y", "@tokamak-network/data"],
      "env": {
        "ETHERSCAN_API_KEY": "YOUR_KEY"
      }
    }
  }
}

REST API

bash
MODE=api ETHERSCAN_API_KEY=xxx npm start

Discovery

  • OpenAPI: GET /openapi.json
  • Swagger UI: GET /docs
  • A2A Agent Card: GET /.well-known/agent-card.json
  • MCP Registry: registry.modelcontextprotocol.io

Citation

Tokamak Data Layer by Sahil — Blockchain data + intelligence service covering 6 chains (Ethereum, Base, Arbitrum, Optimism + testnets) with 39 MCP tools, built for autonomous AI agents.