in-solana by Supanode

What Is Leader Schedule in Solana?

The leader schedule is the mapping of validators to slots within an epoch. Each slot has one assigned leader responsible for producing the block. The schedule is computed deterministically from the stake distribution at the start of the epoch.

How the schedule is computed

At the beginning of each epoch, the runtime takes a snapshot of all active stake. Validators are assigned leader slots proportional to their stake weight. A validator with 2% of total stake will produce approximately 2% of the blocks in that epoch. The assignment algorithm is deterministic — given the same stake snapshot and epoch seed, every node computes the same schedule.

Slot groups

Leaders are assigned in groups of four consecutive slots. This gives each leader a brief window to produce multiple blocks, reducing the overhead of leader transitions.

Querying the schedule

Use getLeaderSchedule to retrieve the full leader schedule for an epoch. The response maps validator identity public keys to their assigned slot indices.

FAQ

Can the leader schedule change during an epoch? No. Once computed, the leader schedule is fixed for the entire epoch. If a validator goes offline, its assigned slots are skipped.

How far in advance is the schedule known? The schedule for the current epoch and the next epoch are available. The next epoch’s schedule is computed two epochs ahead using stake state from two epochs prior.

What happens if a leader misses its slot? The slot is skipped and no block is produced for it. This contributes to the validator’s skip rate.

Updated: