> (1) Web3 on-chain data via Chainbase CLI — use when the user asks about blockchain data, token holders, wallet addresses, token prices, ENS domains, transactions, DeFi portfolios, "token price", "token transfers", "ENS domain", "on-chain data", "blockchain query", "SQL query on-chain", across Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, zkSync, and other EVM chains. (2) Crypto social intelligence via Tops (chainbase tops) — use when the user asks about trending crypto narratives, social mentions, Twitter/X crypto discussions, narrative narrative", "what's trending in crypto", "social mentions", "who is talking about", "crypto twitter", "KOL signals", "narrative search", "topic posts".
npx skills add https://github.com/internet-court/internet-court-skill --skill web3-data
Query on-chain data via the Chainbase CLI.
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 | ID | Chain | ID |
|---|---|---|---|
| Ethereum | 1 | Optimism | 10 |
| BSC | 56 | Base | 8453 |
| Polygon | 137 | zkSync | 324 |
| Avalanche | 43114 | Arbitrum | 42161 |
Default to Ethereum (chain 1) unless user specifies otherwise.
Match user intent to the right CLI command:
| User wants | CLI command |
|---|---|
| Latest block number | chainbase block latest |
| Block details | chainbase block detail <number> |
| Transaction detail | chainbase tx detail <hash> |
| Wallet transaction history | chainbase tx list <address> |
| Token info (name, symbol, supply) | chainbase token metadata <contract> |
| Token price | chainbase token price <contract> |
| Historical token price | chainbase token price-history <contract> --from <ts> --to <ts> |
| List of holder addresses | chainbase token holders <contract> |
| Top token holders / who holds a token | chainbase token top-holders <contract> |
| Token transfer history | chainbase token transfers --contract <addr> |
| Native token balance (ETH/BNB) | chainbase balance native <address> |
| ERC20 token balances of wallet | chainbase balance tokens <address> |
| DeFi portfolio positions | chainbase balance portfolios <address> |
| ENS domains held by address | chainbase domain ens <address> |
| ENS name → address | chainbase domain ens-resolve <name> |
| Address → ENS name | chainbase 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 function | chainbase contract call --address <contract> --function "fn" --abi '[...]' --params '[...]' |
| Anything not covered above | SQL API: chainbase sql execute "SELECT ..." |
0xdAC17F958D2ee523a2206206994597C13D831ec7 (ETH)0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (ETH)0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2 (ETH)0x6B175474E89094C44Da98b954EedeAC495271d0F (ETH)0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 (ETH)chainbase token metadata <contract> or ask the user for the contract address--json when you need to parse the output programmaticallyAll commands support these options:
| Option | Description | Default |
|---|---|---|
| --chain <id> | Target chain | 1 (Ethereum) |
| --json | Machine-parseable JSON output | false |
| --page <n> | Page number for paginated results | 1 |
| --limit <n> | Results per page | 20 |
| --x402 | Enable x402 micropayment mode | false |
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 logsSQL constraints: max 100,000 results per query.
For full command help, run chainbase --help or chainbase <command> --help.
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)
# 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.
Match user intent to the right subcommand:
| User wants | CLI command |
|---|---|
| What's trending in crypto right now | chainbase tops trending [--language <lang>] |
| Details / summary of a specific topic | chainbase tops topic <topic_id> |
| Raw tweets / posts under a topic | chainbase tops posts <topic_id> |
| Find topics related to a narrative keyword | chainbase tops search <keyword> |
| Recent Twitter/X mentions of a project or keyword | chainbase tops mentions <keyword> |
chainbase tops trending → get current top topics (note id fields)chainbase tops topic <id> → dive into summary, keywords, representative tweetschainbase tops posts <id> → retrieve raw tweets for sentiment analysischainbase tops search <keyword> → find candidate topics from a vague termchainbase tops topic <id> → confirm topic detailschainbase tops mentions <keyword> → monitor social mentions of a project/tokenStory (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}
Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions
This skill retrieves upcoming earnings announcements for US stocks using the Financial Modeling Prep (FMP) API. Use this when the user requests earnings calendar data, wants to know which companies are reporting earnings in the upcoming week, or needs a weekly earnings review. The skill focuses on mid-cap and above companies (over $2B market cap) that have significant market impact, organizing the data by date and timing in a clean markdown table format. Supports multiple environments (CLI, Desktop, Web) with flexible API key management.
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions
Take internet-court/web3-data from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, npx.
Without those the skill loads but fails at the first command.