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.

No published standalone product lists less than the $100 charged for this 30-day search destination. Search infrastructure receives the entire Frankfurt-origin stream through one configured address and UDP socket; revenue still 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

Public pending intent is unavailable on Solana. When a transaction appears in a shred, its leader is already broadcasting fragments for a candidate block. A searcher cannot treat that observation as Ethereum-style pending flow. Its response normally seeks a subsequent point, potentially during another slot, with uncertain relative position.

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 identifies shred production without guaranteeing canonical slot status. Search state should preserve source slot and fork. Reconcile final profit 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.

Proposed execution sequence combines the slot, shred position, and entry position. Recovery-set identity plus variant lets the receiver repair one missing fragment without holding unrelated work. Completion flags mark entry ranges ready before full slot assembly. Producer authentication comes from the leader signature.

Transaction account keys are an efficient first search index. Writable-account intersections identify transitions affecting known pools, lending markets, auctions, or other supported protocols. Strategy modules are selected through program identity and the instruction discriminator. Instruction bytes supply amounts and parameters. Signatures deduplicate and later join observations 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.

Keep the search path narrowly timed

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.

Local search work consumes 1.7 to 16.3 milliseconds before submission completes. Landing is separate because it can exceed every local stage combined. The lower figure is credible only for a narrow search built on fixed data structures, never a remote state read, full graph rebuild, or broad 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 within microseconds or a sub-millisecond interval. A broad combinatorial search can grow until opportunity expiry. Give every candidate a deadline and expansion limit, then preserve the best safe result found in time.

Signing and submission require prebuilt infrastructure. A remote key service, new connection, stale leader map, or regional detour invalidates the target. Report the median and tail percentiles alongside timeout counts. One lab minimum is not a service property.

Work a backrun example without pretending certainty

Assume a supported swap decoded from proposed state moves pool A to 102.50 while pool B stays at 102.25. A two-leg response shows about 24 basis points of gross spread. Pool fees take 11, priority and base fees take 3, and the contention plus stale-state allowance takes 6. Four 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

Raw UDP search input has no packet-order guarantee, retransmission, or receiver backpressure. Duplicates will arrive and gaps may occur. Building state from an incomplete entry prefix can produce false opportunities, so unknown state calls for lower confidence or rejection, never an invented value.

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

The searcher's allowlist records 203.23.178.228 specifically for its chosen UDP socket. Search activation accepts its challenge for 600 seconds. This answers whether traffic reached the listener without certifying kernel buffers, packet rate, decoder, or search result.

At high packet rates, 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.

Carry early observation into search and submission

Raw shreds deliver their strongest edge when prepared decoders, bounded strategy models, and warm submit paths convert a state change into action within the opportunity lifetime. Reconcile settlement and books at the chosen canonical commitment.

Each search destination receives Frankfurt's raw UDP through the socket registered for that receiver. Search infrastructure must supply ordering, loss recovery, overload control, regional redundancy, and any landing path. Make queueing, recovery, receiver redundancy, and outbound submission explicit components.

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 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
  • entry-completion flags, to release useful bytes ahead of complete slot assembly
  • authenticated producer evidence, to validate data before admitting search state
  • transaction account keys, to find writable conflicts and route candidates to strategy modules
  • program identity with instruction bytes, to model exact transitions for supported protocols
  • transaction signature, to deduplicate observations and join landed outcomes

Questions

Is a Solana shred feed a mempool feed?
No. Solana does not expose Ethereum-style public pending flow. Shreds reveal transactions once their leader begins broadcasting candidate block bytes. This observes block production early, but any response seeks subsequent execution 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?
Leader timing, route admission, transaction validity, priority policy, account conflicts, compute, and competition control landing. Those factors widen its modeled interval to 40 through 450 milliseconds. Combining them with local processing would make a low headline number look precise while hiding dominant uncertainty.