Skip to main content

ShredStream Quickstart

ShredStream delivers raw shreds over UDP to a destination IP and port that you provide. Your client receives the UDP packets and processes them.

Integrate with AI
I'm integrating Blockspace ShredStream into my Solana trading bot.

Product: Blockspace ShredStream — raw Solana shreds streamed over UDP from a multi-region proxy network.
Edge: sub-10ms in Frankfurt (#2 globally), 7 regions live (FRA, AMS, TYO, NY, LON, DUB, SGP).
Auth: gRPC metadata header `x-token: <SUBSCRIPTION_TOKEN>` per request.
Wire format: standard Solana shred layout, ~1232 bytes/datagram (max 1500).
Reference receiver: https://github.com/jito-labs/shredstream-proxy
Full reference: https://docs.blockspace.everstake.one/llms-full.txt

My stack: [ADAPT: TypeScript / Rust / Python — pick one and tell me which].
My listener should bind to UDP on a port I control, decode the first 5 shreds it receives, and print slot + shred_index for each.
Host runs in the same region as the endpoint (latency edge is region-pinned).

Generate a minimal working client. Include: dependency list, the listener binding, shred decoding with solana-ledger (Rust) or an equivalent library for the chosen language, and a short note on the Blockspace proxy IPs that need to be allowed on the firewall (these are surfaced in the Blockspace dashboard per region).

ShredStream vs. Direct Shreds

Before you start, make sure you're on the right product:

ShredStreamDirect Shreds
SourceMulti-region proxy networkDirect from Everstake validator nodes
TenancyMulti-tenant (or dedicated lane on Ultra)Always dedicated, per-customer link
ProvisioningSelf-serve, instantSelf-serve, ~30 minutes
Latency p50 (in-region)Single-digit ms3 ms
PricingTiered, per-regionPer-IP / per-link
Best forMost trading bots and snipersInstitutional MEV operators, prop desks

Most users start with ShredStream. Move to Direct Shreds when you outgrow the shared lane or need guaranteed isolation.

1. Prepare your IP:port list

Before subscribing, pick a destination IP and UDP port for each region you want shreds from. There's no "select region" option in the dashboard — you provide the full list of region: IP:port pairs and we route accordingly.

Example list:

FRA - 203.0.113.1:20000
AMS - 203.0.113.2:20000
NY - 203.0.113.3:20000

Available regions: FRA, AMS, TYO, NY, LON, DUB, SGP.

For lowest latency, host each listener in the same region as the source — cross-region adds 30–100ms of RTT.

2. Subscribe in the dashboard

Open the dashboard → ShredStream → Subscribe:

  • Pick your tier (Connect or Ultra).
  • Paste the region: IP:port list from step 1.
  • Save. Stream starts within minutes.

3. Allow Blockspace proxy IPs

If your firewall filters incoming traffic on the listener port, allow the Blockspace proxy IPs for each region. The current proxy IPs are surfaced in the dashboard.

Proxy IPs may rotate

Proxy IPs can change during maintenance or migration. You'll be notified with the updated list — keep your firewall config consistent with the dashboard.

4. Receive shreds

Shreds arrive as UDP packets in raw Solana shred wire format. You need software that decodes them and reconstructs slots/blocks.

Reference implementation: jito-labs/shredstream-proxy — drop-in receiver and forwarder for raw shreds. Point it at your listener and you'll have a working pipeline in minutes.

You typically combine shred-decoding with a Solana node or a library like solana-ledger to reconstruct executable transactions.

5. Verify

You should see UDP packets arriving continuously — one slot generates ~30–60 shred messages on average. If the listener is silent:

  • Check the firewall — Blockspace proxy IPs must be allowed on your destination port.
  • Confirm region match — your listener IP must be reachable from the chosen region.
  • Re-check the IP/port pair in the dashboard.
Region matters

ShredStream's latency advantage is region-pinned. Run your client in the same region as the endpoint (FRA / AMS / TYO / NY / LON / DUB / SGP) — cross-region adds 30–100ms of network RTT and erases the lead.

Next