multiAI Summary Pending

etherscan

Query block explorer APIs (Etherscan, BSCScan, Polygonscan, etc.) for transactions, contracts, and gas data.

272 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/etherscan/SKILL.md --create-dirs "https://raw.githubusercontent.com/TermiX-official/cryptoclaw/main/skills/etherscan/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/etherscan/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How etherscan Compares

Feature / AgentetherscanStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Query block explorer APIs (Etherscan, BSCScan, Polygonscan, etc.) for transactions, contracts, and gas data.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Multi-chain Explorer API

Query Etherscan-compatible block explorer APIs for transaction history, contract source code, ABIs, and gas data.

## Supported Explorers

| Chain    | Base URL                                  | Env Var (optional override)   |
| -------- | ----------------------------------------- | ----------------------------- |
| Ethereum | `https://api.etherscan.io/api`            | `ETHERSCAN_API_KEY`           |
| BSC      | `https://api.bscscan.com/api`             | `BSCSCAN_API_KEY` or same key |
| Polygon  | `https://api.polygonscan.com/api`         | `POLYGONSCAN_API_KEY`         |
| Arbitrum | `https://api.arbiscan.io/api`             | `ARBISCAN_API_KEY`            |
| Optimism | `https://api-optimistic.etherscan.io/api` | `OPTIMISM_API_KEY`            |
| Base     | `https://api.basescan.org/api`            | `BASESCAN_API_KEY`            |

All explorers accept the `apikey` parameter. Many share a single Etherscan key, but some chains require separate registration.

**Rate limit**: 5 calls/second per key.

## Modules & Actions

### Account — Transaction History

```
?module=account&action=txlist&address={addr}&startblock=0&endblock=99999999&page=1&offset=20&sort=desc&apikey={key}
```

Returns normal transactions for an address.

### Account — Token Transfers (ERC-20)

```
?module=account&action=tokentx&address={addr}&page=1&offset=20&sort=desc&apikey={key}
```

Filter by contract: add `&contractaddress={token}`

### Account — ERC-721 Transfers

```
?module=account&action=tokennfttx&address={addr}&page=1&offset=20&sort=desc&apikey={key}
```

### Account — Balance

```
?module=account&action=balance&address={addr}&tag=latest&apikey={key}
```

Returns balance in wei. Divide by 1e18 for ETH/BNB.

### Contract — Get ABI

```
?module=contract&action=getabi&address={addr}&apikey={key}
```

Returns the contract ABI as a JSON string. **Tip**: Parse the result and pass it to `read_contract` or `write_contract` for dynamic contract interaction.

### Contract — Get Source Code

```
?module=contract&action=getsourcecode&address={addr}&apikey={key}
```

Returns source code, compiler version, constructor arguments, and proxy implementation address if applicable.

### Gas Tracker (Ethereum only)

```
?module=gastracker&action=gasoracle&apikey={key}
```

Returns SafeGasPrice, ProposeGasPrice, FastGasPrice in gwei.

## Workflow: Dynamic Contract Interaction

1. User provides a contract address
2. Call `getabi` to fetch the ABI
3. Parse the ABI to list available read/write functions
4. Use `read_contract` with the ABI and function name to query
5. Use `write_contract` for state-changing calls (with user confirmation)

This enables interacting with ANY verified contract without pre-built tools.

## Usage Notes

- Always include `&apikey={key}` — requests without it are heavily rate-limited
- Use `offset` and `page` for pagination; don't fetch more than needed
- The `getabi` endpoint only works for verified contracts
- For proxy contracts, `getsourcecode` includes the implementation address — fetch that ABI too
- Cross-reference contract data with `security-check` skill for risk assessment

## Example Queries

User: "Show my recent transactions on BSC"
→ Call BSCScan `txlist` for active wallet, present last 10 with value and status

User: "Get the ABI for this contract: 0x..."
→ Call `getabi`, parse result, summarize available functions

User: "What's the current gas price on Ethereum?"
→ Call `gasoracle`, present safe/standard/fast prices