What LP burn means

At graduation, the ETH and PEG accumulated on the bonding curve are deposited as liquidity into a new Uniswap v4 pool. That liquidity is not an NFT and it is not sent to any address — Uniswap v4 doesn't work that way. Instead, the position is created and owned by the hook contract itself, and the hook's code contains no function, anywhere, that can ever reduce or remove it. "LP burn" is the name this page keeps for historical reasons, but the accurate description is: permanently locked, not sent anywhere.

Why this matters

Without a permanent lock, a token's liquidity could be removed at any time by whoever controlled the LP position. That's the classic "rug pull" — the team yanks liquidity, the price collapses, holders are left holding tokens with no exit.

peg.fun's lock removes this risk permanently, but not by giving the position to an address with no key. It removes it by never writing the removal instruction at all:

  • The graduation position is owned by the hook contract. After migration nothing can move, upgrade, or reclaim this position — the one narrow power peg.fun retains post-graduation reaches only a graduated token's creator fee, never the liquidity (see Risks and docs/CTO-POLICY.md).
  • The hook's only path that touches this position is a collect — pulling out the trading fees it has earned and putting them straight back in as more liquidity (see below). There is no "remove liquidity" call anywhere in the hook that targets this position, for any amount.
  • No transaction, from any account including the hook's own, can reduce that position's liquidity below what it started with.

Every peg.fun token has permanent baseline liquidity after graduation. This is not configurable, not pausable, not reversible — it is enforced by the absence of any removal code path, not by ownership transfer to a dead address.

What LP burn means for trading

The locked position provides a permanent price floor. Even if every PEG holder sold simultaneously, the locked liquidity would still be in the pool — the token cannot reach a price of exactly zero while the pool exists.

Trading generates two separate fees post-graduation: a hook-dispatched fee that splits between creator, treasury and PEG holders (see How to claim holder fees), and a separate 0.25% native Uniswap v4 pool fee that does not go to holders at all. That pool fee accrues the normal way any Uniswap v4 liquidity position earns fees — and the locked graduation position is no exception. Periodically, the hook collects its own accrued share of that fee and re-deposits it straight back into the same locked position, growing its liquidity. This is real and permanent, but it is a slow effect — reaching even 1% deeper liquidity this way takes cumulative trading volume on the order of several times the pool's total liquidity, so don't expect to notice tighter pricing from one trade to the next.

Since this position opened to outside liquidity, other people can add their own liquidity too. Third-party liquidity providers can add liquidity to the pool after graduation (full-range positions only — the pool doesn't support one-sided or concentrated positions from anyone, protocol included). Anyone who does this earns that same 0.25% pool fee on their own stake, and — unlike the locked graduation position — they can collect and withdraw it, and remove their liquidity, whenever they like. So other real liquidity providers do exist and do earn this fee; the graduation position is only the one among them that can never be removed.

What LP burn does NOT do

The permanent lock is not a price guarantee. It does not lock the token's price or prevent it from going up or down. The market still determines price via the constant-product AMM formula (x * y = k).

The lock only prevents the graduation liquidity itself from being removed. The token can still trade freely, prices can still fluctuate, and a determined seller can still push the price down by draining the pool through trades — but no one can ever remove that specific position from the pool.

How to verify the lock

The lock is verifiable on-chain, but not by checking an NFT owner — there isn't one. Instead:

  1. Find the token's pool on Blockscout (the Robinhood Chain block explorer).
  2. Look up the graduation position: its owner is the token's own PegHook contract address, not a wallet and not the zero address.
  3. Confirm the PegHook contract has no owner and no function that can touch this liquidity position (peg.fun's one remaining post-graduation power is narrower and unrelated — see Risks) and read its source — there are exactly three reachable code paths that ever move this position's liquidity, plus one inherited path that exists in the code but is disabled by reverting stubs, and none of the three reachable ones can produce a negative amount. This has been verified in the contract's own test suite by fuzzing long sequences of calls and asserting the position's liquidity is monotonically non-decreasing, and by a symbolic proof of the three reachable deltas.

Don't want to trust this page? Run the check yourself. The full write-up — including the exact code lines, the exact proofs, and the honest limits on what this can and cannot guarantee — lives in the peg.fun repository at docs/LIQUIDITY-PERMANENCE.md. A one-command, read-only script (contracts/script/verify-liquidity-permanence.sh in the same repository) reproduces the verification against live chain state for any peg.fun token, with no private key and no transaction ever broadcast.

If you want a UI shortcut, the token's detail page shows the migration status and a link to the on-chain pool record. The graduation event is also indexed and searchable.

Third-party liquidity: withdrawing early costs a time-decaying exit fee

The permanent lock above only covers the graduation position — the liquidity the bonding curve itself deposits. Anyone can add their own liquidity to a graduated pool, and that liquidity is never locked: you can remove it whenever you like. Since the v28 cohort (September 2026), removing it does something new: your withdrawal mints glyphs, and an exit fee prices how long your liquidity sat before you removed it.

This exists because a withdrawal is, mechanically, tokens arriving at your wallet from the pool — exactly the same event that mints glyphs on an ordinary buy (see How buying works). Without a fee, adding and immediately removing liquidity would be a free, repeatable way to mint fresh glyphs — a free reroll the rest of the protocol goes out of its way to prevent. The fee prices that round trip instead of blocking it.

The schedule

Time since deposit Exit fee
0h – 4h 5.0%
4h – 8h 4.0%
8h – 12h 3.0%
12h – 16h 2.0%
16h – 20h 1.5%
20h – 24h 0.5%
24h+ 0% — free

The fee is charged when you withdraw, based on how long that specific position sat before you removed it — not on how long you've held PEG in general, not on when the pool graduated.

What the fee is charged on

Principal only. If your position also earned trading fees while it sat in the pool (the normal 0.25% native Uniswap v4 pool fee every liquidity position earns), those fees are yours in full — the exit fee never touches them, only the capital you originally deposited. A same-day withdrawal pays the fee on your deposit; a position that sat 24 hours or more pays nothing regardless.

Where the fee goes

The fee is split by currency, not paid as one lump sum: the ETH half joins the same pool that pays post-graduation holder fees (see How to claim holder fees) — it goes to PEG holders, not to peg.fun. The token half is burned — supply falls, so every remaining holder's proportional claim on the collection rises. Neither half goes to the protocol or to peg.fun.

Topping up resets the clock — open a new position instead

The fee is tracked per position, keyed to when it was opened (or last topped up) — not to your wallet. Adding to an existing position resets that position's clock to zero. If you already have liquidity in and want to add more, open a second, separate position rather than topping up the first: the new position starts its own 24-hour clock, and the original position keeps the age it already earned. Topping up an aged position is the one action here that actually costs you something you didn't have to lose.

The honest residual

Once a position has sat for 24 hours, withdrawal is free — this page isn't going to pretend otherwise. A patient liquidity provider can still exit for nothing and mint a fresh glyph at the end of every cycle; the fee doesn't close that path, it prices the fast version of it. What it costs instead is real: roughly a day of locked capital and full price exposure to the pool per cycle. Bounded, not eliminated — stated here rather than left for you to work out from a smaller-than-expected withdrawal.

Why peg.fun locks liquidity instead of using a timelock

Other launchpads use a timelock — the LP is locked for a fixed period (e.g. one year) then becomes removable. That model has two problems:

  1. The lock expires. Eventually the creator can remove liquidity.
  2. The timelock is opt-in. A creator can deploy without one.

peg.fun goes further: the lock is mandatory and permanent, enforced by the absence of any removal code, not by a timer that eventually runs out. There is no opt-in, no expiry, no key to recover. The trade-off — the creator can't ever recover this liquidity either — is the price of the "permanent, eternal, rug-safe" liquidity narrative. See Risks for the long-form trade-off.