Skip to main content
Solana is fast. Geyser is faster. Yellowstone gRPC Geyser is a high-speed, plugin-based interface that streams live Solana blockchain data directly from validator memory, eliminating the latency of traditional RPC methods.

Geyser is available starting from Growth

Geyser is available as a separate paid add-on starting from the Growth plan.

Mainnet only

The Yellowstone gRPC Geyser plugin is only available on Solana mainnet. It is not available on Solana devnet.
Benefits
  • Real-time streaming of transactions, account updates, blocks, and slot changes.
  • Uses a standard gRPC interface with protobuf-formatted payloads.
  • Accessible from any language supporting gRPC (Python, Go, Rust, JavaScript).
  • Ideal for analytics, sniping bots, MEV strategies, data indexing, real-time dashboards, and compliance monitoring.
  • from_slot/fromSlot support to replay recent slots and recover events missed during a brief disconnect. For an example, see learning-examples/recover_missed_slots_with_from_slot.py in Solana Geyser Python tutorial. The replay buffer holds a limited number of recent slots, not full history. See Replay depth with from_slot.

Replay depth with from_slot

The from_slot field replays recent slots from a server-side ring buffer, so a client that briefly disconnects can reconnect and catch up without missing events. It is a reconnection-recovery mechanism, not a historical backfill. On Global Nodes, the buffer holds approximately the last 100 slots (around a minute). Requesting a from_slot older than the buffer returns an error:
For arbitrary historical data beyond the buffer, use the standard JSON-RPC methods (getBlock, getSignaturesForAddress, and getTransaction) instead of from_slot.
Need a deeper replay window? Dedicated Nodes can be configured with a larger from_slot buffer for latency-sensitive workloads. Contact us to set this up.

Enable the Yellowstone gRPC Geyser plugin

  1. Deploy a Solana Global Node
  2. Click on your deployed Solana node.
  3. Click Add-ons > Yellowstone gRPC Geyser Plugin > Install.

Connect to your endpoint

Once the add-on is installed, the node’s Access and credentials view gains a Yellowstone gRPC section with the gRPC endpoint and the x-token. This endpoint is separate from the node’s HTTPS and WSS endpoints, and the token travels in request metadata rather than in the URL — see gRPC access via x-token. The x-token is the same value as the node’s auth token, so if your RPC endpoint already works you already have it. Geyser listens on port 443 with TLS. On Global Nodes, the console shows the full endpoint, https://yellowstone-solana-mainnet.core.chainstack.com:443. On Dedicated Nodes, it shows a bare hostname with no scheme or port. Whichever form the console shows, pass your client the form it expects, where HOST is the hostname alone — yellowstone-solana-mainnet.core.chainstack.com on Global Nodes: The two forms are not interchangeable. A TypeScript or Rust client given a bare host fails to connect, and a Python or Go client given a scheme fails to resolve it.
For full working examples, see Listening to programs using Geyser and Yellowstone gRPC (Node.js) and Solana: transactions and block time with Yellowstone gRPC.

Limits

$49/month:
  • Unlimited stream events
  • 2 concurrent streams available per platform account
  • Up to 200 accounts per filter
$149/month:
  • Unlimited stream events
  • 7 concurrent streams available per platform account
  • Up to 200 accounts per filter
$449/month:
  • Unlimited stream events
  • 25 concurrent streams available per platform account
  • Up to 200 accounts per filter

Filter limits

On Global Nodes, regardless of the plan, a single subscribe request can include up to the following number of filters of each type: Within those filters, the following limits apply:
  • Each public key list in a filter holds up to 200 keys — account and owner in accounts filters; account_include, account_exclude, and account_required in transactions and transactions_status filters; and account_include in blocks filters.
  • A subscribe request can include up to 2 accounts_data_slice entries.
  • An accounts filter must set account or owner, and a transactions or transactions_status filter must set at least one condition, such as account_include or vote. A filter without conditions, which would stream every update of its type, is rejected.
  • The SPL Token Program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) is rejected in the account field of accounts filters and in the account_include field of transactions, transactions_status, and blocks filters.
  • The System Program (11111111111111111111111111111111) is rejected in the owner field of accounts filters.
A subscribe request that exceeds any of these limits is rejected. On a Dedicated Node with the Yellowstone gRPC Geyser plugin, the filter limits can be customized.

Tooling

See:
Last modified on September 27, 2026