in-solana by Supanode

What Is ShredStream and When You Need It

TL;DR

  • - ShredStream delivers raw shreds from leaders before blocks are assembled
  • - Provides lower latency than gRPC or WebSocket for time-critical applications
  • - Operated by Jito as a paid service
  • - Requires custom parsing of shred data

ShredStream is a Jito-operated service that delivers raw Solana shreds directly from block leaders. It provides the lowest-latency data feed available, ahead of gRPC and WebSocket methods.

How ShredStream works

When a leader produces a block, it breaks the block into shreds and distributes them via Turbine. ShredStream intercepts these shreds early in the propagation tree and forwards them to subscribers.

The data arrives before the block is fully assembled and processed. For latency-sensitive applications, this means seeing transaction data tens to hundreds of milliseconds earlier than waiting for a confirmed block via gRPC.

ShredStream vs gRPC vs WebSocket

MethodLatencyData formatProcessing
ShredStreamLowestRaw shredsMust reassemble and parse
gRPC (Yellowstone)LowProtobuf messagesStructured, ready to use
WebSocketMediumJSONStructured, ready to use
HTTP pollingHighestJSONStructured, ready to use

When to use ShredStream

Trading bots. Sniper bots and arbitrage bots need to see new transactions as early as possible. The latency advantage of shreds over processed blocks can determine whether a trade executes first.

MEV extraction. Searchers watching for MEV opportunities benefit from seeing transactions before finalization.

Custom indexers. High-throughput indexers that need every transaction as fast as possible, and have the engineering capacity to parse raw shreds.

When NOT to use ShredStream

  • Dashboards and explorers — gRPC provides structured data with lower engineering cost
  • Wallet backends — standard RPC methods provide sufficient latency
  • Most applications — the added complexity of shred parsing rarely justifies the latency gain

Technical requirements

ShredStream requires:

  1. A subscription with Jito for ShredStream access
  2. A proxy process (jito-shredstream-proxy) to receive and forward shreds
  3. Custom code to reassemble shreds into entries and transactions
  4. Understanding of Solana’s shred format (data shreds, coding shreds, Reed-Solomon erasure coding)

FAQ

How much faster is ShredStream than gRPC? Typically 50–200ms faster for the first shreds of a block, depending on your position in the Turbine tree and geographic location. The advantage varies per slot.

Do I need to run a validator for ShredStream? No. Jito provides ShredStream as a service. You run the jito-shredstream-proxy to receive data.

Can ShredStream show me transactions that will fail? Yes. Shreds contain all transactions the leader includes, including ones that fail execution. You see the raw data before execution results are known.

Updated: