Read a complete CometBFT validator set at one height
Voting power concentration depends on the full active set. A default RPC page can omit lower-power validators and inflate percentages.
Fix the height before paginating
Point RPC at the CometBFT HTTP endpoint and replace 12000 with a retained height. Keep that same height across pages and continue until you have collected total entries.
curl -fsS "$RPC/validators?height=12000&page=1&per_page=50"
curl -fsS "$RPC/validators?height=12000&page=2&per_page=50"
If page one reports count 50 and total 82, collect the remaining 32 before summing voting_power. Convert decimal strings into integers and identify validators by their consensus addresses.
Interpret the denominator
Power in this response belongs to the consensus set at the requested height. Staking token balances, delegator counts and the next height’s set can all differ. Record block_height with any concentration figure. github.com CometBFT RPC