The Last Vote
Gallery 1Consensus, 2020 - 2026

The Last Vote

On 21 October 2026, Solana stopped writing consensus votes to its ledger. Alpenglow moved them off-chain. This is the last one the ledger kept.

Exhibit 001 3KTc92j4BiVqSz35J1xPjPmd5f3UwNVRhokLtCuiXekrw1nQ3A6JuGXY2rcFhH1NqifvvVN4bXPfqmz1S6XbLs7L Slot 459,652,999

Votes no longer written

connecting
--------

since Exhibit 001 · an estimate, see note

------

slots without an on-chain vote

--

since 13:54:00 UTC, 21 Oct 2026

Live from a keyless public Solana RPC. The estimate multiplies slots since the last vote by the share of slots that produce a block and by the 667 votes an average block carried in our pre-switch sample, about 3,000 a second. It is a rough figure, not a count.

Gallery 2Exhibit 002

Flatline

Votes in every block from slot 459,652,900 to 459,653,300, read from the chain one block at a time. Then nothing.

  1. 13:36:05459,648,000Epoch 1064 begins and Alpenglow activates. On-chain votes keep landing for another 4,999 slots, about eighteen minutes.
  2. 13:54:00459,652,999The last block with votes: 649 of its 1,051 transactions. Exhibit 001 sits at position 1,050.
  3. -459,653,000-007Eight slots, no blocks. The next block names 459,652,999 as its parent.
  4. 13:54:03459,653,008First block of the new era: 1,701 transactions, zero votes.
  5. after-The Vote program is still called, only to manage accounts. Through slot 459,687,529: 29 calls (withdrawals, authority and commission changes), no votes.
Gallery 3Reading room

What you are looking at

I

What a vote transaction was

Every Solana validator, for nearly every slot, signed a small transaction saying which blocks it had seen and agreed with. It paid a 5,000 lamport fee and went into a block like any other transaction. Weighted by stake, those votes are how the network decided a block was final.

Exhibit 001 is a TowerSync: one validator's view of slots 459,652,968 through 459,652,998, plus its root.

II

Why they are gone

Alpenglow replaces that design. Its voting component, Votor, sends votes as direct messages between validators instead of writing them to the ledger. Validators still vote. The votes just never become transactions.

Published figures put finality at about 100 - 150 ms, down from about 12.8 s.

III

What it frees up

Blocks that carried several hundred votes each, about 667 on average in our sample, now carry only user transactions. A vote is no longer a fee-paying transaction, and the ledger no longer stores one vote record per validator for nearly every slot.

What it does not promise: any particular fee level or throughput. Those depend on demand and on the rest of the network.

ProvenanceFile 001/M

How we found it

  1. Listed every confirmed block from slot 459,648,000 (epoch 1064, activation) to the tip at search time with getBlocks.
  2. Binary searched those blocks with getBlock for the last one holding a consensus vote instruction (TowerSync, CompactUpdateVoteState and the other vote variants). Account admin, like withdrawals, does not count.
  3. Fetched every slot from 459,652,900 to 459,653,300 to confirm votes stop at once and do not trickle back.
  4. Cross-checked with the Vote program's own signature index, paged back from the tip past the boundary. Every later call was account admin; none was a vote.
  5. Took the last vote in block order inside slot 459,652,999.

Confidence: high, for "last on-chain vote included in a confirmed block". All votes in that block share one slot and one block time, so "last" means last in block order. Full write-up in METHOD.md. Data: last-vote.json.