gRPC API Reference

Yellowstone gRPC protocol documentation and subscription reference.

Updated March 202510 min read

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.

ℹ️
This section is actively being expanded. Check back for more detailed guides, code examples, and tutorials.