What Is QUIC in Solana?
QUIC is the transport protocol used by Solana validators to receive transactions at the TPU. Solana adopted QUIC (replacing raw UDP) to enable connection-level rate limiting, flow control, and TLS encryption for transaction ingestion.
Why Solana switched to QUIC
Before QUIC, validators received transactions over plain UDP. This made it impossible to identify senders or enforce per-sender rate limits, leading to network spam and unfair transaction processing during congestion. QUIC provides:
- Connection identity — each sender establishes a QUIC connection, enabling per-sender limits
- Flow control — the validator can back-pressure senders when the TPU queue is full
- TLS encryption — transaction data is encrypted in transit
- Stream multiplexing — multiple transactions can be sent over one connection
QUIC and Stake-Weighted QoS
With QUIC connections identified, validators can implement SWQoS — allocating more TPU capacity to connections from staked nodes. This makes transaction forwarding through staked RPC nodes or validators more reliable than sending from an unstaked client.
FAQ
Do I need to implement QUIC in my application? No. When you use sendTransaction via an RPC node, the RPC node handles the QUIC connection to the leader. Direct TPU sending requires a QUIC client, but most developers use an RPC provider or a transaction sending service instead.
Does QUIC add latency? The QUIC handshake adds a small initial delay for connection setup, but once established, the connection is reused for multiple transactions. The latency impact is negligible compared to the reliability improvements.
Updated: