All posts
Guides

Jito bundles: what they guarantee and what they do not

A Jito bundle holds five transactions and runs them atomically. It does not guarantee inclusion. Measured tip percentiles and the uncled block exception.

Five Solana transactions locked into one group heading for a block, one red accent marking the tip transfer, near black background

A Jito bundle is a group of up to five Solana transactions submitted together, executed in the order you wrote them, and included all or not at all. You attach a tip, and the bundle competes for a place in the next block.

  • A bundle holds a maximum of five transactions, the tip transfer included, and they run sequentially and atomically (Jito Labs docs, August 2026).
  • The auction does not rank on raw tip. It ranks on tip against compute units requested, so a lean transaction with a small tip can outbid a bloated one with a large tip.
  • At 11:11 UTC on 28 August 2026 the median landed tip was 0.00000285 SOL and the 95th percentile was 0.0003 SOL, both read from the Jito tip floor API.
  • Atomicity has one real exception: if your bundle lands in an uncled block, its transactions can be rebroadcast into the normal banking stage, where neither atomicity nor revert protection applies.
  • The Block Engine does not implement simulateBundle. We measured this on 7 August 2026 against five regions and every one answered with a method error, so there is no pre-flight for a bundle.

What is a Jito bundle?

A Jito bundle is a list of one to five signed Solana transactions that a validator either executes in full, in your order, or skips entirely. Ordinary transactions reach a validator independently and land in whatever order the scheduler picks. A bundle removes that uncertainty inside its own group.

Two properties do the work. The first is sequential execution: transaction two sees the state that transaction one left behind. The second is atomicity: if any transaction in the group fails, the whole group is dropped and nothing lands. That pairing is what makes a create plus buy, or a buy plus sell, behave as a single operation instead of two hopeful ones.

The route is different too. A normal transaction goes to an RPC provider and then to the current leader. A bundle goes to a Jito Block Engine, which runs an auction, and only the winning combinations are handed to the validator. Jito Labs runs eight public Block Engine regions: Tokyo, Frankfurt, New York, Amsterdam, Dublin, London, Salt Lake City and Singapore.

The tip is the price of entry. It is a plain SOL transfer to one of Jito's tip accounts, placed inside the bundle, and it counts against your five transaction budget. A bundle with no tip is a bundle with no bid.

Does a bigger tip guarantee your bundle lands?

No. A bigger tip improves your position in an auction, and an auction has losers by design. Jito documents the ranking rule plainly: bundles are prioritised on requested tip against compute units requested, not on the tip alone. Efficiency wins, not generosity.

That single sentence explains most confused tipping. If your bundle asks for 1.4 million compute units and pays 0.001 SOL, a competitor asking for 200,000 units and paying 0.0004 SOL is offering the block more value per unit of space. Trimming your compute request is often cheaper than raising your tip, and it works on the same lever.

Before you raise a tip, set an accurate compute limit. The auction reads tip against units requested, so an honest limit on a lean transaction moves you up the same ranking that more SOL would.

Two bids side by side: a large tip on a heavy compute request produces a short ranking bar, while a smaller tip on a lean request produces a long one and reaches the block

Two more mechanics decide the outcome. Auctions run in parallel every 50 milliseconds, and bundles that touch the same accounts compete inside one auction while bundles touching different accounts do not compete at all. So your real rival is not everyone on Solana, it is everyone writing to the same pool as you in the same 50 millisecond window.

The second is a limit that has nothing to do with money. The public Block Engine allows one request per second per IP per region, and going over returns a 429. Any tool that fans a single bundle out to all eight regions from one address will hit that ceiling, and we did: our own submission path now enforces a minimum interval of 1,100 milliseconds per endpoint and prefers a private endpoint over the public pool precisely because of it.

How much is a Jito tip right now?

The minimum tip Jito accepts is 1,000 lamports, which is 0.000001 SOL. What actually lands is a different number, and it moves. The table below reads the landed tip percentiles straight from Jito's public tip floor API at 11:11 UTC on 28 August 2026, so treat it as a shape rather than a price list.

Percentile of landed tipsTip in SOLWhat it buys
Minimum accepted0.000001 SOLEntry to the auction. Nothing more.
25th percentile0.000001 SOLA quarter of landed bundles paid this or less.
50th percentile (median)0.00000285 SOLThe ordinary case. Most bundles are not in a fight.
75th percentile0.0000441 SOLContested but not frantic.
95th percentile0.0003 SOLReal competition for the same accounts.
99th percentile0.001 SOLA bot race. Paying here as a human is usually a mistake.

Read the gap between the median and the 99th percentile before you decide. It is roughly 350 times, and almost none of that range applies to a person clicking a button. Our own defaults sit deliberately low: we read the 95th percentile from the same API, multiply by 1.2, and clamp the result between 0.00001 SOL and 0.02 SOL so a spike in a bot war cannot quietly drain a user's wallet.

Building a bundle by hand means signing each transaction in the right order, adding the tip transfer, and keeping the group under five. Bundled Trade assembles that group, attaches the tip and submits it to the Block Engine in one pass, which removes the ordering mistakes rather than the auction risk.

Is a bundle really atomic?

Inside a normal block, yes. A validator executes a bundle in full or not at all, and a failing transaction takes the whole group down with it. There is one documented exception, and it is the reason people see bundle transactions on an explorer with a red mark next to them.

Solana has skipped slots, where a leader builds a block that the supermajority never accepts. Jito calls these uncled blocks. When a bundle lands in one, any party that received that block can rebroadcast its transactions, and those rebroadcast copies hit the ordinary banking stage. The banking stage does not respect bundle atomicity or revert protection, so half a bundle can land and fail in public.

An uncled block can split a bundle you were told was atomic. Never design a strategy where the second transaction landing alone is unrecoverable, because that outcome is documented and rare, not impossible.

On the left a bundle stays whole inside an accepted block; on the right it lands in a dashed uncled block and is rebroadcast below as scattered, split transactions
QuestionA bundle guarantees itDetail
Will my transactions run in my orderYesSequential execution inside the group.
Will all of them land or noneYes, in an accepted blockAtomic execution by the validator.
Will the bundle land at allNoIt is an auction. Losing bids are dropped.
Will the tip come back if it losesYesThe tip is inside the bundle, so an unlanded bundle transfers nothing.
Am I safe from a sandwichNo, not by defaultJito offers an opt in marker, described below.
Will it survive an uncled blockNoRebroadcast copies lose atomicity and revert protection.

The sandwich case has an answer worth knowing. Jito accepts any valid public key beginning with jitodontfront as a marker inside an instruction, and the Block Engine rejects any bundle containing that transaction unless it sits first, at index zero. It does not stop a sandwich outside a bundle, and it costs you the ability to be placed after someone else's transaction.

Why did my bundle vanish without an error?

A bundle can disappear quietly because there is no pre-flight check on the path you are using. Jito's own troubleshooting page suggests verifying with simulateBundle, and that method exists on a Jito-Solana RPC node. It does not exist on the Block Engine that accepts your bundle.

We measured this rather than assumed it. On 7 August 2026 we called simulateBundle against the Frankfurt, New York, Amsterdam, Salt Lake City and London public regions, and every one of them returned a method not found error. Our client now reports whether a simulation actually ran, because a code path that treats a missing method as a passing simulation has no pre-flight at all and does not know it.

The second reason is a short memory. getInflightBundleStatuses only knows about the last five minutes. Past that window a bundle id comes back as invalid, which reads like a rejection and means nothing of the kind. It means the Block Engine has stopped tracking it, and the only remaining source of truth is whether the transactions are on chain.

When is a bundle the wrong tool?

Most of the time. A bundle earns its complexity when two or more transactions must not be separated, and it adds nothing otherwise. A single swap has no ordering to protect and gains nothing from an auction it can lose. Attaching a tip to it buys a lottery ticket for a race you were not in.

Three limits are worth stating plainly, because a bundle is often sold as a guarantee.

  • A bundle cannot make a bad transaction succeed. If your slippage is too tight or your account lacks rent, the bundle fails as a unit and you have paid latency for nothing.
  • A bundle cannot beat a faster competitor with a better tip to compute ratio, and it cannot tell you that it lost. There is no error for finishing second in an auction.
  • A bundle cannot protect you from yourself. The five transaction ceiling pushes people to cram more instructions into each transaction, which raises the compute request, which lowers the tip efficiency the auction ranks you on.

For a launch where the create and the first buy genuinely must be inseparable, that is the case a bundle was built for. Pump.fun Create and Bundle Buy puts the mint and the buys in one group and submits them as a single bid, so either the launch happens the way you planned it or it does not happen.

This article is educational and is not financial, investment, legal, or tax advice. Solana tokens are highly volatile and most lose all value. Do your own research and never risk funds you cannot afford to lose. J Tools does not recommend any specific token or trade.

Frequently asked questions

How many transactions fit in a Jito bundle?

Five, and the tip transfer is one of them. That leaves four transactions of real work in practice. Jito Labs documents the limit, and our own submission path rejects a sixth transaction before it reaches the network rather than letting the Block Engine refuse it.

Do I get my tip back if the bundle does not land?

Yes. The tip is an ordinary SOL transfer placed inside the bundle, so it only executes if the bundle executes. A bundle that loses the auction transfers nothing and costs nothing on chain. You lose the time, not the SOL.

What is the minimum Jito tip?

1,000 lamports, which is 0.000001 SOL. That is the floor for acceptance, not for landing. At 11:11 UTC on 28 August 2026 the median landed tip was 0.00000285 SOL, so the realistic entry price is a few times the documented minimum in ordinary conditions.

Is a Jito bundle the same as a priority fee?

No. A priority fee is paid to the validator through the compute budget program and applies to a single transaction in the normal path. A Jito tip is a SOL transfer inside a bundle that bids in a separate auction. You can use both, and they do different jobs.

Why does my bundle show as failed on an explorer?

The usual cause is an uncled block. Your bundle landed in a block the network did not accept, someone rebroadcast its transactions into the normal banking stage, and there the group has no atomicity or revert protection. The explorer is showing a rebroadcast copy, not your bundle.

Can a bundle protect me from a sandwich attack?

Only if you opt in. Adding a public key that starts with jitodontfront to an instruction makes the Block Engine reject any bundle where your transaction is not first. It stops front running inside Jito bundles and does nothing about anything happening outside them.

Sources used in this article: Jito Labs low latency transaction send documentation for bundle limits, auction rules, rate limits and uncled blocks, the Jito tip floor API for the landed tip percentiles, and the Solana transaction documentation for the base transaction model. Related reading: how much priority fee to pay on Solana, Jupiter, Raydium and Orca compared, and Pump.fun alternatives.

Written by the J Tools team. We build and run 40+ Solana tools in production, from token creation to on-chain wallet analysis, and write from what we see on mainnet, not theory. Published: 28 Aug 2026. Last reviewed: 28 Aug 2026.

J
Author
J Tools Editorial

A post from the J Tools team.

View all posts by J Tools Editorial →

Related posts