The commitment ladder
Every read of Solana sits somewhere on a ladder of certainty. The higher you climb, the more sure you are - and the longer you waited.
| Level | What it means | Certainty | Latency |
|---|---|---|---|
| First-seen (shreds) | Transaction observed propagating, pre-block | Lowest | Earliest |
processed | A validator executed it (possibly on a minority fork) | Low | Very low |
confirmed | A supermajority voted for its block | High | Higher |
finalized | Rooted, irreversible (~31+ confirmations) | Highest | Highest |
Most applications read at confirmed or finalized because they want certainty. Searchers and
market makers often want the opposite end: the earliest possible glimpse, accepting that it's
provisional. The skill is knowing which rung a given decision belongs on.
Certainty and speed sit at opposite ends of the same ladder. The art isn't picking one - it's using the earliest rung for signal and the highest rung for settlement.
What "first-seen from shreds" actually is
When a leader produces a block, it doesn't broadcast the block whole - it splits it into shreds, small erasure-coded packets that propagate across the cluster through Turbine. Decode the data shreds for a slot and you can reconstruct the entries, and from the entries, the individual transactions - while the block is still in flight. (The mechanics are in What Are Solana Shreds?.)
That means you can see a transaction before any validator has finished assembling its block, and
well before your RPC node would surface it at confirmed. You're reading the network's intent at
the moment it's expressed, not after it's been ratified.
// decoded transactions, straight from the propagation layer
const stream = await rpcedge.subscribe({
endpoint: "grpc://iad1.rpcedge.com:443",
source: "shreds",
decode: true,
filter: { programs: [RAYDIUM, PUMP_FUN] },
});
for await (const tx of stream) {
// tx is decoded, first-seen, pre-confirmation
signal.evaluate(tx); // react now - but don't settle yet
}Where pre-confirmation state bites
The whole value of first-seen is that it's early. The whole risk is that it's provisional. Three ways it can turn on you:
- Forks. The slot you saw can land on a fork that loses the vote. Solana resolves forks quickly, but "quickly" is not "instantly," and a transaction on the losing fork never happened.
- Skipped slots. A leader can fail to produce, or its block can be skipped. Shreds you began reassembling may never complete into a finalized block.
- Ordering and inclusion. Seeing a transaction propagate doesn't guarantee its final position, or that a competing transaction won't reorder the outcome you were counting on.
None of these make first-seen useless. They make it conditional. Treat a pre-confirmation transaction as a high-quality prediction, not a settled fact.
Using it safely
The teams that win with pre-confirmation data don't pretend the risk away - they engineer around it. A few non-negotiables:
- Separate signal from settlement. Let first-seen drive your decision to act; let a
finalizedread drive your accounting. Never book a position as real on shred data alone. - Reconcile against finality. Every action you take on first-seen should have a follow-up that confirms the transaction finalized - and an explicit path for when it didn't (unwind, hedge, cancel).
- Bound the exposure. Size first-seen-driven actions so a reorg or drop is survivable. The head start is an edge, not a license to bet the book on provisional state.
- Make it idempotent. If you re-see the same transaction (or a corrected version after de-shredding fills in gaps), your pipeline should converge, not double-act.
Who should read this early
First-seen earns its keep when milliseconds change the outcome and you can tolerate provisional
input: arbitrage and sniping, MEV searching, liquidations, and copy-trading where landing first is
the entire game. It's the wrong tool for accounting, settlement, user balances, or anything where
correctness must beat speed - those belong at confirmed or finalized.
In practice the strongest pipelines layer all three commitment regimes: shreds for first-seen signal, gRPC for live state, and RPC for confirmed truth - each doing the job it's actually good at.
Want first-seen decoded transactions?
rpc edge decodes shreds co-located with the cluster and streams them over gRPC - the earliest view, reconciled against finality on your terms.
The takeaway
Pre-confirmation state is the fastest read of Solana there is - and the least certain. That tension isn't a flaw to fix; it's the trade you're choosing. React on first-seen, settle on finality, and keep the exposure in between small enough to survive a reorg. Do that, and the head start is pure edge instead of hidden risk.