in-solana by Supanode

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

FeatureShredStreamgRPC (Yellowstone)
Data typeRaw shreds (block fragments)Processed accounts, transactions, blocks
LatencyLowest (pre-confirmation)Low (post-confirmation)
CompletenessPartial (shreds arrive incrementally)Complete (after slot processing)
Parsing requiredYes (reassemble and decode shreds)No (structured data)
FilteringBlock-level onlyAccount, program, transaction filters
ProviderJitoMultiple (Helius, Supanode, Triton, others)
Use caseMEV, ultra-low-latency tradingIndexing, 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: