All articles
Solana·January 29, 2026·6 min read

How to Set Jito Bundle Tips Without Overpaying for MEV Priority

Overpaying Jito tips is the silent profit killer in Solana MEV strategies: too low and your bundle gets dropped, too high and the trade becomes unprofitable before it lands. This post explains tip floor discovery using the Jito tip stream, dynamic tip sizing based on real-time block competition, and back-of-envelope break-even math for snipers and arbitrageurs.

Setting Jito bundle tips correctly is one of the highest-leverage knobs in any Solana MEV strategy. Too low and the block engine drops your bundle in favor of a better-tipping searcher; too high and you've handed your edge back to the validators before a single lamport of profit clears. Getting this calibration right — dynamically, per-opportunity — is what separates break-even searchers from ones that actually run.

How the Jito Tip Market Actually Works

Jito's block engine runs a sealed-bid auction per block slot. Searchers submit bundles alongside a tip paid to the Jito validator tip accounts (there are eight; pick any one). The engine orders competing bundles by tip descending and includes as many as fit before the slot deadline. There is no mempool for bundles — you either win the slot or you don't land at all.

The tip is separate from priority fees. Your instructions still need a ComputeBudgetProgram.setComputeUnitPrice to compete for regular scheduler ordering within the bundle, but the tip is what buys you bundle-level priority over other searchers. Conflating the two is a common mistake that leads to either over-tipping or getting beaten by bundles with higher tips but lower CU prices.

Reading the Jito Tip Stream

Jito publishes a live tip percentile stream at ws://bundles-api-mainnet.jito.wtf/api/v1/bundles/tip_stream. Each message emits landed-tip statistics for recent slots:

{
  "time": "2024-11-14T12:00:00Z",
  "landed_tips_25th_percentile": 1000,
  "landed_tips_50th_percentile": 5000,
  "landed_tips_75th_percentile": 20000,
  "landed_tips_95th_percentile": 100000,
  "landed_tips_99th_percentile": 500000,
  "ema_landed_tips_50th_percentile": 8000
}

Values are in lamports. The 50th-percentile figure tells you what the median winning tip looked like in the last few slots. The EMA smooths slot-to-slot noise. Your tip floor should track at least the 50th percentile during normal conditions; during high-competition windows (hyped launches, volatile markets) you need to follow the 75th or even 95th percentile to land reliably.

In production the tip stream gives you sub-second updates. Subscribe to it at startup, maintain a rolling window of the last 10 readings, and use that as your baseline rather than any hardcoded constant. Hardcoded tips are wrong the moment block competition changes.

Dynamic Tip Sizing: The Basic Framework

The goal is to tip just enough to beat competing bundles without tipping so much you kill the trade. A workable approach:

  • Baseline: Use the EMA 50th percentile from the tip stream as the floor. Never go below this or you'll miss too many slots.
  • Opportunity-scaled multiplier: Multiply the baseline by a factor derived from your gross profit estimate. A 0.5 SOL arb can afford a much higher tip than a 0.01 SOL snipe.
  • Competition pressure: If you're tracking other active searchers on the same opportunity (via failed-bundle feedback or your own simulation), bump the multiplier up to outbid.
  • Hard cap: Set a maximum tip as a fraction of expected gross profit — typically 30–50% depending on your strategy's margin profile.

A simple formula that works in practice:

tip = clamp(
  baseline * competition_multiplier,
  floor  = 50th_percentile_ema,
  ceiling = gross_profit_estimate * max_tip_fraction
)

The competition multiplier starts at 1.0 and rises when you detect you're losing slots you should be winning (consecutive missed inclusions on the same opportunity type).

Break-Even Math for Snipers vs. Arbitrageurs

The calculus differs significantly between strategy types.

For a sniper (buying into a new Pump.fun launch, for example), the profit is highly uncertain at entry — you're betting on post-launch price action. Your tip budget should be a fixed fraction of your position size, not a fraction of projected profit. A reasonable starting point is 0.5–1% of position in SOL-equivalent. If you're putting 0.5 SOL into a snipe, a 5,000–10,000 lamport tip (roughly 0.005–0.01 SOL) is defensible. Much more and you're paying an entry fee that needs to be recovered before the trade even starts. This is exactly the kind of trade our Solana Sniper Bot handles — tip calibration is built into the dynamic fee engine, not left to the operator to guess.

For an arbitrageur, the math is tighter because you know the profit in advance (you simulated the route before submitting). The standard searcher rule of thumb is: tip no more than 50% of net profit after swap fees. In practice you want to land reliably, so targeting the 60–70th percentile of recent landed tips and only tipping above that when the opportunity is large enough to justify it is a sensible policy. If gross arb profit is 10,000 lamports, you cannot afford a 15,000-lamport tip — that trade should not be submitted. Our Solana MEV & Arbitrage Bot gates every submission through exactly this simulation before a bundle is built.

Handling Slot-to-Slot Variance

The tip market is noisy. A slot that clears at the 50th percentile can be followed immediately by one that clears at the 90th. Two practical mitigations:

Backoff on missed slots: If you simulate the same opportunity three times and each time land a bundle that fails to include, increase your tip multiplier by 1.25x per miss up to your hard cap. Reset the multiplier when you successfully land.

Time-of-day awareness: Tip floors are measurably lower during off-peak UTC hours (roughly 01:00–07:00 UTC). A strategy that runs 24/7 should lower its floor multiplier during these windows to avoid unnecessary overpayment. A 10% savings on tips across overnight slots adds up quickly when you're running high-frequency arb.

Avoid resubmitting the same bundle repeatedly: Each resubmission is a fresh auction entry. If the opportunity has aged (price moved, competition gone), recalculate everything before resubmitting rather than blindly increasing the tip.

What Not To Do

A few patterns that consistently drain profit:

  • Static tips: Hardcoding tip = 100_000 lamports and never touching it is the single biggest tip-management mistake. Block competition shifts constantly.
  • Tipping per-instruction instead of per-bundle: The tip transfer goes to one of the eight Jito tip accounts in a single instruction. It is not per-transaction or per-instruction sized — it's the total bundle priority price.
  • Ignoring the tip in profit simulation: Tip is a cost. If your simulation returns 8,000 lamports of profit and your tip is 10,000 lamports, the bundle is loss-making. Simulate tip as part of the cost basis, not as an afterthought.
  • Using the same tip logic for snipers and arb: As described above, the right mental model is different for each. Don't share a single tip-sizing module across fundamentally different strategies without strategy-specific overrides.

If you are building or running a Jito-based strategy and want the tip calibration handled properly from day one, reach out via the contact page — this is a core part of every Solana bot we ship at TierZero.

Need a bot like this built?

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

Start a project
#Solana#MEV#Jito#Bundle Tips#Arbitrage#Searcher#Priority Fees