Vote Account
A validator's on-chain identity. Records voting authority, commission rate, and a rolling history of votes and epoch credits.
Sample: Vote Account
(cached; refreshes hourly · mainnet only)
Sample temporarily unavailable
We couldn’t fetch the cached sample from mainnet right now. The full hex view will try again live.
Try the visualizerWhat it is
A Vote account is a validator’s on-chain identity. It records the validator’s voting authority, its commission rate, and a 3.7 KB rolling history of recent votes and epoch credits.
Why it exists
Every validator on Solana has exactly one Vote account. Stake accounts point at a Vote account to delegate; the Vote program records the validator’s votes (which slots it confirmed and when), and the network uses that record to distribute staking rewards proportional to the validator’s participation.
Byte layout
The first 109 bytes are field-level decodable. The remaining ~3,653 bytes are a packed buffer of recent LandedVote entries.
| Offset | Length | Field | Type | Notes |
|---|---|---|---|---|
| 0 | 4 | version |
u32 enum |
Vote state version (0 v0, 1 v1_14_11, 2 current). |
| 4 | 32 | node_pubkey |
Pubkey |
The validator’s identity keypair. |
| 36 | 32 | authorized_withdrawer |
Pubkey |
Claims rewards. Typically cold storage. |
| 68 | 1 | commission |
u8 |
Validator commission percentage (0–100). |
| 69 | 40 | authorized_voters |
epoch map | Active authorized voter pubkey by epoch. |
| 109 | 3653 | vote_history |
LandedVote[] |
Packed buffer; each LandedVote ≈ 12 bytes (slot, confirmation count, latency). |
Total: 3,762 bytes.
Where you see it
Staking flows (looking up a validator’s commission before delegating), validator dashboards, leader-schedule logic. RPC calls like getVoteAccounts return one entry per Vote account.
Common gotchas
- The on-chain layout is too dense to byte-annotate inline. For the exact
LandedVotestruct, see the Agave source linked above or walk the buffer withgetProgramAccountson the Vote program. authorized_voterrotates per epoch. The on-chain layout stores a small map of(epoch → pubkey)entries, not a single pubkey.- Commission changes don’t apply instantly. Vote programs enforce timing limits to prevent rugging delegators mid-epoch.
Last verified: 2026-05-19