How it works

The whole mechanism, in the order money moves through it. Every number on this page is the constant the program enforces.

What a bundle is#

A bundle is a crowdfund for exactly one token launch on pump.fun. It has a name, a ticker, an image, a target in SOL and a set of terms. While it is open, anyone can buy shares in it with SOL and sell them back at any time. There is no deadline: it stays open until it fills or the creator stands it down.

When the target is reached the bundle fills: contributions become permanent, the token is created on pump.fun with the bundle's own program account as the coin creator, and the raised SOL buys the bonding curve. From then on the bundle earns the creator fee on every trade of that token, and 80% of it belongs to the backers, pro-rata to their shares, for as long as the token trades.

Nothing here is custodial. The SOL sits in a program-owned account from the first contribution to the launch buy, the fee split is computed by the program, and claims go straight to the backer's wallet. The keeper only cranks permissionless instructions.

The share curve#

Shares are priced on a straight line: the first share costs 0.5 SOL (per whole share) and the last one 1.5 SOL, so the average across the whole bundle is exactly 1 SOL per share. A bundle with a target of T SOL therefore has T shares at fill, and holding x shares means holding x / T of the bundle.

price(s)       = (T + 2s) / (2T)                   SOL per share after s shares sold
cost(s1 -> s2) = (s2 - s1) * (T + s1 + s2) / (2T)   what it costs to go from s1 to s2 shares

Funding L SOL from s shares sold gives you the largest whole number of shares (in lamport units) whose cost is at most L; the program solves the quadratic with an integer square root and rounds down. Selling x shares back refunds cost(s − x → s) rounded down: the curve is walked back the way it was walked up. Because every rounding goes the treasury's way, the account always holds at least what it would cost to buy the outstanding shares from zero, so every backer can always exit, in any order, while funding is open.

The preview on the bundle page uses the same integer formulas, and the transaction carries a minimum-shares (or minimum-refund) bound 1% below the preview so a trade that lands after someone else's cannot surprise you by more than that.

  • Target: 1 to 5 000 SOL. Minimum contribution: 0.01 SOL.
  • The last contribution is charged only what is needed to fill; the rest stays in the wallet.
  • Shares are shown divided by 10⁹, so "1 share" is what 1 SOL buys at the average price.

Fill and launch#

  1. The contribution that reaches the target flips the bundle to Filled. Funding and selling back stop; positions are frozen.
  2. The keeper creates the token on pump.fun (create_v2) with the bundle's program account as creator, then calls attach_token. The program checks the token really names the bundle as creator, sends the one-time launch fee (5% of the raise) to the platform and sets the cash reserve aside.
  3. launch_buy spends the rest on the bonding curve, signed by the program through the bundle's vault (a second program-derived account that is pump.fun's trading user). The tokens land in the vault's token account. The bundle is now Live.

Two transactions, no trust: the SOL never leaves the program, and anyone can verify on chain that the coin's creator is the bundle account. If a launch is sniped to graduation before the buy lands, the admin marks the bundle live and the swarm buys on PumpSwap instead.

Fees#

pump.fun pays the coin creator a fee on every trade, on the bonding curve and on PumpSwap after graduation, always in SOL. Here the creator is the bundle, so that fee lands in the bundle account. Anyone can call harvest; it books whatever arrived and splits it:

At fillRaised SOLheld by the bundle account5% launch fee to platform9.5% cash reserve for the swarm85.5% buys the pump.fun curveSwarm inventorytokens in the bundle's vault, plus the cash reserveEvery trade after launchSomeone tradeson pump.fun or PumpSwap~0.3% creator feepump.fun's schedule, in SOL, to the bundle20% platform8% team (10% of the backers' share)72% to backerspro-rata to shares, claimable forever
  • 20% platform, sent to 7P48uP5gpbzMHsR7Lhx8X26HgCFJctQaiqy8cjY4w6TR.
  • Team: 0 to 25% of the backers' share, chosen by the creator before anyone funds and sent to the team wallet named at creation. The diagram shows a 10% team share as an example.
  • The rest to backers: it raises an accumulator (fee per share) and each position can claim shares × accumulator − already claimed. Claims are permissionless, so the keeper pushes them to wallets once they are worth the transaction fee; you can also claim from the bundle page or the desk.

The creator fee itself is pump.fun's: the same schedule every coin gets, currently about 0.3% of every trade on the bonding curve and on PumpSwap. It is not configurable per bundle. The platform and launch percentages are snapshotted into the bundle when it is created, so a later change of the defaults never touches an existing bundle.

The swarm#

The tokens the bundle bought at launch plus its cash reserve (0 to 50% of the raise, chosen at creation) form the swarm: inventory the bundle can trade to support its own market. Both live in the bundle's vault account, which only the program can move. An operator key runs the strategy, but the program is the real limit:

  • It can spend at most a fixed share of the cash per window (default 20% per 1 hour) and sell at most a fixed share of the inventory per window (default 10%).
  • It can never sell below the bundle's sell floor, if one was set.
  • It can buy and sell only through pump.fun and PumpSwap, only into and out of the vault's own accounts. There is no withdraw instruction.
  • The admin can pause the swarm and tighten its limits inside the bounds; it cannot loosen them past the maxima or move funds.

The strategy in v1 buys small amounts on dips against the 24 h average and sells small amounts on rips above it, never in the first minutes after launch, never below a cash floor.

Who can do what#

  • Creator: sets the terms, can stand the bundle down (sell-only) and reopen it while funding, and close it once it is empty. Cannot touch the money.
  • Backers: fund, sell back while open, claim fees after launch, close an empty position to recover its rent.
  • Operator (the keeper): attaches the token, trades the swarm within the limits, cranks harvests and claims.
  • Admin: pauses new bundles, adjusts swarm limits within bounds, the "mark live" escape hatch. Cannot withdraw.

Program id: 5UUM5H4iStap81hV7rgK4BHLRuzLg53foYTD93LZHFdg.

Risks#

Contributions become permanent at fill. Before that you can always sell back; after that your shares are a fee claim, not a refund claim.
Fee income can be zero. Fees come only from trading volume. A token nobody trades pays nothing.
  • The token can lose value. Backers do not hold the tokens; the vault does, and the swarm may trade them. Its inventory and cash can fall in value.
  • Launch can be front-run. Anyone watching the chain may buy the curve before the bundle's own launch buy lands; the program tolerates this rather than failing the launch.
  • Dependencies. pump.fun and PumpSwap can change their programs or fee structure; the keeper reads their live configuration and the program passes accounts through, but a breaking change could delay launches or fee collection until updated.
  • Positions are not transferable in this version.

FAQ#

Can I get my SOL back?
While the bundle is funding (or stood down), yes, by selling shares back to the curve; you receive exactly what the curve pays for them at that moment. After it fills, no.
What do I actually own after launch?
A position account with a number of shares. It entitles you to shares / target of the backers' part of every creator fee the token ever pays, claimable at any time.
Who holds the tokens?
The bundle's vault, a program-derived account, in its own token account. That inventory is the swarm. Backers never receive tokens; they receive SOL fees.
Why is the last share three times the price of the first?
Early backers take the risk that the bundle never fills and carry the launch; the curve pays them for that. The 0.5 to 1.5 range keeps the spread modest while still rewarding being early.
Do I need to claim by hand?
No. Claims are permissionless and the keeper pushes them once a position's pending fees cover the transaction fee. You can also claim yourself on the bundle page or the desk.
What does the creator earn?
Only what they set as the team share (0 to 25% of the backers' part), paid to the team wallet fixed at creation. A creator can also back their own bundle like anyone else.
What happens if the creator stands down?
No new contributions are accepted, but every backer can still sell back at the curve. The creator can reopen it, or close it once every share has been sold back.

Create a bundle