gRPC API Reference
Yellowstone gRPC protocol documentation and subscription reference.
The Yellowstone gRPC API provides a high-performance streaming interface for Solana data. The protocol uses Protocol Buffers for serialization and gRPC for transport.
Subscription Request
The primary method is Subscribe, which accepts a SubscribeRequest and returns a stream of SubscribeUpdate messages. The request specifies what data to receive through filter objects.
Account Filters
Subscribe to account updates using the accounts field. Specify owner programs, account addresses, or data filters (memcmp, dataSize). Account updates are delivered whenever an account's data or lamport balance changes.
Transaction Filters
Subscribe to transactions using the transactions field. Filter by accountInclude (transactions touching specific accounts), accountExclude (exclude transactions touching specific accounts), accountRequired (transactions touching ALL specified accounts), vote (include/exclude vote transactions), and failed (include/exclude failed transactions).
Slot Filters
Subscribe to slot status updates using the slots field. Receive notifications when slots are processed, confirmed, and finalized. Essential for tracking transaction finality in indexers.
Block Filters
Subscribe to complete block data using the blocks field. Receive all transactions in each block as they are produced. This is the most comprehensive but also most bandwidth-intensive subscription type.
Commitment Levels
Specify the commitment level for your subscription: PROCESSED (earliest, can be rolled back), CONFIRMED (voted by supermajority), FINALIZED (maximum lockout). Most trading applications use PROCESSED for minimum latency.