Documentation

How it works

A coin launched here is pegged to one CS2 skin: its market cap is meant to equal that skin's live market value. This page is the whole mechanism, in order — where the money comes from, who holds it, how the size of every trade is worked out, and the things the system deliberately cannot do.

Overview

A launch is an ordinary pump.fun coin: a bonding curve holding the supply, tradeable from the first block, graduating to PumpSwap when the curve fills. Two things are different. Every coin is paired to a skin at creation, and every coin has a process defending that pairing with money the coin itself earned.

A tradeon the curveCreator feecharged in SOLThis coin's vaultits own reserveThe keeperbuys or sellsmarket cap moves back toward the skin's price
The loop. Trading is what funds the defence of the price that trading moves, so a coin that is traded can hold its peg and a coin that is not has nothing to hold it with.

That loop is the entire product. It is also the honest limit of it: the defence is funded by trading, so a coin people trade can hold its peg and a coin nobody trades cannot. There is no treasury behind it and nothing is subsidised from elsewhere.

What the peg is

market cap of the coin = live price of the skin

One token supply is worth one skin. The supply is a billion tokens, so one token is worth a billionth of the skin, and the skin's price is quoted in dollars from the exact listing chosen at launch — a specific wear, StatTrak or Souvenir where you picked one. The target moves with that listing.

Market cap is read from the curve rather than from a price feed. A bonding curve stores two virtual reserves, and the spot price is simply their ratio, so the cap is computable from chain state alone and cannot drift from what the coin actually trades at:

price = vQ / vT   ·   market cap = price × total supply

Nothing forces the market to trade at the target. The peg is a line the keeper leans on with real buys and sells, and how hard it can lean is a function of what the coin has earned.

Where the money comes from

pump.fun charges every trade against a bonding curve. Most of what you send reaches the curve; the rest splits between the protocol and the coin's creator. That creator slice is the only money this system ever spends.

to the curveprotocolcreator~98.75%~0.95%~0.30%this coin's vault
One trade, split. The slices are drawn wide enough to read; the figures beside them are the real ones. Only the creator fee reaches the coin's vault, and it is the entire budget the peg is defended with.
Creator fee~30 bpsFlat. Charged on every buy and sell, in SOL, and paid to the coin's vault.
Protocol fee~95 bpspump.fun's own, varying with market cap and trade size. Not ours and never reaches the vault.
Launch cost~0.025 SOLRent and fees for the create transaction, paid once by the launcher.
Platform cutNoneNothing is taken off the top. The launcher receives nothing either.
The creator fee is not paid out to whoever launched the coin. It goes to the coin, and the keeper spends it on the coin. Launching here is not a revenue share; it is handing the coin a budget to defend itself with.

The fee vault

pump.fun routes a coin's creator fees to a vault derived from whichever key was named as creator when the coin was minted. One key means one vault for every coin it created, which would pool every launch's fees into a single pot.

Keeper secretheld once, never per coinVault Asalt Acoin A fees onlyVault Bsalt Bcoin B fees onlyVault Csalt Ccoin C fees onlyno SOL is ever moved between them
One vault per coin. pump.fun pays creator fees to a vault keyed by whoever is named creator at mint time, and one key would pool every coin's fees together. Each launch is given its own key, derived from one secret plus a salt stored beside the launch; the key itself is never written down.

So every launch is given its own creator key. It is derived from one secret we hold plus a random salt recorded beside the launch, and the private key is never written anywhere: the keeper re-derives it whenever it needs to claim, buy or sell for that coin. The salt on its own reveals nothing.

The vault is also the coin's reserve. Claimed fees land in it as SOL, buys are paid from it, and tokens sold return SOL to it. What the vault holds on chain is the reserve — there is no separate ledger that could disagree with it.

A vault can claim this coin's fees, buy this coin, and sell this coin. That is all. It cannot mint, cannot reach the curve's liquidity, and cannot touch anyone else's balance or another coin's vault.

The keeper

One process walks every live coin on a 30-second cadence. For each coin that is due it runs four steps, each guarded on its own so a failure late in a pass still keeps the progress made earlier.

  1. 1ClaimWhatever creator fees have accrued, from both the bonding-curve and PumpSwap vaults, swept into the coin's vault as SOL. Below a floor it is left to accumulate, because claiming dust costs more in fees than it collects.
  2. 2ReadThe curve's virtual reserves for the market cap, the vault's SOL balance and token balance, the skin's latest price, and SOL in dollars. All of it read fresh; nothing is carried forward from the last pass.
  3. 3PlanWhich side of parity the coin is on, how far, and what trade would close that gap — then clamped by the deploy cap and by what the vault actually holds.
  4. 4Trade and recordBuy from the vault's SOL or sell the vault's tokens, then write a tick row with what happened, including the case where nothing happened and why.

The balances are re-read from chain every pass rather than tracked in a database. That is the single decision that keeps the books from ever drifting: a failed transaction, a partial fill or a manual transfer all show up as the next pass's starting state without anything needing to be reconciled.

The band

A coin is never exactly at parity, and chasing the last fraction of a percent would spend the reserve on fees. Inside 1.5% either way the keeper does nothing and records that it did nothing.

skin price±1.5% · holdkeeper buyscap under the skinkeeper sellscap over the skin
The band. Inside ±1.5% of the skin's price the keeper holds: a trade that small costs more in fees than it corrects. Outside it, the keeper trades toward the centre from whichever side the market has taken the coin.
Band±1.5%Deviation inside this is left alone.
Max deploy50% of reserveThe most one pass may spend, so a single bad print cannot drain a vault.
Max sell50% of inventoryThe same limit on the way back down.
Min trade0.005 SOLBelow this a trade is not worth the fees it pays.
Vault floor0.004 SOLHeld back for rent and signatures, so a vault can always act again.
Cadence30sHow often each coin is looked at.
Backoff90sHow long a coin sits out after a failed pass.

Sizing a trade

The size of a defensive buy is not a guess or a fixed step. A constant-product curve holds the product of its two virtual reserves fixed, and price is their ratio, so the reserve level that corresponds to any target price is a closed form — and the SOL needed to get there is the difference between that level and the current one.

tokens sold by the curvepriceprice implied by the skinnowthe keeper's buyvQ* = √(p* · vQ · vT)   →   buy = vQ* − vQ
Sizing a buy. Price on the curve is the ratio of its two virtual reserves, so the SOL needed to reach any target price is a closed form rather than a guess. The keeper spends the smaller of that figure and its own deploy cap, so it never overshoots parity and never empties the reserve in one pass.

The mirror of the same relationship gives the number of tokens that would have to be sold into the curve to bring an over-priced coin back down:

vT* = √(vQ · vT / p*)   →   sell = vT* − vT

Both figures are then clamped. The keeper takes the smaller of the exact amount and its deploy cap, so it can undershoot parity but never overshoot it, and can never spend a vault down in a single pass.

A worked pass

Concretely, with a coin pegged to a skin worth $13,136 while SOL is at $116, the vault holding 0.42 SOL, and the market having taken the coin ten percent under its skin:

Target$13,136The skin's live price, so 113.2 SOL of market cap.
Market cap$11,800Read from the curve's reserves.
Deviation−10.2%Outside the band, and under the skin, so this is a buy.
Exact size~2.9 SOLWhat the curve maths says would close the gap completely.
Deploy cap0.21 SOLHalf of the 0.42 SOL reserve.
Spent0.21 SOLThe smaller of the two. Recorded as a partial defence.

The pass closes part of the gap and leaves the rest. The coin stays under its skin, the log says the defence was reserve-capped rather than complete, and the next pass tries again with whatever new fees have arrived. This is the ordinary case for a young coin, and it is why the reserve figure on a coin's page matters as much as the deviation does.

Inventory

Selling only ever sells tokens the keeper bought earlier. It never holds a short and never sells supply it did not pay for, so a coin that has only ever traded above its skin has nothing to sell with and the log says so plainly.

That makes the mechanism asymmetric on purpose. Defending a coin that is too cheap costs SOL and produces tokens; capping a coin that is too expensive spends those tokens and produces SOL. Over a coin's life the two sides fund each other, and the vault's two balances — SOL and tokens — are both shown on its page for that reason.

Skin prices

Prices come from Skinport, which reports the median of live listings for every item in one keyless call. The median is used rather than the lowest ask: on a thin item the cheapest listing is often a single lowball far below where the item actually changes hands, and pegging to that would misprice the coin.

The catalogue carries the most valuable skins in the game along with every priced variant of each, so a peg can be quoted against Factory New, Battle-Scarred or StatTrak rather than a blended figure. The keeper re-prices the whole catalogue every four minutes and appends each reading to a history table.

That history is ours. Skinport serves the current price and nothing else, so the second line on a coin's chart — the one the peg is actually measured against — only exists because we have been recording it. A skin with nothing currently listed keeps its last price rather than dropping to zero, which would otherwise show a Dragon Lore pegged at nothing.

Lifecycle

Createsupply → curveOn the curvekeeper holds the pegGraduateliquidity → PumpSwapPooledfees still accruepeggedclaims only, for now
A coin's life. The vault is set at creation and never changes, so fees keep arriving after graduation even though the venue does. The keeper's trading leg follows the bonding curve today; the PumpSwap leg is the one piece not yet switched on.
  1. 01CreateYou set a skin, name, ticker, image and links. The entire supply is minted straight to the bonding curve. Nobody, including the launcher, holds a bag set aside beforehand — a dev buy, if you make one, is an ordinary purchase in the same transaction.
  2. 02Trade the curveAnyone can buy and sell immediately. The keeper starts on its next pass, with whatever fees the first trades have produced. Early on the reserve is small and defences are partial.
  3. 03GraduateWhen the curve has sold its real token reserves, pump.fun migrates the SOL it collected and the remaining supply into a PumpSwap pool. The coin keeps its mint, its name and its vault.
  4. 04Keep earningCreator fees continue from the pool for the life of the coin, and the keeper keeps claiming them into the same vault.

Graduation

Graduating is not a quality signal. It means the curve sold out and nothing more; a graduated coin can trade down afterwards like anything else.

What changes mechanically is the venue. The bonding curve closes and the coin trades in a PumpSwap pool. The vault is unaffected — it was fixed at mint time and keeps collecting — so the reserve carries on growing.

Status. The keeper's trading leg runs on the bonding curve. A graduated coin still has its fees claimed into its vault, but its peg is held rather than traded until the PumpSwap leg is switched on. The trade panel on a graduated coin sends you to pump.fun rather than pretending to route the order.

What it cannot do

Worth being explicit about, because several of these look like bugs from outside.

  • It cannot spend money the coin has not earned. A coin with no volume has no reserve and therefore no defence, however far it drifts.
  • It cannot close a large gap in one pass. The deploy cap is half the reserve, so a deep move is corrected over many passes as fees arrive, not instantly.
  • It cannot sell what it never bought. A coin that has only traded above its skin has no inventory, so the upper side of the band is undefended until it has spent something on the lower side.
  • It cannot trade a graduated coin yet. See above.
  • It cannot mint, burn or move supply. Everything it does is an ordinary trade on the open market that anyone else could make.

Reading the log

Every pass writes a row, including the ones where nothing happened, and a coin's page shows the most recent of them. A log full of holds is the correct output for a quiet coin, not a sign that something has stopped.

buyspent SOLBought the coin on its own curve to lift the market cap toward the skin.
sellspent tokensSold inventory back into the curve to bring the cap down, refilling the reserve.
claimcollected SOLSwept accrued creator fees into the vault without needing to trade.
holdnothingInside the band, or the trade would have been too small to be worth its fees.
errornothingThe pass failed and the reason is recorded. The coin is retried after the backoff.

Risks

  • The peg is defended, not guaranteed. Everything above describes effort, not a promise. Nothing here can make a market trade at a price.
  • A big move can outrun the reserve. Parity returns as fees return, which on a quiet coin may be slowly or not at all.
  • Skin prices are a third-party feed. Skinport's median can jump on a thin item, and the target moves with it. The band absorbs small moves; large ones are real changes in what the coin is pegged to.
  • Graduated coins are held, not pegged, until the PumpSwap leg ships.
  • Names are not unique. Anyone can launch a coin on a skin someone else already chose, or with a name copied from another. The mint address is the only identifier that cannot be faked.
  • Transactions are signed by your own wallet and are irreversible.

FAQ

Who owns the fees?

The coin does. They sit in a vault only the keeper can sign for, and the keeper only ever spends them on that coin's own curve. Nothing is paid out to the launcher and nothing is taken by the platform.

Can the same skin be pegged twice?

Yes. Each coin has its own vault and its own keeper state, so two coins on one skin are two independent pegs that will not track each other.

What happens when the skin price falls?

The target falls with it. If the coin is then above parity the keeper sells inventory it bought earlier, which both pushes the cap down and refills the reserve for the next defence.

Why has my coin not been touched?

Most likely it is inside the band, or its reserve is under the minimum trade size. Both are recorded as holds in the log with the reason attached.

Why is my coin unpriced?

The catalogue has no price for its skin, usually because the schema has not been applied or the seed has not run. The keeper holds rather than trade on a missing price.

Can I run the keeper myself?

The keeper is a single process in this repository and needs the secret that derives every vault, so it is ours to run. What it does is fully recorded: every claim and every trade is a signature you can open in an explorer from the coin's page.

Ready to launch?
Pick a skin. The rest is one transaction.
Launch a coin