# Blockchain Scanner

## Links

- Product page URL: https://www.agentpmt.com/marketplace/blockchain-scanner
- Product markdown URL: https://www.agentpmt.com/marketplace/blockchain-scanner?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/blockchain-scanner?format=agent-json

## Overview

- Product ID: 694832d8b54506f955d789e7
- Vendor: Apoth3osis
- Type: connector
- Unit type: request
- Price: 500 credits
- Categories: Blockchain & Web3, Financial Data, Decentralized & Immutable Storage, Network Protocols
- Generated at: 2026-05-30T20:17:52.864Z

### Page Description

Multi-chain EVM blockchain data service providing four operations:

Balance – Get native currency balance (ETH, MATIC, etc.) for up to 20 addresses. Returns wei and standard units.
Transactions – Paginated transaction history (100 per request). Includes hash, block, timestamp, addresses, value, gas metrics, input data, errors.
Gas Oracle – EIP-1559 gas recommendations: base fee + priority fees for slow/standard/fast confirmation speeds.
Contract ABI – Retrieve ABI JSON for verified smart contracts (functions, events, inputs/outputs).

Supported Networks: Ethereum, Base, Base Sepolia, Polygon, Arbitrum One, Optimism

### Agent Description

Query EVM blockchain data: balances (up to 20 addresses), transactions, gas prices, contract ABIs. Supports Ethereum, Polygon, Base, Arbitrum, Optimism.

## Details

### Details

Multi-chain EVM blockchain data service providing four operations:

Balance – Get native currency balance (ETH, MATIC, etc.) for up to 20 addresses. Returns wei and standard units.
Transactions – Paginated transaction history (100 per request). Includes hash, block, timestamp, addresses, value, gas metrics, input data, errors.
Gas Oracle – EIP-1559 gas recommendations: base fee + priority fees for slow/standard/fast confirmation speeds.
Contract ABI – Retrieve ABI JSON for verified smart contracts (functions, events, inputs/outputs).

Supported Networks: Ethereum, Base, Base Sepolia, Polygon, Arbitrum One, Optimism

### Actions

- `balance` (5 credits): Get native token balance (ETH or MATIC) for one or more wallet addresses. Returns balance in both native units and wei.
- `token_balance` (5 credits): Get ERC-20 token balances for one or more wallet addresses. Supports major stablecoins and wrapped tokens across all supported chains.
- `transactions` (5 credits): Get paginated transaction history for a single address. Returns 100 transactions per request sorted by most recent first.
- `contract_abi` (5 credits): Retrieve the ABI (Application Binary Interface) JSON for a verified smart contract. Returns the full ABI array plus counts of functions and events.
- `gas_oracle` (5 credits): Get current gas price estimates (safe/standard/fast) for a blockchain network. Returns prices in Gwei with EIP-1559 base fee suggestions.

### Use Cases

Blockchain Transaction History & Activity Tracking, Ethereum Gas Price & Fee Management, Smart Contract Development, Crypto Balance & Account Management, Multi-Chain & Cross-Chain Operations, Web3 Developer & Integration Tools

### Workflows Using This Tool

No public workflows currently reference this product.

### Related Content

No related content is currently linked to this product.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

Use the local router for command-based MCP clients. It forwards requests to `https://api.agentpmt.com/mcp` and does not execute tools locally.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "694832d8b54506f955d789e7",
    "parameters": {
      "action": "balance",
      "address": []
    }
  }'
```

### Autonomous Agents

Autonomous agents can access this tool through AgentAddress credit balances or direct x402 payments. Use the Autonomous Agent API reference for endpoint shapes after choosing the access pattern below.

- Autonomous Agent API reference URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents
- Autonomous Agent API reference markdown URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents?format=agent-md
- Credit-Based Access Using AgentAddress: https://www.agentpmt.com/docs/autonomous-agents/credit-based-tool-usage-with-agentaddress
- AgentAddress is preferred for persistent file access, stored platform state, and maximum tool use ability across repeated calls.
- Direct x402 is for independent one-off tool calls that do not require shared files or stored platform state.
- Direct x402 public payments: USDC on Base, Arbitrum, Optimism, Polygon, and Avalanche.

### Schema

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "balance": {
      "description": "Get native token balance (ETH or MATIC) for one or more wallet addresses. Returns balance in both native units and wei.",
      "properties": {
        "address": {
          "type": "array",
          "description": "Ethereum address(es) to query. Must be 0x-prefixed 42-character hex strings. 1 to 20 addresses allowed.",
          "items": {
            "type": "string"
          },
          "required": true
        },
        "chain": {
          "type": "string",
          "description": "Blockchain network to query. Default: ethereum.",
          "enum": [
            "ethereum",
            "base",
            "base_sepolia",
            "polygon",
            "arbitrum",
            "optimism"
          ],
          "required": false
        }
      }
    },
    "token_balance": {
      "description": "Get ERC-20 token balances for one or more wallet addresses. Supports major stablecoins and wrapped tokens across all supported chains.",
      "properties": {
        "address": {
          "type": "array",
          "description": "Ethereum address(es) to query. Must be 0x-prefixed 42-character hex strings. 1 to 20 addresses allowed.",
          "items": {
            "type": "string"
          },
          "required": true
        },
        "chain": {
          "type": "string",
          "description": "Blockchain network to query. Default: ethereum.",
          "enum": [
            "ethereum",
            "base",
            "base_sepolia",
            "polygon",
            "arbitrum",
            "optimism"
          ],
          "required": false
        },
        "token": {
          "type": "string",
          "description": "Token symbol to query (e.g., 'USDC', 'USDT', 'PYUSD', 'DAI', 'WETH'). Use 'all' to get all supported tokens on the selected chain. Defaults to 'all' if not provided.",
          "required": false
        }
      }
    },
    "transactions": {
      "description": "Get paginated transaction history for a single address. Returns 100 transactions per request sorted by most recent first.",
      "properties": {
        "address": {
          "type": "array",
          "description": "Exactly 1 wallet address to query. Must be 0x-prefixed 42-character hex string.",
          "items": {
            "type": "string"
          },
          "required": true
        },
        "chain": {
          "type": "string",
          "description": "Blockchain network to query. Default: ethereum.",
          "enum": [
            "ethereum",
            "base",
            "base_sepolia",
            "polygon",
            "arbitrum",
            "optimism"
          ],
          "required": false
        },
        "transaction_range": {
          "type": "array",
          "description": "Range of transactions to fetch as [start, end] integers. Must span exactly 100 transactions. Index 1 = most recent. Default: [1, 100].",
          "items": {
            "type": "integer"
          },
          "required": false
        }
      }
    },
    "contract_abi": {
      "description": "Retrieve the ABI (Application Binary Interface) JSON for a verified smart contract. Returns the full ABI array plus counts of functions and events.",
      "properties": {
        "address": {
          "type": "array",
          "description": "Exactly 1 contract address to query. Must be 0x-prefixed 42-character hex string.",
          "items": {
            "type": "string"
          },
          "required": true
        },
        "chain": {
          "type": "string",
          "description": "Blockchain network to query. Default: ethereum.",
          "enum": [
            "ethereum",
            "base",
            "base_sepolia",
            "polygon",
            "arbitrum",
            "optimism"
          ],
          "required": false
        }
      }
    },
    "gas_oracle": {
      "description": "Get current gas price estimates (safe/standard/fast) for a blockchain network. Returns prices in Gwei with EIP-1559 base fee suggestions.",
      "properties": {
        "chain": {
          "type": "string",
          "description": "Blockchain network to query. Default: ethereum.",
          "enum": [
            "ethereum",
            "base",
            "base_sepolia",
            "polygon",
            "arbitrum",
            "optimism"
          ],
          "required": false
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Use 'get_instructions' to retrieve documentation. Operation to perform on the blockchain: balance (get native token balance), token_balance (get ERC-20 token balances), transactions (get transaction history), contract_abi (get verified contract ABI), or gas_oracle (get current gas prices)",
      "required": true,
      "enum": [
        "get_instructions",
        "balance",
        "token_balance",
        "transactions",
        "contract_abi",
        "gas_oracle"
      ]
    },
    "chain": {
      "type": "string",
      "description": "Blockchain network to query. Supported networks: ethereum (Ethereum mainnet), base (Base L2), base_sepolia (Base testnet), polygon (Polygon PoS), arbitrum (Arbitrum One), optimism (Optimism mainnet)",
      "default": "ethereum",
      "enum": [
        "ethereum",
        "base",
        "base_sepolia",
        "polygon",
        "arbitrum",
        "optimism"
      ],
      "required": false
    },
    "token": {
      "type": "string",
      "description": "Token symbol for token_balance action (e.g., 'USDC', 'USDT', 'PYUSD', 'DAI', 'WETH'). Use 'all' to get all supported tokens on the selected chain. Defaults to 'all' if not provided.",
      "required": false
    },
    "address": {
      "type": "array",
      "description": "Ethereum address(es) to query. Must be 0x-prefixed 42-character hex strings. For balance/token_balance actions: 1-20 addresses allowed. For transactions/contract_abi actions: exactly 1 address required. Not required for gas_oracle action.",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 20,
      "required": false
    },
    "transaction_range": {
      "type": "array",
      "description": "Range of transactions to fetch as [start, end] integers. Must be exactly 100 transactions. Index 1 = most recent transaction. Examples: [1, 100] for most recent 100 transactions, [101, 200] for next 100, [151, 250] for transactions 151-250. Only used for transactions action.",
      "items": {
        "type": "integer",
        "minimum": 1
      },
      "minItems": 2,
      "maxItems": 2,
      "default": [
        1,
        100
      ],
      "required": false
    }
  }
}
```

### Usage Instructions

# Blockchain Scanner

Multi-chain blockchain data retrieval tool. Query native token balances, ERC-20 token balances, transaction history, verified contract ABIs, and current gas prices across six supported networks.

## Supported Chains

| Chain Value | Network |
|---|---|
| `ethereum` | Ethereum Mainnet (default) |
| `base` | Base L2 |
| `base_sepolia` | Base Sepolia Testnet |
| `polygon` | Polygon PoS |
| `arbitrum` | Arbitrum One |
| `optimism` | Optimism Mainnet |

## Actions

### balance

Get the native token balance (ETH or MATIC) for one or more wallet addresses.

**Required fields:**
- `action`: `"balance"`
- `address`: Array of 1-20 wallet addresses (0x-prefixed, 42-character hex strings)

**Optional fields:**
- `chain`: Network to query (default: `"ethereum"`)

**Example - Single address on Ethereum:**
```json
{
  "action": "balance",
  "address": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"]
}
```

**Example - Multiple addresses on Polygon:**
```json
{
  "action": "balance",
  "chain": "polygon",
  "address": [
    "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B"
  ]
}
```

**Response includes:** Each address with its balance in native units and in wei, the chain name, and the native token symbol (ETH or MATIC for Polygon).

---

### token_balance

Get ERC-20 token balances for one or more wallet addresses. Supports major stablecoins and wrapped tokens.

**Required fields:**
- `action`: `"token_balance"`
- `address`: Array of 1-20 wallet addresses

**Optional fields:**
- `chain`: Network to query (default: `"ethereum"`)
- `token`: Token symbol to query (e.g., `"USDC"`, `"USDT"`, `"DAI"`, `"WETH"`, `"PYUSD"`). Use `"all"` to query all supported tokens on the chain. Defaults to `"all"` if omitted.

**Supported tokens by chain:**
- **Ethereum:** USDC, USDT, PYUSD, DAI, WETH, WBTC
- **Base:** USDC, USDbC, DAI, WETH
- **Polygon:** USDC, USDC.e, USDT, DAI, WETH, WMATIC
- **Arbitrum:** USDC, USDC.e, USDT, DAI, WETH
- **Optimism:** USDC, USDC.e, USDT, DAI, WETH

**Example - Get USDC balance on Ethereum:**
```json
{
  "action": "token_balance",
  "address": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
  "token": "USDC"
}
```

**Example - Get all token balances on Base:**
```json
{
  "action": "token_balance",
  "chain": "base",
  "address": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
  "token": "all"
}
```

**Response includes:** Each address with token balances (formatted balance, raw balance, decimals) for the requested tokens.

---

### transactions

Get transaction history for a single address. Returns transactions sorted by most recent first, in pages of exactly 100.

**Required fields:**
- `action`: `"transactions"`
- `address`: Array with exactly 1 wallet address

**Optional fields:**
- `chain`: Network to query (default: `"ethereum"`)
- `transaction_range`: Array of two integers `[start, end]` defining which 100-transaction window to fetch. Index 1 is the most recent transaction. Must span exactly 100 items. Default: `[1, 100]`.

**Example - Most recent 100 transactions:**
```json
{
  "action": "transactions",
  "address": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"]
}
```

**Example - Transactions 101-200 on Arbitrum:**
```json
{
  "action": "transactions",
  "chain": "arbitrum",
  "address": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
  "transaction_range": [101, 200]
}
```

**Response includes:** Each transaction with hash, block number, timestamp, from/to addresses, value in ETH and wei, gas details, input data, and error status.

---

### contract_abi

Retrieve the ABI (Application Binary Interface) for a verified smart contract.

**Required fields:**
- `action`: `"contract_abi"`
- `address`: Array with exactly 1 contract address

**Optional fields:**
- `chain`: Network to query (default: `"ethereum"`)

**Example - Get ABI for a contract on Ethereum:**
```json
{
  "action": "contract_abi",
  "address": ["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]
}
```

**Example - Get ABI on Optimism:**
```json
{
  "action": "contract_abi",
  "chain": "optimism",
  "address": ["0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"]
}
```

**Response includes:** The full ABI array, plus counts of functions and events in the contract.

---

### gas_oracle

Get current gas price estimates for a blockchain network. Returns safe (slow), standard, and fast gas prices.

**Required fields:**
- `action`: `"gas_oracle"`

**Optional fields:**
- `chain`: Network to query (default: `"ethereum"`)

**Example - Ethereum gas prices:**
```json
{
  "action": "gas_oracle"
}
```

**Example - Polygon gas prices:**
```json
{
  "action": "gas_oracle",
  "chain": "polygon"
}
```

**Response includes:** Safe, standard, and fast gas price estimates (in Gwei), suggested base fee, gas used ratio, and timestamp.

---

## Common Workflows

### Check a wallet's full portfolio
1. Call `balance` to get native ETH/MATIC balance
2. Call `token_balance` with `token: "all"` to get all ERC-20 holdings

### Investigate transaction activity
1. Call `transactions` with default range `[1, 100]` for the latest 100 transactions
2. Page through older transactions with `[101, 200]`, `[201, 300]`, etc.

### Inspect a smart contract
1. Call `contract_abi` to retrieve the verified ABI
2. Use the ABI to understand available functions and events

### Estimate transaction costs
1. Call `gas_oracle` to get current gas prices on the target chain

## Important Notes

- All addresses must be 0x-prefixed, 42-character hexadecimal strings.
- The `balance` and `token_balance` actions accept up to 20 addresses per request.
- The `transactions` and `contract_abi` actions require exactly 1 address.
- The `gas_oracle` action does not require any address.
- The `transaction_range` must always span exactly 100 transactions (e.g., `[1, 100]`, `[101, 200]`).
- On Polygon, the native token is MATIC; on all other chains it is ETH.
- The `contract_abi` action only works for verified contracts. Unverified contracts will return an error.
- Token availability varies by chain. If a token is not supported on the selected chain, the tool returns an error listing available tokens.
- Base Sepolia (testnet) has no preconfigured ERC-20 tokens for `token_balance`.

### Frequently Asked Questions

#### How do I connect this tool to an external agent?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

You can install the local MCP server by opening a terminal and running:

```
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

This will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.

Alternatively you can connect to the hosted version with this config block, no installation required:

```
{
  "mcpServers": {
    "agentpmt": {
      "type": "streamable-http",
      "url": "https://api.agentpmt.com/mcp",
      "headers": {
        "Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
        "x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
      }
    }
  }
}
```

[View MCP Connection Instructions](/docs/mcp-reference/connection) for more details.

#### How does an external agent use this tool?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:

> Call the AgentPMT-Tool-Search-and-Execution tool with action 'get\_schema' and tool\_id 694832d8b54506f955d789e7 ("Blockchain Scanner"). Then call the same tool with action 'call\_tool', tool\_id 694832d8b54506f955d789e7, and the parameters needed for my request.

The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.

### Dependencies

This product has no public dependency products.