Shreds · Raiden Surge + Raiden Pulse
Solana shreds: raw over UDP, decoded over gRPC.
Raiden streams Solana shreds at two depths. Raiden Surge is a raw shred stream over UDP to your server’s IP and port; Raiden Pulse streams decoded shreds as pre-confirmation transactions over gRPC, filtered by account on Raiden’s side. Each is priced per region, from $49 a day for raw shreds and $70 for decoded shreds, paid in USDC, with a free 3-hour trial per region.
Surge (raw): FRA · AMS · LND · NYC · TKY
Pulse (decoded): FRA · AMS · NYC
Per region · paid in USDC on Solana
01 / The basics
What are Solana shreds?
Solana shreds are the pieces a leader validator cuts each block into while it is still producing it. Each shred is about 1.2 KB, small enough for one UDP packet. Data shreds carry the block’s entries and transactions; coding shreds carry Reed-Solomon parity, so missing data can be rebuilt once enough of a batch arrives. Reading shreds directly shows you transactions before an RPC node or a Geyser plugin does, and before the block is confirmed.
- Fragment: data and coding shredsThe leader splits block data into data shreds of 1,203 bytes and adds coding shreds of 1,228 bytes. Agave groups them into erasure batches of 32 data and 32 coding shreds.
- Propagate: TurbineTurbine fans the shreds out from validator to validator, so the leader never has to send the whole block to everyone.
- Recover: FEC reassemblyIn a full batch, any 32 of the 64 shreds are enough to rebuild it. Forward error correction covers loss inside a batch; it is not a guarantee against unlimited loss.
Every shred starts with an 83-byte common header: a 64-byte signature, a variant byte, then the slot, index, shred version and FEC set index. Sizes and layout follow Agave’s ledger code. Shreds are not transactions yet: getting transactions out means grouping shreds by slot and FEC set, recovering missing pieces, concatenating the data and decoding the entries. Who does that work is the difference between raw and decoded shreds.
02 / Choose
Raw shreds vs decoded shreds: Raiden Surge or Raiden Pulse?
Five things separate one Solana shred provider from another: where it runs, how it reaches you, how much decoding is left to you, what a region costs and whether you can try it first. Here is how Raiden Surge (raw shreds) and Raiden Pulse (decoded shreds) answer each, with Raiden Vortex alongside for teams that need executed state instead.
| Question | Raiden Surge · raw shreds | Raiden Pulse · decoded shreds | Raiden Vortex · Solana gRPC |
|---|---|---|---|
| What you receive | Raw Solana shreds, as serialized by the leader | One bincode-encoded VersionedTransaction per message, with slot, signatures and the filters it matched | Account, transaction and slot updates in the Yellowstone format |
| Data stage | Pre-confirmation | Pre-confirmation | After processing |
| Delivery | UDP to the public IP and port you register | Plaintext gRPC on port 16000, from the IP you register | Yellowstone gRPC on port 10001, from the IP you register |
| Decoding left to you | Reassembly, FEC recovery, deshredding and decoding | Deserializing one bincode transaction | Whatever your Yellowstone client already does |
| Filtering | In your own pipeline | Server-side, by account | Server-side, named filters |
| Limits | One destination IP:port per region subscription; extra destinations on request | 10 connections · 35 named filters · 5,000 accounts per filter | 20 connections · 35 named filters · 5,000 accounts per filter |
| Regions | FRA · AMS · LND · NYC · TKY | FRA · AMS · NYC | FRA · AMS · LND · NYC |
| Price per region (day / week / 30 days) | $49 / $199 / $499 | $70 / $280 / $700 | $65 / $260 / $650 |
| Free trial | 3 hours per region, once, reviewed by hand | 3 hours per region, once, reviewed by hand | 3 hours per region, once, reviewed by hand |
Choose Raiden Surge for raw shreds when
You run your own deshredder
Your pipeline already reassembles FEC sets and decodes entries, and you want the shreds with nothing in between.
You build infrastructure
Infrastructure teams running RPC or data pipelines that feed shreds into their own systems.
You need Tokyo
Surge has a TKY region; Pulse does not.
Not for you if
You have no decoder. Raw shreds are not transactions: start with decoded Solana shreds instead.
Choose Raiden Pulse for decoded shreds when
You act on new transactions
Sniper bots and launch detection, arbitrage engines and MEV searchers that want pre-confirmation transactions without running a decoder.
You index in real time
Transactions go straight into your database pipeline.
You watch specific programs
Account filters drop everything else before it leaves Raiden, so it never costs you bandwidth.
Not for you if
You need results, not intent. Shreds carry no logs, balances or status: use Solana gRPC for executed state.
03 / Raiden Surge
Raw Solana shreds over UDP (Raiden Surge)
Raiden Surge forwards raw Solana shreds from a dedicated APEX bare-metal node in each region straight to your server over UDP. There is no gRPC layer in between: you receive the shreds and run the rest of the pipeline yourself.
How raw shred delivery works
- Pick regionsSign in to the Raiden Surge dashboard with Discord and choose any of FRA, AMS, LND, NYC and TKY. Each region is its own subscription.
- Register a destinationEnter the public IP and UDP port that should receive the stream. A destination IP:port carries one active subscription, and you can change it from the dashboard, once a minute per region.
- Open the firewallAllow inbound UDP on that port from the APEX source IP of each region, listed under regions and endpoints.
- ReceiveNo validator and no special hardware: a standard server with a public IP and an open UDP port is enough. The dashboard’s Latency tab shows, per region, the live P50 time the APEX node takes to forward a shred.
UDP has no retransmission. Deduplication, loss handling and ordering belong to your pipeline, which is the price of getting the shreds first.
How to decode Solana shreds: three routes
- Your own deshredder (shred decoder). Group shreds by slot and FEC set, recover missing data from the coding shreds, concatenate and decode the entries. Full control, full maintenance.
- Raiden’s public proxy. raiden-shredstream-proxy on GitHub receives raw UDP shreds, deshreds them and serves the entries over gRPC with the
SubscribeEntriesinterface from Jito’s proto. Test it against your workload before you rely on it. - Let Raiden decode. If transactions are all you need, Raiden Pulse does the deshredding on its side.
Surge setup: receive raw shreds over UDP ↗ · APEX server IPs to whitelist ↗
04 / Raiden Pulse
Decoded Solana shreds over gRPC (Raiden Pulse)
Raiden Pulse decodes Solana shreds on Raiden’s side, FEC recovery and deshredding included, and streams the resulting transactions over gRPC before the block is confirmed. Your client deserializes one transaction per message, and only the transactions your filters ask for.
Transaction
binary_transaction: a bincode-encoded Solana VersionedTransaction, with its signatures.
Slot and timing
The slot it was seen in and a server created_at timestamp.
Matched filters
The names of your filters it matched, so one connection can serve several strategies.
Resolved lookup tables
loaded_writable_addresses and loaded_readonly_addresses: address lookup tables resolved server-side. The full account set is the static keys plus these two lists, both empty for legacy transactions.
Account filters and limits
| Field | A transaction passes when it |
|---|---|
account_required | touches every listed account |
account_include | touches any listed account |
account_exclude | touches none of the listed accounts |
10Concurrent connections
35Named filters per connection
5,000Accounts per named filter
Every subscription needs at least one named filter. A filter with more than 5,000 accounts is rejected, so split large watch lists across filters. The limits are the same on a one-day pass as on a 30-day one.
Access and protocol
- Endpoints:
fra.pulse.raiden.wtf:16000,ams.pulse.raiden.wtf:16000,nyc.pulse.raiden.wtf:16000. Plaintext gRPC, no TLS. - Access is by source IP, with no token: register your client’s public IP per region in the dashboard. An unregistered IP gets
PERMISSION_DENIED. - Service
raiden_binary.RaidenBinaryService, bidirectionalSubscribeBinaryTransactions. The proto is published in the Pulse docs. - Coming from a client built on
shreder_binary.proto? The request, filter and message fields line up. Change the package and service toraiden_binary/RaidenBinaryService, then read the two lookup-table fields.
Decoding the payload
| Language | Call |
|---|---|
| Rust (bincode 1.x) | bincode::deserialize::<VersionedTransaction>(&bytes) |
| Python (solders) | VersionedTransaction.from_bytes(bytes) |
| TypeScript (@solana/web3.js 1.x) | VersionedTransaction.deserialize(bytes) |
05 / Regions
Solana shred stream regions and endpoints
Each region is a separate subscription, so pick the one closest to your servers. For Raiden Surge, allow the APEX source IP of every region you buy; for Raiden Pulse, connect to the regional endpoint from your registered IP.
| Region | Raiden Surge: APEX source IP (datacenter) | Raiden Pulse endpoint | Raiden Vortex |
|---|---|---|---|
| FRA · Frankfurt | 198.13.140.100 (FRA2) | fra.pulse.raiden.wtf:16000 | Yes |
| AMS · Amsterdam | 64.130.43.242 (AMS3) | ams.pulse.raiden.wtf:16000 | Yes |
| LND · London | 64.130.46.240 (LON1) | Not available | Yes |
| NYC · New York | 64.130.45.192 (EWR2) | nyc.pulse.raiden.wtf:16000 | Yes |
| TKY · Tokyo | 198.13.133.221 (TYO2) | Not available | No |
Source: APEX servers and regions in the Raiden docs.
06 / Connect
Connect: a raw shred listener and a decoded shred client
Two short programs: a UDP listener that reads the common shred header from Raiden Surge, and a gRPC client that subscribes to pump.fun transactions on Raiden Pulse. Both run from the IP you registered in the dashboard.
Receive your first raw shreds (Raiden Surge)
import socket, struct
PORT = 20000 # the UDP port you registered
KIND = {0x40:"code",0x60:"code",0x70:"code",0x80:"data",0x90:"data",0xB0:"data"}
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 32 * 1024 * 1024)
sock.bind(("0.0.0.0", PORT))
while True:
pkt, (src, _) = sock.recvfrom(2048)
if len(pkt) < 83: # common shred header is 83 bytes
continue
variant = pkt[64] # after the 64-byte signature
slot, index, version, fec_set = struct.unpack_from("<QIHI", pkt, 65)
print(f"slot={slot} index={index} fec_set={fec_set} {KIND.get(variant & 0xF0,'unknown')} {len(pkt)}B from {src}")use std::net::UdpSocket;
fn main() -> std::io::Result<()> {
let sock = UdpSocket::bind("0.0.0.0:20000")?; // the UDP port you registered
let mut buf = [0u8; 2048];
loop {
let (n, from) = sock.recv_from(&mut buf)?;
if n < 83 { continue; }
let p = &buf[..n];
let slot = u64::from_le_bytes(p[65..73].try_into().unwrap());
let index = u32::from_le_bytes(p[73..77].try_into().unwrap());
let fec_set = u32::from_le_bytes(p[79..83].try_into().unwrap());
let kind = match p[64] & 0xF0 { 0x40 | 0x60 | 0x70 => "code", 0x80 | 0x90 | 0xB0 => "data", _ => "unknown" };
println!("slot={slot} index={index} fec_set={fec_set} {kind} {n}B from {}", from.ip());
}
}# example: Raiden Surge FRA, receiver on UDP port 20000
sudo ufw allow proto udp from 198.13.140.100 to any port 20000
# general Linux tuning: let SO_RCVBUF reach 32 MB
sudo sysctl -w net.core.rmem_max=33554432Offsets follow Agave’s 83-byte common shred header, little-endian: a 64-byte signature, the variant byte, then slot, index, version and FEC set index. A variant high nibble of 0x60 or 0x70 is a Merkle coding shred, 0x90 or 0xB0 a Merkle data shred; 0x40 and 0x80 are older variants. Both listeners treat each datagram as one shred, the same assumption Raiden’s public shred proxy makes.
Socket-buffer tuning is general Linux guidance, not a Raiden requirement, and it only helps a listener that asks for a bigger buffer: the Rust example keeps the OS default, so use the socket2 crate (set_recv_buffer_size) for a larger one. If your server sits behind a cloud firewall or security group, open the UDP port there too.
Subscribe to decoded shreds (Raiden Pulse)
# pip install grpcio grpcio-tools solders
# python -m grpc_tools.protoc -Iproto --python_out=. --grpc_python_out=. proto/raiden_binary.proto
import queue, grpc
from raiden_binary_pb2 import SubscribeBinaryTransactionsRequest, SubscribeRequestFilterBinaryTransactions
from raiden_binary_pb2_grpc import RaidenBinaryServiceStub
from solders.transaction import VersionedTransaction
PUMPFUN = "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
requests = queue.Queue()
requests.put(SubscribeBinaryTransactionsRequest(transactions={
"pumpfun": SubscribeRequestFilterBinaryTransactions(account_required=[PUMPFUN]),
}))
def request_iter(): # keep the request stream open
while True:
yield requests.get()
# plaintext gRPC; your registered source IP is the credential
stub = RaidenBinaryServiceStub(grpc.insecure_channel("fra.pulse.raiden.wtf:16000"))
try:
for resp in stub.SubscribeBinaryTransactions(request_iter()):
if not resp.HasField("transaction") or not resp.transaction.HasField("transaction"):
continue
upd = resp.transaction
tx = VersionedTransaction.from_bytes(upd.transaction.binary_transaction)
print(upd.slot, list(resp.filters), tx.signatures[0], len(upd.loaded_writable_addresses))
except grpc.RpcError as e:
print("rpc error:", e.code().name, e.details())// build.rs compiles proto/raiden_binary.proto with tonic-build + protox (no protoc needed)
pub mod raiden_binary { tonic::include_proto!("raiden_binary"); }
use raiden_binary::{raiden_binary_service_client::RaidenBinaryServiceClient,
SubscribeBinaryTransactionsRequest, SubscribeRequestFilterBinaryTransactions};
use std::collections::HashMap;
use tokio_stream::StreamExt;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// plaintext gRPC; your registered source IP is the credential
let mut client = RaidenBinaryServiceClient::connect("http://fra.pulse.raiden.wtf:16000").await?;
let filter = SubscribeRequestFilterBinaryTransactions {
account_include: vec![],
account_exclude: vec![],
account_required: vec!["6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P".into()],
};
let request = SubscribeBinaryTransactionsRequest {
transactions: HashMap::from([("pumpfun".to_string(), filter)]),
};
// send one request, then keep the request stream open
let outbound = tokio_stream::iter(vec![request]).chain(tokio_stream::pending());
let mut stream = client.subscribe_binary_transactions(outbound).await?.into_inner();
while let Some(resp) = stream.message().await? {
let Some(update) = resp.transaction else { continue };
let Some(tx) = update.transaction else { continue };
let sig = tx.signatures.first().map(|s| bs58::encode(s).into_string()).unwrap_or_default();
// tx.binary_transaction is a bincode VersionedTransaction
println!("slot={} sig={} alt_writable={}", update.slot, sig, update.loaded_writable_addresses.len());
}
Ok(())
}import grpc from '@grpc/grpc-js';
import protoLoader from '@grpc/proto-loader';
import bs58 from 'bs58';
const def = protoLoader.loadSync('raiden_binary.proto', { keepCase: true, longs: String, defaults: true });
const { raiden_binary } = grpc.loadPackageDefinition(def);
// plaintext gRPC; your registered source IP is the credential
const client = new raiden_binary.RaidenBinaryService('fra.pulse.raiden.wtf:16000', grpc.credentials.createInsecure());
const stream = client.SubscribeBinaryTransactions();
stream.on('data', ({ transaction: update, filters }) => {
if (!update || !update.transaction) return;
const tx = update.transaction;
const sig = tx.signatures.length ? bs58.encode(tx.signatures[0]) : '-';
console.log(`slot=${update.slot} sig=${sig} filters=${filters} bytes=${tx.binary_transaction.length}`);
});
stream.on('error', (e) => console.error('rpc error:', grpc.status[e.code], e.details));
stream.write({ transactions: { pumpfun: { account_required: ['6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'] } } });Generate the stubs from raiden_binary.proto, published in the Pulse getting-started guide ↗. Keep the request side open: a request iterator that returns half-closes the subscription. The filter above follows the pump.fun program, 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.
Versions these clients were built with. Rust: tonic 0.12, prost 0.13, tokio (rt-multi-thread, macros), tokio-stream 0.1 and bs58, with build-dependencies tonic-build 0.12 and protox 0.7; build.rs runs let fds = protox::compile(["proto/raiden_binary.proto"], ["proto"])?; tonic_build::configure().build_server(false).compile_fds(fds)?; Newer tonic releases change the build API, so pin these. Python: pip install grpcio grpcio-tools solders. Node.js: npm i @grpc/grpc-js @grpc/proto-loader bs58.
07 / Pricing
Solana shred stream pricing
Raw and decoded shreds are priced per region and per period, not per gigabyte. A one-day pass runs the same stream as a 30-day one, so you can test a region for a day before committing to a month.
| Product | 1 day | 7 days | 30 days | Free trial |
|---|---|---|---|---|
| Raiden Surge · raw shreds over UDP | $49 | $199 | $499 | 3 hours |
| Raiden Pulse · decoded shreds over gRPC | $70 | $280 | $700 | 3 hours |
- Each region is billed on its own and needs its own subscription.
- You pay in USDC on Solana from the dashboard, and each quote gets its own deposit wallet. Payment is detected in about 30 seconds, then the stream activates automatically. No card needed.
- Need executed state as well? Solana gRPC (Raiden Vortex) starts at $65 a day per region.
$49Per day, per region · raw Solana shreds (Raiden Surge) · decoded shreds from $70
Full rate card for every Raiden product: Raiden pricing in the docs ↗
08 / Trial
Free Solana shred stream trial
Raiden Surge and Raiden Pulse both come with a free 3-hour trial in every region: once per region per account, with no payment.
- Request it in the dashboardOpen the Surge or Pulse page, choose a region and enter the IP (and, for Surge, the UDP port) you will use.
- Open a Discord ticketEvery trial request is reviewed by hand, and approvals happen from the ticket on Raiden’s Discord.
- StreamThe 3 hours start when the trial is approved, not when you request it.
An IP that another account has already used for a trial can’t start a new one, and a region with an active subscription can’t start a trial. If you’d rather skip the review, a one-day pass is $49 for raw shreds or $70 for decoded shreds.
What to measure in 3 hours
- Run your current feed and Raiden on the same host, log when each transaction signature or shred arrives from each, and compare which one delivers first.
- The Pulse benchmark page describes how Raiden ran its own comparison.
- Filter to the programs you actually trade, so you measure the traffic your strategy depends on.
09 / Fit
Shreds or Geyser gRPC: when each one fits
Shreds show you a transaction early, but not what it did. Use them where being first is the job, and pair them with a post-execution stream where you need results.
Solana shred streaming use cases
Launch detection
Sniper bots that watch a launchpad program, such as the pump.fun filter in the Pulse client, and see new mints and liquidity adds before confirmation.
Arbitrage and MEV
Arbitrage engines and MEV searchers that react to pending swaps on the pools they track.
Real-time indexers
Pipelines that write transactions to a database as they appear, with account filters on decoded Solana shreds.
Custom pipelines
Teams that run their own deshredder and want raw Solana shreds with nothing in between.
Infrastructure teams
Teams running RPC or data pipelines that feed shreds into their own systems from five regions, Tokyo included.
Research
For pump.fun tokens, wallets and launches after the fact, there is Raiden Terminal (private beta).
What shreds leave out
- Shred data is pre-execution: no logs, no balance changes, no success or failure status.
- A transaction seen in shreds can still fail, or land on a fork that is later dropped.
- Raw UDP has no retransmission, so loss and duplicates are yours to handle.
If you need executed state, such as account updates, logs or processed transactions, use Solana gRPC (Raiden Vortex), the Yellowstone-compatible Geyser stream in FRA, AMS, LND and NYC. Many stacks run both: Raiden Pulse to see a transaction first, Raiden Vortex to see what it did. To act on either, land the transaction with Raiden Bolt, free on a 5 TPS Beta tier in all five regions.
10 / Migration
Coming from Jito’s shred feed?
Jito’s documentation announced that Jito ShredStream would be completely shut down on 5 September 2026, and points users to DoubleZero Edge. If your system consumed shreds through it, the path depends on what your code reads.
Raw UDP shreds
Register your receiver’s IP and port with Raiden Surge. Shreds go straight to it, with no Block Engine keypair. Each Raiden region is its own subscription, where Jito’s docs capped the proxy’s DESIRED_REGIONS at two.
Entries over gRPC
Raiden’s public raiden-shredstream-proxy on GitHub receives Surge’s UDP shreds and serves entries with SubscribeEntries from Jito’s proto. Test it against your client before you rely on it.
Only the transactions
Raiden Pulse does the deshredding and account filtering for you.
Raiden is an independent provider, not an official replacement for Jito’s service. Source: Jito Labs documentation, checked 15 October 2026.
11 / FAQ
Solana shreds questions, answered
What are Solana shreds?
Solana shreds are the pieces, about 1.2 KB each, that a leader validator splits every block into so it can travel over UDP. Data shreds carry entries and transactions; coding shreds carry Reed-Solomon parity used to rebuild missing data. Turbine spreads them from validator to validator, so reading shreds shows you transactions before RPC does and before the block is confirmed.
What is the difference between raw shreds and decoded shreds?
Raw shreds are the shreds as the leader serialized them: you reassemble, recover and decode them yourself. Decoded shreds are the transactions already rebuilt from those shreds. Raiden Surge streams raw shreds over UDP from $49 a day per region. Raiden Pulse streams decoded shreds as transactions over gRPC, with server-side account filters, from $70 a day per region.
How do I decode Solana shreds?
There are three routes. Run your own deshredder on raw shreds: group them by slot and FEC set, recover missing data from the coding shreds, then concatenate and decode the entries. Run Raiden’s public shred proxy on GitHub, which turns Raiden Surge UDP shreds into a gRPC stream of entries. Or use Raiden Pulse, where the only step left is deserializing a bincode VersionedTransaction: bincode in Rust, solders in Python, @solana/web3.js in TypeScript.
How big is a Solana shred, and what is in its header?
In current Agave, a Merkle data shred is 1,203 bytes and a coding shred is 1,228 bytes. Every shred starts with an 83-byte common header: a 64-byte signature, a variant byte, then the slot, index, shred version and FEC set index, little-endian. Data shreds add a parent offset, flags and size; coding shreds add the batch’s data and coding shred counts and their position.
Do I need a validator or special hardware to receive shreds?
No. For Raiden Surge, a standard server with a public IP and an open UDP port is enough. For Raiden Pulse, you need a gRPC client that connects from the IP you registered in the dashboard.
Should I use shreds or Geyser gRPC?
Use shreds when seeing a transaction first matters more than knowing its result. Shred data is pre-execution: it has no logs, balance changes or success status, and a transaction seen in shreds can still fail. For executed account and transaction updates, use Solana gRPC (Raiden Vortex). Many stacks run both.
Can I filter raw shreds before they reach me?
Not on Raiden’s side. Raiden Surge forwards the shred stream for each region you buy, and filtering happens in your pipeline after decoding. Raiden Pulse filters server-side by account with account_required, account_include and account_exclude: up to 35 named filters per connection and 5,000 accounts per filter.
Which regions are available, and which IPs do I whitelist?
Raiden Surge runs in Frankfurt, Amsterdam, London, New York and Tokyo. Allow inbound UDP from the APEX IP of each region you buy: FRA 198.13.140.100, AMS 64.130.43.242, LND 64.130.46.240, NYC 64.130.45.192, TKY 198.13.133.221. Raiden Pulse runs in Frankfurt, Amsterdam and New York, at fra, ams and nyc.pulse.raiden.wtf on port 16000.
How much does a Solana shred stream cost?
Prices are per region. Raiden Surge costs $49 for a day, $199 for a week or $499 for 30 days. Raiden Pulse costs $70 for a day, $280 for a week or $700 for 30 days. Each region is billed separately and paid in USDC on Solana from the dashboard.
Is there a free Solana shred stream trial?
Yes: a free 3-hour trial in each region, once per region per account, with no payment, for both Raiden Surge and Raiden Pulse. Request it in the dashboard, then open a ticket on Discord. Every trial request is reviewed by hand, and the 3 hours start when it is approved. If you’d rather skip the review, a one-day pass is $49 for raw shreds or $70 for decoded shreds.
Can I move here from Jito’s shred feed?
Jito’s documentation announced that Jito ShredStream would be completely shut down on 5 September 2026. Teams that read raw UDP shreds can register a receiver with Raiden Surge, which sends to your IP and port with no Block Engine keypair. Teams that only need transactions can use Raiden Pulse. Raiden is an independent provider, not an official replacement for Jito’s service.
Updated .
Try raw or decoded shreds free for 3 hours
Request a trial for Raiden Surge or Raiden Pulse in any region, or read the setup guides first.
Surge setup: receive raw shreds over UDPAPEX server IPs to whitelistPulse gRPC quickstart in Rust, Python and TypeScriptPricingRegions