Use cases
ShredStream unlocks time-sensitive strategies that are not possible with RPC polling or even Yellowstone gRPC.
MEV and backrunning
ShredStream delivers transactions before they appear in a confirmed block. Combined with Jito bundles, you can detect and react to on-chain events within the same slot:
for await (const shred of client.subscribe({})) { if (!shred.isLastInSlot) continue; // Full slot assembled — inspect transactions before RPC propagation const entries = assembleEntries(shred); for (const entry of entries) { for (const tx of entry.transactions) { if (isMevOpportunity(tx)) { // Submit bundle to Jito block engine await submitBundle(buildBackrun(tx)); } } }}Speed trading
- Detect large swaps, liquidations, or oracle updates before block confirmation.
- Place limit orders or trigger hedges on CEXes based on on-chain events.
- React to price moves before they propagate to public RPC endpoints.
Block explorer and indexing
Build block explorers or indexers that show transactions as they happen — not after confirmation. Users see trades appear in your UI 200–400 ms faster than competitors using public RPC.
Validator monitoring
- Detect missed blocks before they are rooted — alert before the epoch report.
- Track your own validator's shred production rate in real-time.
- Identify network partitions by watching for shred gaps.
Not recommended for
- High-level transaction parsing — use
getTransactionwithjsonParsedencoding for that. - Fetching account state — shreds contain transactions, not account data snapshots.
- Applications that don't need sub-confirmation latency — Yellowstone gRPC is simpler and sufficient.