# Etherscan MCP MCP

> Etherscan gives your AI agent instant access to all on-chain data across Ethereum and other EVM networks. Check native token balances, pull transaction history for any wallet address, and track specific transfers for NFTs or ERC-20 tokens using natural conversation.

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

## Description

You can use this connector to audit blockchain activity across multiple chains—it’s like having a real-time block explorer built into your chat window. Need to know what's happening with a contract? You don't have to jump between tabs and search through endless records. Your agent pulls up the native balance, then gets a full list of transactions for that wallet address across various chains. It can filter down to show only ERC-20 token movements or track specific NFTs (ERC-721). If you need to debug smart contract logic, you can even pull the raw source code and verify it against recorded event logs. Because all this financial data passes through Vinkius's zero-trust proxy, every transaction is recorded in a cryptographically signed audit trail, giving you total confidence in what your agent sees.

## Tools

### get_abi
Retrieves the Application Binary Interface (ABI) needed to understand how a smart contract functions.

### get_address_tag
Fetches an associated name tag for a specific wallet address.

### get_address_token_balance
Calculates the total portfolio value of tokens held by an address.

### get_balance
Retrieves the native token balance (like ETH) for a single specified address.

### get_balance_multi
Calculates the native token balances for up to 20 different addresses at once.

### get_block_no_by_time
Determines the block number corresponding to a specific timestamp.

### get_block_number
Gets the most recent block number on the network.

### get_eth_price
Provides the current market price for Ether (ETH).

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

### get_gas_oracle
Provides current estimated gas costs for network transactions.

### get_logs
Retrieves all event logs generated by a specific contract interaction.

### get_source_code
Fetches the readable source code of a smart contract address.

### get_token_1155_tx
Tracks transfers for ERC-1155 multi-standard tokens associated with an address.

### get_token_nft_tx
Lists the transfer history specifically for non-fungible tokens (ERC-721) linked to an address.

### get_token_tx
Retrieves all standard ERC-20 token transfers that occurred for an address.

### get_transaction_by_hash
Pulls all details, including status and gas used, using a specific transaction hash.

### get_tx_list
Lists the most recent standard transactions for an address up to 10,000 records.

### get_tx_list_internal
Retrieves internal smart contract calls that occurred within a wallet's transaction history.

### verify_source_code
Checks and confirms whether the deployed source code for a contract matches its verified state.

## 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

### Determine Token Balances
Get the native token balance for single or multiple wallet addresses across various chains.

### Audit Transaction History
Fetch a full list of both normal and internal transactions associated with any given address.

### Track Specific Asset Movements
Isolate transfers for specific types of tokens, including ERC-20 standard tokens, NFTs (ERC-721), or multi-standard assets (ERC-1155).

### Verify Smart Contract Logic
Retrieve the contract's full source code and check for specific event logs generated during transactions.

### Analyze Chain State Changes
Get basic network metrics, like the latest block number or the current ETH price, to give context to your audit.

## Use Cases

### Tracking a Suspect Token Transfer
A user notices an unexpected token withdrawal. They ask their agent to use `get_token_tx` to list all ERC-20 transfers for the address and then run `get_transaction_by_hash` on the suspicious transaction hash to see exactly where the funds went.

### Auditing a DeFi Vault
A developer needs to ensure a vault contract is behaving as expected. They use `get_abi` to understand its methods, then call `get_logs` on key transactions and finally run `verify_source_code` to confirm the logic hasn't been compromised.

### Analyzing NFT Ownership Chains
A collector wants to know the entire history of an NFT. They use `get_token_nft_tx` and then run `get_address_token_balance` to see if the owner holds other related assets.

### Comparing Multi-Chain Activity
An analyst needs a total picture of funds. They tell their agent to use `get_balance_multi` and specify multiple chain IDs (e.g., 1, 137) to compare the native ETH holdings across chains.

## Benefits

- Track full asset movements: You can pull specific histories for ERC-20 tokens, unique NFTs (ERC-721), and multi-standard assets (ERC-1155) using specialized tools like `get_token_tx` or `get_token_nft_tx`.
- Get a complete picture of wallet activity: Access both normal transactions (`get_tx_list`) and internal contract calls (`get_tx_list_internal`) for deep auditing.
- Verify code integrity: Don't just trust the numbers; use `verify_source_code` to pull the actual source code and confirm what the contract is supposed to do.
- Contextual data points: Get immediate network context by checking the current ETH price (`get_eth_price`) or gas costs (`get_gas_oracle`) alongside transaction details.
- Build complex workflows: Combine multiple chains in one query, specifying the `chainid` to compare activity across networks like Ethereum and Polygon.

## How It Works

The bottom line is that you get a full audit trail of asset movements and contract activity without leaving your chat interface.

1. Provide the address and chain ID you want to examine.
2. Tell your agent what kind of data you need: 'Show me all ERC-20 transfers' or 'What is the current balance?'
3. The agent runs the specialized tool, pulling the structured data directly into the conversation for review.

## Frequently Asked Questions

**How do I track multiple token types using get_token_tx and get_token_nft_tx?**
You ask your agent for both. It runs `get_token_tx` to list all ERC-20 movements, and then separately uses `get_token_nft_tx` to pull the corresponding NFT history, giving you a complete view of assets.

**Do I need get_transaction_by_hash for every transaction?**
No. If you want a list of recent activity, use `get_tx_list`. But if you have one specific hash and need all the details—like gas usage or status—use `get_transaction_by_hash`.

**What is the difference between get_balance and get_balance_multi?**
`get_balance` only checks one address. Use `get_balance_multi` if you need to check 10 or more addresses at the same time, which saves multiple calls.

**Can I see contract source code using get_source_code?**
Yes, this tool pulls the readable source code for a smart contract address. This is crucial for auditing because it lets you verify the logic that was deployed.

**If I need to check balances across multiple addresses or networks, should I use `get_balance_multi`?**
Yes, start with `get_balance_multi`. This tool lets your agent pull native token balances for a batch of up to 20 different addresses in one call. It's much faster than running individual checks.

**How do I get the full picture of activity by combining transaction types, like using `get_tx_list` and `get_tx_list_internal`?**
You must call both tools. `get_tx_list` gives you standard, visible transactions for an address. Use `get_tx_list_internal` to find the underlying contract calls that aren't always displayed on the main ledger.

**If I need more than 10,000 transaction records using `get_tx_list`, what should I do?**
The tool has a record limit of 10,000 per call. You'll need to use the provided pagination parameters in your prompt to process history in chunks. Don't try to pull everything at once.

**What does `get_abi` provide, and why should I run it before analyzing a contract?**
`get_abi` retrieves the Application Binary Interface (ABI) for a contract. This data defines how functions work, telling your agent exactly what inputs are required to interact with that specific smart contract.