# Lava DePIN RPC-Marketplace On-Chain API
> Live on-chain data from Lava (lava-mainnet-1), the Cosmos-SDK layer-1 running the decentralized RPC / data-provider marketplace. Read every blockchain "spec" supported by the marketplace (chain id, name, enabled API interfaces, api count); the RPC providers staked to serve a given chain (moniker, address, stake, delegations, commission, geolocation, endpoint count, jail status); the current pairing epoch; plus the staking pool with bonded ratio and validator set, the total LAVA supply and the latest block. The Lava / DePIN / RPC-provider-marketplace layer for explorers, provider dashboards and infrastructure tooling.

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

## Pricing
- **Free** (Free) — 3,200 calls/Mo, 2 req/s
- **Basic** ($16/Mo) — 72,000 calls/Mo, 5 req/s
- **Pro** ($45/Mo) — 270,000 calls/Mo, 15 req/s
- **Business** ($96/Mo) — 980,000 calls/Mo, 40 req/s

## Endpoints

### RPC Marketplace

#### `GET /v1/chains` — Blockchain specs in the RPC marketplace

**Parameters:**
- `enabled` (query, optional, string) — Set true to return only enabled chains Example: `true`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lava-api/v1/chains?enabled=true"
```

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "count": 77,
        "chains": [
            {
                "name": "celo alfajores testnet",
                "enabled": true,
                "chain_id": "ALFAJORES",
                "api_count": 65,
                "interfaces": [
                    "jsonrpc"
                ]
            },
            {
                "name": "aptos mainnet",
                "enabled": true,
                "chain_id": "APT1",
                "api_count": 25,
                "interfaces": [
                    "rest"
                ]
            },
            {
                "name": "arbitrum mainnet",
                "enabled": true,
                "chain_id": "ARBITRUM",
                "api_count": 85,
                "interfaces": [
                    "jsonrpc"
                ]
            },
            {
                "name": "arbitrum nova testnet",
                "enabled": true,
                "chain_id": "ARBITRUMN",
                "api_count": 85,
                "interfaces": [
                    "jsonrpc"
                ]
            },
            {
                "name": "arbitrum sepolia testnet",
                "enabled": true,
                "chain_id": "ARBITRUMS",
                "api_count": 85,
                "interfaces": [
                    "jsonrpc"
                ]
            },
            {
                "name": "avalanche c chain mainnet",
                "enabled": true,
 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/providers` — RPC providers staked to serve a chain

**Parameters:**
- `chain` (query, required, string) — Lava chain id (see /v1/chains) Example: `ETH1`
- `limit` (query, optional, string) — Number of providers (1-200) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lava-api/v1/providers?chain=ETH1&limit=20"
```

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "count": 20,
        "providers": [
            {
                "stake": 29899,
                "jailed": true,
                "address": "lava@1faw4qh665t2aq4v5pezyfljsfgjedcexvg8725",
                "moniker": "rodion",
                "geolocation": 2,
                "delegate_total": 264590.400368,
                "endpoint_count": 1,
                "delegate_commission": 50
            },
            {
                "stake": 13216.346671,
                "jailed": true,
                "address": "lava@1ug53ytuc9ceehfsl2560lgd6t65fegudg34l2d",
                "moniker": "Stake Village",
                "geolocation": 35,
                "delegate_total": 351993.709613,
                "endpoint_count": 7,
                "delegate_commission": 75
            },
            {
                "stake": 7241.676316,
                "jailed": false,
                "address": "lava@1dtwmc4vxkj0kl8v2vu6gtc458tsw0hr0f647p0",
                "moniker": "marisarze",
                "geolocation": 2,
                "delegate_total": 52545.004656,
                "endpoint_count": 1,
                "delegate_commission": 50
            },
            {
                "stake": 6522.850872,
                "jailed": true,
                "address": "lava@1gvwswcf0u3hfuxvlsvq88r90587t7snk20q0w3",
                "moniker": "Mrs_ml",
                "geolocation": 2,
                "delegate_total": 451512.044093,
 
…(truncated, see openapi.json for full schema)
```

### Chain

#### `GET /v1/block` — Latest block

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

**Response:**
```json
{
    "data": {
        "time": "2026-06-15T02:09:41.965841321Z",
        "chain": "lava-mainnet-1",
        "height": 5269591,
        "num_txs": 12,
        "proposer_address": "YZrzfFtb93NvrTfAOo+FN3ICZeQ="
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:08.509Z",
        "request_id": "c4dea93a-da98-4850-8444-eb2fcbaf28d1"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

#### `GET /v1/epoch` — Current pairing epoch details

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

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "start_block": 5269560,
        "earliest_start": 5269080
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:08.637Z",
        "request_id": "419b3232-24ab-42b9-b41a-98b7ec1e66c2"
    },
    "status": "ok",
    "message": "Epoch retrieved successfully",
    "success": true
}
```

#### `GET /v1/supply` — Total LAVA supply

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

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "denom": "LAVA",
        "micro_denom": "ulava",
        "total_supply": 962506927.519918,
        "total_supply_micro": "962506927519918"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:08.765Z",
        "request_id": "766d2c6e-7df6-4369-b6d7-ad90d7c39916"
    },
    "status": "ok",
    "message": "Supply retrieved successfully",
    "success": true
}
```

### Staking

#### `GET /v1/staking` — Staking pool, bonded ratio & params

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

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "denom": "LAVA",
        "params": {
            "bond_denom": "ulava",
            "max_validators": 100,
            "unbonding_time": "1814400s",
            "min_commission_rate": "0.010000000000000000"
        },
        "bonded_ratio": 0.877892,
        "bonded_tokens": 383725058.875433,
        "not_bonded_tokens": 53373038.289189
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:08.884Z",
        "request_id": "d1cb89a5-b4cb-472b-a744-bf4c2e15dca3"
    },
    "status": "ok",
    "message": "Staking retrieved successfully",
    "success": true
}
```

#### `GET /v1/validators` — Bonded validator set by voting power

**Parameters:**
- `limit` (query, optional, string) — Number of validators (1-200) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lava-api/v1/validators?limit=20"
```

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "count": 20,
        "validators": [
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "w3coins",
                "website": "https://www.w3coins.io",
                "voting_power": 22707289.999399,
                "commission_rate": 0.05,
                "operator_address": "lava@valoper1redm898asxjshvpxpkfalx2xnzgp79rg2wqyaf"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "CryptoSJnet",
                "website": "https://cryptosj.net/",
                "voting_power": 17943928.320809,
                "commission_rate": 0.2,
                "operator_address": "lava@valoper1q9xyutm3888xarak5zy8x95qkqhzece4cwxgqc"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "rodion",
                "website": null,
                "voting_power": 10528022.647557,
                "commission_rate": 0.01,
                "operator_address": "lava@valoper1faw4qh665t2aq4v5pezyfljsfgjedcexcpuecr"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "Stakecito Labs",
                "website": "https://www.stakecito.com",
                "voting_power": 8073587.887687,
                "commission_rate": 0
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Chain metadata & endpoint guide

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

**Response:**
```json
{
    "data": {
        "chain": "lava-mainnet-1",
        "token": "LAVA",
        "source": "Lava public Cosmos REST/LCD, keyless (3-mirror)",
        "network": "Lava Network",
        "decimals": 6,
        "examples": {
            "epoch": "/v1/epoch",
            "chains": "/v1/chains?enabled=true",
            "providers": "/v1/providers?chain=ETH1&limit=20"
        },
        "endpoints": {
            "/v1/block": "latest block (height, time, chain_id)",
            "/v1/epoch": "current pairing epoch details",
            "/v1/chains": "all blockchain specs supported by the Lava RPC marketplace (enabled=true to filter)",
            "/v1/supply": "total LAVA supply",
            "/v1/staking": "staking pool, bonded ratio and params",
            "/v1/providers": "RPC providers staked to serve a chain (chain=ETH1, limit)",
            "/v1/validators": "bonded validator set ranked by voting power (limit)"
        },
        "micro_denom": "ulava",
        "cache_ttl_ms": 20000
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:09.124Z",
        "request_id": "f8edb593-7b09-4ea9-8adc-9f584566c701"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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