Overview
Slot messages provide updates about slot progression and status changes on the Solana blockchain. Slots are the fundamental unit of time in Solana, occurring approximately every 400ms.SubscribeUpdateSlot
Slot status update message.Fields
The slot number being updated.
The parent slot number. Most slots have a parent, but this field may be absent in certain edge cases (e.g., genesis slot).
The current status of this slot. See SlotStatus below for possible values.
Error message if the slot is marked as dead (status =
SLOT_DEAD). Describes why the slot was abandoned. Empty for other statuses.Examples
Processed Slot
Confirmed Slot
Finalized Slot
Dead Slot
SlotStatus
Enum defining the possible states of a slot.Status Values
The slot has been processed by a validator. This is the earliest status indicating that transactions in this slot have been executed. May still be subject to rollback.
The slot has been confirmed by a supermajority of the cluster. More reliable than processed, but still potentially subject to rollback in extreme circumstances.
The slot has been finalized (rooted). This is the final state for a valid slot. Once finalized, a slot is permanent and cannot be rolled back.
The first shred (packet of data) for this slot has been received. This is the earliest signal that work on a slot has begun. Only sent if you enable
interslot_updates in your slot filter.All shreds for the slot have been received and the slot is complete. Only sent if you enable
interslot_updates in your slot filter.A bank (execution context) has been created for this slot. Only sent if you enable
interslot_updates in your slot filter.The slot has been marked as dead and abandoned. This can happen for various reasons (e.g., fork, duplicate shreds, validator errors). Check the
dead_error field for details.Status Progression
Slots typically progress through these states:- SLOT_FIRST_SHRED_RECEIVED (if
interslot_updatesenabled) - First data received - SLOT_CREATED_BANK (if
interslot_updatesenabled) - Execution context created - SLOT_COMPLETED (if
interslot_updatesenabled) - All data received - SLOT_PROCESSED - Transactions executed
- SLOT_CONFIRMED - Confirmed by supermajority
- SLOT_FINALIZED - Permanently finalized
- SLOT_DEAD - Slot abandoned
Subscription Options
Basic Slot Subscription
Receive only major status updates (processed, confirmed, finalized):Commitment-Filtered Slots
Receive only updates matching your commitment level:Inter-Slot Updates
Receive all status updates including intermediate states:Both Options Combined
Use Cases
Tracking Chain Progress
Monitor slot progression to track blockchain progress:Detecting Forks and Rollbacks
Monitor dead slots to detect potential chain issues:Measuring Slot Timing
Use inter-slot updates to measure slot production timing:Commitment-Based Processing
Process data based on slot commitment level:Understanding Slot vs Block
- Slot: A fixed time period (~400ms) in which a leader validator can produce a block
- Block: The actual data produced during a slot
Related
- Filter Messages - Slot filter configuration
- Block Messages - Block updates associated with slots
- SubscribeRequest - How to subscribe to slot updates
- SubscribeUpdate - Parent message containing slot updates