Query block explorer APIs (Etherscan, BSCScan, Polygonscan, etc.) for transactions, contracts, and gas data.
Query Etherscan-compatible block explorer APIs for transaction history, contract source code, ABIs, and gas data.
| 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.
?module=account&action=txlist&address={addr}&startblock=0&endblock=99999999&page=1&offset=20&sort=desc&apikey={key}
Returns normal transactions for an address.
?module=account&action=tokentx&address={addr}&page=1&offset=20&sort=desc&apikey={key}
Filter by contract: add &contractaddress={token}
?module=account&action=tokennfttx&address={addr}&page=1&offset=20&sort=desc&apikey={key}
?module=account&action=balance&address={addr}&tag=latest&apikey={key}
Returns balance in wei. Divide by 1e18 for ETH/BNB.
?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.
?module=contract&action=getsourcecode&address={addr}&apikey={key}
Returns source code, compiler version, constructor arguments, and proxy implementation address if applicable.
?module=gastracker&action=gasoracle&apikey={key}
Returns SafeGasPrice, ProposeGasPrice, FastGasPrice in gwei.
getabi to fetch the ABIread_contract with the ABI and function name to querywrite_contract for state-changing calls (with user confirmation)This enables interacting with ANY verified contract without pre-built tools.
&apikey={key} — requests without it are heavily rate-limitedoffset and page for pagination; don't fetch more than neededgetabi endpoint only works for verified contractsgetsourcecode includes the implementation address — fetch that ABI toosecurity-check skill for risk assessmentUser: "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