# EVM Wallet Balance API
> Live native-coin balance for any EVM wallet address across the major chains as an API, read straight from each network's public JSON-RPC node. For any 0x address it returns the native balance (in coin units and in wei), the transaction count (nonce), and whether the address is a smart contract. Check one chain, or fan out across every supported chain at once to see where a wallet holds funds — Ethereum, Polygon, BNB Smart Chain, Arbitrum, Optimism, Base and Avalanche. The wallet-balance and address-lookup layer every wallet app, portfolio tracker and dashboard needs. Live, no key, no cache. Distinct from gas-fee and price APIs — this is on-chain address balances.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/walletbalance-api/..."
```

## Pricing
- **Free** (Free) — 6,000 calls/Mo, 5 req/s
- **Starter** ($12/Mo) — 80,000 calls/Mo, 15 req/s
- **Pro** ($29/Mo) — 420,000 calls/Mo, 40 req/s
- **Desk** ($68/Mo) — 2,200,000 calls/Mo, 100 req/s

## Endpoints

### Balance

#### `GET /v1/balance` — Native balance + nonce + is-contract on one chain

**Parameters:**
- `address` (query, required, string) — EVM 0x address Example: `0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045`
- `chain` (query, optional, string) — Chain: ethereum|polygon|bsc|arbitrum|optimism|base|avalanche Example: `ethereum`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/walletbalance-api/v1/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&chain=ethereum"
```

**Response:**
```json
{
    "data": {
        "name": "Ethereum",
        "chain": "ethereum",
        "native": "ETH",
        "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
        "balance": 5.68884045,
        "tx_count": 5896,
        "balance_wei": "5688840446715981478",
        "is_contract": true
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:01.958Z",
        "request_id": "3c668ee4-d9b4-474a-be9e-f6cb0b5fac9e"
    },
    "status": "ok",
    "message": "Balance retrieved successfully",
    "success": true
}
```

### Multichain

#### `GET /v1/multichain` — Native balance across all supported chains

**Parameters:**
- `address` (query, required, string) — EVM 0x address Example: `0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/walletbalance-api/v1/multichain?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
```

**Response:**
```json
{
    "data": {
        "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
        "balances": [
            {
                "name": "Ethereum",
                "chain": "ethereum",
                "native": "ETH",
                "balance": 5.68884045,
                "balance_wei": "5688840446715981478"
            },
            {
                "name": "Polygon",
                "chain": "polygon",
                "native": "POL",
                "balance": 587.18416127,
                "balance_wei": "587184161272371208074"
            },
            {
                "name": "BNB Smart Chain",
                "chain": "bsc",
                "native": "BNB",
                "balance": 0.16845671,
                "balance_wei": "168456709324951673"
            },
            {
                "name": "Arbitrum One",
                "chain": "arbitrum",
                "native": "ETH",
                "balance": 0.0836298,
                "balance_wei": "83629801081906257"
            },
            {
                "name": "Optimism",
                "chain": "optimism",
                "native": "ETH",
                "balance": 0.18052508,
                "balance_wei": "180525078403843023"
            },
            {
                "name": "Base",
                "chain": "base",
                "native": "ETH",
                "balance": 3.12358375,
                "balance_wei": "3123583750894794344"
            },
            {
                "name": "A
…(truncated, see openapi.json for full schema)
```

### Chains

#### `GET /v1/chains` — Supported chains and aliases

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/walletbalance-api/v1/chains"
```

**Response:**
```json
{
    "data": {
        "count": 7,
        "chains": [
            {
                "key": "ethereum",
                "name": "Ethereum",
                "native": "ETH"
            },
            {
                "key": "polygon",
                "name": "Polygon",
                "native": "POL"
            },
            {
                "key": "bsc",
                "name": "BNB Smart Chain",
                "native": "BNB"
            },
            {
                "key": "arbitrum",
                "name": "Arbitrum One",
                "native": "ETH"
            },
            {
                "key": "optimism",
                "name": "Optimism",
                "native": "ETH"
            },
            {
                "key": "base",
                "name": "Base",
                "native": "ETH"
            },
            {
                "key": "avalanche",
                "name": "Avalanche C-Chain",
                "native": "AVAX"
            }
        ],
        "aliases": {
            "op": "optimism",
            "arb": "arbitrum",
            "bnb": "bsc",
            "eth": "ethereum",
            "pol": "polygon",
            "avax": "avalanche",
            "matic": "polygon",
            "binance": "bsc"
        }
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:02.258Z",
        "request_id": "f13cb66c-c788-49b6-95a9-91c0160c59d9"
    },
    "status": "ok",
    "message": "Chains retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/walletbalance-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "chains": [
            "ethereum",
            "polygon",
            "bsc",
            "arbitrum",
            "optimism",
            "base",
            "avalanche"
        ],
        "source": "Public chain RPC (publicnode) eth_getBalance/getTransactionCount/getCode (live)",
        "service": "walletbalance-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/chains": "Supported chains and aliases.",
            "GET /v1/balance": "Native balance + nonce + is-contract on one chain (address=0x…, chain=ethereum).",
            "GET /v1/multichain": "Native balance across all supported chains (address=0x…)."
        },
        "description": "Live EVM wallet native-coin balance from each chain's public RPC: for any 0x address, the native balance (coin units and wei), the transaction count (nonce) and whether it is a smart contract. Check one chain, or fan out across all supported chains (Ethereum, Polygon, BSC, Arbitrum, Optimism, Base, Avalanche) to see where a wallet holds funds. Live, no key. Distinct from gas-fee and price APIs — this is on-chain address balances.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:02.375Z",
        "request_id": "cf405689-f772-47aa-8c07-3ff2d642201b"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/walletbalance-api
OpenAPI spec: https://www.oanor.com/api/walletbalance-api/openapi.json
