# Rootstock API
> Live Rootstock on-chain data via Blockscout. Rootstock (RSK) is a Bitcoin-secured EVM sidechain; gas and balances are in RBTC, pegged 1:1 to BTC. Network stats, gas prices, latest blocks, a block by height or hash, address detail with RBTC balance, a transaction by hash, ERC-20 token metadata and a universal search across addresses, tokens, blocks and transactions. Real data, no key.

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

## Pricing
- **Free** (Free) — 2,000 calls/Mo, 1 req/s
- **Basic** ($10/Mo) — 80,000 calls/Mo, 10 req/s
- **Pro** ($32/Mo) — 550,000 calls/Mo, 20 req/s
- **Mega** ($105/Mo) — 2,750,000 calls/Mo, 50 req/s

## Endpoints

### Network

#### `GET /v1/gas` — Current gas prices

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

**Response:**
```json
{
    "data": {
        "fast": 0.04,
        "slow": 0.03,
        "unit": "gwei",
        "average": 0.03,
        "gas_used_today": "422750438"
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:13.146Z",
        "request_id": "a9f36757-3a0c-46b5-87e1-659f9a871ecf"
    },
    "status": "ok",
    "message": "Gas retrieved successfully",
    "success": true
}
```

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

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

**Response:**
```json
{
    "data": {
        "tvl_usd": null,
        "gas_prices": {
            "fast": 0.04,
            "slow": 0.03,
            "average": 0.03
        },
        "total_blocks": 8922348,
        "coin_price_usd": 63495,
        "gas_used_today": "422750438",
        "market_cap_usd": 107815622.30426903,
        "total_addresses": "4146881",
        "total_transactions": "20434551",
        "transactions_today": "8514",
        "network_utilization_percent": 0.9099396
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:13.302Z",
        "request_id": "b0ceaaf9-8a32-474b-8768-c38c70b7f623"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Blocks

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

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

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

**Response:**
```json
{
    "data": {
        "block": {
            "hash": "0xfd9acf184a68e6449078623cf469e58edaeabbcbd136384031e1caed2a3a610a",
            "size": 3952,
            "miner": "0xCe7864A8b5bF360b01099502A163810cEc845D4a",
            "height": 8922536,
            "gas_used": 251909,
            "tx_count": 4,
            "gas_limit": 10000000,
            "timestamp": "2026-06-08T00:54:31.000000Z",
            "burnt_fees": "0",
            "difficulty": "11343010210657591745246",
            "base_fee_per_gas": null
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:13.412Z",
        "request_id": "900bdd63-ece0-49b0-b079-f835c95508b3"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

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

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

**Response:**
```json
{
    "data": {
        "count": 50,
        "blocks": [
            {
                "hash": "0xc6ca72404f88212b96c16b32465d7389095d4397746edd93bdeba29c1238fa62",
                "size": 5342,
                "miner": "0x4E5dABc28e4a0f5E5B19FCB56b28C5a1989352c1",
                "height": 8922594,
                "gas_used": 170426,
                "tx_count": 3,
                "gas_limit": 10000000,
                "timestamp": "2026-06-08T01:17:01.000000Z",
                "burnt_fees": "0",
                "difficulty": "11483642301656156471469",
                "base_fee_per_gas": null
            },
            {
                "hash": "0xe147ad7302be1c0c24b25e3810e6f98324e194eddd5a819b26307dca687305d3",
                "size": 2302,
                "miner": "0x5aEe2975E2Ed688f231CcB40E20eE6c10A98D507",
                "height": 8922593,
                "gas_used": 0,
                "tx_count": 1,
                "gas_limit": 10000000,
                "timestamp": "2026-06-08T01:16:06.000000Z",
                "burnt_fees": "0",
                "difficulty": "11512423360056297214505",
                "base_fee_per_gas": null
            },
            {
                "hash": "0x325ad23b94d9d266e3e8201d70bb8acd75b7a2119fc4ec9f94746a95cdc67c1a",
                "size": 1147,
                "miner": "0x4E5dABc28e4a0f5E5B19FCB56b28C5a1989352c1",
                "height": 8922592,
                "gas_used": 0,
                "tx_count": 1,
                "gas_limit
…(truncated, see openapi.json for full schema)
```

### Accounts

#### `GET /v1/address` — Address detail with RBTC balance

**Parameters:**
- `address` (query, required, string) — Address hash Example: `0x74C9F2B00581F1b11Aa7Ff05aa9f608B7389de67`

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

**Response:**
```json
{
    "data": {
        "address": {
            "ens": null,
            "hash": "0x74C9F2B00581F1b11Aa7Ff05aa9f608B7389de67",
            "name": "Stargate Bridged USDC",
            "token": {
                "name": "Stargate Bridged USDC",
                "type": "ERC-20",
                "symbol": "USDC.E"
            },
            "creator": "0x565786abE5BA0F9d307AdFA681379F0788BEdef7",
            "balance_eth": 0,
            "balance_wei": "0",
            "is_contract": true,
            "is_verified": true
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:14.599Z",
        "request_id": "fa134a6b-74e8-486c-84b9-3efa72c6c977"
    },
    "status": "ok",
    "message": "Address retrieved successfully",
    "success": true
}
```

### Transactions

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

**Parameters:**
- `hash` (query, required, string) — Transaction hash Example: `0xcb8ec7d6e028e47a51ddaad38190e4659b92d95eebde254359a3bfb9619d5230`

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

**Response:**
```json
{
    "data": {
        "transaction": {
            "to": "0x0000000000000000000000000000000001000008",
            "from": "0x0000000000000000000000000000000000000000",
            "hash": "0xcb8ec7d6e028e47a51ddaad38190e4659b92d95eebde254359a3bfb9619d5230",
            "type": 0,
            "block": 8922536,
            "nonce": 8922535,
            "method": null,
            "status": "ok",
            "fee_eth": 0,
            "fee_wei": "0",
            "gas_used": 0,
            "gas_price": "0",
            "timestamp": "2026-06-08T00:54:31.000000Z",
            "value_eth": 0,
            "value_wei": "0",
            "confirmations": 59
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:15.074Z",
        "request_id": "ab5f377c-e227-40be-bd9b-f13288b5d2f9"
    },
    "status": "ok",
    "message": "Transaction retrieved successfully",
    "success": true
}
```

### Tokens

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

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

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

**Response:**
```json
{
    "data": {
        "token": {
            "icon": "https://assets.coingecko.com/coins/images/69316/small/usdc.jpg?1758186473",
            "name": "Stargate Bridged USDC",
            "type": "ERC-20",
            "symbol": "USDC.E",
            "holders": null,
            "decimals": 6,
            "total_supply": "205781627168",
            "exchange_rate_usd": 1,
            "circulating_market_cap": "37016360.15743102"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:15.212Z",
        "request_id": "bbff837a-f91b-4d57-9a41-c5bdb0c97576"
    },
    "status": "ok",
    "message": "Token retrieved successfully",
    "success": true
}
```

### Search

#### `GET /v1/search` — Universal on-chain search

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

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

**Response:**
```json
{
    "data": {
        "count": 22,
        "query": "RIF",
        "results": [
            {
                "name": "Rootstock Infrastructure Framework",
                "type": "token",
                "symbol": "RIF",
                "address": "0x2aCc95758f8b5F583470bA265Eb685a8f45fC9D5"
            },
            {
                "name": "RIF US Dollar",
                "type": "token",
                "symbol": "USDRIF",
                "address": "0x3A15461d8AE0f0Fb5fA2629e9dA7D66A794a6E37"
            },
            {
                "name": "Staked RIF",
                "type": "token",
                "symbol": "STRIF",
                "address": "0x5db91e24BD32059584bbDb831A901f1199f3d459"
            },
            {
                "name": "RIFPro",
                "type": "token",
                "symbol": "RIFP",
                "address": "0xF4d27C56595eD59B66cC7f03CFF5193E4Bd74a61"
            },
            {
                "name": "RIF Dollar on Chain",
                "type": "token",
                "symbol": "RDOC",
                "address": "0x2d919f19D4892381d58EdEbEcA66D5642ceF1A1F"
            },
            {
                "name": "Reward Cow Uniswap Rootstock RIF-rUSDT",
                "type": "token",
                "symbol": "rcowUniswapRootstockRIF-rUSDT",
                "address": "0x82e9Db204d8243538e04958FdaedFAf21b58d014"
            },
            {
                "name": "rLending RIF",
                "type": "token",
        
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "service": "rootstock-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, ENS & contract info (address=).",
            "GET /v1/transaction": "Transaction detail (hash=)."
        },
        "description": "Live Rootstock (RSK) on-chain data via Blockscout: network stats, a gas oracle (gwei), recent blocks and block detail, address balances with ENS, transaction detail, ERC-20 token detail and a universal search across addresses, tokens, blocks and transactions. Rootstock is a Bitcoin-secured EVM sidechain; gas and balances are in RBTC (pegged 1:1 to BTC). Real on-chain data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T01:18:15.634Z",
        "request_id": "31d4daf4-455d-471c-8c74-0822addb5702"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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