Docs
The permanent lock
The launch liquidity can never be withdrawn. What that guarantees, and what it leaves open.
Design · not deployedValues on this page come from the design. Deployed addresses and settings: Contract addresses; live state: Status.
Permanent liquidity lock
The launch liquidity sits in one Uniswap v4 position that no one can withdraw: not the creator, not EtherFamily, not an upgrade. The lock covers only this canonical position. Other pools of this token, created by anyone else, are not EtherFamily markets and are not locked.
What is locked
When a token launches, EtherFamily's hook puts the whole supply into one Uniswap v4 position in the new pool, starting at the opening price. At most 0.001 token of rounding dust stays behind in the hook, where it can never move again. The position holds only the launched token at first; buyers add the quote asset to it as they trade.
- The hook itself owns the position. It has no function that removes liquidity, no owner, no admin key and no upgrade mechanism.
- Nobody else can add liquidity to the pool, remove liquidity from it or donate to it: the hook rejects all three for everyone but itself.
- Only trades change what the position holds. The fee is charged separately, as claims booked by the hook, so collecting fees never takes anything out of the position.
What the lock guarantees
- Nobody can take the liquidity out: not the creator, not EtherFamily, not an upgrade. The quote that buyers paid stays in the pool, where sellers can trade against it.
- Nobody can reset the pool's price or change its fee, fee split or fee recipient. The fee terms are fixed at creation, and no admin function reaches a live pool.
- In the reference models, every circulating token could be sold back into the pool (except amounts too small to pay the fee) Model. Whether a sale is possible at a given moment still depends on the opening window, on the quote's issuer and on the pool holding some quote (below).
What the lock does not cover
The lock is about one position in one pool. It does not protect against any of the following.
Other pools of the same token
Anyone can create other pools for a launched token: on Uniswap v2 or v3, or v4 pools without EtherFamily's hook. They are not EtherFamily markets, their liquidity is not locked, and EtherFamily's fee and rewards do not apply there. Token pages show the canonical pool id so it can be told apart.
The price
Locked liquidity is not a price floor. When holders sell, the pool pays them quote at the pool price and the price falls; a token can lose almost all of its value while its liquidity stays locked.
The quote asset
The pool can only trade while its quote asset can move. An issuer that pauses its token or blocks the PoolManager freezes the market and its fee claims. Every stock-quoted market says so:
Issuer powers
The issuer can pause the stock token or block addresses at any time, and can change the token's code for all its stock tokens after a 2-hour delay. A pause or block can stop trading in this market and stop fee and reward claims. EtherFamily's permanent liquidity lock does not protect against that.
For a perp-share quote, the vault behind the share can change what the share is worth and what it tracks, down to winding the vault down. Perp vault shares
Uniswap's protocol fee
Uniswap governance can add a protocol fee of up to 0.1% per trade direction to any v4 pool, including EtherFamily's. It cannot touch the position or the launch fee. External powers
Bugs
The lock is a property of code. EtherFamily's contracts are not yet audited or deployed, so today it is a property of the design, until tests and an audit show that the code keeps it. Uniswap's PoolManager, which holds the position, is not upgradeable Observed on-chain.
The two edges of the range
The position covers every price from the opening price to the far end of Uniswap's price range.
At the opening price the position holds none of the quote. Selling is impossible until someone has bought, and the trade panel says so before you try:
Selling unavailable at the opening price
Selling is unavailable right now: the pool holds none of the quote asset until someone buys.
The far edge is out of reach: converting the whole position into quote would take, at the $4,000 opening value, about 1023 ETH or 1031 USDC Model. A buy that would exhaust the range reverts instead of filling partly.
How this is known
The same lock pattern (a hook that owns the position, has no removal code and rejects everyone else's liquidity changes) was tested on a mainnet fork: third-party adds, removals, donations and minting through Uniswap's position manager all reverted Test-proven. Stockereum, the design EtherFamily forks, uses the same pattern, and every one of its launch positions still held its seed liquidity when it was read Observed on-chain. EtherFamily's own proof is an invariant test (the position's liquidity never decreases) that runs once the contracts exist.
What this page is not
A description of the design, not a guarantee that EtherFamily's contracts are free of bugs. Nothing is deployed yet.
Sources: EtherFamily contracts specification §3 (design); research on Uniswap v4 §3.8 (fork test) and on Stockereum §2 (observed at block 26,085,700); reference model model/launch_math.py (far edge, sell-back).