How it works/pump.fun/$PUMP
The engine, explained.
A launchpad where every coin launches on pump.fun, trades against $PUMP and pays a 3% creator fee that comes back as six equal shares: to the launcher, to burning pFuel, and to the coin's own buy & burn, price stabilizer and loyalty airdrop, plus the protocol. This page covers a coin's life, where each fee goes, what the buckets do, the risks, and how to read the data yourself.
Overview
Every coin here is a normal pump.fun coin created with pump.fun's create_v2, quoted in $PUMP and set to the maximum 3% creator fee (300 bps) that pump.fun allows on a coin quoted in another pump coin. Its creator of record is its own treasury: a wallet only the engine can sign for, reserved for that coin at launch. So every creator fee the coin earns collects in a vault of its own, and the engine splits it.
pump.fun charges its own protocol fee on top, as on every pump.fun coin. The genesis coin, $pENGINE, launched before the pad and runs its own engine; every pad coin buys and burns pFuel through it.
Launching
- Supply: 1,000,000,000 tokens, 6 decimals, a Token-2022 mint created by pump.fun. No mint authority: nobody can create more. Burns only ever lower it.
- Metadata: name (up to 32 bytes), ticker (up to 10 bytes), image, description and links. Links must be https;
@handlesbecome x.com / t.me links. With no website, the coin links to its launchpad page. - Image: PNG, JPG, GIF or WEBP, checked by its actual bytes. Large stills are resized to 1024px in your browser; GIFs up to 4 MB stay animated.
- Cost: pump.fun's account rent plus a small network fee, paid by your wallet and shown before you sign. No launch fee.
- First buy: optional, in $PUMP, in the same transaction as the launch, so nobody can buy ahead of you.
- Treasury: the site reserves a treasury for your mint before it builds the launch and sets it as the coin's creator. A reservation that never launches is freed again after 30 minutes.
- Safety: your browser generates the coin's mint key and it never leaves the tab. The launch is simulated before your wallet is asked to sign, so a launch that would fail costs nothing.
Fees
Every buy and sell pays the 3% creator fee in $PUMP, on the curve and after graduation on PumpSwap.
| Share of volume | Goes to |
|---|---|
| 0.5% | The launcher, paid in $PUMP |
| 0.5% | pFuel buy & burn: $PUMP routed into $pFUEL, then burned |
| 0.5% | The coin's buy & burn |
| 0.5% | The coin's price stabilizer |
| 0.5% | The coin's loyalty airdrop |
| 0.5% | The protocol wallet |
The engine sweeps each coin's waiting creator fee (on the curve, and in the pool after graduation) into its treasury every 10 minutes or so, and splits whatever the treasury holds six equal ways. Rounding dust stays and joins the next split. Each coin has its own wallets (treasury, pFuel burner, buyer, stabilizer, airdrop), so its money is visibly separate on-chain; they are listed on its page. The launchpad's platform wallet pays every engine transaction fee. pump.fun makes a trading wallet pay rent for accounts a trade opens, so the platform keeps a small SOL float in the trading wallets for that.
Before it runs a coin, the engine checks it on-chain: quoted in $PUMP, a 3% creator fee, its reserved treasury as creator, and not a holder-reward, cashback or mayhem coin. A coin that doesn't match is refused and never run.
Bucket 1: pFuel buy & burn
About every 15 minutes, once it holds enough to be worth the route, the pFuel bucket spends its whole $PUMP balance in one pump.fun multi-hop swap: $PUMP into $pENGINE on its PumpSwap pool, then $pENGINE into $pFUEL on pFuel's curve (or its pool once pFuel graduates). The swap's minimum output is set from a simulation, less slippage. Every $pFUEL it receives is burned; it never sells. If the engine stops between the swap and the burn, the next run burns what is held before it buys again.
Bucket 2: buy & burn
A disclosed, buy-only program. About every 5 minutes (the timing is jittered) it spends a small slice of its bucket on the coin, paced so a full bucket is spread over about 24 hours, and capped so no single buy moves the price more than 0.5%. It never sells: everything it buys is burned with the token program's burn instruction, which permanently lowers the supply. Every buy and burn is listed on the coin page with its transaction.
Bucket 3: price stabilizer
A counter-cyclical ladder around a slow anchor: the coin's 6-hour average price.
- Buys dips in tranches. The bucket is split across levels under the anchor: 15%, 25%, 35% and 50% below, with 10 / 20 / 30 / 40% of the money. Each tranche fires once and re-arms only after the price recovers past its level.
- Sells strength in rungs. It sells half its bag at each +50% rung over its average entry, only above the anchor, only while the price is rising, and never below its entry.
- Small slices. Orders are worked in slices so no swap moves the price more than 2%, with jittered gaps.
- Crash pause. A fast collapse (60% off the recent high) cancels buying and pauses it for 30 minutes, so the bucket isn't poured into a dump.
It smooths swings. It cannot hold a floor.
Bucket 4: loyalty airdrop
Through each hourly round the bucket buys the coin back in small slices (capped at 1% price impact each), then airdrops everything it bought to holders, weighted by:
lowest balance held this round × loyalty multiplier
- The multiplier grows with continuous holding: 1× after 1 hour, 1.5× at 24 hours, 2× at 3 days, 3× at 7 days (linear in between).
- Selling or sending out any amount resets it to zero. Buying right before a round earns nothing for that round, because the lowest balance counts.
- Weight stays linear in balance on purpose: splitting a bag across wallets is a transfer out, which resets.
- Engine wallets, the curve and the pool never receive airdrops. Tiny shares are dropped and re-split among the rest, so dust wallets don't eat fees.
Paste your wallet into the airdrop panel on any coin page to see your multiplier, your share of the next drop and what selling would cost you. It runs entirely in your browser from the engine's published holder list.
Curve and graduation
Each coin starts on pump.fun's standard bonding curve, priced in $PUMP: the price rises as $PUMP flows in and tokens leave the curve.
- When the curve sells out, pump.fun migrates the coin to its canonical PumpSwap pool, still paired with $PUMP. Nobody here needs to press anything.
- The 3% creator fee carries over to the pool, with the same treasury as creator, so the engine keeps claiming and splitting it.
- Trades, prices and the trade panel follow the coin to its pool automatically.
Trading
The trade panel on each coin page builds the transaction on the server, simulates it, and hands it to your wallet to sign. You can pay with:
- $PUMP: one swap, directly on the coin's bonding curve (or its PumpSwap pool once graduated).
- SOL: one transaction with two steps: SOL to $PUMP through Jupiter, then $PUMP into the coin. The coin step only spends the amount Jupiter guarantees, so it can't ask for more than the first step delivers; any extra $PUMP stays in your wallet. Selling to SOL is the same in reverse.
Slippage defaults to 3% (you can set 0.1% to 50%); the transaction fails rather than filling worse than your limit. Quotes show the minimum you receive and the price impact, fees included.
Risks
- Memecoins can go to zero. They have no intrinsic value. The buckets slow selling and reward holding; they do not guarantee any price.
- Anyone can launch. A coin's name, image and links are chosen by its launcher. The launchpad doesn't vet them. Check the contract address before you buy.
- $PUMP is the quote. Every coin is priced in $PUMP, so its USD value moves with $PUMP's price too.
- The engine is software. If it is offline, creator fees keep accruing on-chain and the buckets catch up when it returns, but nothing is bought, burned or airdropped meanwhile.
- Smart-contract risk. Trading runs on pump.fun's programs, PumpSwap and Jupiter; bugs there are outside the launchpad's control.
Addresses
| $PUMP (quote) | pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn |
| $pENGINE (genesis) | GLPbc2tSS844kLztd4Zj1NTSy8zjvHsFud75jnGZpump |
| $pFUEL (burned) | BX4GPRFgtmQp9W8e6goFr7xq9Tks4xK9C1ouXHCPpump |
| Platform wallet | 4S7MyyxBv5sB4by9zzmTmcqAEG4mxMz6NpoBoBKdQH1n |
| pump.fun program | 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P |
| PumpSwap program | pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA |
API
Everything on this site comes from a public JSON API that reads the chain directly. Errors come back as { "error": "…" } with a 4xx/5xx status. Amounts are in whole tokens, not raw units; $PUMP amounts are labelled.
| Endpoint | Returns |
|---|---|
GET /api/pad | Launch status, $PUMP price, fee split, lifetime totals, engine status. |
GET /api/coins | All listed coins. Query: sort=new|mcap|volume|progress, filter=all|live|soon|graduated, q= (name, ticker, mint or launcher). |
GET /api/coin?mint= | One coin, the engine status and labels for its wallets. |
GET /api/trades?mint=&limit= | Recent trades, read from the curve's (or pool's) vault balances. |
GET /api/candles?mint=&tf= | OHLCV candles in $PUMP; tf in seconds: 60, 300, 900, 3600. Multiply by supply for market cap. |
GET /api/holders?mint= | Top 50 holders with share of supply and labels. |
GET /api/quote | Price a trade: mint, side=buy|sell, pay=pump|sol, amount, slippageBps. |
GET /api/wallet?address= | $PUMP and SOL balances, holdings, coins launched. |
POST /api/trade | Unsigned, simulated trade transaction for owner to sign. |
POST /api/upload | Stores an image and metadata (multipart form); returns the metadata URI. |
POST /api/build | Reserves a treasury and returns an unsigned, simulated launch transaction (optional firstBuy in $PUMP). |
POST /api/send | Relays a fully signed launchpad transaction and waits for confirmation. |
Per-coin bucket dashboards are published by the engine and served as JSON at /api/state?mint= (and the engine index at /api/state). The relay only forwards signed pump.fun, PumpSwap or Jupiter transactions that touch a launchpad coin (or a treasury reserved for a launch in flight), so it can't be used to send arbitrary transactions. Write endpoints are rate limited per IP.