Supported Blockchain Networks (30+)

Binance Smart Chain (BSC)

Mainnet & Testnet

Interact with Binance Smart Chain for BEP-20 tokens and DeFi applications.
# BNB # layer1

Ethereum (ETH)

Mainnet & Testnets

Access Ethereum mainnet, Sepolia, Goerli and Holesky testnets with ENS name resolution support.
# mainnet # layer1

Arbitrum (ARB)

Main & Nova

Interact with Arbitrum's layer 2 scaling solutions - Arbitrum One and Arbitrum Nova.
# layer2 # optimistic

Optimism (OP)

Mainnet & Sepolia

Connect to Optimism mainnet and testnet for faster and cheaper Ethereum transactions.
# layer2 # optimistic

Base

by Coinbase

Connect to Base, an Ethereum Layer 2 built on Optimism's OP Stack by Coinbase.
# layer2 # optimistic

Polygon (MATIC)

PoS & zkEVM

Access Polygon's PoS chain and zkEVM for scalable Ethereum applications.
# sidechain # zkRollup

MCP Tools & Resources (40+)

Token Balance & Transfer

ERC20 Operations

Check token balances and transfer ERC20 tokens across all supported networks with ENS support.
# ERC20 # tokens

NFT Services

ERC721 & ERC1155

Get NFT metadata, verify ownership, transfer NFTs, and access token URIs.
# NFT # collectibles

Smart Contract Interaction

Read & Write Operations

Read contract state and write operations with private key signing across all supported networks.
# contracts # ABI

Transaction Services

Send & Monitor

Send native tokens, estimate gas, check transaction status, and access transaction receipts.
# transactions # gas

API Examples

Get token balance using ENS name
// Example: Get token balance using MCP client
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("get-token-balance", {
  tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC on Ethereum
  ownerAddress: "vitalik.eth", // ENS name instead of address
  network: "ethereum"
});

console.log(result);
// {
//   tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
//   owner: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum",
//   raw: "1000000000",
//   formatted: "1000",
//   symbol: "USDC",
//   decimals: 6
// }
Resolve ENS name to address
// Example: Resolve ENS name using MCP client
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("resolve-ens", {
  ensName: "vitalik.eth",
  network: "ethereum"
});

console.log(result);
// {
//   ensName: "vitalik.eth",
//   normalizedName: "vitalik.eth",
//   resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
//   network: "ethereum"
// }
Check if address is a contract
// Example: Check if address is a contract
const mcp = new McpClient("http://localhost:3000");

const result = await mcp.invokeTool("is-contract", {
  address: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI token
  network: "ethereum"
});

console.log(result);
// {
//   address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
//   isContract: true,
//   network: "ethereum"
// }