Understanding RabbitStream, Solana Shreds and difference with Yellowstone gRPC.
Team Shyft
Team Shyft
5 min read
·
Nov 3, 2025
Press enter or click to view image in full size
Rabbitstream Cover
On Solana, speed isn’t just important — it’s everything. If you’re building high-stakes applications like trading bots or token snipers, detecting a transaction just milliseconds before your rivals is how you win. To understand which tool to use for streaming depending on speed and context, we must first understand the differences between two data streaming sources from the Solana validator: Shreds and Yellowstone gRPC.
In case you have missed out, here is an introduction to Rabbitstream.
Yellowstone gRPC: Source with Full Transaction Context
The Yellowstone gRPC plugin or the geyser plugin, is Solana’s official interface for streaming structured data out of the validator. The data is extracted after a transaction completes the full validator pipeline — Gossip, Shredding, and Execution in the RPC — and then is streamed using the Yellowstone Plugin.
This is the most widely adopted and battle-tested implementation of this interface is Yellowstone gRPC Geyser.
Extraction Point: Data is streamed after it has been executed by the RPC. (Post execution)
Key Feature: Provides the complete transaction, including the meta field, logs, and balances.
Trade-Off: Slower than Shreds because it must wait for the execution process to finish.
Solana Shreds: Ultra-Low Latency Source
Shreds are the raw, tiny packets of data that a Solana validator immediately sends out to the network using the Turbine protocol. The data is extracted just after the Gossip and shredding step, before the transaction has been executed by the RPC, and hence is faster. However, since it is not executed by the RPC, the data which is generated post execution i.e. meta, innerInstructions, logs and balances, is not available.
This is particularly useful in sniper bots, where the complete transaction is not required only the necessary context.
Extraction Point: Data is extracted before it is executed by the RPC.
Key Feature: Faster streaming than Yellowstone gRPCs.
Trade-Off: Missing all execution context (transaction meta, logs, fees, final status).
1.3. The Core Difference
The distinction is clear: Shreds offer a raw, immediate signal (the fastest detection) while Yellowstone gRPC offers a reliable, full report (the most context).
Press enter or click to view image in full size
Solana Yellowstone vs Rabbitstream
Difference between Yellowstone and Rabbitstream
The Problem with Shreds: Why Unfiltered Data Fails Most Builders
While raw shreds offer unbeatable speed, working with them has some technical and financial challenges for developers:
Filters Not Available, Data Overload: Shreds are completely unfiltered. This means you receive every single transaction on Solana — including all internal voting transactions and failed transactions — creating a massive, unmanageable data load. No form of filtering is available for the raw stream.
Difficult Decoding Requirements: The data structure of raw shreds is complex and binary-encoded, rendering them incompatible with standard Solana parsing libraries. This requires custom, time-consuming decoding logic for every application.
Missing Transaction Context: Since shreds are unconfirmed, they lack the full transaction metadata (meta), including crucial data like program logs, inner instructions, and pre/post token balances. This fundamentally limits their utility primarily to simple sniping strategies.
High Expense: Very few providers offer raw or decoded shred streams, and those services are often priced out of reach for independent developers and smaller teams.
RabbitStream: The Unfiltered Speed, Filtered for You
RabbitStream provides real-time transactions extracted directly from shreds, coming straight from leaders, and streamed through a gRPC interface. It combines the delivery speed of shreds, and the usability and filtering power of Yellowstone.
Find out more about Rabbitstream — a very new streaming solution from Shyft
Here are a few features of Rabbitstream which offers some advantages over raw shreds.
Yellowstone gRPC Style Filtering — Use the exact same SubscribeRequest format as Yellowstone gRPC. Filter by accountInclude, accountRequired, and more—no complex decoding is required on your end.
Compatible Transaction Structure — Transactions are streamed with a structure similar to Yellowstone gRPC (minus the full meta data), making it instantly compatible with existing gRPC clients and processing logic.
Ultra-Low Latency — Feel Solana’s pulse as it happens. RabbitStream provides the lowest latency for transaction detection possible outside of running your own validator cluster.
Press enter or click to view image in full size
Why Rabbitstream is faster than Yellowstone RPCs
Dataflow for Rabbitstream and Yellowstone gRPCs
Choosing Your Stream: RabbitStream vs. Geyser gRPC
Wondering how to connect and stream data with Rabbitstream? Find out more here.
Speed vs. Detail: Comparing Latency and Transaction Metadata
While both RabbitStream and Yellowstone gRPC use the exact same gRPC subscription protocol, the content within the streamed transaction is different. This difference centers entirely on the meta field.
Become a member
Yellowstone gRPC delivers data after execution, guaranteeing a complete meta field with logs, fees, and final balances. RabbitStream, however, delivers data captured at the high-speed Shred level (pre-execution), meaning the valuable meta data is intentionally omitted. This side-by-side comparison illustrates the trade-off between ultra-low latency and full transaction context.
Press enter or click to view image in full size
Difference in responses: The meta field
You can find out more about Rabbitstream responses and their differences here on Shyft docs.
Use Case Analysis: Which Tool is Right for Your Project?
Choosing between RabbitStream and Yellowstone gRPC comes down to a clear question: How much latency can your application tolerate, and how much transaction detail does it need to function?
Cases where RabbitStream is particularly useful:
DEX Sniping / Arb Bots: Speed is the sole factor; logs and post-balances are irrelevant if the bot is too late. The entire transaction is not required in this case.
High-Frequency Trading Alerts: Instant notification that a key account or program is active is paramount.
Cases where Yellowstone gRPCs are useful:
Real-Time Dashboards / Explorers: Requires confirmed status, fees, and logs to display accurate history.
Custom Indexing / ETL Pipelines: Must have the complete transaction meta for data integrity and accurate balance tracking.
Wallet Activity Monitor: Needs token balance changes and final execution status (meta) to confirm successful transfers.
There are also cases where a combination of both can be used. One such example can be when Building a trading strategy: We use RabbitStream for the initial, fastest trigger, and then use Yellowstone gRPC (or RPC) for confirmation and final decision-making.
We have already benchmarked RabbitStream’s performance against standard Yellowstone gRPC by creating a simple Pump.fun Token Launch Detector. Our initial tests reveal a consistent speed advantage ranging from ~15ms to 100ms.
We believe RabbitStream represents a significant unlock for developers focused on speed-critical applications.
If you liked this article, feel free to check our other articles on Introduction to Rabbitstream, or replaying slots with Yellowstone gRPCs. A big thank you for the readtime.
Happy Building!
Content retrieved from: https://blogs.shyft.to/shreds-vs-yellowstone-grpc-choosing-the-right-solana-data-stream-0e1474a51bd3.