ShredStream vs gRPC — When to Use Each
ShredStream and Yellowstone gRPC are both low-latency data sources for Solana, but they serve different purposes. ShredStream delivers raw shreds (block fragments) before the block is complete. gRPC delivers processed account updates and transactions after slot confirmation.
Disclosure: This site is affiliated with Supanode. Supanode links on this page are marked. Technical details are from Jito and Yellowstone public documentation.
Comparison
| Feature | ShredStream | gRPC (Yellowstone) |
|---|---|---|
| Data type | Raw shreds (block fragments) | Processed accounts, transactions, blocks |
| Latency | Lowest (pre-confirmation) | Low (post-confirmation) |
| Completeness | Partial (shreds arrive incrementally) | Complete (after slot processing) |
| Parsing required | Yes (reassemble and decode shreds) | No (structured data) |
| Filtering | Block-level only | Account, program, transaction filters |
| Provider | Jito | Multiple (Helius, Supanode, Triton, others) |
| Use case | MEV, ultra-low-latency trading | Indexing, monitoring, general streaming |
When to use ShredStream
ShredStream is for applications where microseconds matter:
- MEV extraction: See transactions before the block is finalized to identify arbitrage opportunities.
- Liquidation bots: Detect price movements from partial block data to submit liquidations faster.
- High-frequency trading: React to trades appearing in shreds before gRPC can deliver the confirmed transaction.
The tradeoff: you receive raw shreds that must be reassembled and decoded. Not all shreds for a block arrive, and you are working with unconfirmed data that may be in a skipped slot.
When to use gRPC
gRPC is the standard choice for reliable, filtered data streaming:
- Indexing: Index all transactions for a program with guaranteed delivery.
- Account monitoring: Watch specific accounts for changes.
- Trading bots (non-MEV): React to confirmed transactions with structured data.
- Analytics: Stream slot, block, and transaction data for dashboards.
The data arrives later than ShredStream but is confirmed, complete, and pre-parsed.
Can I use both?
Yes. A common architecture in competitive trading:
ShredStream → Early signal detection (unconfirmed)
↓
Decision engine
↓
gRPC → Confirmation and state verification (confirmed)
↓
Execute transaction
ShredStream provides the earliest possible signal. gRPC confirms the state before execution.
FAQ
How much faster is ShredStream than gRPC? ShredStream delivers data 200–400ms earlier than gRPC, depending on the block producer’s location and network conditions. This is the difference between seeing a transaction in shreds (pre-confirmation) versus in a confirmed slot (post-confirmation).
Do I need both for a trading bot? For non-MEV trading bots, gRPC alone is sufficient. ShredStream adds value only when you need to act on data before block confirmation, which is primarily relevant for MEV and ultra-competitive strategies.
Is ShredStream data reliable? ShredStream delivers raw shreds as produced by the block leader. Shreds can arrive out of order, some may be missing, and the slot may ultimately be skipped. Your application must handle these cases.
Updated: