Crypto Analytics
Overview
A comprehensive multi-chain blockchain analysis tool using live API data:
- - EVM networks: 60+ chains via unified Etherscan V2 (Ethereum, Sepolia testnet, BSC, Polygon, Arbitrum, Base, Optimism, Avalanche, etc.)
- Bitcoin: Via Blockchair API
- Solana: Balance via public RPC (tx history requires external service)
- Built-in rate limiting and 5-minute caching
- No credentials needed for basic usage (API key increases Etherscan limits)
All commands return JSON with optional human-readable formatting.
Privacy & Data Handling
This skill respects your privacy and operates transparently:
- - External data collection: None. Only standard blockchain APIs receive your queries:
-
api.etherscan.io (Etherscan V2)
-
blockchair.com (Blockchair)
- Public Solana RPC endpoints
- - Local caching: API responses are cached for 5 minutes to respect rate limits. Cache files are stored in
~/.openclaw/cache/crypto-analytics/api_responses/ and may contain queried addresses, transaction hashes, and other public blockchain data you requested. Files are automatically expired and can be manually deleted. This data never leaves your machine. - Environment variables: Optionally reads
ETHERSCAN_API_KEY from a .env file located in the OpenClaw workspace root. No other environment variables are accessed. - No subprocesses or dynamic code execution: Pure Python with
requests library only.
You can audit the source code in scripts/crypto_api.py – it's straightforward HTTP + JSON.
Configuration (Optional)
Set ETHERSCAN_API_KEY to increase rate limits (free tier: 5 calls/sec). Get a key from https://etherscan.io/apis
CODEBLOCK0
Core Commands
balance <address> [chain]
Get native token balance for a wallet.
Parameters:
- -
address - Blockchain address - INLINECODE10 (optional) - Chain identifier. Auto-detects from address format if omitted.
- EVM:
ethereum,
sepolia,
bsc,
polygon,
arbitrum,
base,
optimism,
avalanche, and more
- Non-EVM:
bitcoin, INLINECODE20
Example:
CODEBLOCK1
Output:
CODEBLOCK2
transactions <address> [chain] [limit=20]
Get recent transaction history.
Parameters:
- -
address - Wallet address - INLINECODE23 (optional) - Chain identifier (auto-detected if omitted)
- INLINECODE24 (optional) - Maximum transactions to return (default 20, max 100)
Example:
CODEBLOCK3
Output:
CODEBLOCK4
tx <txhash> <chain>
Get full transaction details.
Parameters:
- -
txhash - Transaction hash - INLINECODE27 - Chain identifier (required)
Example:
CODEBLOCK5
Output:
CODEBLOCK6
validate <address>
Check address validity and detect chain.
Parameters:
- -
address - Address to validate
Example:
CODEBLOCK7
Output:
CODEBLOCK8
chains
List all supported blockchains with their specs.
Example:
CODEBLOCK9
gas [chain=ethereum]
Get current gas price estimates including Safe, Standard, and Fast rates, plus base fee (EIP-1559).
Parameters:
- -
chain (optional) - Chain identifier (default: ethereum)
Example:
CODEBLOCK10
Output:
CODEBLOCK11
token <address> <token_contract> [chain]
Get ERC-20 token balance for a specific token contract, with symbol and formatted human-readable value.
Parameters:
- -
address - Wallet address - INLINECODE35 - ERC-20 token contract address
- INLINECODE36 (optional) - Chain identifier (auto-detected if omitted)
Example:
CODEBLOCK12
Output:
CODEBLOCK13
tokens <address> [chain] [limit=20]
Get all ERC-20 token balances for a wallet by auto-discovering tokens from recent transfer history. Returns non-zero balances with symbols and decimals.
Parameters:
- -
address - Wallet address - INLINECODE39 (optional) - Chain identifier (auto-detected if omitted)
- INLINECODE40 (optional) - Maximum number of tokens to check (default 20)
Example:
CODEBLOCK14
Output:
CODEBLOCK15
spl-tokens <owner>
Get SPL token accounts for a Solana wallet. Returns mint addresses and token amounts (human-readable).
Parameters:
- -
owner - Solana wallet address (Base58)
Example:
CODEBLOCK16
Output:
CODEBLOCK17
When to Use This Skill
Use crypto-analytics when you need to:
- - Check wallet balances across multiple blockchains
- Investigate wallet activity and transaction patterns
- Look up specific transaction details
- Validate blockchain addresses
- Determine which chains are supported
- Integrate live blockchain data into OpenClaw automations
Example Scenarios
"Check my ETH balance"
balance 0x... ethereum or auto-detect if address starts with 0x
"How much BNB do I have on BSC?"
INLINECODE45
"Show me recent transactions for this Bitcoin address"
INLINECODE46
"Is this a valid address and what chain is it on?"
INLINECODE47
"What chains do you support?"
INLINECODE48
"Get details for tx 0xabc... on Arbitrum"
INLINECODE49
"Check my USDC balance on Ethereum"
INLINECODE50
"Show all tokens I have on Ethereum"
INLINECODE51
"What's the current gas price on Arbitrum?"
INLINECODE52
Implementation Notes
API Providers
- - Etherscan V2: Unified endpoint for 60+ EVM chains. Free tier: ~5 calls/sec, 5k-100k/day depending on chain. API key significantly increases limits.
- Blockchair: Bitcoin, Litecoin, Dogecoin, etc. Free: 100 req/min, 4k/day.
- Solana RPC: Public endpoints (rate-limited) for balances only.
Caching & Rate Limiting
- - TTL: 300 seconds (5 minutes)
- Cache location: INLINECODE53
- Rate delays: Enforced to stay within free tier limits
- Batching: Multiple queries in same session use cache
Configuration
Set API keys in .env:
CODEBLOCK18
Key optional for low-volume usage but recommended.
See references/api_index.md for full API documentation and references/chains.md for chain specifications.
Limitations & Future
Current limitations:
- - Solana transaction history requires specialized indexer (Solscan API)
- Solana token metadata (symbol, name) not available; only mint addresses are shown
- No batch multi-address queries
- Free tier rate limits apply
Planned enhancements:
- - Transaction tracing and money flow analysis
- Contract ABI decoding for read calls
- Additional chain-specific features
- Enhanced Solana token metadata (via token list)
Resources
This skill bundles useful reference material:
- -
references/chains.md - Chain specifications, address formats, explorers - INLINECODE58 - API endpoints, parameters, examples
These files are loaded into context only when needed.
加密分析
概述
一款使用实时API数据的综合性多链区块链分析工具:
- - EVM网络: 通过统一的Etherscan V2支持60多条链(以太坊、Sepolia测试网、BSC、Polygon、Arbitrum、Base、Optimism、Avalanche等)
- 比特币: 通过Blockchair API
- Solana: 通过公共RPC查询余额(交易历史需外部服务)
- 内置速率限制和5分钟缓存
- 基础使用无需凭证(API密钥可提高Etherscan限制)
所有命令均返回JSON格式,可选人类可读格式。
隐私与数据处理
本技能尊重您的隐私并透明运行:
- - 外部数据收集: 无。仅标准区块链API接收您的查询:
- api.etherscan.io(Etherscan V2)
- blockchair.com(Blockchair)
- 公共Solana RPC端点
- - 本地缓存: API响应缓存5分钟以遵守速率限制。缓存文件存储在~/.openclaw/cache/crypto-analytics/apiresponses/中,可能包含您查询的地址、交易哈希和其他公共区块链数据。文件会自动过期,也可手动删除。这些数据不会离开您的机器。
- 环境变量: 可选从OpenClaw工作区根目录的.env文件中读取ETHERSCANAPI_KEY。不访问其他环境变量。
- 无子进程或动态代码执行: 纯Python,仅使用requests库。
您可以在scripts/crypto_api.py中审计源代码——它只是简单的HTTP + JSON。
配置(可选)
设置ETHERSCANAPIKEY以提高速率限制(免费层:5次调用/秒)。从https://etherscan.io/apis获取密钥
bash
export ETHERSCANAPIKEY=yourkeyhere
或添加到 ~/.openclaw/workspace/.env
核心命令
balance [chain]
获取钱包的原生代币余额。
参数:
- - address - 区块链地址
- chain(可选)- 链标识符。省略时根据地址格式自动检测。
- EVM:ethereum、sepolia、bsc、polygon、arbitrum、base、optimism、avalanche等
- 非EVM:bitcoin、solana
示例:
bash
crypto-analytics balance 0x742d35Cc6634C0532925a3b8D4C9db96C4b4Db45 ethereum
输出:
json
{
chain: ethereum,
chainid: 1,
address: 0x742d35cc6634c0532925a3b8d4c9db96c4b4db45,
balance_wei: 1234567890000000000,
balance_native: 1.23456789,
formatted_balance: 1.234568 ETH
}
transactions [chain] [limit=20]
获取近期交易历史。
参数:
- - address - 钱包地址
- chain(可选)- 链标识符(省略时自动检测)
- limit(可选)- 最大返回交易数(默认20,最大100)
示例:
bash
crypto-analytics transactions 0x742d35Cc6634C0532925a3b8D4C9db96C4b4Db45 bsc 50
输出:
json
{
chain: bsc,
chainid: 56,
address: ...,
count: 150,
transactions: [ / 交易对象数组 / ]
}
tx
获取完整交易详情。
参数:
- - txhash - 交易哈希
- chain - 链标识符(必填)
示例:
bash
crypto-analytics tx 0x123abc... ethereum
输出:
json
{
chain: ethereum,
chainid: 1,
txhash: 0x123abc...,
transaction: { / 完整交易对象 / }
}
validate
检查地址有效性并检测链。
参数:
示例:
bash
crypto-analytics validate bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
输出:
json
{
valid: true,
chain: bitcoin,
normalized: bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh,
error: null
}
chains
列出所有支持的区块链及其规格。
示例:
bash
crypto-analytics chains
gas [chain=ethereum]
获取当前Gas价格估算,包括安全、标准和快速费率,以及基础费用(EIP-1559)。
参数:
- - chain(可选)- 链标识符(默认:ethereum)
示例:
bash
crypto-analytics gas ethereum
输出:
json
{
chain: ethereum,
chainid: 1,
low: 20000000000,
standard: 50000000000,
fast: 80000000000,
base_fee: 15000000000,
timestamp: 1700000000,
formatted: === Gas Price Tracker ===\nSafe: 20.00 Gwei\nStandard: 50.00 Gwei\nFast: 80.00 Gwei\nBase Fee: 15.00 Gwei\nUpdated: 2023-11-14 10:00:00 UTC
}
token [chain]
获取特定代币合约的ERC-20代币余额,包含符号和格式化的人类可读值。
参数:
- - address - 钱包地址
- token_contract - ERC-20代币合约地址
- chain(可选)- 链标识符(省略时自动检测)
示例:
bash
crypto-analytics token 0xYourAddress 0xA0b86991c6218b36c1d19D4a2e9bB0e3606EB48 ethereum
输出:
json
{
chain: ethereum,
contract: 0xa0b86991c6218b36c1d19d4a2e9bb0e3606eb48,
owner: 0xYourAddress,
balance: 1000000,
symbol: USDC,
name: USD Coin,
decimals: 6,
formatted: === Token Balances ===\nUSDC (USD Coin)\n Balance: 1.000000\n Contract: 0xa0b86991c6218b36c1d19d4a2e9bb0e3606eb48\n
}
tokens [chain] [limit=20]
通过从近期转账历史自动发现代币,获取钱包的所有ERC-20代币余额。返回非零余额及其符号和小数位数。
参数:
- - address - 钱包地址
- chain(可选)- 链标识符(省略时自动检测)
- limit(可选)- 最大检查代币数(默认20)
示例:
bash
crypto-analytics tokens 0xYourAddress ethereum 10
输出:
json
{
chain: ethereum,
address: 0xYourAddress,
count: 2,
tokens: [
{
contract: 0xa0b86991c6218b36c1d19d4a2e9bb0e3606eb48,
balance: 1000000,
symbol: USDC,
name: USD Coin,
decimals: 6
},
{
contract: 0xdac17f958d2ee523a2206206994597c13d831ec7,
balance: 500000,
symbol: USDT,
name: Tether USD,
decimals: 6
}
],
formatted: === Token Balances ===\nUSDC (USD Coin)\n Balance: 1.000000\n Contract: 0xa0b8...\nUSDT (Tether USD)\n Balance: 0.500000\n Contract