> ## Documentation Index
> Fetch the complete documentation index at: https://coinstats.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ethereum API & EVM Wallet Balances

> The best free Ethereum API with EVM wallet tracking. Balances, transactions, DeFi, and gas data for Polygon, Arbitrum, Base, and more.

export const title_0 = undefined

export const cards_0 = undefined

The best free Ethereum API with EVM wallet tracking. Balances, transactions, DeFi, and gas data for Polygon, Arbitrum, Base, and more.

Most developers building on Ethereum need data from multiple EVM chains at once. A user might hold ETH on mainnet, USDC on Arbitrum, LP tokens on Polygon, and staked assets on Base. Querying each chain separately means running multiple RPC connections, normalizing different response formats, and maintaining a growing list of chain-specific integrations. CoinStats Ethereum API handles all of this through a single endpoint: pass any EVM address and get balances across every supported chain in one response.

The API covers Ethereum mainnet and all major EVM-compatible chains. DeFi positions, gas fee data, and ERC-20 token holdings are included automatically. No RPC nodes, no separate indexers, no per-chain parsing logic. The same data is also available through [CoinStats MCP Server](/mcp/connecting) for AI agents and LLM-powered applications.

## Supported EVM Chains

<CardGroup cols={3}>
  <Card title="Ethereum" icon="diamond">
    The original smart contract platform.
  </Card>

  <Card title="Polygon" icon="hexagon">
    Layer 2 scaling solution.
  </Card>

  <Card title="BNB Smart Chain" icon="coins">
    Binance Smart Chain (BSC).
  </Card>

  <Card title="Arbitrum" icon="layer-group">
    Optimistic rollup L2.
  </Card>

  <Card title="Arbitrum Nova" icon="layer-group">
    Gaming-optimized Arbitrum L2.
  </Card>

  <Card title="Optimism" icon="bolt">
    Optimistic Ethereum L2.
  </Card>

  <Card title="Avalanche" icon="snowflake">
    High-throughput C-Chain.
  </Card>

  <Card title="Base" icon="b">
    Coinbase L2.
  </Card>

  <Card title="Fantom" icon="ghost">
    DAG-based smart contracts.
  </Card>

  <Card title="Linea" icon="l">
    Consensys zkEVM L2.
  </Card>

  <Card title="Blast" icon="bolt">
    Native yield L2.
  </Card>

  <Card title="Scroll" icon="scroll">
    zkEVM rollup.
  </Card>

  <Card title="Mantle" icon="m">
    Modular L2 network.
  </Card>

  <Card title="Manta Pacific" icon="m">
    Modular L2 for dApps.
  </Card>

  <Card title="Cronos" icon="c">
    Crypto.com EVM chain.
  </Card>

  <Card title="Gnosis" icon="g">
    Community-owned EVM chain.
  </Card>

  <Card title="Celo" icon="c">
    Mobile-first EVM chain.
  </Card>

  <Card title="Aurora" icon="a">
    NEAR's EVM layer.
  </Card>

  <Card title="opBNB" icon="o">
    BNB Chain optimistic L2.
  </Card>

  <Card title="Berachain" icon="b">
    Proof-of-liquidity EVM chain.
  </Card>

  <Card title="Kava EVM" icon="k">
    Cosmos-based EVM chain.
  </Card>

  <Card title="Evmos" icon="e">
    Cosmos EVM hub.
  </Card>

  <Card title="Abstract" icon="a">
    Consumer-focused L2.
  </Card>

  <Card title="Ape Chain" icon="a">
    ApeCoin L2 network.
  </Card>
</CardGroup>

New EVM chains are added regularly. Use the `/wallet/blockchains` endpoint to get the current complete list programmatically.

## Why Multi-Chain EVM Matters

The EVM ecosystem is no longer just Ethereum mainnet. Over the past two years, user activity and liquidity have migrated across Layer 2 networks, sidechains, and alternative L1s. A wallet that had all its assets on Ethereum in 2022 now likely has tokens spread across Arbitrum, Base, Polygon, and Optimism. Any application that only queries Ethereum mainnet is showing its users an incomplete picture.

The CoinStats API solves this by treating all EVM chains as a single data source. One address, one API call, all chains. The response groups balances by chain, so you can show per-chain breakdowns or aggregate everything into a single total. This is the same data infrastructure that powers the CoinStats app used by over 1M people every month.

## What You Get

<CardGroup cols={2}>
  <Card title="Multi-Chain Queries" icon="layer-group">
    Get balances across all EVM chains with one request. No per-chain integration needed.
  </Card>

  <Card title="ERC-20 Token Detection" icon="coins">
    All token standards detected automatically per wallet address.
  </Card>

  <Card title="DeFi Position Tracking" icon="cubes">
    Staking, lending, LP positions, and yield farming data across EVM DeFi protocols.
  </Card>

  <Card title="Gas Fee Data" icon="gas-pump">
    Track gas consumption and fee spending per wallet across chains.
  </Card>
</CardGroup>

## Single Chain Balance

Get wallet balance for a specific EVM chain when you only need one network:

<CodeGroup>
  ```bash Ethereum theme={null}
  curl -H "X-API-KEY: your-api-key" \
    "https://api.coinstats.app/v1/wallet/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=ethereum"
  ```

  ```bash Polygon theme={null}
  curl -H "X-API-KEY: your-api-key" \
    "https://api.coinstats.app/v1/wallet/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=polygon"
  ```

  ```bash Arbitrum theme={null}
  curl -H "X-API-KEY: your-api-key" \
    "https://api.coinstats.app/v1/wallet/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=arbitrum"
  ```
</CodeGroup>

**40 credits** per chain per request

Single-chain queries are useful for applications that only care about one network, like an Ethereum-specific block explorer or a Polygon-focused DeFi dashboard. For most portfolio and wallet applications, the multi-chain endpoint below is the better choice.

## Multi-Chain Balance (Recommended)

Get wallet balances across all EVM chains simultaneously. This is the recommended approach for portfolio trackers and wallet explorers, since most users hold assets on multiple chains.

<CodeGroup>
  ```bash All EVM Chains theme={null}
  curl -H "X-API-KEY: your-api-key" \
    "https://api.coinstats.app/v1/wallet/balances?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&blockchain=all"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.coinstats.app/v1/wallet/balances?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&blockchain=all',
    { headers: { 'X-API-KEY': 'your-api-key' } }
  );
  const balances = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.coinstats.app/v1/wallet/balances',
      params={'address': '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', 'blockchain': 'all'},
      headers={'X-API-KEY': 'your-api-key'}
  )
  balances = response.json()
  ```
</CodeGroup>

**400 credits** for all chains, or **40 credits x number of specified chains**

### Example Multi-Chain Response

```json theme={null}
[
  {
    "blockchain": "ethereum",
    "balances": [
      {
        "coinId": "ethereum",
        "amount": 5.2,
        "name": "Ethereum",
        "symbol": "ETH",
        "price": 2450.30,
        "priceBtc": 0.0253,
        "pCh24h": 3.2,
        "rank": 2,
        "volume": 12000000000,
        "chain": "ethereum",
        "contractAddress": null
      },
      {
        "coinId": "usd-coin",
        "amount": 1000.0,
        "name": "USD Coin",
        "symbol": "USDC",
        "price": 1.0,
        "pCh24h": 0.1,
        "rank": 5,
        "chain": "ethereum",
        "contractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
      }
    ]
  },
  {
    "blockchain": "polygon",
    "balances": [...]
  },
  {
    "blockchain": "arbitrum",
    "balances": [...]
  }
]
```

The response groups balances by chain, so you can show per-chain breakdowns or aggregate everything into a single portfolio value. Each token includes its contract address, making it straightforward to link to block explorers like Etherscan or Arbiscan, or to render token icons from on-chain metadata.

## Transaction History

Retrieve transaction history for a specific EVM chain:

<CodeGroup>
  ```bash cURL theme={null}
  curl -H "X-API-KEY: your-api-key" \
    "https://api.coinstats.app/v1/wallet/transactions?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=ethereum&limit=20"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.coinstats.app/v1/wallet/transactions?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=ethereum&limit=20',
    { headers: { 'X-API-KEY': 'your-api-key' } }
  );
  const transactions = await response.json();
  ```
</CodeGroup>

**30 credits** per request. Sync transactions first using PATCH `/wallet/transactions` for the most up-to-date data.

Transaction history includes token transfers, DEX swaps, DeFi protocol interactions, contract calls, and native ETH transfers. Each record includes timestamps, amounts, and gas fees, which is what tax tools and portfolio analytics need.

## Portfolio Chart Data

Get historical portfolio value over time for an EVM wallet:

```bash theme={null}
curl -H "X-API-KEY: your-api-key" \
  "https://api.coinstats.app/v1/wallet/balance/chart?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&connectionId=ethereum&period=1m"
```

This returns time-series data suitable for rendering portfolio performance charts. Supported periods include 1d, 1w, 1m, 3m, 6m, 1y, and all. The data points include timestamps and USD values, ready to plug into charting libraries like Chart.js, Recharts, or D3.

## Credit Costs at a Glance

| Endpoint                       | Credits | Description                          |
| ------------------------------ | ------- | ------------------------------------ |
| Single chain balance           | 40      | All tokens on one EVM chain          |
| Multi-chain balance (all)      | 400     | All tokens across all EVM chains     |
| Multi-chain balance (specific) | 40 x N  | All tokens on N specified chains     |
| Transaction history            | 30      | Paginated transaction list per chain |
| Transaction sync               | 50      | Index latest transactions            |
| Portfolio chart                | 40      | Historical portfolio value           |

## What You Can Build With EVM Wallet Data

### Multi-Chain Portfolio Trackers

The multi-chain balance endpoint is designed for portfolio apps where users connect an Ethereum address and expect to see holdings across every EVM chain, not just mainnet. One API call returns balances for Ethereum, Polygon, Arbitrum, Optimism, Base, BSC, Avalanche, and all other supported chains. This removes the need to integrate separate data sources for each network.

A typical integration: user connects their wallet (via WalletConnect or by pasting an address), your app calls the multi-chain balance endpoint, and the response contains everything needed to render a portfolio dashboard. Token names, symbols, amounts, prices, 24h changes, and chain identifiers are all included. No second API call needed for pricing.

### Cross-Chain DeFi Dashboards

DeFi activity is spread across chains. A user might have staked ETH on mainnet via Lido, LP positions on Uniswap V3 (Polygon), and yield farming on Aave (Arbitrum). Building a DeFi dashboard that shows all of this normally requires integrating each protocol on each chain separately.

The CoinStats API detects DeFi positions automatically across all EVM chains, so you can build dashboards that aggregate DeFi exposure without integrating each protocol individually. Staking, lending, LP positions, and yield data are returned as part of the wallet balance response. This covers 10,000+ DeFi protocols across all supported chains.

### Gas Fee Analytics

For wallets that are active across multiple EVM chains, gas spending can be significant, especially on Ethereum mainnet. The API tracks gas consumption per wallet, giving analytics tools and portfolio trackers the data needed to show total fees paid across chains, fee breakdowns by network, and historical gas trends.

This is particularly useful for power users and institutional accounts that want to understand their total cost of on-chain activity across all networks, not just the token gains and losses.

### Tax and Accounting Tools

EVM transaction histories can be complex: token approvals, multi-hop swaps, flash loans, LP deposits and withdrawals, airdrops, and bridge transfers. The CoinStats API parses these into structured transaction records with timestamps, amounts, and token identifiers. Tax tools can use this data for cost-basis calculations across all EVM chains without building chain-specific transaction parsers.

### Embedded Crypto Widgets

If you're building a fintech app, a banking dashboard, or a web3-enabled platform that needs to display EVM wallet data, the API provides the data layer. Pull live token balances, show portfolio value charts, or display transaction activity. The response format is consistent across all chains, so one set of UI components works for every network.

### AI-Powered EVM Assistants

Through [CoinStats MCP Server](/mcp/connecting), AI agents can look up any EVM wallet address and get balances across all chains, check specific token holdings, and analyze transaction history. An AI assistant can answer questions like "What tokens does this address hold on Arbitrum?" or "Show me the DeFi positions for this wallet." This works with Claude, Cursor, and other MCP-compatible tools.

## EVM vs. Other Chains

The same endpoint format and response structure works across all CoinStats-supported chains. If your application needs Solana, Bitcoin, or other non-EVM chain data alongside Ethereum, see [Solana Wallet API](/wallet/solana), [Bitcoin Wallet Integration page](/wallet/bitcoin), or [Multi-Chain Support page](/wallet/other-chains).

## Connection IDs Reference

| Chain           | Connection ID   | Native Token |
| --------------- | --------------- | ------------ |
| Ethereum        | `ethereum`      | ETH          |
| Polygon         | `polygon`       | POL          |
| BNB Smart Chain | `binance`       | BNB          |
| Arbitrum        | `arbitrum`      | ETH          |
| Arbitrum Nova   | `arbitrum-nova` | ETH          |
| Optimism        | `optimism`      | ETH          |
| Avalanche       | `avalanche`     | AVAX         |
| Base            | `base`          | ETH          |
| Fantom          | `fantom`        | FTM          |
| Linea           | `linea`         | ETH          |
| Blast           | `blast`         | ETH          |
| Scroll          | `scroll`        | ETH          |
| Mantle          | `mantle`        | MNT          |
| Manta Pacific   | `manta`         | ETH          |
| Cronos          | `cronos`        | CRO          |
| Gnosis          | `gnosis`        | xDAI         |
| Celo            | `celo`          | CELO         |
| Aurora          | `aurora`        | ETH          |
| opBNB           | `opbnb`         | BNB          |
| Berachain       | `berachain`     | BERA         |
| Kava EVM        | `kava`          | KAVA         |
| Evmos           | `evmos`         | EVMOS        |
| Abstract        | `abstract`      | ETH          |
| Ape Chain       | `ape`           | APE          |

Use the `/wallet/blockchains` endpoint to get the current complete list. New EVM chains are added regularly, so this table may not always reflect the latest additions.

## Getting Started

1. Sign up at [CoinStats API dashboard](https://openapi.coinstats.app) and generate an API key
2. Try the multi-chain balance endpoint with the cURL example above
3. Explore the full endpoint reference in [API docs](/openapi/get-coins)

The free tier includes enough credits to test all EVM endpoints. No credit card required to start.

## Common EVM Addresses

For testing and development:

| Type          | Address                                      | Description                 |
| ------------- | -------------------------------------------- | --------------------------- |
| Vitalik       | `0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045` | Well-known Ethereum address |
| USDC Contract | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | USDC on Ethereum mainnet    |

## {title_0 || "Support"}

{cards_0 ? (
<CardGroup cols={2}>
<Card title="Support Documentation" icon="question" href="https://help.coinstats.app/en/articles/12002063">
  Check our comprehensive help center
</Card>

<Card title="Telegram Support" icon="telegram" href="https://t.me/+JPUMD1QAMTNmNGQy">
  Join our API support channel for real-time help
</Card>

 <Card title="Email Support" icon="telegram" href="mailto:api.support@coinstats.app">
  You can reach us directly at api.support@coinstats.app
</Card>
</CardGroup>
) : (
  <ul>
      <li><strong>Documentation</strong>: This site contains comprehensive API documentation</li>
      <li><strong>Telegram Chat</strong>: For quick help and to connect with other developers, join our <a href="https://t.me/+JPUMD1QAMTNmNGQy">API Support Telegram group</a></li>
      <li><strong>Email Support</strong>: You can reach us directly at <a href="mailto:api.support@coinstats.app"><strong><u>api.support@coinstats.app</u></strong></a> for personalized assistance.</li>
  </ul>
)}
