The latency stack
Every Corvus Solana stream ordered by how early it sees a transaction: Shredstream, aRPC, Yellowstone gRPC, WebSocket, and how to pick a rung.
Every stream we sell answers the same question (what just happened on Solana) at a different point in a transaction's life. The earlier the rung, the sooner you see it and the less certainty comes with it. Pick the rung whose trade-off matches your application, not the fastest one you can reach.
| Rung | Interface | What you see | What you give up |
|---|---|---|---|
| Network propagation | Shredstream | Raw shreds as the network propagates them, pushed to you over UDP | Everything: no session, no ordering, no delivery guarantee, no execution context. You reconstruct the data yourself |
| Pre-execution | aRPC | Decoded or binary transactions, entries and slot observations as we see them on the network, before they execute | Execution results and account state |
| Post-execution | Yellowstone gRPC | Typed account, transaction, slot and block streams after execution | The head start; this is the earliest rung where account state exists at all |
| Post-execution, standard | WebSocket | Standard Solana PubSub | Yellowstone's filter breadth and typed payloads |
| On request | JSON-RPC | Whatever you ask for, when you ask | You're polling; everyone above is already ahead of you |
Account state only exists after execution, so nothing pre-execution can stream it: if you're watching accounts or program state, Yellowstone gRPC is your top rung. If you're reacting to transactions, aRPC sees them before they execute, and Shredstream sees the wire before anything decodes it.
Which rung?
- You run your own parsing infrastructure and want the wire itself: Shredstream. It's push-based, fire-and-forget UDP; loss, duplication and reordering are yours to handle.
- You trade on transactions and can confirm before acting: aRPC. Pre-execution streams in all nine metros, unlocked at plan RPS + TPS ≥ 500.
- You need account or program state, or block-level data: Yellowstone gRPC, in the five Solana RPC metros.
- You want drop-in compatibility with the Solana SDK you already run: WebSocket.
Everything pre-execution is an observation rather than a result. Confirm anything you act on through Solana RPC, at the commitment level your application requires.
How fast is it in practice?
Speed here depends on your region, your filters and your network path, so measure it where your client actually runs. For how our gRPC stream places against other providers, see the provider comparison.