# Numbers Protocol Chain API
> Live on-chain data for the Numbers Protocol mainnet (Num Network, the EVM Layer-1 for media provenance and digital-content authenticity, native NUM) via Blockscout — no key. Read network stats (block height, total transactions, gas), a gas oracle in gwei, the most recent blocks and full block detail by height or hash, any address balance and contract info, full transaction detail, ERC-20 token detail by contract, and a universal search across addresses, tokens, blocks and transactions. Real Layer-1 chain data with the rotating proxy as automatic fallback — 9 endpoints. Ideal for wallets, explorers, provenance/asset tooling, portfolio trackers and on-chain monitoring on Numbers.

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

## Pricing
- **Free** (Free) — 4,350 calls/Mo, 2 req/s
- **Basic** ($8/Mo) — 106,000 calls/Mo, 8 req/s
- **Pro** ($25/Mo) — 585,000 calls/Mo, 20 req/s
- **Mega** ($71/Mo) — 2,870,000 calls/Mo, 50 req/s

## Endpoints

### Network

#### `GET /v1/gas` — Gas oracle (gwei)

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

**Response:**
```json
{
    "data": {
        "fast": 658.74,
        "slow": 658.74,
        "unit": "gwei",
        "average": 658.74,
        "gas_used_today": "719808524"
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:43.511Z",
        "request_id": "1a2f4bad-d68d-4a55-8653-6a0d7b425169"
    },
    "status": "ok",
    "message": "Gas retrieved successfully",
    "success": true
}
```

#### `GET /v1/stats` — Network stats

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

**Response:**
```json
{
    "data": {
        "tvl_usd": null,
        "gas_prices": {
            "fast": 658.74,
            "slow": 658.74,
            "average": 658.74
        },
        "total_blocks": 1301748,
        "coin_price_usd": 0.00320366,
        "gas_used_today": "719808524",
        "market_cap_usd": 2887370.12233878,
        "total_addresses": "98410",
        "total_transactions": "1361965",
        "transactions_today": "3417",
        "network_utilization_percent": 1.2192416
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:43.749Z",
        "request_id": "12c5e972-fbb2-447b-a33e-b76c19f6117c"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Blocks

#### `GET /v1/block` — Block detail by height or hash

**Parameters:**
- `height` (query, optional, string) — Block height Example: `1301000`
- `hash` (query, optional, string) — Block hash (0x + 64 hex)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/numbers-api/v1/block?height=1301000"
```

**Response:**
```json
{
    "data": {
        "block": {
            "hash": "0x2635e2a60f9e4bb9ffd06b584bacbe01c8f570ab4abfca8e209850c61bfec9b8",
            "size": 943,
            "miner": "0xe49a1220eE09Fbf0D25CA9e3BB8D5fD356Fc67FF",
            "height": 1301000,
            "gas_used": 249612,
            "tx_count": 1,
            "gas_limit": 20000000,
            "timestamp": "2026-06-08T10:15:59.000000Z",
            "burnt_fees": "187209000000000000",
            "difficulty": "1",
            "base_fee_per_gas": "750000000000"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:44.001Z",
        "request_id": "ed96242b-673c-460c-b425-37b5e17ea681"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

#### `GET /v1/blocks` — Most recent blocks

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

**Response:**
```json
{
    "data": {
        "count": 50,
        "blocks": [
            {
                "hash": "0xeebe6c86c11c1982c06826b42c8267e2e22583446d743697650039f004a296e3",
                "size": 1808,
                "miner": "0xe49a1220eE09Fbf0D25CA9e3BB8D5fD356Fc67FF",
                "height": 1301770,
                "gas_used": 105538,
                "tx_count": 1,
                "gas_limit": 20000000,
                "timestamp": "2026-06-08T18:15:36.000000Z",
                "burnt_fees": "79153500000000000",
                "difficulty": "1",
                "base_fee_per_gas": "750000000000"
            },
            {
                "hash": "0x7104acc37c75ca213ea0b4d4d77c46b89658db5c75999e90c81c916804c87c65",
                "size": 1808,
                "miner": "0xe49a1220eE09Fbf0D25CA9e3BB8D5fD356Fc67FF",
                "height": 1301769,
                "gas_used": 105538,
                "tx_count": 1,
                "gas_limit": 20000000,
                "timestamp": "2026-06-08T18:15:28.000000Z",
                "burnt_fees": "79153500000000000",
                "difficulty": "1",
                "base_fee_per_gas": "750000000000"
            },
            {
                "hash": "0xe99f6e5291226f5c06809d16789bdf66271000bd890a55190509d43a3fc3b4ef",
                "size": 943,
                "miner": "0xe49a1220eE09Fbf0D25CA9e3BB8D5fD356Fc67FF",
                "height": 1301768,
                "gas_used": 249612,
                "tx_count": 1,
         
…(truncated, see openapi.json for full schema)
```

### Accounts

#### `GET /v1/address` — Address balance & contract info

**Parameters:**
- `address` (query, required, string) — Address (0x + 40 hex) Example: `0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1`

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

**Response:**
```json
{
    "data": {
        "address": {
            "ens": null,
            "hash": "0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1",
            "name": null,
            "token": null,
            "creator": null,
            "balance_num": 7334.16467040568,
            "balance_wei": "7334164670405680800054",
            "is_contract": false,
            "is_verified": false
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:44.903Z",
        "request_id": "109ba699-1f01-4ae2-bbc3-e005972c4d81"
    },
    "status": "ok",
    "message": "Address retrieved successfully",
    "success": true
}
```

#### `GET /v1/transaction` — Transaction detail

**Parameters:**
- `hash` (query, required, string) — Transaction hash (0x + 64 hex) Example: `0x798dfecaef3d4ec9cc92259229eefa0ce3448078d29b86484575270f278cea4c`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/numbers-api/v1/transaction?hash=0x798dfecaef3d4ec9cc92259229eefa0ce3448078d29b86484575270f278cea4c"
```

**Response:**
```json
{
    "data": {
        "transaction": {
            "to": "0x7EC2F14ABE8b0Ea2F657bBb62b6fEfDe161c9001",
            "from": "0x51130dB91B91377A24d6Ebeb2a5fC02748b53ce1",
            "hash": "0x798dfecaef3d4ec9cc92259229eefa0ce3448078d29b86484575270f278cea4c",
            "type": 2,
            "block": 1301441,
            "nonce": 580891,
            "method": "0x81d14ffc",
            "status": "ok",
            "fee_num": 0.079311807,
            "fee_wei": "79311807000000000",
            "gas_used": 105538,
            "gas_price": "751500000000",
            "timestamp": "2026-06-08T12:15:07.000000Z",
            "value_num": 0,
            "value_wei": "0",
            "confirmations": 330
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:51.754Z",
        "request_id": "ef848348-d615-4ec5-85be-2da4b42dc67a"
    },
    "status": "ok",
    "message": "Transaction retrieved successfully",
    "success": true
}
```

### Tokens

#### `GET /v1/token` — ERC-20 token detail

**Parameters:**
- `address` (query, required, string) — Token contract (0x + 40 hex) Example: `0x778C974568e376146dbC64fF12aD55B2d1c4133f`

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

**Response:**
```json
{
    "data": {
        "token": {
            "icon": null,
            "name": "Redeemable Num Token",
            "type": "ERC-20",
            "symbol": "Redeemable NUM",
            "address": "0x778C974568e376146dbC64fF12aD55B2d1c4133f",
            "holders": 5,
            "decimals": 18,
            "total_supply": "517029999999999999820",
            "exchange_rate_usd": null,
            "circulating_market_cap": null
        }
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:52.008Z",
        "request_id": "e1a464f5-3ace-4097-a83a-76b65b676f95"
    },
    "status": "ok",
    "message": "Token retrieved successfully",
    "success": true
}
```

### Search

#### `GET /v1/search` — Universal search

**Parameters:**
- `q` (query, required, string) — Address, token, block or tx Example: `numbers`

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

**Response:**
```json
{
    "data": {
        "count": 5,
        "query": "numbers",
        "results": [
            {
                "name": "Numbers Native Token",
                "type": "token",
                "symbol": "NNT",
                "address": "0xC455B83C4F71Fd6c44Ba1eDDC9Eb1DaF31869400"
            },
            {
                "name": "Numbers Native Token",
                "type": "token",
                "symbol": "NNT",
                "address": "0x395c2EAa45865870d735074093720819359B6d0a"
            },
            {
                "name": "Numbers Native Token",
                "type": "token",
                "symbol": "NNT",
                "address": "0xcE145F7451060Ed1ec49c522c75Cd24D0044c1e6"
            },
            {
                "name": "Numbers Native Token",
                "type": "token",
                "symbol": "NNT",
                "address": "0x442bE00c47C7B1d3A972D179dc696DEd006862b8"
            },
            {
                "name": "Numbers Native Token",
                "type": "token",
                "symbol": "NNT",
                "address": "0xB4d72f0FCCd3Db4dD79b1AdA71Cf2ECd4D11E8cd"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:52.252Z",
        "request_id": "c9b3246c-8938-4587-bf92-245900b9bf06"
    },
    "status": "ok",
    "message": "Search results retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Spec

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

**Response:**
```json
{
    "data": {
        "service": "numbers-api",
        "endpoints": {
            "GET /v1/gas": "Gas oracle (slow/average/fast in gwei).",
            "GET /v1/meta": "This document.",
            "GET /v1/block": "Block detail by height= or hash=.",
            "GET /v1/stats": "Network stats (blocks, txns, coin price, market cap, gas).",
            "GET /v1/token": "ERC-20 token detail by contract (address=).",
            "GET /v1/blocks": "The most recent blocks.",
            "GET /v1/search": "Search addresses, tokens, blocks & txns (q=).",
            "GET /v1/address": "Address balance & contract info (address=).",
            "GET /v1/transaction": "Transaction detail (hash=)."
        },
        "description": "Live Numbers Protocol (NUM) mainnet on-chain data via Blockscout: network stats, a gas oracle (gwei), recent blocks and block detail, address balances, transaction detail, ERC-20 token detail and a universal search across addresses, tokens, blocks and transactions. Real on-chain data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T18:25:52.381Z",
        "request_id": "fe2f2c1c-cd38-448c-8a1e-8cd46cb3d0bd"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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