# Solana Validators & Staking API
> Who secures Solana and how decentralised it is, read straight from a public Solana RPC node. Solana is proof-of-stake: validators vote with the SOL delegated to them, and the distribution of that stake decides both rewards and security. The validators endpoint ranks validators by activated stake, with each one's stake in SOL, its share of total stake, its commission and whether it is delinquent (currently failing to vote). The staking endpoint returns the staking economics — total active stake, the circulating and total SOL supply, the percentage of supply that is staked, the current inflation rate broken into its total, validator and foundation components, and the current epoch with its progress. The centralization endpoint computes the stake-centralisation metrics — the Nakamoto coefficient (the fewest validators that together control more than one third of the stake, the amount that could halt the chain under Byzantine-fault-tolerant consensus), the top-10 and top-20 stake share, and the Herfindahl concentration index. This is the Solana validator, staking and decentralisation data-cut, distinct from the Solana on-chain account/transaction API and the other staking and exchange APIs in the catalogue. Live from a public RPC, no key on the upstream, nothing stored.

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

## Pricing
- **Free** (Free) — 27,000 calls/Mo, 5 req/s
- **Starter** ($7/Mo) — 315,000 calls/Mo, 15 req/s
- **Pro** ($20/Mo) — 1,330,000 calls/Mo, 40 req/s
- **Scale** ($47/Mo) — 4,720,000 calls/Mo, 100 req/s

## Endpoints

### Staking

#### `GET /v1/centralization` — Stake centralisation incl. Nakamoto coefficient

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

**Response:**
```json
{
    "data": {
        "note": "Nakamoto coefficient = fewest validators controlling >1/3 of stake (the share that could halt Solana under BFT); higher is more decentralised.",
        "source": "Solana RPC",
        "top1_share_pct": 3.6,
        "top10_share_pct": 23.76,
        "top20_share_pct": 35.01,
        "validator_count": 722,
        "delinquent_count": 49,
        "herfindahl_index": 99,
        "nakamoto_coefficient": 19,
        "total_active_stake_sol": 424047658.84
    },
    "meta": {
        "timestamp": "2026-06-12T01:41:20.044Z",
        "request_id": "d81c7b43-1b21-4bea-b3a7-51f300905f6e"
    },
    "status": "ok",
    "message": "Centralization retrieved successfully",
    "success": true
}
```

#### `GET /v1/staking` — Staking economics — stake, supply, inflation, epoch

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

**Response:**
```json
{
    "data": {
        "epoch": 985,
        "source": "Solana RPC",
        "validator_count": 722,
        "delinquent_count": 49,
        "total_supply_sol": 628174337.92,
        "pct_supply_staked": 67.5,
        "epoch_progress_pct": 84.13,
        "inflation_rate_pct": 3.802,
        "circulating_supply_sol": 579706711.45,
        "total_active_stake_sol": 424047658.84,
        "validator_inflation_pct": 3.802,
        "foundation_inflation_pct": 0
    },
    "meta": {
        "timestamp": "2026-06-12T01:41:27.603Z",
        "request_id": "d3a91612-8100-4f22-8ad3-971318c2f70f"
    },
    "status": "ok",
    "message": "Staking retrieved successfully",
    "success": true
}
```

#### `GET /v1/validators` — Validators ranked by activated stake

**Parameters:**
- `limit` (query, optional, string) — Max validators (max 500) Example: `50`

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

**Response:**
```json
{
    "data": {
        "count": 50,
        "source": "Solana RPC",
        "validators": [
            {
                "delinquent": false,
                "node_pubkey": "HEL1USMZKAL2odpNBj2oCjffnFGaYwmbGmyewGv1e2TU",
                "vote_pubkey": "he1iusunGwqrNtafDtLdhsUQDFvo13z9sUa36PauBtk",
                "commission_pct": 0,
                "stake_share_pct": 3.602,
                "activated_stake_sol": 15273170.51
            },
            {
                "delinquent": false,
                "node_pubkey": "Fd7btgySsrjuo25CJCj7oE7VPMyezDhnx7pZkj2v69Nk",
                "vote_pubkey": "CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1",
                "commission_pct": 7,
                "stake_share_pct": 3.491,
                "activated_stake_sol": 14805455.23
            },
            {
                "delinquent": false,
                "node_pubkey": "DRpbCBMxVnDK7maPM5tGv6MvB3v1sRMC86PZ8okm21hy",
                "vote_pubkey": "3N7s9zXMZ4QqvHQR15t5GNHyqc89KduzMP7423eWiD5g",
                "commission_pct": 0,
                "stake_share_pct": 3.159,
                "activated_stake_sol": 13397137.49
            },
            {
                "delinquent": false,
                "node_pubkey": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
                "vote_pubkey": "CatzoSMUkTRidT5DwBxAC2pEtnwMBTpkCepHkFgZDiqb",
                "commission_pct": 5,
                "stake_share_pct": 3.022,
                "activated_stake_sol": 12813614.24
        
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "Stake is converted from lamports to SOL (1 SOL = 1,000,000,000 lamports). The validator set only changes between epochs, so getVoteAccounts is cached briefly. Delinquent validators are those currently failing to vote.",
        "source": "Public Solana JSON-RPC (api.mainnet-beta.solana.com, live)",
        "service": "solanavalidators-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/staking": "Staking economics — active stake, supply, % staked, inflation, epoch.",
            "GET /v1/validators": "Validators ranked by activated stake with share & commission (limit=50).",
            "GET /v1/centralization": "Stake centralisation — Nakamoto coefficient, top-10/20 share, HHI."
        },
        "description": "Who secures Solana and how decentralised it is, from a public Solana RPC node. validators ranks validators by activated stake (stake, share, commission, delinquency); staking returns the staking economics (total active stake, SOL supply, % of supply staked, inflation rate, epoch); centralization computes the Nakamoto coefficient (fewest validators controlling >1/3 of stake — the amount that could halt the chain), the top-10/top-20 stake share and the Herfindahl index. Live, no key, nothing stored. The Solana validator / staking / decentralisation data-cut, distinct from the Solana on-chain account/transaction API and the other staking and exchange APIs.",
        "upstream_status": "o
…(truncated, see openapi.json for full schema)
```


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