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, which is itself renounced (no admin key, no owner, no upgrade path) after migration.
- 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:
- Find the token's pool on Blockscout (the Robinhood Chain block explorer).
- Look up the graduation position: its owner is the token's own PegHook contract address, not a wallet and not the zero address.
- Confirm the PegHook contract is renounced (no owner, no admin function) 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.
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:
- The lock expires. Eventually the creator can remove liquidity.
- 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.