# Bobascan MCP

> Boba L2 Network Block Explorer API MCP gives your AI client direct access to the Boba network blockchain data. Use this toolset to query real-time balances for multiple addresses, track every type of transaction history (normal, internal, and token), or inspect smart contract code and ABIs. It lets you act like a blockchain analyst right from your agent.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** boba-network, layer-2, ethereum, block-explorer, smart-contracts

## Description

This MCP connects your AI client directly to the Boba Network's entire data set. You can treat it like an advanced, programmable block explorer that runs inside your workflow. Instead of manually visiting a web interface and copying numbers, your agent executes complex queries instantly. Need to know if a specific contract has been updated? Pull its source code or ABI directly. Tracking token movements is easy; you get lists of ERC20 transfers or even find out the total supply for any given contract. For developers, this means inspecting contract logic and performing low-level JSON-RPC calls without leaving your IDE. If you're looking to add deep blockchain insights into an agent workflow, Vinkius hosts this MCP so your AI client can access all these capabilities from one place.

## Tools

### get_abi
Retrieves the Application Binary Interface (ABI) for a smart contract's verified source code.

### get_block_countdown
Estimates how long it will take until the next block is mined, based on a specific block number.

### get_block_reward
Determines the reward amount received for mining a given block number.

### get_contract_execution_status
Checks if a specific contract execution attempt succeeded or failed.

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

### get_eth_supply
Returns the total circulating supply of Ether on the Boba Network.

### get_ether_balance_multi
Calculates and returns the current Ether balance for a list of specified addresses.

### get_ether_balance
Gets the current Ether balance for a single, specific address on Boba L2.

### get_logs
Retrieves event logs associated with a particular transaction hash.

### get_source_code
Fetches the full source code for smart contracts that have verified source data available.

### get_token_balance
Determines the balance of a specific ERC20 token held by an address, given the contract address.

### get_token_nft_tx
Lists all recorded transfer events for non-fungible tokens (ERC721) associated with an address.

### get_token_supply
Calculates the total supply amount of a specific ERC20 token based on its contract address.

### get_token_tx
Provides a list of all transfer events for an ERC20 token associated with an address.

### get_tx_list_internal
Retrieves a detailed history of internal contract transactions linked to a specific wallet address.

### get_tx_list
Generates a list of all normal, primary transactions associated with a given address.

### get_tx_receipt_status
Checks the current processing status and results of a transaction receipt.

### proxy_block_number
Retrieves the latest block number on the chain (eth_blockNumber).

### proxy_call
Allows calling a function on a contract without actually sending a transaction (eth_call).

### proxy_estimate_gas
Estimates the amount of gas that will be required for a specific action.

### proxy_gas_price
Gets the current suggested price for gas on the network (eth_gasPrice).

### proxy_get_block_by_number
Retrieves all data associated with a specific block number in the chain.

### proxy_get_code
Checks and returns the compiled bytecode of a contract address (eth_getCode).

### proxy_get_transaction_by_hash
Retrieves all details about a transaction using its unique hash.

### proxy_get_transaction_receipt
Fetches the detailed receipt data for a completed transaction.

## Prompt Examples

**Prompt:** 
```
What is the Ether balance of address 0x1234... on Boba L2?
```

**Response:** 
```
I've checked the balance for 0x1234... on the Boba Network. The current balance is 1.25 ETH.
```

**Prompt:** 
```
List the last 5 transactions for address 0x5678...
```

**Response:** 
```
Fetching transaction history... I found the most recent transactions for 0x5678..., including a transfer of 0.5 ETH and several contract interactions. Would you like details on a specific hash?
```

**Prompt:** 
```
Get the ABI for the smart contract at 0x9012...
```

**Response:** 
```
I have retrieved the ABI for the verified contract at 0x9012... You can now use this to decode transactions or prepare contract calls.
```

## Capabilities

### Check Wallet Balances
Retrieve the current Ether balance for a single address or check balances across multiple addresses simultaneously.

### Trace Transaction History
Get comprehensive lists of transactions, including regular transfers, internal contract calls, and token movements (ERC20/ERC721).

### Inspect Smart Contracts
Fetch verified source code or the Application Binary Interface (ABI) for any smart contract on the network.

### Monitor Network Metrics
Pull real-time data like current gas prices, block rewards, and total Ether supply figures.

### Perform Low-Level Calls
Execute raw JSON-RPC methods, such as getting the latest block number or transaction receipt status.

## Use Cases

### Investigating a suspicious transfer
A user spots an odd transaction. They ask their agent to find it. The agent uses `proxy_get_transaction_by_hash` to grab the core data, then runs `get_logs` to see exactly which events fired during that transaction. This immediately shows if the transfer was legitimate or part of a contract exploit.

### Auditing a smart contract
A developer needs to check a contract's function calls. They use `get_abi` to understand what functions are available, then they run `proxy_call` to test the logic safely without spending any actual funds or risking state changes.

### Calculating total token holdings
A researcher needs a user's total wealth. They ask their agent for all assets at address 0x... The agent then systematically calls `get_token_balance` for every major ERC20 contract and sums the results, providing a single net worth number.

### Debugging transaction failures
A user reports a failed transfer. Instead of waiting hours for manual checks, they ask their agent to run `get_tx_list` on the address and then use `proxy_get_transaction_receipt` on the relevant hash. The resulting data pinpoints exactly why the transaction failed.

## Benefits

- Save hours of manual cross-referencing. Instead of hopping between multiple web explorer tabs to check balances, your agent handles it in one query using `get_ether_balance` or even checks multiple addresses with `get_ether_balance_multi`.
- Get deep contract knowledge instantly. Use tools like `get_abi` and `get_source_code` to pull verified contract logic right into your workflow, letting you analyze complex dApp interactions without leaving your agent's environment.
- Improve data reliability for reporting. Instead of guessing transaction status, use `get_tx_receipt_status` or `proxy_get_transaction_receipt` to get definitive proof of whether a transfer succeeded or failed.
- Track every asset movement type. The MCP lets you easily list normal transactions using `get_tx_list`, but also provides dedicated tools like `get_token_nft_tx` for tracking unique NFT ownership and ERC20 transfers.
- Improve planning accuracy. Before triggering a transaction, your agent can estimate costs by running `proxy_estimate_gas` or checking the current market rate with `get_eth_price`, saving you from unexpected gas fees.

## How It Works

The bottom line is that it turns complex blockchain queries into simple natural language requests from any MCP-compatible client.

1. First, subscribe to this MCP and provide your Bobascan API Key.
2. Next, tell your AI client what you need—for instance, 'What was the gas price for block 1234?'
3. Finally, your agent uses the available tools to query the Boba L2 network and returns structured data with the requested information.

## Frequently Asked Questions

**How do I check multiple wallet balances using Bobascan MCP?**
You use the `get_ether_balance_multi` tool. You just pass a list of addresses, and it returns all their current Ether balances in one call.

**Can I get contract source code with the Bobascan MCP?**
Yes, you use `get_source_code`. This tool pulls the full, verified source code for a smart contract address directly into your workflow.

**What is the difference between `get_token_tx` and `get_logs`?**
`get_token_tx` provides specific lists of ERC20 transfer events. `get_logs`, however, retrieves general event logs from a transaction, which can include more diverse contract interactions.

**Does Bobascan MCP help me estimate gas costs?**
Yes, you use the `proxy_estimate_gas` tool. It provides an accurate estimation of how much gas will be needed before you execute any function call.

**What if I want to see NFT transfers? Should I use Bobascan MCP?**
You should use the `get_token_nft_tx` tool. This specifically targets and lists all recorded transfer events for ERC721 tokens associated with an address.