Skip to content
Back to skills

Etherscan

ASecurity

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

  • 101 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 28, 2026
blockchaingoapisecurity

Works with

  • api

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add TermiX-official/cryptoclaw --skill etherscan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Etherscan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Etherscan
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/termix-official-etherscan/badge)](https://www.skillsdirectory.com/skills/termix-official-etherscan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: etherscan
description: Query block explorer APIs (Etherscan, BSCScan, Polygonscan, etc.) for transactions, contracts, and gas data.
metadata:
  {
    "cryptoclaw":
      {
        "emoji": "πŸ”",
        "requires": { "env": ["ETHERSCAN_API_KEY"] },
        "primaryEnv": "ETHERSCAN_API_KEY",
      },
  }
---

# 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…