DEV Community

neuralmint
neuralmint

Posted on

Solana Validator Stake Checker CLI — Track Decentralization from Your Terminal

Ever wondered how decentralized Solana really is? With over 1,500 validators securing the network, it's hard to see the big picture from the command line. Until now.

Meet Solana Validator Stake Checker — a pure stdlib Python CLI that queries the Solana mainnet RPC to show you validator stake distributions, the Nakamoto coefficient, and individual validator details. No pip install, no API keys, no dependencies.

Features

  • Top Validators by Stake — ranked with vote account, commission, and active stake
  • Validator Lookup — inspect any validator by vote account address
  • Nakamoto Coefficient — how many validators control 33.3%+ of total stake (centralization measure)
  • JSON mode--json for piping into other tools
  • Zero dependencies — pure Python stdlib only

Install

curl -L https://raw.githubusercontent.com/neuralmint/solana-stake-checker/main/solana_stake_checker.py -o solana_stake_checker.py
python3 solana_stake_checker.py --help
Enter fullscreen mode Exit fullscreen mode

Or clone the repo:

git clone https://github.com/neuralmint/solana-stake-checker.git
cd solana-stake-checker
python3 solana_stake_checker.py
Enter fullscreen mode Exit fullscreen mode

Usage

List top 10 validators

python3 solana_stake_checker.py
Enter fullscreen mode Exit fullscreen mode
Rank Vote Account         Commission   Active Stake (SOL)
---------------------------------------------------------
1    CcaH…oTN1            7%                15,823,512.73
2    he1i…uBtk            0%                14,829,828.83
3    3N7s…iD5g            0%                13,344,370.46
4    4D9R…7jFM            0%                12,931,831.43
...

Total Network Stake: 427,731,796.78 SOL
Nakamoto Coefficient (33.3% stake): 19
Enter fullscreen mode Exit fullscreen mode

Look up a specific validator

python3 solana_stake_checker.py --lookup CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1
Enter fullscreen mode Exit fullscreen mode

Machine-readable JSON

python3 solana_stake_checker.py --top 5 --json
Enter fullscreen mode Exit fullscreen mode
{
  "total_stake_sol": 427731796.78,
  "nakomoto_coefficient": 19,
  "validators": [
    {"rank": 1, "vote_account": "CcaHc...oTN1", "commission": 7, "active_stake_sol": 15823512.73},
    ...
  ]
}
Enter fullscreen mode Exit fullscreen mode

Custom top N

python3 solana_stake_checker.py --top 25
Enter fullscreen mode Exit fullscreen mode

How it works

The tool calls Solana's public JSON-RPC endpoint at https://api.mainnet-beta.solana.com using urllib.request (stdlib). It uses two RPC methods:

  • getVoteAccounts — validator list with stake, commission, and vote account addresses
  • getEpochInfo — current epoch context

All output is formatted client-side with standard Python formatting. No caching, no database, no API keys — just the public Solana RPC.

Tech Stack

  • Language: Python 3 (stdlib only — urllib, json, argparse, sys)
  • Dependencies: None. Zero. Zip.
  • License: MIT — free to use, modify, and distribute
  • API: Solana Mainnet Beta public RPC endpoint

Why Nakamoto Coefficient Matters

The Nakamoto coefficient is a decentralization metric: the smallest number of validators that would need to collude to disrupt the network. For Solana, you need the top ~19 validators to reach 33.3% of total stake (a supermajority for Byzantine fault tolerance). The higher this number, the more decentralized the network.

This tool lets you track how this metric changes over time — run it daily and compare!

What's next?

This is part of the neuralmint CLI Tools series — pure stdlib, single-file Python tools for crypto and developer utility. Check out the other tools:

Support

If you find this tool useful, consider tossing a coin to your validator:

SOL: 4TGyiYBjaYhFFPNYyCoJjf16ctUsWVBiMR1FXQxEfhWi

ETH: 0xe07f177E0725c11EEc8BeA34C5b5193CaF2a1A6a

Top comments (0)