What is SWQoS on Solana
When the network is busy, a Solana leader receives far more transactions than it can take in. SWQoS (stake-weighted quality of service) decides whose transactions get through. This guide explains how it works and how to send your transactions over staked connections.
How transactions reach the leader
Transactions travel to the TPU (Transaction Processing Unit) of the current and upcoming leaders over QUIC connections. Each leader accepts only a limited number of connections and streams at a time, so during congestion it has to choose which traffic to take.
How SWQoS shares that capacity
- The leader gives most of its connection capacity to staked peers, in proportion to the stake behind each connection.
- Unstaked connections, such as most public RPC nodes and bots that send directly, share what is left.
- When traffic spikes, unstaked traffic is the first to be throttled or dropped.
| Path to the leader | Connection | During congestion |
|---|---|---|
| Public RPC | Unstaked, shared with everyone else | Often throttled, dropped or delayed |
| Staked connection (SWQoS) | Backed by validator stake, with capacity in proportion to it | Keeps getting through |
What SWQoS does not do
SWQoS gets your transaction to the leader. It does not decide where the transaction ends up in the block. The leader still orders transactions by priority, so set a compute unit limit and a priority fee that reflect current conditions. See Priority fee.
SWQoS also cannot make a failing transaction succeed. Simulate before you send.
Sending over staked connections with Private TPU Send
Private TPU Send delivers your signed transactions to the TPU of the current and upcoming leaders over QUIC connections prioritized by stake. Your transactions do not go through public RPC nodes or shared queues, and they are excluded from the Private Orderflow stream.
- Same interface as RPC. It uses the Solana JSON-RPC
sendTransactionmethod, so an existing sender only needs a different URL and an API key header. - Atomic bundles. It also accepts bundles that land in the leader slots of validators in our network. See Atomic bundles on Solana.
- Throughput as agreed in your offer. Requests above your limit are rejected right away and never queued. See Limits.
Before you switch
- Simulate through your own RPC first: Private TPU Send forwards without preflight.
- Keep one long-lived HTTP connection instead of opening a new one per transaction.
- Rate-limit on your side slightly below your agreed throughput.
- Confirm every transaction through your RPC, and resend the same signed transaction until it lands or its blockhash expires.
- Compare your landing rate against your current path. See Latency & benchmarking.
Next steps
Need help or access? Contact our support on Telegram.
Contact