360 Secure SkillHub
360 安全技能中心

Etherscan

使用统一的 Etherscan API V2,通过 chainid 切换 EVM 链,查询地址普通与内部交易、ERC20 转账、事件日志、合约 ABI 与源码、合约创建信息及交易状态;对代理合约可依据 Proxy/Implementation 字段跟进实现地址,并通过分页与区块范围约束查询窗口。

davidtaikocha
davidtaikocha
热度 60.72
最近更新 2026-05-11 17:26:52
分类:数据依赖:第三方 API / 代码执行应用场景:数据处理 / 研究 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add etherscan-api
Metadata
name
etherscan-api
description
Use when you need to query Etherscan API V2 for onchain activity, contract metadata, ABI/source retrieval, proxy implementation discovery, and transaction/log analysis across EVM chains.

Etherscan API V2

Overview

Use this skill to fetch onchain data from Etherscan-compatible explorers using the unified V2 API.

Core model:

  • One base URL: https://api.etherscan.io/v2/api
  • One API key
  • Switch chains via chainid

Explorer URLs relevant to this workspace:

  • Ethereum mainnet: https://etherscan.io/
  • Ethereum hoodi: https://hoodi.etherscan.io/
  • Taiko mainnet: https://taikoscan.io/
  • Taiko hoodi: https://hoodi.taikoscan.io/

Read first:

  • references/network-map.md
  • references/endpoint-cheatsheet.md
  • references/rate-limits.md
  • references/explorer-url-patterns.md

Required Inputs

Collect these before querying:

  • ETHERSCAN_API_KEY
  • Target chainid
  • Address / tx hash / block range
  • Endpoint intent (activity, logs, source, ABI, status)

Deterministic Workflow

  1. Pick chainid from references/network-map.md.
  2. Choose endpoint by intent from references/endpoint-cheatsheet.md.
  3. Build request on https://api.etherscan.io/v2/api with required params.
  4. Parse status, message, result.
  5. If contract endpoint returns proxy metadata (Proxy == "1"), follow Implementation.
  6. For large history, paginate (page, offset) and/or narrow block ranges.

Method Selection

Goal Module / Action
Address normal tx history account / txlist
Address internal tx history account / txlistinternal
ERC20 transfer history account / tokentx
Event logs logs / getLogs
Contract ABI contract / getabi
Contract source + proxy fields contract / getsourcecode
Contract deployer + creation tx contract / getcontractcreation
Tx execution status transaction / getstatus
Tx receipt status transaction / gettxreceiptstatus

Quick Commands

Set key once:

export ETHERSCAN_API_KEY="<your_key>"

Get ABI (Taiko mainnet example):

curl -s "https://api.etherscan.io/v2/api?chainid=167000&module=contract&action=getabi&address=<contract>&apikey=$ETHERSCAN_API_KEY"

Get source + proxy metadata (Taiko hoodi example):

curl -s "https://api.etherscan.io/v2/api?chainid=167013&module=contract&action=getsourcecode&address=<contract>&apikey=$ETHERSCAN_API_KEY"

Get address activity in block window:

curl -s "https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlist&address=<address>&startblock=<from>&endblock=<to>&page=1&offset=100&sort=desc&apikey=$ETHERSCAN_API_KEY"

Get logs for a contract in block window:

curl -s "https://api.etherscan.io/v2/api?chainid=560048&module=logs&action=getLogs&address=<contract>&fromBlock=<from>&toBlock=<to>&page=1&offset=1000&apikey=$ETHERSCAN_API_KEY"

Proxy-Aware Contract Handling

When getsourcecode returns:

  • Proxy: "1"
  • non-empty Implementation

then:

  1. Keep runtime call target as proxy address.
  2. Fetch ABI/source from implementation address.
  3. Decode selectors against implementation ABI.
  4. Re-check implementation before privileged write analysis.

Safety Rails

Never skip these checks:

  • Always set correct chainid; wrong chain silently yields wrong context.
  • Respect plan limits and add client-side throttling/retries.
  • Treat status: "0" as non-success even with HTTP 200.
  • For analytics windows, lock startblock/endblock explicitly.
  • For logs, remember offset max is 1000 per query and paginate.
  • Keep retries idempotent and resume scans from stored cursors/block checkpoints.

Expected Output

Return:

  • exact URL/query used (without exposing secret key)
  • chain (chainid + explorer)
  • endpoint (module/action)
  • parsed status/result summary
  • proxy follow-up decisions (Proxy, Implementation) when contract-related