# EVM Chains API
> A live directory of every EVM-compatible blockchain, keyless. Look up any chain by its chain ID or by name and get its native currency, public RPC endpoints, block explorers, info URL, faucets and testnet flag; search the 2,600+ networks; or just get a chain working public RPC URLs. The networks / chain-ID layer for wallets, dapps, RPC routers, block explorers and multi-chain tooling. Live, nothing stored beyond a short cache. Backed by the open chainid.network (ethereum-lists/chains) registry.

## 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/evmchains-api/..."
```

## Pricing
- **Free** (Free) — 4,000 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 100,000 calls/Mo, 8 req/s
- **Pro** ($31/Mo) — 650,000 calls/Mo, 20 req/s
- **Business** ($89/Mo) — 4,300,000 calls/Mo, 50 req/s

## Endpoints

### Chains

#### `GET /v1/chain` — Full details for one EVM chain by chain id

**Parameters:**
- `id` (query, required, string) — Numeric chain id (1 = Ethereum, 137 = Polygon, 8453 = Base, 42161 = Arbitrum) Example: `8453`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/evmchains-api/v1/chain?id=8453"
```

**Response:**
```json
{
    "data": {
        "rpc": [
            "https://mainnet.base.org/",
            "https://developer-access-mainnet.base.org/",
            "https://base.gateway.tenderly.co",
            "https://base-rpc.publicnode.com",
            "https://rpcfree.com/base-rpc",
            "https://rpc.baseazul.dev"
        ],
        "name": "Base",
        "chain": "ETH",
        "source": "chainid.network",
        "faucets": [],
        "chain_id": 8453,
        "info_url": "https://base.org",
        "explorers": [
            {
                "url": "https://basescan.org",
                "name": "basescan",
                "standard": "EIP3091"
            },
            {
                "url": "https://base.blockscout.com",
                "name": "basescout",
                "standard": "EIP3091"
            },
            {
                "url": "https://base.dex.guru",
                "name": "dexguru",
                "standard": "EIP3091"
            },
            {
                "url": "https://base.superscan.network",
                "name": "Routescan",
                "standard": "EIP3091"
            }
        ],
        "network_id": 8453,
        "short_name": "base",
        "native_currency": {
            "name": "Ether",
            "symbol": "ETH",
            "decimals": 18
        }
    },
    "meta": {
        "timestamp": "2026-06-14T08:04:18.109Z",
        "request_id": "6e7e172b-d9de-4833-98d0-5e4d5888f182"
    },
    "status": "ok",
    "message"
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/list` — Paginated directory of all EVM chains

**Parameters:**
- `offset` (query, optional, string) — Pagination offset (default 0) Example: `0`
- `limit` (query, optional, string) — Results (1-200, default 50) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/evmchains-api/v1/list?offset=0&limit=50"
```

**Response:**
```json
{
    "data": {
        "note": "All EVM chains, ordered by chain id. Use offset/limit to page.",
        "count": 50,
        "total": 2651,
        "chains": [
            {
                "name": "Ethereum Mainnet",
                "symbol": "ETH",
                "chain_id": 1,
                "rpc_count": 13,
                "short_name": "eth"
            },
            {
                "name": "Expanse Network",
                "symbol": "EXP",
                "chain_id": 2,
                "rpc_count": 1,
                "short_name": "exp"
            },
            {
                "name": "Ropsten",
                "symbol": "ETH",
                "chain_id": 3,
                "rpc_count": 0,
                "short_name": "rop"
            },
            {
                "name": "Rinkeby",
                "symbol": "ETH",
                "chain_id": 4,
                "rpc_count": 0,
                "short_name": "rin"
            },
            {
                "name": "Goerli",
                "symbol": "ETH",
                "chain_id": 5,
                "rpc_count": 3,
                "short_name": "gor"
            },
            {
                "name": "Kotti Testnet",
                "symbol": "KOT",
                "chain_id": 6,
                "rpc_count": 0,
                "short_name": "kot"
            },
            {
                "name": "ThaiChain",
                "symbol": "TCH",
                "chain_id": 7,
                "rpc_cou
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/rpcs` — Public RPC endpoints for a chain

**Parameters:**
- `id` (query, required, string) — Numeric chain id Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/evmchains-api/v1/rpcs?id=1"
```

**Response:**
```json
{
    "data": {
        "rpc": [
            "https://api.mycryptoapi.com/eth",
            "https://cloudflare-eth.com",
            "https://ethereum-rpc.publicnode.com",
            "https://mainnet.gateway.tenderly.co",
            "https://rpc.blocknative.com/boost",
            "https://rpc.flashbots.net",
            "https://rpc.flashbots.net/fast",
            "https://rpc.mevblocker.io",
            "https://rpc.mevblocker.io/fast",
            "https://rpc.mevblocker.io/noreverts",
            "https://rpc.mevblocker.io/fullprivacy",
            "https://eth.drpc.org",
            "https://api.securerpc.com/v1"
        ],
        "name": "Ethereum Mainnet",
        "note": "Public HTTP RPC endpoints (API-key-templated and websocket URLs are excluded).",
        "count": 13,
        "source": "chainid.network",
        "chain_id": 1
    },
    "meta": {
        "timestamp": "2026-06-14T08:04:18.260Z",
        "request_id": "f8526491-b37b-4d24-82fb-62f9653eb1fb"
    },
    "status": "ok",
    "message": "RPC endpoints retrieved successfully",
    "success": true
}
```

#### `GET /v1/search` — Search chains by name

**Parameters:**
- `q` (query, required, string) — Name or partial text Example: `arbitrum`
- `limit` (query, optional, string) — Results (1-100, default 25) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/evmchains-api/v1/search?q=arbitrum&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 7,
        "query": "arbitrum",
        "chains": [
            {
                "name": "Arbitrum on xDai",
                "symbol": "xDAI",
                "chain_id": 200,
                "rpc_count": 1,
                "short_name": "aox"
            },
            {
                "name": "Arbitrum One",
                "symbol": "ETH",
                "chain_id": 42161,
                "rpc_count": 3,
                "short_name": "arb1"
            },
            {
                "name": "Arbitrum Nova",
                "symbol": "ETH",
                "chain_id": 42170,
                "rpc_count": 2,
                "short_name": "arb-nova"
            },
            {
                "name": "Arbitrum Rinkeby",
                "symbol": "ETH",
                "chain_id": 421611,
                "rpc_count": 1,
                "short_name": "arb-rinkeby"
            },
            {
                "name": "Arbitrum Goerli",
                "symbol": "AGOR",
                "chain_id": 421613,
                "rpc_count": 2,
                "short_name": "arb-goerli"
            },
            {
                "name": "Arbitrum Sepolia",
                "symbol": "ETH",
                "chain_id": 421614,
                "rpc_count": 2,
                "short_name": "arb-sep"
            },
            {
                "name": "Arbitrum Blueberry",
                "symbol": "CGT",
                "chain_id": 88153591557,
       
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata & live sample

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

**Response:**
```json
{
    "data": {
        "note": "chain and rpcs take a numeric chain id (id=1 = Ethereum Mainnet, 137 = Polygon, 8453 = Base, 42161 = Arbitrum One). search takes q (e.g. ethereum) and optional limit. list takes optional offset and limit.",
        "sample": {
            "name": "Ethereum Mainnet",
            "chain_id": 1,
            "rpc_count": 13
        },
        "source": "chainid.network (ethereum-lists/chains) open registry, live",
        "service": "evmchains-api",
        "endpoints": {
            "GET /v1/list": "Paginated directory of all EVM chains (offset, limit).",
            "GET /v1/meta": "This document.",
            "GET /v1/rpcs": "Public RPC endpoints for a chain (id=1).",
            "GET /v1/chain": "Full details for one EVM chain by chain id (id=1).",
            "GET /v1/search": "Search chains by name (q=ethereum)."
        },
        "description": "A live directory of every EVM-compatible blockchain, keyless. Look up any chain by its chain ID or name and get its native currency, public RPC endpoints, block explorers, info URL, faucets and testnet flag; search the 2,600+ networks; or just get a chain's working public RPC URLs. The networks / chain-ID layer for wallets, dapps, RPC routers, explorers and multi-chain tooling. Live, nothing stored beyond a short cache. Source: the open chainid.network (ethereum-lists/chains) registry.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T08:04:18.415Z",
        "
…(truncated, see openapi.json for full schema)
```


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