# NEAR Validators & Staking API
> Read NEAR's validator set and network economics live from a public NEAR RPC endpoint — no key. NEAR is sharded proof-of-stake: validators stake NEAR, produce blocks and chunks across shards, and earn rewards. The NEAR on-chain reader resolves a single account's state and the view reader runs contract view methods, but neither surfaces the validator set, the next-epoch staking proposals, or the live network economics. This opens that. List the current epoch's validators ranked by stake — each with its account id, stake in NEAR, the blocks and chunks it produced versus expected (its uptime) and slash status; read the next-epoch staking proposals (the validators entering, leaving or re-staking for the upcoming epoch); and read the live network economics — the gas price (in yoctoNEAR), the epoch length in blocks, the protocol version and the block/chunk producer kickout thresholds. The validator / staking / network layer for NEAR explorers, staking dashboards, delegators and analytics. Distinct from the NEAR on-chain account reader and the NEAR view-function reader. Live from RPC; short cache only.

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

## Pricing
- **Free** (Free) — 8,200 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 150,000 calls/Mo, 10 req/s
- **Pro** ($29/Mo) — 820,000 calls/Mo, 25 req/s
- **Scale** ($83/Mo) — 5,150,000 calls/Mo, 60 req/s

## Endpoints

### Validators

#### `GET /v1/validators` — Current validators ranked by stake

**Parameters:**
- `limit` (query, optional, string) — Page size (1-100) Example: `25`

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

**Response:**
```json
{
    "data": {
        "note": "The current epoch's NEAR validators ranked by stake — each with its account id, stake in NEAR, the blocks and chunks it produced vs expected (its uptime), and slash status. NEAR is sharded proof-of-stake; this is its active validator set. Paginate with limit.",
        "count": 25,
        "source": "NEAR RPC",
        "validators": [
            {
                "account_id": "bisontrails2.poolv1.near",
                "is_slashed": false,
                "stake_near": 30390321.398128968,
                "blocks_expected": 1697,
                "blocks_produced": 1697,
                "chunks_expected": 12250,
                "chunks_produced": 12172,
                "block_uptime_pct": 100
            },
            {
                "account_id": "figment.poolv1.near",
                "is_slashed": false,
                "stake_near": 28806190.371839214,
                "blocks_expected": 1634,
                "blocks_produced": 1634,
                "chunks_expected": 8982,
                "chunks_produced": 8934,
                "block_uptime_pct": 100
            },
            {
                "account_id": "astro-stakers.poolv1.near",
                "is_slashed": false,
                "stake_near": 28720357.401510064,
                "blocks_expected": 1586,
                "blocks_produced": 1586,
                "chunks_expected": 11423,
                "chunks_produced": 11389,
                "block_uptime_pct": 100
         
…(truncated, see openapi.json for full schema)
```

### Proposals

#### `GET /v1/proposals` — Next-epoch staking proposals

**Parameters:**
- `limit` (query, optional, string) — Page size (1-100) Example: `25`

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

**Response:**
```json
{
    "data": {
        "note": "The next-epoch NEAR staking proposals ranked by stake — the validators that have proposed their stake for the upcoming epoch (those entering, leaving or re-staking). Compare with /v1/validators to see set changes. Paginate with limit.",
        "count": 25,
        "source": "NEAR RPC",
        "proposals": [
            {
                "account_id": "bisontrails2.poolv1.near",
                "stake_near": 30390910.26413971
            },
            {
                "account_id": "figment.poolv1.near",
                "stake_near": 28807376.17941196
            },
            {
                "account_id": "astro-stakers.poolv1.near",
                "stake_near": 28723346.36702873
            },
            {
                "account_id": "binancenode1.poolv1.near",
                "stake_near": 23824670.086951647
            },
            {
                "account_id": "bitwise_1.poolv1.near",
                "stake_near": 22356177.93806855
            },
            {
                "account_id": "zavodil.poolv1.near",
                "stake_near": 20582497.663090996
            },
            {
                "account_id": "sumerian.poolv1.near",
                "stake_near": 18463363.113977835
            },
            {
                "account_id": "ledgerbyfigment.poolv1.near",
                "stake_near": 17391174.671891764
            },
            {
                "account_id": "staked.poolv1.near",
                "
…(truncated, see openapi.json for full schema)
```

### Network

#### `GET /v1/network` — Live gas price, epoch length, kickout thresholds

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

**Response:**
```json
{
    "data": {
        "note": "NEAR's live network economics and protocol parameters — the current gas price (in yoctoNEAR), the epoch length in blocks, the protocol version and the block/chunk producer kickout thresholds (the uptime % below which a validator is removed). Combine with /v1/validators to judge validator health.",
        "source": "NEAR RPC",
        "chain_id": "mainnet",
        "gas_limit": 1000000000000000,
        "epoch_length": 43200,
        "gas_price_yocto": "100000000",
        "protocol_version": 84,
        "max_gas_price_yocto": "10000000000000000000000",
        "block_producer_kickout_threshold": 80,
        "chunk_producer_kickout_threshold": 80
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:52.006Z",
        "request_id": "41910221-7ed6-436f-a280-871fcf4b5caf"
    },
    "status": "ok",
    "message": "Network retrieved successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sample": {
            "epoch": 4464,
            "validators": 390
        },
        "source": "public NEAR RPC (rpc.mainnet.near.org), keyless",
        "service": "nearvalidators-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/network": "Live gas price, epoch length and protocol kickout thresholds.",
            "GET /v1/proposals": "Next-epoch staking proposals ranked by stake (limit).",
            "GET /v1/validators": "Current validators ranked by stake, with uptime (limit)."
        },
        "description": "Read NEAR's validator set and network economics live from a public NEAR RPC: list the current epoch's validators ranked by stake with uptime, read the next-epoch staking proposals, and read the live network economics (gas price, epoch length, kickout thresholds). The validator / staking / network layer for NEAR explorers, staking dashboards and delegators. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:03:52.079Z",
        "request_id": "65f3eb72-6c6e-41ab-b04e-004d283cf54c"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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