Solana RPC Latency Benchmarks: Helius vs Triton vs QuickNode
We ran 30 days of p50/p99 latency tests across the three major Solana RPC providers for getLatestBlockhash, sendTransaction, and simulateTransaction. Find out which provider wins for HFT and which is cheapest per million calls.
If you are building anything latency-sensitive on Solana — a sniper, an arb bot, a copytrader — your RPC provider is not a commodity choice. Over a 30-day period we instrumented three production bots to collect p50 and p99 latency numbers across getLatestBlockhash, sendTransaction, and simulateTransaction against Helius, Triton One, and QuickNode. The results are meaningfully different, and the "right" answer depends on what you are building.
Why These Three Methods
These are the three calls that dominate any bot's hot path:
getLatestBlockhash— polled continuously so your transactions reference a fresh blockhash and land before expiry. High frequency, cheap per-call, but accumulated latency across thousands of polls per hour adds up.sendTransaction— the path your signed transaction actually travels to the cluster. This is the one that determines how quickly your trade hits a validator.simulateTransaction— pre-flight simulation to check account states, CU usage and errors before committing. Latency here determines how much safety margin you can afford before expiry pressure forces you to skip simulation entirely.
All measurements were made from a Hetzner AX102 (AMD EPYC, Frankfurt) over a dedicated 10 Gbit line. Each data point is a raw wall-clock round-trip with no local caching; numbers are medians across ≥ 50,000 samples per method per provider.
The Numbers
| Method | Provider | p50 (ms) | p99 (ms) |
|---|---|---|---|
getLatestBlockhash |
Helius | 38 | 91 |
getLatestBlockhash |
Triton | 29 | 64 |
getLatestBlockhash |
QuickNode | 44 | 128 |
sendTransaction |
Helius | 52 | 143 |
sendTransaction |
Triton | 41 | 88 |
sendTransaction |
QuickNode | 61 | 201 |
simulateTransaction |
Helius | 71 | 189 |
simulateTransaction |
Triton | 58 | 112 |
simulateTransaction |
QuickNode | 88 | 264 |
Triton wins on every method, every percentile. The QuickNode p99 tail on simulateTransaction — 264 ms — is genuinely damaging if you rely on simulation before sending: a blockhash expires in roughly 150 slots (~60 seconds), but burst p99 spikes eat directly into the timing window your bot needs. Helius sits comfortably in the middle.
Solana RPC Latency and the Jito Bundle Path
Raw RPC numbers only tell part of the story. If you are using Jito bundles — which you should be for any sniper or MEV bot — sendTransaction to a standard RPC endpoint is not how your transaction actually lands. You submit bundles to Jito's block engine via a separate endpoint, and the latency of that path is independent of which RPC provider you are using.
This matters because a lot of operators conflate "fast RPC" with "fast landing." The realistic latency budget looks like:
getLatestBlockhashfrom your RPC provider- Local signing (sub-millisecond)
- Optional
simulateTransactionto your RPC provider - Bundle submission to Jito's closest block engine
Steps 1 and 3 are where your RPC provider's numbers apply. Step 4 depends entirely on your proximity to Jito's infrastructure, not your RPC provider. If you are building the kind of Solana sniper or MEV bot that needs in-block landing, make sure you are measuring both paths separately.
Cost Per Million Calls
Latency is only half the equation. As of the test period, approximate published rates for a shared RPC with 1M calls/month:
- Helius — ~$49/month (Growth plan, 10M CUs)
- Triton — custom pricing; entry shared nodes start around $200–$300/month
- QuickNode — ~$49/month (Build plan)
Triton's performance advantage comes at a significant price premium. For a bot that makes 500,000 calls per day across all three methods, Triton's cost is roughly 4–6x higher than Helius or QuickNode. For a HFT operation running in-block arb or sniping where a 10 ms edge is meaningful, that is likely worth it. For a copy-trading bot or a wallet tracker where p50 of 38 ms is already fine, Helius gives you 80% of Triton's performance at 20% of the cost.
What We Actually Run in Production
For latency-critical strategies — anything touching a Jito bundle submission window — we use Triton dedicated nodes. For monitoring, blockhash polling on secondary paths, and lower-frequency operations, we use Helius. We have not used QuickNode in production on Solana since mid-2024; the p99 tail is too unpredictable for anything where timing matters.
A few implementation notes that affect these numbers more than provider choice:
- Keep connections warm. HTTP/2 multiplexing and persistent connections shave 8–15 ms off cold-path round trips. Most SDK defaults will not do this for you.
- Poll
getLatestBlockhashon a short interval and cache locally (200–500 ms max age). The blockhash changes every ~400 ms; polling on-demand inside your send loop adds unnecessary latency. - Measure your own region. Our numbers are from Frankfurt. If you are in Tokyo or São Paulo your ranking may shift, particularly for QuickNode where edge node distribution varies by plan tier.
Running Dedicated vs Shared Nodes
Beyond the three providers above, running a private RPC node (validator with --no-voting, staked or unstaked) is the next tier. A colocated node in the same datacenter as your target validators — typically Equinix Chicago or Frankfurt — can bring sendTransaction p50 below 20 ms. The infrastructure cost is substantial (a capable machine with NVMe and 10 Gbit connectivity runs $600–$1,200/month), but for strategies where a 20 ms edge translates to real PnL it is the only serious option.
That architecture is part of what we design and operate for clients building serious latency-dependent bots — the full stack from node selection and RPC routing through to execution logic and Jito tip calibration.
If you are building a latency-sensitive bot on Solana and want infrastructure that is already calibrated for production, get in touch — we design and run this stack for clients from day one.
Need a bot like this built?
We design, build and run trading bots on Solana, Hyperliquid and Polymarket.
Start a projectMore from the blog
Public vs Paid RPC: How to Run a Fair Benchmark
A fair comparison of public and paid RPC endpoints must account for quotas, workload, freshness and support guarantees.
Read articleRPC Benchmark Percentiles Explained: p50, p95 and p99
Why averages hide the latency spikes that break trading bots, wallets and production blockchain applications.
Read articleHyperliquid REST vs WebSocket Benchmark: What to Measure
A benchmark plan for Hyperliquid market data that separates request latency from streaming freshness and recovery.
Read article