πŸ› οΈ Building a Receiver

Raw Shred Stream delivers raw Solana shreds straight to your server over UDP, into your own receiver. That is the point of the product: you sit as close to the wire as possible and keep full control over how the data is received, reassembled, and decoded. One rule: the deshredder/decoder must be optimized, or the latency advantage is lost on your side. This page explains what your receiver needs to do, and when Decoded Shred Stream is the better fit.

TL;DR β€” raw shreds need a fast, optimized deshredder/decoder to keep the latency edge. If you would rather not run a decoder at all, Decoded Shred Stream delivers transactions already reassembled.


🧩 What You Need to Build

With raw shreds, the pipeline from the wire to usable data is yours to build:

StageWhat you implement
UDP socket + OS buffersOpen and bind a UDP socket, tune rmem_max/maxsockbuf, and monitor drops
DeshreddingParse the Solana shred binary format from each datagram
ReassemblyReorder and reassemble shreds by index within each slot (FEC/Merkle)
Transaction decodingDeshred and decode Solana transactions from the reassembled payloads
LifecycleDrain sockets and flush buffers cleanly on shutdown

Each UDP datagram carries one raw Solana shred β€” see Network Setup for socket-buffer tuning, and the Raw Shred Quickstart for a minimal listener that confirms datagrams are arriving. Need something that runs today? The legacy shredstream client does the client-side deshredding for you, but is no longer the recommended option for latency β€” see the Raw Shred Quickstart.


🎯 When Raw Shreds Are the Right Choice

Choose Raw Shred Stream if you:

  • Want maximum control and the lowest-level access, closest to the wire.
  • Already run β€” or want to run β€” your own deshredding, reassembly, and decoding pipeline.
  • Need to keep your stack minimal and self-contained.

Reach for Decoded Shred Stream if you:

  • Don't want to run or maintain a deshredder/decoder at all.
  • Want transactions already reassembled in standard wire format, straight into your existing parser.

⚑ Skip the Decoder Entirely: Decoded Shred Stream

If you would rather not run the pipeline, ShredStream.com offers Decoded Shred Stream: transactions already deshredded and reassembled on our nodes, delivered in standard wire format β€” over UDP or gRPC:

  • Decoded Shred Stream β€” fully reassembled Solana transactions in standard wire format, received with the decoded-shredstream client (JavaScript, Python, Rust, and Go).

It delivers at sub-millisecond latency, near-identical to a raw shred stream β€” without the deshredding and reassembly work.


➑️ Next Steps

Building a Receiver β€” Docs | ShredStream.com