Skip to content
All use cases
Solutions

Solana shred feeds for MEV searchers

A candid latency budget for reconstructing proposed Solana state from shreds, evaluating MEV opportunities, and competing to land a response.

Where the milliseconds go

StageBudgetNotes
Detection0.15 to 0.8 msClassify candidate programs and writable-account intersections on the receive path.
Decode0.4 to 2.2 msReconstruct entries and extract the transaction prefix needed by the search strategy.
Decision0.3 to 3.0 msRun bounded search over prepared state transitions and reject low-confidence candidates.
Signing0.05 to 0.30 msSign a prebuilt response with a local key.
Submission0.8 to 10 msUse a warm path chosen for the scheduled leader and the strategy's inclusion method.
Land40 to 450 msWait for a leader to accept and execute the response under contention.

6 stages define search latency

MEV is value caused by transaction ordering, inclusion, exclusion, or the state change between observations. A shred feed exposes transactions during proposed block production. That is an early view of executed ordering, not a public queue of pending intent.

shredstream.sh sends raw UDP from Frankfurt to one IP and port. The price is $100 for 30 days. On 2026-08-31, the feed measured 54.3 Mbps, 5,585 packets per second, and 1,216 mean packet bytes, which produces 17.6 TB over 30 days. Those are ingest facts. Search revenue depends on decoding, state, submission, competition, and policy.

The phrase MEV searcher covers distinct systems. Atomic arbitrage, liquidation, backrun, failed-state cleanup, and routing improvement have different inputs. Sandwiching creates direct negative externalities for the user whose trade is surrounded. One generic promise about speed cannot describe all of them.

The visible order has already been proposed

Solana has no public mempool. When a transaction appears in a shred, the current leader has already placed it in a proposed block fragment. A searcher cannot treat it as pending in the Ethereum sense. A response usually targets a later point, potentially a later slot, and its relative position is uncertain.

This constraint does not make early data irrelevant. Proposed state can expose a price movement, an account becoming eligible, or a state transition that makes a later transaction profitable. It does mean that detection and landing are different races. The winner at detection can lose at submission.

Forks add another boundary. A valid leader signature shows who produced the shred. It does not guarantee the slot becomes canonical. Search state should preserve its source slot and fork. Final profit should be reconciled only after the outcome reaches the desk's chosen commitment level.

Position on harmful ordering

Sandwiching observes a user trade, places one trade before it to worsen the user's execution, then places another after it to capture the induced movement. The mechanism transfers value from the user's slippage tolerance to the searcher and can degrade execution quality.

Our position is plain: shredstream.sh does not endorse strategies designed to harm retail users, and this page is not a guide to constructing them. Teams using network data remain responsible for venue rules, applicable law, market integrity, and the effects of their ordering behavior. Describing the existence of the mechanism does not make the externality acceptable.

There are MEV strategies with different effects. Arbitrage can align venue prices. Liquidation can restore protocol solvency. Backruns can still create congestion or contend with users even when they do not precede the observed trade. Each strategy needs a policy review alongside its latency review.

Slot, shred index, and entry order form the proposed execution sequence. FEC set index and shred variant let the receiver recover a missing fragment without holding unrelated work. Completion flags release usable entry ranges before full slot completion. The leader signature authenticates the producer.

Transaction account keys are an efficient first search index. Writable-account intersections identify state transitions that can affect known pools, lending markets, auctions, or other supported protocols. Program IDs and instruction discriminators select a strategy module. Instruction data supplies amounts and parameters. Signatures deduplicate and later join the observation to canonical history.

These fields do not provide pre-execution return data by themselves. A searcher may need to replay supported instructions against a local state model. Full general-purpose runtime execution is slower and harder to keep correct than protocol-specific transition functions. The strategy must state which programs and versions it can model.

A defensible latency budget

StageTargetWhat the number assumes
Detection0.15 to 0.8 msFixed maps classify program and account intersections during batch processing.
Decode0.4 to 2.2 msThe required entry prefix is available, with bounded reorder or FEC work.
Decision0.3 to 3.0 msSearch is restricted to prepared routes and supported transition models.
Signing0.05 to 0.30 msA local key signs a message whose structure is already built.
Submission0.8 to 10 msA warm connection follows a current leader route from suitable infrastructure.
Land40 to 450 msInclusion depends on leader timing, policy, fees, conflicts, and capacity.

Detection through submission totals 1.7 to 16.3 milliseconds. Landing is reported separately because it can exceed every local stage combined. The lower local figure is credible only for a narrow search implemented around fixed data structures. It is not credible for a remote state read, a full graph rebuild, or broad transaction simulation.

Detection can use account Bloom filters or exact hash sets, program discriminators, and precomputed writable intersections. False positives are acceptable if the next stage rejects them cheaply. False negatives remove opportunities and can corrupt state, so the filter version must be tested against decoded replay.

Decode time starts when the needed bytes are available, not when the first shred of the slot arrives. Publish both. A transaction split across shreds cannot be parsed from optimism. Reordering and erasure recovery create a separate tail that should not be buried in a median.

Decision time is a search-space budget. A prepared two-pool route can be repriced in microseconds to fractions of a millisecond. A broad combinatorial search can grow until the opportunity expires. Put a deadline and expansion limit on every candidate, then preserve the best safe result found before the deadline.

Signing and submission require prebuilt infrastructure. A remote key service, new connection, stale leader map, or regional detour invalidates the target. Measure p50, p95, p99, and timeout counts. One minimum observed in a lab is not a service property.

Work a backrun example without pretending certainty

Assume a supported swap decoded from proposed state moves pool A to 100.40 while pool B remains at 100.16. A two-leg response appears to have a 24 basis point gross spread. Pool fees total 12 basis points. Priority and base fees add an expected 2 basis points at the chosen size. A contention and stale-state allowance is 7 basis points. Three basis points remain before failure cost.

The strategy estimates a 60 percent land probability and a 1 basis point expected cost for failed or expired submissions. Expected residual is therefore roughly 0.6 times 3, minus 1, or 0.8 basis points under this compact model. If the desk requires 2 basis points, it rejects the candidate.

The calculation is intentionally conservative and incomplete until calibrated. Land probability varies by leader, fee, account set, route, and network conditions. Failure cost varies by how the transaction fails. The model should learn from its own submitted and landed population, not from detected opportunities alone.

The observed swap can also disappear with its fork. A response based on that transient state may fail or execute against a different price. The state engine should attach fork confidence and source completeness to the expected value calculation.

Landing is not an input-feed feature

A raw feed does not include transaction submission. The searcher chooses its outbound route. Direct leader connectivity, a block engine, a relay, and a generic RPC path have different admission, privacy, fee, and policy properties. The inbound Frankfurt location should not be presented as proof of outbound proximity.

Account conflicts matter. Two valid transactions that write the same pool cannot execute at the same instant. Compute limits matter. Transaction size and address lookup availability matter. A fee can improve incentives without overriding validity or all queue policy.

Separate acknowledgements from execution. A network send completion means bytes left the process. A relay acknowledgement means a service accepted a request under its contract. Neither means a leader included the transaction. Canonical account deltas and transaction status establish the result.

Loss policy belongs in the search model

UDP provides no ordering, retransmission, or backpressure. The receiver will see duplicates and may see gaps. A searcher that builds state from an incomplete entry prefix can produce false opportunities. The correct response to unknown state is a confidence reduction or rejection, not an invented value.

Monitor NIC drops, kernel drops, queue drops, malformed packets, signature failures, missing indexes, recovery duration, decode duration, and state age. Use coding shreds to reconstruct missing data when enough symbols arrive. Apply bounded queues because processing stale candidates while current input drops is often worse than shedding old work.

The expected source IP is 64.130.40.90. Allow inbound UDP from that address to the selected port. The destination verification challenge is valid for 600 seconds. It answers whether a datagram reached the listener during activation. It does not certify the kernel buffer, packet rate, decoder, or search result.

At 5,585 mean packets per second, per-packet allocation and logging are design errors on the receive lane. Batch reads, reuse memory, and move diagnostic formatting to sampled or aggregated paths. Measure bursts at short windows rather than sizing only from the mean.

State correctness outranks local speed

The fast state is provisional. A confirmed reconciliation process should replay supported transactions, repair fork state, and compare predicted deltas with canonical deltas. Any mismatch can invalidate a strategy version. Preserve capture references, decoder versions, model versions, and decision inputs for audit.

Protocol upgrades change layouts and semantics. An unknown discriminator should not flow into a familiar parser. Gate every program version. Shadow new parsers against known blocks. A searcher operating on wrong decimals or account ordering can sign a valid transaction with an invalid thesis.

Security also belongs in the system boundary. The lowest signing latency often means a hot key. Limit balances, isolate the signer, constrain allowed programs and amounts, and make the risk decision explicit. Raw speed does not determine an acceptable custody model.

When raw is not the bottleneck

A decoded feed is often better for research, broad protocol coverage, or strategies with opportunities lasting seconds. Confirmed RPC is better for settlement and books. If the submit route adds 150 milliseconds and the opportunity remains for minutes, maintaining a shred decoder may not change outcomes.

The service is Frankfurt-only raw UDP to one IP and port per destination. It supplies no ordering, retransmission, backpressure, global receiver fleet, or landing promise. Buyers needing those properties must build or source them separately.

Acceptance uses counterfactual replay

Save candidate state, search deadline, chosen response, predicted value, and rejected alternatives. Re-run the same bytes through the same model to prove determinism, then compare the response with canonical state at its first possible execution position. Separate model error, fork loss, contention, submission failure, and strategy decay.

Shadow mode should include every candidate, not only profitable survivors. Report detected, decoded, searched, rejected, signed, submitted, landed, and profitable counts. A land-rate denominator based only on acknowledged transactions conceals failures before acknowledgement.

Test overload by expanding the candidate set while holding the deadline fixed. Search should return the best bounded safe result or reject, never delay packet receive. Review externalities before enabling each strategy module, because technical profitability and acceptable conduct are separate gates.

MEV latency is credible only as a chain of measured stages. Detection can be below one millisecond. Decode and bounded search can fit within a few more. Submission may remain fast. Landing still carries the largest range, and strategy externalities remain real at every speed.

What this desk reads

  • slot, shred index, and parent context, to maintain ordered fork-specific proposed state
  • FEC set index and shred variant, to bound recovery and prioritize available data
  • completion flags, to release entries without waiting for the complete slot
  • leader signature, to authenticate data before it enters a search state
  • transaction account keys, to find writable conflicts and route candidates to strategy modules
  • program IDs and instruction data, to model the exact state transition under supported programs
  • transaction signature, to deduplicate observations and join landed outcomes

Questions

Is a Solana shred feed a mempool feed?
No. Solana has no public mempool of the Ethereum kind. Shreds expose transactions after a leader has included them in a proposed block and begun broadcasting it. They provide early on-chain observation, but a response still targets a later execution position and can lose to other submission paths.
Does shredstream.sh support sandwich trading?
shredstream.sh supplies raw network data and does not endorse strategies designed to worsen retail execution. Sandwiching extracts value by surrounding a user's trade and using the user's slippage tolerance. This page describes the mechanism factually, not as an implementation guide. Users remain responsible for market rules, law, and externalities.
Why is landing excluded from the 1.7 to 16.3 millisecond local total?
Landing is controlled by leader timing, route admission, transaction validity, priority policy, account conflicts, compute, and competition. Those factors produce a much wider 40 to 450 millisecond planning interval. Combining them with local processing would make a low headline number look precise while hiding the dominant uncertainty.