# Elastos Chain API
> Live on-chain data for Elastos Smart Chain (ESC) — an EVM sidechain merge-mined with Bitcoin — via its public Blockscout explorer (no wallet, no key). The stats endpoint returns chain-wide totals (blocks, transactions, addresses, average block time, gas used); gas gives the current gas-price oracle (slow/average/fast). Blocks lists the latest blocks, and a single block resolves by height or by hash with its transaction count, gas, miner and timestamp. The address endpoint returns any account's ELA balance, nonce, contract flag and token holdings; transaction resolves a tx by hash with its from/to, value in ELA, fee, status and block. The token endpoint returns an ERC-20 token's metadata (name, symbol, decimals, total supply, holders) by contract address, and search runs a universal lookup across addresses, tokens, blocks and transactions. Gas, balances, values and fees are denominated in ELA, the native coin. Real on-chain data straight from the explorer, refreshed every call — no key. 9 endpoints. For multi-chain coverage combine with the other oanor chain APIs (Ethereum, Base, Arbitrum and more).

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

## Pricing
- **Free** (Free) — 4,600 calls/Mo, 2 req/s
- **Basic** ($29/Mo) — 136,000 calls/Mo, 8 req/s
- **Pro** ($88/Mo) — 785,000 calls/Mo, 20 req/s
- **Mega** ($295/Mo) — 4,450,000 calls/Mo, 50 req/s

## Endpoints

### Chain

#### `GET /v1/gas` — Gas-price oracle

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

#### `GET /v1/stats` — Chain stats

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

### Blocks

#### `GET /v1/block` — A block by height or hash

**Parameters:**
- `height` (query, optional, string) — Block height Example: `37059142`
- `hash` (query, optional, string) — Block hash (alternative to height)

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

#### `GET /v1/blocks` — Latest blocks

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

### Accounts

#### `GET /v1/address` — Account balance & holdings

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

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

### Transactions

#### `GET /v1/transaction` — A transaction by hash

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

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

### Tokens

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

**Parameters:**
- `address` (query, required, string) — Token contract address Example: `0xeEeEEb57642040bE42185f49C52F7E9B38f8eeeE`

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

### Search

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

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

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

### Meta

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

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


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