in-solana by Supanode

What Is TPS in Solana?

TPS (Transactions Per Second) measures the number of transactions the Solana network processes per second. Solana’s theoretical maximum exceeds 50,000 TPS, but real-world throughput depends on transaction complexity, account contention, and network conditions.

Real vs vote TPS

Solana’s reported TPS often includes validator vote transactions, which inflates the number. To understand actual user throughput, distinguish between:

  • Total TPS — all transactions including validator votes (typically 3,000–5,000)
  • Non-vote TPS — user transactions only (typically 1,000–3,000)
  • Successful non-vote TPS — user transactions that did not fail (often lower due to failed transactions)

Why TPS varies

Several factors affect real-world TPS:

  • Account contention — transactions touching the same writable accounts serialize, reducing effective parallelism
  • Compute per transaction — complex transactions (DeFi swaps, program deployments) use more compute units, reducing the number that fit per block
  • Network conditions — congestion, leader performance, and block propagation affect throughput

Measuring TPS

Use getRecentPerformanceSamples to query recent TPS data. Each sample covers a 60-second window and reports the number of transactions and slots in that window.

FAQ

Is 50,000 TPS realistic? The theoretical maximum under ideal conditions (simple transfers, no contention) exceeds 50,000. Real-world workloads with complex transactions and shared state are lower.

How does Solana’s TPS compare to Ethereum? Ethereum L1 processes roughly 15–30 TPS. Solana’s non-vote TPS of 1,000–3,000 is significantly higher, though direct comparison is complicated by differences in transaction complexity.

Updated: