mcpField
W
web3-data

web3-data

github.com/lxcongData & databases145 installsUpdated 31w ago
Repository

About web3-data

A skill for using the Chainbase CLI to query blockchain data and crypto social signals. It maps common questions to commands, with SQL available for custom queries.

Key features

  1. 01Query blocks, transactions, and tokens
  2. 02Inspect balances and DeFi portfolios
  3. 03Resolve ENS and Space ID names
  4. 04Call smart contract functions
  5. 05Query crypto trends and social mentions
  6. 06Use SQL for custom data queries

Use cases

  1. 01Check token prices and holder lists
  2. 02Review a wallet's transactions and balances
  3. 03Track trending crypto topics and mentions
  4. 04Query data beyond standard CLI commands

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lxcong/web3-data-skill --skill web3-data

After installing, type/web3-datain Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

CLAUDE.md
.gitignore
LICENSE
clawhub.json
README.md
references/
tops-api.md
api-endpoints.md

Details

From the project README

Web3 Data Explorer (Chainbase)

Query on-chain data via the Chainbase CLI.

Quick Reference

Install: npm install -g chainbase-cli (or use npx chainbase-cli)

Auth: Set API key via chainbase config set api-key YOUR_KEY, or env CHAINBASE_API_KEY. Falls back to demo key. If rate-limited, direct user to https://platform.chainbase.com to get a key.

x402 Payment: Supports pay-per-call micropayments via --x402 flag. Setup: chainbase config set private-key 0x...

# Top token holders
chainbase token top-holders 0xdAC17F958D2ee523a2206206994597C13D831ec7 --chain 1 --limit 10

# Token price
chainbase token price 0xdAC17F958D2ee523a2206206994597C13D831ec7

# ENS resolve
chainbase domain ens-resolve vitalik.eth

# SQL query
chainbase sql execute "SELECT * FROM ethereum.blocks ORDER BY number DESC LIMIT 5"

Use --json for machine-parseable output. Use --chain <id> to target a specific chain.

Chain IDs

ChainIDChainID
Ethereum1Optimism10
BSC56Base8453
Polygon137zkSync324
Avalanche43114Arbitrum42161

Default to Ethereum (chain 1) unless user specifies otherwise.

Routing Logic

Match user intent to the right CLI command:

User wantsCLI command
Latest block numberchainbase block latest
Block detailschainbase block detail <number>
Transaction detailchainbase tx detail <hash>
Wallet transaction historychainbase tx list <address>
Token info (name, symbol, supply)chainbase token metadata <contract>
Token pricechainbase token price <contract>
Historical token pricechainbase token price-history <contract> --from <ts> --to <ts>
List of holder addresseschainbase token holders <contract>
Top token holders / who holds a tokenchainbase token top-holders <contract>
Token transfer historychainbase token transfers --contract <addr>
Native token balance (ETH/BNB)chainbase balance native <address>
ERC20 token balances of walletchainbase balance tokens <address>
DeFi portfolio positionschainbase balance portfolios <address>
ENS domains held by addresschainbase domain ens <address>
ENS name → addresschainbase domain ens-resolve <name>
Address → ENS namechainbase domain ens-reverse <address>
Space ID resolve (BSC)chainbase domain spaceid-resolve <domain>
Space ID reverse (BSC)chainbase domain spaceid-reverse <address>
Call smart contract functionchainbase contract call --address <contract> --function "fn" --abi '[...]' --params '[...]'
Anything not covered aboveSQL API: chainbase sql execute "SELECT ..."

Workflow

  1. Identify intent — Determine what data the user needs
  2. Resolve identifiers — If user gives token name (e.g. "USDT"), look up the contract address. Common tokens:
    • USDT: 0xdAC17F958D2ee523a2206206994597C13D831ec7 (ETH)
    • USDC: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (ETH)
    • WETH: 0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2 (ETH)
    • DAI: 0x6B175474E89094C44Da98b954EedeAC495271d0F (ETH)
    • WBTC: 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 (ETH)
    • If unknown, use chainbase token metadata <contract> or ask the user for the contract address
  3. Select command — Use the routing table above; fall back to SQL API for complex/custom queries
  4. Execute — Run the CLI command. Add --json when you need to parse the output programmatically
  5. Present results — Format data clearly with tables for lists, highlight key insights

Global Options

All commands support these options:

OptionDescriptionDefault
--chain <id>Target chain1 (Ethereum)
--jsonMachine-parseable JSON outputfalse
--page <n>Page number for paginated results1
--limit <n>Results per page20
--x402Enable x402 micropayment modefalse

SQL API Fallback

When CLI commands don't cover the query, translate user intent to SQL:

chainbase sql execute "SELECT from_address, SUM(value) as total FROM ethereum.token_transfers WHERE contract_address = '0x...' GROUP BY from_address ORDER BY total DESC LIMIT 20"

Common table patterns (replace ethereum with chain name):

  • {chain}.blocks — Block data
  • {chain}.transactions — Transactions
  • {chain}.token_transfers — ERC20 transfers
  • {chain}.token_metas — Token metadata
  • {chain}.logs — Event logs

SQL constraints: max 100,000 results per query.

For full command help, run chainbase --help or chainbase <command> --help.


Crypto Social Intelligence (Tops)

Query crypto social signals via chainbase tops. No API key required — free to use.

Service: Tops — trending narratives, topic discovery, Twitter/X mentions. Base URL: https://api.chainbase.com/tops (called internally by the CLI) Rate limit: 10 req/s · 60 req/min · 600 req/hour (per client IP)

Quick Reference

# List trending crypto topics (default: English)
chainbase tops trending
chainbase tops trending --language zh   # Chinese
chainbase tops trending --language ko   # Korean

# Get structured details for a topic
chainbase tops topic <topic_id>

# Get posts/tweets under a topic
chainbase tops posts <topic_id>

# Search narrative candidates by keyword
chainbase tops search "RWA"
chainbase tops search "AI Agent"

# Search recent Twitter/X mentions
chainbase tops mentions "Ethereum ETF"

Use --json for machine-parseable output.

Routing Logic

Match user intent to the right subcommand:

User wantsCLI command
What's trending in crypto right nowchainbase tops trending [--language <lang>]
Details / summary of a specific topicchainbase tops topic <topic_id>
Raw tweets / posts under a topicchainbase tops posts <topic_id>
Find topics related to a narrative keywordchainbase tops search <keyword>
Recent Twitter/X mentions of a project or keywordchainbase tops mentions <keyword>

Workflow

Trend Tracking
  1. chainbase tops trending → get current top topics (note id fields)
  2. chainbase tops topic <id> → dive into summary, keywords, representative tweets
  3. chainbase tops posts <id> → retrieve raw tweets for sentiment analysis
Narrative Discovery
  1. chainbase tops search <keyword> → find candidate topics from a vague term
  2. Cluster/summarize candidates, identify the target topic ID
  3. chainbase tops topic <id> → confirm topic details
Real-time Monitoring
  1. chainbase tops mentions <keyword> → monitor social mentions of a project/token
  2. Extract stance, sentiment, key voices from results

Data Schemas

Story (topic): id, keyword, summary, score, current_rank, rank_status (new/up/down/same), is_new, authors[], tweet_urls[], first_tweet_time, snapshot_time

Tweet: id, text, media_json, user → {user_id, name, screen_name, blue_verified, profile_image}

Comments

Markdown supported