Solana MEV Relay Services: A 2026 Comparison
AllenHark Relay, Jito, bloXroute, Helius Sender and 0slot compared on how each reaches the leader, regions, bundles and cost model, from their own docs.
Updated 8 November 2026. We re-checked everything this comparison says about another service against that service's own docs, took out tip amounts, plan prices and claims we couldn't source, and added Helius Sender and 0slot.
Disclosure: AllenHark sells AllenHark Relay, one of the services compared here.
The relay you choose decides how your transaction reaches the leader. When that path is slow or crowded, an arbitrage or a snipe is gone before your transaction arrives.
This comparison covers six ways to send a Solana transaction: AllenHark Relay, Jito, bloXroute, Helius Sender, 0slot and public RPC. It compares how each one delivers a transaction, how it charges and which use cases it fits. For a shorter list that also covers Nozomi, see the best Solana MEV transaction relay services in 2026.
How we compared: every statement about another service comes from that service's own docs or site, linked in its section with the date we checked. We print AllenHark's own figures. For the other services we describe how they send rather than print latency or landing rates, because we can't measure their services from your servers. We list no prices or tip amounts: follow the links for current figures.
Executive Summary
| Service | Best For | How it sends | Cost model |
|---|---|---|---|
| AllenHark Relay | Sniping, HFT | Five channels at once, stake-weighted QUIC and the Jito Block Engine among them | A tip in each transaction; optional monthly Relay Dedicated (pricing) |
| Jito | Atomic MEV | Block-engine auction, for leaders running Jito-Solana | Tips |
| bloXroute | Multi-chain trading | Its relay network (BDN), with optional stake-weighted submission | An account tier plus a tip |
| Helius Sender | Teams already on Helius | Several routes at once, Jito and stake-weighted ones among them | A tip and a priority fee, on any Helius plan |
| 0slot | A staked sendTransaction endpoint | Dedicated stake-weighted connections to its validator node | A tip in each transaction, on a plan sized by TPS |
| Public RPC | Testing only | An RPC node forwards it, usually unstaked | Free |
Key finding: no single service wins every use case, and many trading teams send through more than one.
1. AllenHark Relay
Website: allenhark.com/infrastructure/allenhark-relay
Focus: Private transaction delivery to the current leader, over QUIC, WebSocket or HTTPS
Technical Architecture
AllenHark Relay takes your signed transaction and sends it through five channels at once, including stake-weighted QUIC, QUIC and UDP to the leaders, and the Jito Block Engine. It never goes through a public RPC node. It lands transactions in the same block, at 0.1 ms over QUIC.
AllenHark Relay was first sold under the name 0-slot. It isn't 0slot, a separate service compared below.
Your Bot ──QUIC──> AllenHark Relay ──five channels──> Current Leader
(nearest region) (stake-weighted QUIC, QUIC, UDP, Jito)Key Technologies:
- QUIC, WebSocket and HTTPS: persistent connections, so no handshake per transaction
- Leader-aware routing: sends to the current and upcoming leaders from the leader schedule
- Jito bundles: up to five transactions, landed atomically and in order
- Regions: Frankfurt, Amsterdam, New York and Tokyo
- Rate limit: 10 requests per second per API key, more on request
Performance
Latency: 0.1 ms over QUIC, and transactions land in the same block. HTTPS is the simplest to integrate; QUIC and WebSocket keep one connection open, so you don't pay a handshake when the transaction is ready. Colocated, the public internet leaves the path entirely.
Throughput: QUIC multiplexes many concurrent streams over one connection, so you are not paying a handshake per transaction the way you are over HTTPS.
How you pay
- API key: create one in the console
- Relay tip: inside each transaction you send, to an AllenHark tip wallet (tip rules)
- Relay Dedicated: the optional monthly upgrade for volume, paid in SOL, USDC or USDT at checkout (pricing)
- Whitelisted wallets (Relay Dedicated): transactions signed by them carry no relay tip
Pros
✅ Same block, 0.1 ms over QUIC
✅ Five channels at once, stake-weighted QUIC and Jito among them
✅ QUIC protocol removes per-request handshake cost vs HTTP/2
✅ Jito bundles (up to five, atomic, in order)
✅ Pay per transaction, with Relay Dedicated when volume grows
Cons
⚠️ Four regions (Frankfurt, Amsterdam, New York, Tokyo), so pick the one nearest your servers
⚠️ No revert protection on single transactions (send a bundle when you need all-or-nothing)
⚠️ 10 requests per second per key by default (more on request)
⚠️ QUIC complexity (needs a QUIC client library; WebSocket and HTTPS are simpler)
Best Use Cases
- Pump.fun sniping (first-to-buy scenarios)
- High-frequency arbitrage (many transactions a second over one connection)
- Colocated trading systems (the public internet out of the path)
- MEV bots that need atomic Jito bundles through the same endpoint
Getting Started
// Rust example with Quinn. Connect to the region's IP and verify its TLS name.
use quinn::{ClientConfig, Endpoint};
let conn = endpoint
.connect("88.216.36.108:4433".parse()?, "fra.relay.allenhark.com")?
.await?;
let (mut send, mut recv) = conn.open_bi().await?;
send.write_all(b"api-key: YOUR_API_KEY\n").await?;
send.write_all(&serde_json::to_vec(&json!({
"tx": tx_base64,
"simulate": false
}))? ).await?;
send.finish().await?;
let response = recv.read_to_end(4096).await?;2. Jito
Website: jito.network
Focus: Bundles with revert protection, through a block-engine auction
Technical Architecture
Jito's block engine takes bundles of transactions from searchers, each with a tip, and runs a priority auction at 50 ms ticks. It forwards the winning bundles to leaders running the Jito-Solana client. Tips don't prioritize a transaction with leaders that don't run it.
Your Bundle ──> Jito Block Engine ──> Auction (50 ms ticks) ──> Leader running Jito-SolanaKey Features:
- Bundles: up to five transactions, executed in order and atomically: if any fails, none is committed. A single transaction sent with
bundleOnly=truegets the same protection. - sendTransaction: forwards a single transaction straight to the validator, with MEV protection by default
- Tips: a SOL transfer to one of eight tip accounts, listed by
getTipAccounts - Regions: Amsterdam, Dublin, Frankfurt, London, New York, Salt Lake City, Singapore and Tokyo, plus a global endpoint
- Rate limit: 1 request per second per IP per region by default, higher on request
How you pay
Tips that you set. The auction decides which bundles win.
Pros
✅ Revert protection (a bundle that fails isn't committed)
✅ Atomic, ordered execution
✅ Bundles execute within the same slot
✅ Eight regions plus a global endpoint
Cons
⚠️ The auction adds a wait compared with direct forwarding
⚠️ Tips count only with leaders running Jito-Solana
⚠️ Low default rate limit (1 request per second per IP per region)
Best Use Cases
- Complex arbitrage (multi-hop swaps requiring atomicity)
- Liquidations (a failed attempt isn't committed)
- Strategies that need several transactions in a fixed order
Getting Started
import { searcherClient } from 'jito-ts/sdk/block-engine/searcher';
import { Bundle } from 'jito-ts/sdk/block-engine/types';
const client = searcherClient('mainnet.block-engine.jito.wtf');
const bundle = new Bundle([], 5); // 5 transactions max
bundle.addTransactions(signedTx1, signedTx2, tipTx);
const bundleId = await client.sendBundle(bundle);Source: Jito low-latency transaction send, checked 28 October and 6 November 2026.
3. bloXroute
Website: bloxroute.com
Focus: The Trader API, on bloXroute's Blockchain Distribution Network (BDN)
Technical Architecture
bloXroute describes its BDN as "a globally distributed network of high-capacity relays." On Solana it sells the Trader API, which takes signed transactions over HTTP, WebSocket, gRPC or QUIC.
Your Server ──> bloXroute endpoint ──> BDN relays ──> Leader
(regional or global)Key Features:
- Options on each transaction: front-running protection (it scores upcoming leaders and delays or skips high-risk ones), MEV protection levels, revert protection, and stake-weighted (SWQoS) submission with
useStakedRPCs - Back-run rebates: with
allowBackRun, the transaction goes to an order flow auction and part of any MEV profit is returned to you - Regions: the UK, New York, Frankfurt, Amsterdam and Tokyo, plus a global edge endpoint. bloXroute recommends sending to the global endpoint and your nearest regional one in parallel.
- Multi-chain: bloXroute also serves Ethereum, BNB Chain, Base, Hyperliquid, Polygon and other chains
How you pay
An account tier (Introductory, which is free, then Enterprise, Enterprise-Elite and Ultra, or Build Your Own), with submissions limited by credits per minute, plus a tip in every transaction.
Pros
✅ Protection options per transaction (front-running, MEV, revert, stake-weighted)
✅ QUIC, gRPC, WebSocket or HTTP
✅ Multi-chain (one account for Solana and other chains)
✅ Back-run rebates with allowBackRun
Cons
⚠️ An account tier on top of the tip
⚠️ More nodes in the path (a relay network sits between you and the leader)
⚠️ Waits when front-running protection delays or skips a high-risk leader
Best Use Cases
- Teams trading on several chains
- Single transactions that want MEV or front-running protection
- Traders in the UK or Tokyo, near bloXroute's regions
Sources: bloXroute docs (submit endpoint, regions, tips, rate limits), checked 28 October 2026.
4. Helius Sender
Website: helius.dev
Focus: One endpoint that sends each transaction through several routes
Technical Architecture
Sender submits each transaction through several routes at once: Helius, Jito, Harmonic, Rakurai and others, stake-weighted (SWQoS) routes among them. A cheaper tier sends through the SWQoS route only. Sender is included with every Helius plan, the free plan too, and doesn't use API credits.
Key Features:
- Tips and fees: every transaction needs a tip and a priority fee
- Endpoints: a global HTTPS endpoint for browser apps, and regional HTTP endpoints in Salt Lake City, Newark, London, Frankfurt, Amsterdam, Singapore and Tokyo for backends
- Bundles:
sendBundletakes up to four signed transactions, executed atomically - Rate limits: 50 requests per second per API key per region, or 1 per second per IP without a key
- Data: Helius's zero-slot guide pairs Sender with LaserStream, its data feed
How you pay
A tip and a priority fee in each transaction, on any Helius plan.
Pros
✅ Several routes per transaction
✅ On every Helius plan, the free one included, with no credits used
✅ Seven regional endpoints plus a global one
Cons
⚠️ A tip and a priority fee on every transaction
⚠️ Bundles of four, not five
Best Use Cases
- Teams already on Helius RPC or LaserStream
- Apps that want one endpoint for several routes
- Sending during congestion through stake-weighted routes
Sources: Helius Sender docs, checked 28 October and 6 November 2026; Helius's zero-slot guide, checked 6 November 2026.
5. 0slot
Website: 0slot.trade
Focus: A staked sendTransaction endpoint, with dedicated SWQoS for each user
Technical Architecture
0slot's staked_conn interface works like the RPC interface and mainly provides sendTransaction, which, in 0slot's words, "directly connects to our validator node". Each user gets a dedicated amount of stake-weighted QoS (SWQoS), and 0slot says higher fees mean higher priority.
Its home page headline is "It's 0 slot!". For what traders mean by the term, see what 0-slot landing is.
Your Bot ──sendTransaction──> 0slot endpoint ──staked connection──> LeaderKey Features:
- Regions: New York, Frankfurt, Amsterdam, Tokyo and Los Angeles
- Tips: a tip in every transaction, to one of 0slot's tip addresses
- API key: sent in the URL, as
?api-key= - Plans: sized by transactions per second, set with its sales team; every plan lists Anti-MEV
- Trial: free for the first week
How you pay
A tip in each transaction, on a plan sized by TPS.
Pros
✅ Dedicated SWQoS for each user
✅ Drop-in sendTransaction
✅ Five regions, Los Angeles among them
Cons
⚠️ No bundles in its docs, so no all-or-nothing sends across several transactions
⚠️ Plan sizes go through sales
⚠️ The API key travels in the URL, so keep it out of any log that records URLs
Best Use Cases
- Bots that already call sendTransaction and want staked delivery
- Bots near Los Angeles, where none of the other services here has an endpoint
Sources: 0slot home page and docs, checked 8 November 2026.
6. Public RPC (Baseline)
For comparison, Solana's public RPC endpoints:
- Path: an RPC node forwards your transaction to the leaders, usually over an unstaked connection, which is throttled first when a leader is busy
- Success rate: drops during congestion
- Cost: Free
- Use case: development and testing. Solana's own docs say production applications should use private RPC access.
Comparative Analysis
Where the delay comes from
| Service | What sets the delay |
|---|---|
| AllenHark Relay | Your distance to the relay region, then five channels to the leader at once |
| Jito | The auction tick, then the block engine to the leader |
| bloXroute | Your distance to its endpoint, the relay network, and any wait front-running protection adds |
| Helius Sender | Your distance to the regional endpoint, then several routes at once |
| 0slot | Your distance to its endpoint, then its staked connection to the leader |
| Public RPC | Usually an unstaked connection, throttled first when the leader is busy |
Cost Comparison
| Service | Model |
|---|---|
| AllenHark Relay | A relay tip in each transaction; optional monthly Relay Dedicated (pricing) |
| Jito | Auction tips |
| bloXroute | An account tier, credits per minute, and a tip in each transaction |
| Helius Sender | A tip and a priority fee in each transaction, on any Helius plan |
| 0slot | A tip in each transaction, on a plan sized by TPS |
| Public RPC | Free |
Feature Comparison
| Feature | AllenHark Relay | Jito | bloXroute | Helius Sender | 0slot |
|---|---|---|---|---|---|
| Ways to send | QUIC, WebSocket, HTTPS | JSON-RPC (sendBundle, sendTransaction) | HTTP, WebSocket, gRPC, QUIC | HTTP and HTTPS | JSON-RPC sendTransaction |
| Bundles | Jito bundles, up to five | Up to five | Not in the pages we checked | Up to four | Not in its docs |
| Revert protection | Through Jito bundles | Bundles, or bundleOnly=true | Optional (revertProtection) | Atomic bundles | Not in its docs |
| Stake-weighted (SWQoS) | One of five channels | Not in the pages we checked | Optional (useStakedRPCs) | Among its routes | Dedicated per user |
| Regions | 4 | 8, plus global | 5, plus global | 7, plus global | 5 |
Use Case Recommendations
Scenario 1: Pump.fun Token Sniper
Requirement: First-to-buy on new token launches
Priority: The shortest path to the leader
Recommended: AllenHark Relay (colocated)
Why:
- Same block, 0.1 ms over QUIC
- Colocated, the public internet is out of the path entirely
- No auction wait before the transaction reaches the leader
- A persistent QUIC connection means no handshake at the moment the transaction is ready
- Measure the result as 0-slot landing: how often your buy lands in the same slot as the create
Implementation:
// Colocate the bot in Frankfurt, next to the relay
// Keep one QUIC connection open
// Result: no public internet between your bot and the relayScenario 2: Complex DeFi Arbitrage
Requirement: Multi-hop swaps (e.g., USDC → SOL → BONK → USDC)
Priority: Atomic execution (all steps succeed or none)
Recommended: Jito bundles, sent to Jito or through AllenHark Relay
Why:
- A bundle that fails isn't committed
- The steps run in the order you list them
- Worth the auction wait when the steps must land together
Implementation:
const bundle = new Bundle([], 3);
bundle.addTransactions(swapTx1, swapTx2, swapTx3);
// All three are committed, or none isScenario 3: Trading from Asia
Requirement: Trading from Tokyo or Singapore
Priority: A sending endpoint in the same city
Options: all five services have a Tokyo endpoint; Jito and Helius Sender also have Singapore
Why:
- The leg from your server to the sender is the part you control
- Run the bot in the same city as the endpoint you send to
Scenario 4: Landing During Congestion
Requirement: Transactions that land when the network is busy
Priority: Stake-weighted delivery
Options: Helius Sender, 0slot, bloXroute with useStakedRPCs, or AllenHark Relay
Why:
- Under stake-weighted QoS, a leader gives staked connections a share of its capacity by stake, and unstaked connections are throttled first
- Jito bundles are another route, with leaders running Jito-Solana
Hybrid Strategies
Many trading teams send through more than one service, for redundancy and reach.
Strategy 1: Speed + Safety
Primary: AllenHark Relay (private path to the leader)
Fallback: Jito bundles (if the primary fails)
try {
await allenHarkRelay.send(tx);
} catch (error) {
// If AllenHark fails, use Jito with revert protection
await jitoClient.sendBundle(bundle);
}Strategy 2: Several senders at once
Send the same trade through two or three services at once as durable-nonce variants, so at most one copy lands and one tip is paid. SWQoS vs Jito vs a relay has the code and its caveats.
Strategy 3: Transaction Type Optimization
Snipes: AllenHark Relay (path to the leader critical)
Complex MEV: Jito (atomicity critical)
Busy periods: a stake-weighted sender (Helius Sender, 0slot, bloXroute or AllenHark Relay)
Decision Matrix
Answer these questions to choose your relay:
-
Where is your infrastructure located?
- EU: all five have Frankfurt or Amsterdam endpoints
- US: AllenHark Relay, Jito, bloXroute and 0slot in New York; Helius Sender in Newark; Jito and Helius Sender in Salt Lake City; 0slot in Los Angeles
- Asia: all five in Tokyo; Jito and Helius Sender in Singapore
-
How many transactions a second?
- Jito: 1 per second per IP per region by default
- AllenHark Relay: 10 per second per key, more on request
- Helius Sender: 50 per second per key per region
- bloXroute: credits per minute, by account tier
- 0slot: TPS by plan
-
Do you need revert protection?
- Yes: Jito bundles (also through AllenHark Relay), Helius Sender bundles, or bloXroute's
revertProtection - No: any of them
- Yes: Jito bundles (also through AllenHark Relay), Helius Sender bundles, or bloXroute's
-
What matters most on the path?
- Shortest path to the leader: AllenHark Relay (colocated)
- Several routes at once: AllenHark Relay, Helius Sender
- Stake-weighted priority: 0slot, Helius Sender, bloXroute, AllenHark Relay
- Can wait out an auction: Jito
-
How do you want to pay?
- Free: Public RPC
- Tips only: AllenHark Relay, Jito, Helius Sender (on any Helius plan)
- A plan plus tips: bloXroute, 0slot, AllenHark Relay Dedicated
Industry Trends
1. QUIC Protocol Adoption
Solana's own TPU speaks QUIC, and relays are following. AllenHark Relay and bloXroute both accept QUIC from clients.
2. Stake-Weighted QoS (SWQoS)
Most services here now sell stake-weighted delivery: Helius Sender's SWQoS routes, bloXroute's useStakedRPCs, 0slot's dedicated SWQoS and one of AllenHark Relay's five channels.
3. Sending Through Several Routes
AllenHark Relay and Helius Sender both send one transaction through several routes at once. A trader can also send through several services at once, as durable-nonce variants.
Conclusion
There is no single "best" Solana MEV relay service. The right choice depends on your:
- Location
- Transaction volume
- What matters most on the path
- How you want to pay
- Need for revert protection
Our general recommendations:
🥇 For HFT/Sniping: AllenHark Relay (colocated)
🥈 For Complex MEV: Jito bundles
🥉 For teams on Helius: Helius Sender
🏅 For multi-chain teams: bloXroute
🏅 For a staked sendTransaction endpoint: 0slot
Pro tip: start with one service, measure in production, then add a second as your volume grows.
Next Steps
- Measure your current setup: count how many slots after your trigger each transaction lands (the slot-delta script)
- Test several services: several have a free plan or a free trial
- Monitor in production: track landing slots and failures, not only latency
- Adjust as you go, based on your own trading data
Ready to upgrade your transaction infrastructure?
Disclaimer: this comparison describes how each service works, from its own docs, not measured performance. Results depend on network conditions, location and your implementation. Test services from your own servers before committing.
