DEV Community

CoolBB
CoolBB

Posted on

The One Thing That Matters in a Pump.fun Jito Bundle

A Pump.fun bundler is not “send create and a buy through Jito.” Jito’s rule is simple: up to 5 transactions, sequential, all-or-nothing, one slot. If ix 4 reverts, create never happened. That is the whole product and the whole way desks blow a launch.

The important technical object is not the tip. It is whether every buy in the envelope is priced against the curve state left by the buy before it.

What the envelope actually is

Typical skilled launch:

  1. create / create_v2
  2. Dev buy
  3. Wallet B buy
  4. Wallet C buy
  5. Tip transfer to a current Jito tip account

Cap is 5. Extra “organic” wallets are a second bundle or a later slot. They are not in this atom. Snipers cannot sit between (1) and (4) only if this bundle wins the Block Engine auction and every tx commits.

People obsess over tip lamports. Tips buy a ticket to the auction. They do not fix a SlippageExceeded on wallet C.

The failure mode that looks like “Jito is down”

Each Pump buy consumes quote and writes new virtual/real reserves. Bundle order is execution order.

Wrong (what most first bundlers ship):

quote(B) = curve at empty
quote(C) = curve at empty
quote(D) = curve at empty
max_sol_cost_* = empty * (1 + slip)
Enter fullscreen mode Exit fullscreen mode

On chain:

create → empty curve
dev buy → reserves moved
B lands on moved curve → still maybe ok
C lands on twice-moved curve → max_sol_cost too low → revert
→ entire bundle dropped, mint never exists
Enter fullscreen mode Exit fullscreen mode

You paid the tip for a simulation that used three copies of the same book.

Right:

S0 = initial virtual reserves (known from create constants)
S1 = apply(dev buy, S0)
S2 = apply(B, S1)
S3 = apply(C, S2)
max_sol_cost_i = quote_needed(Si-1) * (1 + slip_i)
token_out_i    = tokens_out(Si-1, sol_i)   # buy wants exact tokens or exact SOL — pick one and stick
Enter fullscreen mode Exit fullscreen mode

Include 1.25% curve fees in quote_needed. Include ATA create rent on first touch of each signer. Include Mayhem / Token-2022 / buy_v2 account lists if that flag is on. A missing creator_vault or the post–2026-04-28 fee recipient reverts the same way as bad slippage: atomically.

Second, only after the math works: landing

Then the auction matters.

  • Tip to a live tip account from getTipAccounts, not a hardcoded pubkey from a gist.
  • Tip size tracks the slot’s competition, not a blog table from January.
  • Send the same bundle to multiple Block Engine regions. First land wins; duplicates share a hash.
  • Fresh blockhash (or durable nonce) on every tx in the set. One stale hash = five wasted tips.
  • Compute unit limit for the fattest tx (create + metadata + ATA) — over the budget and Jito rejects the pack before the leader sees it.

jitodontfront-style guards only matter once the pack simulates clean against sequential state. Protecting a bundle that cannot commit is paying validators to reject you politely.

What people still miss

  • Quoting all wallets in parallel “to save time.”
  • Putting 8 buys in one mental bundle. The ninth is not in the atom. Snipers own slot+1.
  • Dev buy so large that wallets 2–3 cannot fit under any sane max_sol_cost.
  • Simulating each tx in isolation on RPC (simulateTransaction on create alone, then on a buy against current chain — current chain has no mint yet). You must simulate the pack as a pack, or replay the curve in process.
  • Treating a landed bundle id as “we got supply.” Read the inner ix errors. Partial mental models do not apply; either all five committed or none did.

How you know you have it

Decode a bundle that landed. Sum SOL in order. Recompute tokens out with the official fee function after each fill. If your off-chain quotes match the TradeEvents within 1 unit, the bundler is correct.

If they only match wallet 1, you do not have a bundler. You have a create tx that sometimes survives because you only sent one buy.

Win the auction after that. Not before.


Telegram: https://t.me/C00LBB

Site: https://coolbb.site


Enter fullscreen mode Exit fullscreen mode

Top comments (0)