# Avalanche P-Chain Validators & Staking API
> The Avalanche Primary Network validator set — Avalanche's proof-of-stake — live from the official public Avalanche API, no key, nothing cached. Avalanche secures its Primary Network with hundreds of permissionless validators who stake AVAX (and accept delegations) on the P-Chain; this is the first Avalanche reader in the marketplace. Rank the current validators by stake weight, each with its node id, total stake (own plus delegated, in AVAX), share of network stake, uptime, delegation fee, delegator count and the validation reward pending at the end of its term. Look up a single validator by node id for its stake, rank, delegators and uptime. And read a live staking overview — the validator count, how many are connected, the total AVAX staked on the Primary Network, the current circulating AVAX supply and the average uptime of the set. The validator-and-staking layer for Avalanche wallets, staking dashboards, delegators and analytics. Live from api.avax.network.

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

## Pricing
- **Free** (Free) — 7,350 calls/Mo, 3 req/s
- **Starter** ($10/Mo) — 140,000 calls/Mo, 9 req/s
- **Pro** ($34/Mo) — 800,000 calls/Mo, 22 req/s
- **Business** ($91/Mo) — 5,100,000 calls/Mo, 55 req/s

## Endpoints

### Validators

#### `GET /v1/validator` — One validator by node id: stake, rank, delegators, uptime

**Parameters:**
- `nodeID` (query, optional, string) — Avalanche node id (omit for the top validator)

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

**Response:**
```json
{
    "data": {
        "note": "A single Avalanche validator by node id: its total stake (in AVAX), rank, share of staked AVAX, delegators, delegation fee, uptime and pending reward. Omit nodeID for the top validator.",
        "rank": 1,
        "source": "Avalanche P-Chain",
        "node_id": "NodeID-7pDhCWQKNrpCjTL6tB7uNvBUnBQ5amgob",
        "end_time": 1782792000,
        "connected": true,
        "start_time": 1779143291,
        "uptime_pct": 99.9811,
        "weight_pct": 1.6558,
        "delegated_avax": 0,
        "delegator_count": 0,
        "stake_weight_avax": 2999999,
        "delegation_fee_pct": 2,
        "potential_reward_avax": 18738.2352
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:35.506Z",
        "request_id": "62ed8abe-0bdd-4953-a070-83ee6e9ac2fb"
    },
    "status": "ok",
    "message": "Validator retrieved successfully",
    "success": true
}
```

#### `GET /v1/validators` — Validators ranked by stake weight, with uptime, delegators, fee, reward

**Parameters:**
- `limit` (query, optional, string) — Max validators (1-200) Example: `25`

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

**Response:**
```json
{
    "data": {
        "note": "Avalanche Primary Network validators ranked by stake weight (own plus delegated, in AVAX). weight_pct is the validator's share of total staked AVAX; uptime_pct and connected reflect liveness; potential_reward_avax is the reward pending at the end of the validation period.",
        "count": 25,
        "source": "Avalanche P-Chain",
        "validators": [
            {
                "rank": 1,
                "node_id": "NodeID-7pDhCWQKNrpCjTL6tB7uNvBUnBQ5amgob",
                "end_time": 1782792000,
                "connected": true,
                "start_time": 1779143291,
                "uptime_pct": 99.9811,
                "weight_pct": 1.6558,
                "delegated_avax": 0,
                "delegator_count": 0,
                "stake_weight_avax": 2999999,
                "delegation_fee_pct": 2,
                "potential_reward_avax": 18738.2352
            },
            {
                "rank": 2,
                "node_id": "NodeID-8su1eeSjb4emswAx453du7ya3Pp8p2wSe",
                "end_time": 1782691200,
                "connected": true,
                "start_time": 1776088350,
                "uptime_pct": 99.9027,
                "weight_pct": 1.6558,
                "delegated_avax": 0,
                "delegator_count": 0,
                "stake_weight_avax": 2999998.9963,
                "delegation_fee_pct": 20,
                "potential_reward_avax": 34791.7063
            },
            {
                "r
…(truncated, see openapi.json for full schema)
```

### Stats

#### `GET /v1/stats` — Live staking overview: validators, total AVAX staked, supply, average uptime

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

**Response:**
```json
{
    "data": {
        "note": "Live Avalanche Primary Network staking overview: the active validator count, how many are connected, total delegations, average uptime, the total AVAX staked on the Primary Network and the current circulating AVAX supply.",
        "source": "Avalanche P-Chain",
        "connected_count": 637,
        "validator_count": 670,
        "total_stake_avax": 225170964.3082,
        "total_delegations": 27994,
        "average_uptime_pct": 95.155,
        "current_supply_avax": 472339753.6798
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:35.727Z",
        "request_id": "f0c190a0-033e-4f7b-b499-f956c393d74c"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sample": {
            "validators": 670,
            "total_stake_avax": 225170964.3082
        },
        "source": "official public Avalanche API (api.avax.network /ext/bc/P), keyless",
        "service": "avaxvalidators-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/stats": "Live staking overview: validators, total AVAX staked, supply, average uptime.",
            "GET /v1/validator": "One validator by node id: stake, rank, delegators, uptime (nodeID; omit for top).",
            "GET /v1/validators": "Validators ranked by stake weight, with uptime, delegators, fee, reward (limit)."
        },
        "description": "Read the Avalanche Primary Network validator set live from the official public Avalanche API: rank validators by stake weight with their node id, total stake (own plus delegated), uptime, delegation fee and pending reward; look up a single validator by node id; and read a live staking overview (validator count, total AVAX staked, current supply, average uptime). The validator-and-staking layer for Avalanche wallets, staking dashboards and delegators. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:35.832Z",
        "request_id": "34760e08-c29c-4503-ac53-0e651d2383b2"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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