Yellowstone gRPC
Slot Subscriptions
Track slot progression and chain state. A slot represents a ~400ms period during which a leader can produce a block. Essential for understanding confirmations and synchronizing with the blockchain.
Filter Fields
filter_by_commitmentoptional boolWhen true, only receive updates matching the request's commitment level. Reduces update volume.
interslot_updatesoptional boolWhen true, receive updates during slot progression for a more granular view of the slot lifecycle.
Filter Definition
Request Filter
Protobufmessage SubscribeRequestFilterSlots {
optional bool filter_by_commitment = 1;
optional bool interslot_updates = 2;
}Response Structure
Response
Protobufmessage SubscribeUpdateSlot {
uint64 slot = 1;
optional uint64 parent = 2;
SlotStatus status = 3;
optional string dead_error = 4;
}
enum SlotStatus {
SLOT_PROCESSED = 0;
SLOT_CONFIRMED = 1;
SLOT_FINALIZED = 2;
SLOT_FIRST_SHRED_RECEIVED = 3;
SLOT_COMPLETED = 4;
SLOT_CREATED_BANK = 5;
SLOT_DEAD = 6;
}Example
Stream confirmed slot updates
RustSubscribeRequest {
slots: HashMap::from([(
"confirmed_slots".to_string(),
SubscribeRequestFilterSlots {
filter_by_commitment: Some(true),
},
)]),
commitment: Some(CommitmentLevel::Confirmed as i32),
..Default::default()
}