# Etherscan MCP

> Etherscan MCP connects your AI agent directly to live on-chain data for Ethereum and all EVM-compatible networks. You can instantly track native token balances, view transaction history, follow specific ERC-20 or NFT movements, and even pull smart contract source code—all through natural conversation.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** ethereum, evm, block-explorer, wallet-tracker, smart-contracts

## Description

Stop opening ten different browser tabs just to audit a single wallet address. This MCP connects your AI agent directly to Etherscan's massive database, giving you instant access to every piece of on-chain data across Ethereum and other EVM chains. You can ask your agent for the native token balance of multiple addresses or pull detailed records of both normal and internal transactions without ever touching a block explorer interface. If you need to know exactly how many times an NFT moved or track complex token transfers, specialized tools handle ERC-20, ERC-721, and ERC-1155 movements instantly. Because this MCP is hosted on Vinkius, your agent can manage all these diverse data points from one connection point, allowing you to audit wallets and trace funds with simple conversation prompts.

## Tools

### get_address_token_balance
Determines the total portfolio value of a specific address holding multiple types of tokens.

### get_balance_multi
Checks the native token balance for several specified addresses simultaneously.

### get_balance
Retrieves the current native token balance for a single address.

### get_abi
Pulls the Application Binary Interface (ABI) used by a specific smart contract.

### get_address_tag
Looks up a common name or tag associated with a wallet address.

### get_block_no_by_time
Finds the specific blockchain block number that corresponds to a given timestamp.

### get_block_number
Retrieves the current, latest block number on the chain.

### get_eth_price
Gets the most recent market price for Ether (ETH).

### get_eth_supply
Retrieves the total circulating supply of Ether.

### get_gas_oracle
Provides up-to-date information regarding gas costs for transactions.

### get_logs
Fetches event logs generated by smart contract interactions.

### get_source_code
Retrieves the human-readable source code for a given smart contract address.

### get_transaction_by_hash
Looks up all details about a single transaction using its unique hash identifier.

### get_token_1155_tx
Lists the movement history for ERC-1155 multi-standard tokens related to an address.

### get_token_nft_tx
Provides a list of transfers specifically involving Non-Fungible Tokens (ERC-721) for an address.

### get_token_tx
Retrieves the transaction history for standard ERC-20 tokens related to an address.

### get_tx_list_internal
Shows all internal transactions, which detail contract interactions that happened behind the scenes at an address.

### get_tx_list
Retrieves a list of standard, visible transactions for an address up to 10,000 records.

### verify_source_code
Confirms that the contract's publicly available source code matches what is recorded on the blockchain.

## Prompt Examples

**Prompt:** 
```
What is the ETH balance of address 0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe on Ethereum?
```

**Response:** 
```
I've checked the balance for that address on Chain ID 1. The current balance is approximately 425.12 ETH (425123456789012345678 wei).
```

**Prompt:** 
```
Show me the last 5 ERC-20 token transfers for 0x742d35Cc6634C0532925a3b844Bc454e4438f44e.
```

**Response:** 
```
I've retrieved the ERC-20 transfer history. The most recent transfers include 500 USDT from 0xabc... and 100 LINK to 0xdef... Would you like more details on any of these transactions?
```

**Prompt:** 
```
List the normal transactions for address 0x123... on Polygon (Chain ID 137).
```

**Response:** 
```
Querying Polygon scan... I found 10 recent transactions for that address. The latest was a contract interaction with Uniswap V3. Would you like me to list the specific transaction hashes?
```

## Capabilities

### Check Wallet Balances
Retrieve the native token balance for a single address or check multiple addresses at once.

### Audit Transaction History
Fetch detailed lists of both normal and internal transactions associated with any wallet.

### Monitor Token Transfers
Track specific movements for different token standards, including ERC-20 tokens, NFTs (ERC-721), and multi-standard assets (ERC-1155).

### Analyze Contract Code
Pull the complete source code or the Application Binary Interface (ABI) for any given smart contract.

### Access Chain Metrics
Get real-time data points like the current gas price, total supply, and the latest block number.

## Use Cases

### Investigating a Suspicious Transfer
A DeFi auditor notices an unusual outflow. They ask their agent to pull the full transaction record using `get_transaction_by_hash`, then follow up by requesting all internal transactions via `get_tx_list_internal` to determine which smart contract received the funds.

### Tracking NFT Royalties
A collector wants to track a specific piece of digital art. They prompt their agent for the ERC-721 transfer history using `get_token_nft_tx` across multiple addresses, confirming every time the asset moved and who received it.

### Checking Multi-Wallet Health
A development team needs to check if three different test wallets are funded. Instead of running three separate checks, they use `get_balance_multi` to get all native token balances in one query.

### Debugging a Contract Failure
A developer encounters an error. They first run `get_source_code` on the contract address to review the code, and then ask for event logs using `get_logs` to pinpoint exactly where the failure occurred.

## Benefits

- Trace complex funds movements easily. Instead of manually checking logs, you can use specialized tools like `get_token_tx` to pull the entire ERC-20 transfer history for any address in a single prompt.
- Save time debugging contracts. Use `get_abi` or `get_source_code` to instantly grab the contract's logic right from your chat interface, making it ideal for Web3 developers working in their IDE.
- Understand deep transactions. You don't just see simple transfers; you can use `get_tx_list_internal` to expose the complex, underlying interactions that happen between contracts.
- Get a full financial picture. By combining tools like `get_balance_multi` and `get_address_token_balance`, your agent gives you an instant portfolio valuation across several wallets at once.
- Verify data accuracy instantly. Need proof of code? The `verify_source_code` tool confirms that the source code is correctly published, removing guesswork from contract audits.

## How It Works

The bottom line is you talk to your agent like talking to a person who already has access to the blockchain's entire transaction history.

1. Subscribe to this MCP on Vinkius and provide your personal Etherscan API key.
2. Connect the MCP to your preferred AI client (like Cursor or Claude).
3. Ask your agent a question, such as 'What were all the token transfers for address X?' Your agent executes the necessary tool call and provides the data.

## Frequently Asked Questions

**Can Etherscan MCP track token transfers for non-ERC-20 tokens?**
Yes, it handles specific standards like ERC-721 (NFTs) using the `get_token_nft_tx` tool, and also multi-standard assets via `get_token_1155_tx`.

**How do I check balances for multiple addresses with Etherscan MCP?**
You use the `get_balance_multi` tool. This allows you to pass up to 20 different wallet addresses and get all their native token balances in one single API call.

**What is the difference between normal and internal transactions?**
Normal transactions are the visible, standard transfers. Internal transactions, retrieved with `get_tx_list_internal`, show the complex communication that happens *between* smart contracts.

**Does Etherscan MCP only work on Ethereum?**
No, this MCP supports multiple chains by allowing you to specify a chain ID. This lets you query data across different EVM-compatible networks.

**Can I get the contract code using the Etherscan MCP?**
Yes, use the `get_source_code` tool to pull the human-readable source code for any smart contract address you provide.