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.

  • December 11, 2025
  • Infrastructure
  • AllenHark Research Team
A quiet stack of pagesAn abstract drawing of light on the page's dark ground. A neat stack of thin, solid pages, the top one lit, with faint streams of light drifting toward it from the left.A quiet stack of pagesAn abstract drawing of light on the page's dark ground. A neat stack of thin, solid pages, the top one lit, with faint streams of light drifting toward it from the left.

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

ServiceBest ForHow it sendsCost model
AllenHark RelaySniping, HFTFive channels at once, stake-weighted QUIC and the Jito Block Engine among themA tip in each transaction; optional monthly Relay Dedicated (pricing)
JitoAtomic MEVBlock-engine auction, for leaders running Jito-SolanaTips
bloXrouteMulti-chain tradingIts relay network (BDN), with optional stake-weighted submissionAn account tier plus a tip
Helius SenderTeams already on HeliusSeveral routes at once, Jito and stake-weighted ones among themA tip and a priority fee, on any Helius plan
0slotA staked sendTransaction endpointDedicated stake-weighted connections to its validator nodeA tip in each transaction, on a plan sized by TPS
Public RPCTesting onlyAn RPC node forwards it, usually unstakedFree

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.

Text
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
// 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?;

Full documentation


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.

Text
Your Bundle ──> Jito Block Engine ──> Auction (50 ms ticks) ──> Leader running Jito-Solana

Key Features:

  • Bundles: up to five transactions, executed in order and atomically: if any fails, none is committed. A single transaction sent with bundleOnly=true gets 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

TypeScript
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.

Text
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: sendBundle takes 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.

Text
Your Bot ──sendTransaction──> 0slot endpoint ──staked connection──> Leader

Key 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

ServiceWhat sets the delay
AllenHark RelayYour distance to the relay region, then five channels to the leader at once
JitoThe auction tick, then the block engine to the leader
bloXrouteYour distance to its endpoint, the relay network, and any wait front-running protection adds
Helius SenderYour distance to the regional endpoint, then several routes at once
0slotYour distance to its endpoint, then its staked connection to the leader
Public RPCUsually an unstaked connection, throttled first when the leader is busy

Cost Comparison

ServiceModel
AllenHark RelayA relay tip in each transaction; optional monthly Relay Dedicated (pricing)
JitoAuction tips
bloXrouteAn account tier, credits per minute, and a tip in each transaction
Helius SenderA tip and a priority fee in each transaction, on any Helius plan
0slotA tip in each transaction, on a plan sized by TPS
Public RPCFree

Feature Comparison

FeatureAllenHark RelayJitobloXrouteHelius Sender0slot
Ways to sendQUIC, WebSocket, HTTPSJSON-RPC (sendBundle, sendTransaction)HTTP, WebSocket, gRPC, QUICHTTP and HTTPSJSON-RPC sendTransaction
BundlesJito bundles, up to fiveUp to fiveNot in the pages we checkedUp to fourNot in its docs
Revert protectionThrough Jito bundlesBundles, or bundleOnly=trueOptional (revertProtection)Atomic bundlesNot in its docs
Stake-weighted (SWQoS)One of five channelsNot in the pages we checkedOptional (useStakedRPCs)Among its routesDedicated per user
Regions48, plus global5, plus global7, plus global5

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:

Rust
// Colocate the bot in Frankfurt, next to the relay
// Keep one QUIC connection open
// Result: no public internet between your bot and the relay

Scenario 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:

TypeScript
const bundle = new Bundle([], 3);
bundle.addTransactions(swapTx1, swapTx2, swapTx3);
// All three are committed, or none is

Scenario 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)

TypeScript
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:

  1. 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
  2. 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
  3. Do you need revert protection?

    • Yes: Jito bundles (also through AllenHark Relay), Helius Sender bundles, or bloXroute's revertProtection
    • No: any of them
  4. 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
  5. 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

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

  1. Measure your current setup: count how many slots after your trigger each transaction lands (the slot-delta script)
  2. Test several services: several have a free plan or a free trial
  3. Monitor in production: track landing slots and failures, not only latency
  4. 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.