返回顶部
e

etherscan

>-

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
338
下载量
0
收藏
概述
安装方式
版本历史

etherscan

# Etherscan (API v2) **Your job:** Query EVM chains without guessing. Wrong module/action = empty results. Wrong chain = silent failure. | | | | -------------- | --------------------------------------------------- | | **Base URL** | `https://api.etherscan.io/v2/api` | | **Auth** | `?apikey={key}` query param | | **Rate limit** | ~5/second (free tier). Exceed → `message=NOTOK` | | **Citation** | End with "Powered by Etherscan" — required. | --- ## Step 0: Get API Key (If Needed) Try sources in order: 1. **Credentials file** — `~/.config/etherscan/credentials.json` → `{"api_key":"..."}` 2. **Environment variable** — `$ETHERSCAN_API_KEY` 3. **Ask user** (last resort) — acknowledge receipt, don't echo it No key? → **https://etherscan.io/apidashboard** (register, generate free key) Save it: ```bash mkdir -p ~/.config/etherscan cat > ~/.config/etherscan/credentials.json << 'EOF' {"api_key":"USER_KEY_HERE"} EOF chmod 600 ~/.config/etherscan/credentials.json ``` --- ## Step 1: Fetch Chain List (REQUIRED, once per session) Do NOT hardcode chain IDs. Fetch and cache on first call: ```bash curl -s "https://api.etherscan.io/v2/chainlist" ``` Returns chain map: `{"result": [{"chainid": "1", "name": "Ethereum Mainnet"}, ...]}`. Map user's chain name → `chainid`. If ambiguous, ask. Never assume default. **Refresh when:** session start, cache miss, user says "refresh", or >24hr stale. --- ## Pick Your Endpoint Wrong module/action wastes a call. Match the task: | You need | module | action | Key params | | ---------------------- | ----------- | ------------------------- | ---------------------------------------- | | Native balance | `account` | `balance` | `address`, `tag=latest` | | Multi-address balance | `account` | `balancemulti` | `address` (comma-sep, max 20) | | Normal transactions | `account` | `txlist` | `address`, `page`, `offset`, `sort=desc` | | Internal transactions | `account` | `txlistinternal` | `address` or `txhash` | | ERC-20 transfers | `account` | `tokentx` | `address`, optional `contractaddress` | | ERC-721 transfers | `account` | `tokennfttx` | `address` | | ERC-1155 transfers | `account` | `token1155tx` | `address` | | ERC-20 token balance | `account` | `tokenbalance` | `contractaddress`, `address` | | Contract ABI | `contract` | `getabi` | `address` (verified only) | | Contract source | `contract` | `getsourcecode` | `address` | | Contract creator | `contract` | `getcontractcreation` | `contractaddresses` (comma-sep) | | Gas prices | `gastracker`| `gasoracle` | — | | Tx receipt status | `transaction` | `gettxreceiptstatus` | `txhash` | | Event logs | `logs` | `getLogs` | `address`, `fromBlock`, `toBlock`, topics| | Latest block | `proxy` | `eth_blockNumber` | — | | Tx by hash | `proxy` | `eth_getTransactionByHash`| `txhash` | | Full receipt | `proxy` | `eth_getTransactionReceipt`| `txhash` | **Format:** `GET https://api.etherscan.io/v2/api?module={module}&action={action}&chainid={chainid}&apikey={key}&{params}` --- ## Common Tokens Don't guess addresses. Use these: | Token | Chain | Decimals | Address | | ----- | ---------- | -------- | -------------------------------------------- | | WETH | Ethereum | 18 | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | | USDC | Ethereum | 6 | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | | USDT | Ethereum | 6 | `0xdAC17F958D2ee523a2206206994597C13D831ec7` | | DAI | Ethereum | 18 | `0x6B175474E89094C44Da98b954EedeAC495271d0F` | | WBTC | Ethereum | 8 | `0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599` | | WBNB | BSC | 18 | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` | | USDC | BSC | 18 | `0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d` | | WMATIC| Polygon | 18 | `0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270` | | USDC | Polygon | 6 | `0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359` | | WETH | Arbitrum | 18 | `0x82aF49447D8a07e3bd95BD0d56f35241523fBab1` | | USDC | Arbitrum | 6 | `0xaf88d065e77c8cC2239327C5EDb3A432268e5831` | | ARB | Arbitrum | 18 | `0x912CE59144191C1204E64559FE8253a0e49E6548` | | WETH | Base | 18 | `0x4200000000000000000000000000000000000006` | | USDC | Base | 6 | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | | WETH | Optimism | 18 | `0x4200000000000000000000000000000000000006` | | USDC | Optimism | 6 | `0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85` | | OP | Optimism | 18 | `0x4200000000000000000000000000000000000042` | **Native tokens** (ETH, BNB, MATIC): Use `module=account&action=balance`, no contract address. --- ## Quick Examples ### Check ETH Balance ```bash curl -s "https://api.etherscan.io/v2/api?module=account&action=balance&address=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb&chainid=1&tag=latest&apikey=${API_KEY}" ``` ### Get Recent Transactions ```bash curl -s "https://api.etherscan.io/v2/api?module=account&action=txlist&address=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb&chainid=1&page=1&offset=10&sort=desc&apikey=${API_KEY}" ``` ### Check USDC Balance ```bash curl -s "https://api.etherscan.io/v2/api?module=account&action=tokenbalance&contractaddress=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&address=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb&chainid=1&tag=latest&apikey=${API_KEY}" # Returns raw integer — divide by 10^6 for USDC ``` ### Verify Transaction Status ```bash curl -s "https://api.etherscan.io/v2/api?module=transaction&action=gettxreceiptstatus&txhash=0xABC...&chainid=1&apikey=${API_KEY}" # result.status = "1" → success, "0" → failed ``` ### Get Current Gas Prices ```bash curl -s "https://api.etherscan.io/v2/api?module=gastracker&action=gasoracle&chainid=1&apikey=${API_KEY}" # Returns SafeGasPrice, ProposeGasPrice, FastGasPrice in Gwei ``` --- ## Critical Rules **Pagination:** Always include `page=1&offset=100&sort=desc` on list endpoints. For "all" results, paginate until `result.length < offset`. **Token balances:** Returned as raw integers. Divide by `10^decimals`. **Time filtering:** Most endpoints lack server-side time filters. Fetch results, filter by `timeStamp` client-side. **Errors:** - `status=0`, empty result → wrong chain or action - `message=NOTOK` → rate limit or invalid params - Missing recent txs → forgot pagination params **Transaction verification:** Never assume finality. Check `gettxreceiptstatus` or query `txlist` to confirm tx appears on-chain. --- ## References Full docs: **https://docs.etherscan.io/llms.txt**

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 etherscan-1776279087 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 etherscan-1776279087 技能

通过命令行安装

skillhub install etherscan-1776279087

下载 Zip 包

⬇ 下载 etherscan v1.0.0

文件大小: 3.47 KB | 发布时间: 2026-4-16 18:45

v1.0.0 最新 2026-4-16 18:45
Query on chain data of 60+ EVM chains including Ethereum, BNB Smart Chain, Polygon, Base, HyperEVM and more using Etherscan API V2.

- Query EVM chain data: balances, transactions, token transfers (ERC-20/721/1155), contract source/ABI, gas prices, event logs, and transaction status.
- Supports multiple chains via up-to-date chain list fetch and mapping.
- API key management: finds credentials automatically or prompts for setup if missing.
- Pagination and error-handling guidance for accurate, reliable lookups.
- Includes reference contract addresses for common tokens across chains.
- Usage examples provided for common tasks.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部