All articles
MEV·April 25, 2026·6 min read

Searcher Infrastructure for Solana: Colocation, RPC, and Latency

Winning MEV on Solana is as much a hardware race as a strategy game. We compare colocation options near Solana validators, dedicated RPC node setups, and gRPC Yellowstone stream configurations that top searchers use to shave milliseconds.

On Solana, the gap between a winning bundle and a missed opportunity is routinely measured in single-digit milliseconds. Unlike Ethereum where block time gives you twelve seconds to think, Solana's 400ms slot cadence means your entire detection-to-submission loop has to close in well under 200ms to be competitive — and that figure shrinks further when you factor in leaders who push blocks early. Before you tune a single line of arbitrage logic, you need to get the physical layer right.

Where Solana Validators Actually Live

The Solana mainnet validator set is geographically concentrated in a way that most searchers underestimate. Pull the current gossip map and you will find heavy clusters in Equinix DA2 (Dallas), Equinix NY5/NY7 (Ashburn/New York metro), and several European hubs around Frankfurt (Equinix FR2/FR5). A meaningful share of high-stake validators, and therefore future leaders, consistently colocate in these facilities.

The practical implication: if your searcher box is sitting in a US-West colo or a cloud region with no direct Equinix peering, you are donating 15–40ms of round-trip to competitors who are not. That number sounds small until you realize the validators processing your bundle are often separated from you by exactly that margin.

Colocation Options Worth Evaluating

You do not need to own a cage in Equinix DA2 to be competitive, but you do need to be close to one. Practical options in order of increasing commitment:

  • Bare-metal cloud providers with Equinix peering — Hetzner's Ashburn footprint, Latitude.sh, and Cherry Servers all offer dedicated hardware with direct Equinix cross-connects. These are the fastest path to sub-2ms reach to DA2 or FR5 without a cage contract.
  • Equinix Metal (formerly Packet) — gives you bare metal inside the same fabric as most co-located validators. Network latency to a validator in the same facility drops to the sub-millisecond range. The trade-off is cost: plan for $1,200–2,500/month per node depending on CPU spec.
  • Your own cage — only makes sense once you are running multiple nodes and need to control cross-connect capacity. At that scale you are probably already past this article.

Regardless of provider, the CPU spec matters more than people expect on Solana. The BankingStage transaction processing is single-threaded in the critical path, and your local simulation of transactions before bundle submission mirrors that bottleneck. High single-core clock speed — 5GHz+ on modern Zen4 or Raptor Lake — directly reduces your local simulation time.

Dedicated RPC Node vs. Public Endpoints

Shared RPC endpoints are a non-starter for production MEV. Rate limits aside, you are sharing queue depth with thousands of other callers, which introduces jitter that is fundamentally unpredictable. For our trading bot deployments the baseline is always a dedicated RPC node in the same facility as the searcher, running the full ledger so you can serve getAccountInfo and getTransaction with zero network hops.

Running your own RPC requires roughly 2TB of NVMe (ledger + accounts index) and 256GB RAM to avoid swap on account cache misses. The --no-voting flag removes consensus overhead; combine it with --limit-ledger-size 50000000 unless you genuinely need historical depth. Snapshot sync from a fast peer on first boot takes 30–90 minutes — Triton's public snapshots are reliable for this.

One thing most guides skip: RPC node placement relative to your searcher process matters. A localhost RPC call on the same box costs under 0.1ms. A call to a node in the same rack over a 25GbE switch costs 0.2–0.5ms. A call to a node in a different facility, even on the same provider backbone, can easily hit 3–8ms. At Solana's slot speed, that difference compounds across every bundle you submit.

gRPC Yellowstone: What Actually Matters

The Yellowstone gRPC plugin running on a Geyser-enabled RPC node is how you get streaming account updates, slot notifications, and transaction confirmations without polling. This is not optional for serious searchers.

The critical configuration decisions:

  • Subscribe to the minimum account set. Every additional pubkey in your subscription filter adds CPU overhead on the RPC side. Profile which accounts your strategy actually touches and subscribe to exactly those.
  • Commitment level matters. processed commitment gives you the fastest signal but requires you to handle forks and rollbacks in your logic. confirmed is safer but adds one confirmation delay. Most latency-sensitive strategies use processed and implement lightweight fork detection.
  • Connection topology. A single gRPC stream can saturate if you are subscribing to high-frequency accounts (think Raydium AMM vaults during a volatile session). Run separate streams partitioned by account group and consume them on separate threads. A single-threaded consumer will fall behind.
  • Ping/keepalive tuning. Default keepalive intervals are often too conservative for the sub-second timing requirements of a searcher. Set --rpc-geyser-plugin-config keepalive to 500ms and adjust HTTP2 flow control window to 64MB to avoid backpressure stalls.

Bundle Submission and Jito Tip Optimization

Getting data fast is half the problem; the other half is getting your bundle in front of the right validator at the right time. Jito's block engine accepts bundles via the relayer endpoint, but the relayer itself adds a forwarding hop. Top searchers submit directly to multiple regional block engine endpoints in parallel — typically the NY, Dallas, and Amsterdam endpoints simultaneously — and accept that one of the three will have lower latency to the current leader.

Tip sizing is a separate optimization problem. A tip that is too low loses to other searchers; one that is too high destroys the margin. The practical approach is to maintain a rolling percentile of accepted tips per strategy type (arbitrage, liquidation, sandwich) and bid at the 75th–85th percentile of last N slots. Avoid static tip floors — they break during quiet periods and leave money on the table during busy ones.

Monitoring and Alerting at Millisecond Granularity

Production searcher infrastructure requires instrumentation that most developers add too late. Every step in your pipeline — account update received, simulation complete, bundle submitted, bundle accepted/rejected — should emit a timestamp with microsecond resolution. Aggregate these into a time-series store (InfluxDB or VictoriaMetrics work well) and alert on p99 pipeline latency crossing 150ms. That threshold is early enough to diagnose degradation before it costs you materially.

Slot notification lag is a particularly useful canary. If your processedSlot event arrives more than 80ms after the slot timestamp, your RPC connection is struggling. That is usually a sign of a backpressure event on the gRPC stream or a CPU spike on the RPC node — both are actionable before they become critical.


If you are building or optimizing a Solana MEV stack and want infrastructure and strategy reviewed by engineers who run these systems in production, reach out.

Need a bot like this built?

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

Start a project
#MEV#Solana#infrastructure#colocation#RPC#latency#trading-bots#searcher