Chains API
Solana validators: stake, commission, voting and blocks produced
The Solana validator set by stake: vote account, identity, stake, commission, voting or delinquent, and this epoch's leader slots, blocks produced and skipped slots.
/api/external/chain-analysis/validators/{chain}What it returns
Every Solana validator with a vote account, largest stake first, one page at a time: its vote account and identity, active stake in SOL, commission, whether it is voting (false when the chain lists it as delinquent), its newest vote, and its block production so far this epoch (productionFirstSlot to productionLastSlot): leader slots, blocks produced and slots it skipped. A validator that led no slot yet this epoch has 0 of each; the three are null only when two vote accounts share one identity, so production cannot be split between them. The totals describe the whole set, not the page. The set refreshes about once a minute; pages cut from the same refresh are consistent.
Chains
- Solana SOL
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/chain-analysis/validators/SOL"
| Parameter | Description |
|---|---|
offsetquery · integer · optional | How many validators to skip, in stake order. Defaults to 0. |
limitquery · integer · optional | How many validators to return: 1 to 200. Defaults to 50. limit ≤ 100 keeps the answer under 32 KB. |
chainpath · string · required | SOL only; every other chain returns 400. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
productionFirstSlot | integer | First slot the block counts cover: the current epoch start. |
productionLastSlot | integer | Last slot the block counts cover: the newest confirmed slot at refresh. |
validatorCount | integer | Validators in the whole set. |
votingCount | integer | Of them, voting. |
delinquentCount | integer | Of them, delinquent (not voting). |
totalActivatedStakeSol | number | Active stake of the whole set, in SOL. |
offset | integer | Echoes the request. |
limit | integer | Echoes the request. |
validators | object[] | This page, largest stake first. Empty when offset is past the set. |
validators[].voteAccount | string | The vote account address. |
validators[].identity | string | The identity address, the one the leader schedule names. |
validators[].activatedStakeSol | number | Active stake delegated to it, in SOL. |
validators[].commission | integer | Percent of rewards it keeps, 0 to 100. |
validators[].voting | boolean | False when the chain lists it as delinquent. |
validators[].lastVote | integer | The newest slot it voted on. |
validators[].leaderSlots | integer | null | Slots it was scheduled to lead in the production range. |
validators[].blocksProduced | integer | null | Of those, slots where it produced a block. |
validators[].skippedSlots | integer | null | leaderSlots minus blocksProduced. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key