All articles
Solana·December 29, 2025·5 min read

Solana RPC and Latency: Cutting Milliseconds Off Your Bot

How geo-located validators, gRPC Geyser streams, and staked connections shave critical milliseconds off your Solana trading bot's execution path.

On Solana, a block lands every 400 milliseconds. If your bot is hitting a public RPC endpoint in a distant data centre, you may already have burned 60–150 ms of that window before a single byte of your transaction reaches a validator. The rest of your alpha — the strategy logic, the priority-fee calculation, the bundle construction — only matters if the transport layer does not eat it first. This is an infrastructure problem, and it has infrastructure solutions.

Why Standard RPC Falls Short

A typical sendTransaction call over a public JSON-RPC endpoint carries several hidden costs. The request travels to an RPC node, that node forwards it to its internal transaction processing unit, and the unit gossips it to the leader. Each hop adds serialisation overhead, queue depth jitter, and physical round-trip time. Under load, public endpoints also rate-limit and deprioritise anonymous traffic, so your transaction competes for bandwidth with thousands of other callers.

The deeper issue is that JSON-RPC is a polling and request/response model. If you are watching account state — a liquidity pool reserve, a perp funding rate on a CLOB order book, or a prediction-market resolution window — you are either hammering getAccountInfo in a loop or tolerating the delay of a WebSocket subscription that is still routed through the same overloaded node. Neither approach gives you the edge you need when a large print hits and you have one slot to react.

gRPC Geyser: The Real-Time Feed You Actually Want

Geyser is a Solana validator plugin interface that streams account updates, slot changes, and transaction notifications at the speed of the internal validator pipeline — before blocks are confirmed. Consuming Geyser over gRPC instead of JSON-RPC eliminates the polling round-trip entirely. Your process receives an account mutation the moment the validator processes it, not after a client poll wakes up and a JSON response is serialised.

For a sniper or arbitrage bot, this distinction is decisive. A Geyser subscriber can detect a pool reserve change or a new mint account in the same slot it lands, giving the bot time to construct, simulate, and sign a transaction while the slot is still open. Providers like Triton One and Helius expose managed Geyser gRPC endpoints; running a dedicated validator with the plugin yourself gives you even lower queue depth at the cost of operational overhead.

Key things to track via Geyser streams rather than polling:

  • Account state deltas — AMM reserves, vault balances, oracle prices
  • Slot updates — know exactly when the current leader's slot begins
  • Transaction statuses — detect competing fills on your target accounts without waiting for block confirmation
  • Program logs — watch for on-chain events like limit-order fills or protocol fee changes in real time

You can see how we put these primitives to work in our Solana sniper bot case study, where sub-slot reaction time was the primary engineering constraint.

Geo-Location and Staked Connections

Physical latency cannot be optimised away in software. If the current leader is a validator colocated in Frankfurt and your bot is hitting an RPC node in Virginia, you are donating roughly 90 ms of speed of light delay before the transaction even reaches the validator's ingest queue. The solution is to maintain a map of active leader schedules and route sendTransaction calls to an RPC or staked node that is geographically close to the current and next leader.

Solana's getLeaderSchedule returns slot-to-validator assignments up to an epoch in advance. A well-built trading-bot services stack maintains a background process that resolves validator IP addresses, measures round-trip times, and keeps a hot-standby connection open to the nearest node before that validator becomes leader.

Staked connections go one step further. Validators give priority ingress to transactions received from other staked nodes over anonymous RPC traffic. By routing through a staked connection — either a self-operated staked validator or a provider that offers staked relay endpoints — your transaction bypasses the public mempool queue and lands in the leader's priority lane. Combined with a correctly sized priority fee (compute-unit price set above the 75th-percentile of recent slots, not just above zero), a staked relay can cut effective confirmation latency by 30–50% compared to a standard RPC call.

Jito Bundles and the MEV Layer

For strategies that are sensitive to transaction ordering — cross-venue arbitrage, liquidation racing, or any scenario where being second means losing — Jito bundles are the correct primitive. A bundle is an atomically ordered group of transactions submitted directly to Jito-modified validators, bypassing the gossip layer. The bundle either lands as specified or does not land at all, which also serves as a soft anti-rug guarantee: your simulation runs cleanly in the same environment the validator will execute.

Bundle tips are paid in SOL to the Jito block engine and should be sized dynamically based on expected profit. Static tips lead to either overpaying on low-value opportunities or losing bundles to higher bidders during volatile windows. A kill-switch that halts bundle submission when simulated PnL drops below tip cost is not optional — it is the difference between a profitable bot and one that donates SOL to validators on bad trades.


Infrastructure is the silent multiplier on every strategy you deploy. Getting geo-location, Geyser streaming, and staked connections right will not make a poor strategy profitable, but it will ensure a good strategy actually captures the edge it is designed for. If you are ready to build or audit your Solana execution stack, start a project with us and we can scope the infrastructure alongside the strategy.

Need a bot like this built?

We design, build and run trading bots on Solana, Hyperliquid and Polymarket.

Start a project
#rpc#latency#infra