Liquidity lock
What gets locked, which contract holds it, and how to check for yourself that nobody can take it out.
Every token launched here has its liquidity locked the moment it launches. There is no countdown, no unlock date, and no admin key that releases it. This page says exactly what that means, names the contract holding it, and shows you how to confirm it yourself rather than take our word.
What actually gets locked
When a token launches, a pool is created and seeded, and the pool hands back an LP position — an NFT that represents a claim on the liquidity sitting in that pool. Whoever holds that NFT can pull the liquidity out.
That NFT never goes to the creator, and it never goes to Runitup. The factory mints it directly to a locking contract in the same transaction that creates the pool. There is no window in which anybody else holds it.
So the thing that is locked is the claim. The tokens and the ETH stay in the pool where they can be traded against; what is gone is anyone's ability to withdraw them.
Where it is
All of these are on Robinhood Chain, and all of them are live addresses you can open right now.
| What | Address |
|---|---|
| Liquidity locker — holds every LP position | 0x35Ff7595dB6D0F8680Fe554F3Cd2Aa9933E76C2E |
| Position manager — the NFT contract the positions live on | 0xe38A007e42d7aAb09b7ad5fE083293C2Cc3DE45b |
| Pool manager — where the pooled tokens themselves sit | 0x8366a39CC670B4001A1121B8F6A443A643e40951 |
| Token factory — mints the position and locks it | 0x1f7Ea1a001a24EF4B3e3F74FC18C59905a856193 |
Three separate contracts, because Uniswap V4 splits the job three ways. The pool manager holds the actual tokens for every pool on the chain at once. The position manager issues the NFT that says which share of one pool belongs to whom. The locker holds that NFT and cannot let go of it.
Check it yourself
Two contract reads on the block explorer. No Solidity, no wallet, nothing to install.
- On the token page, press the Pool id chip to copy the pool's identifier.
- Open the liquidity locker on Blockscout, go to Read contract, and call
positionOfwith that id. It returns a position number. - Open the position manager, go to Read contract, and call
ownerOfwith that number.
The answer to step 3 is the locker, 0x35Ff…6C2E. That is the whole proof: the pool's liquidity
belongs to a contract with no way to give it back.
Worked through on Koda the Goat, so you can see the shape of the answers before you try it:
| Step | Value |
|---|---|
| Pool id | 0xb89e59820f0df144e9131dd2ef964914374e8652 |
positionOf(pool id) | 1 |
ownerOf(1) | 0x35Ff7595dB6D0F8680Fe554F3Cd2Aa9933E76C2E — the locker |
Every token live on Runitup has been checked this way, not just the example. All of their positions are held by that one contract.
Why nothing can take it out
The locker has no withdraw function. Not a restricted one, not a time-locked one, not one behind a multisig — the function does not exist in the contract, so there is no key that could call it and no upgrade path that could add it.
There are exactly three things anyone can do to a locked position:
| Function | Who can call it | What it does |
|---|---|---|
registerPosition | The token factory, once per pool | Records a newly minted position at launch. Rejects a pool that already has one. |
collectFees | Anyone | Sweeps the pool's accumulated trading fees and pays them out. Touches fees only, never the liquidity. |
increaseLiquidity | Anyone | Adds more liquidity to a locked position, paid for by the caller. On a Uniswap V4 pool it reverts, so today it does nothing at all. |
That is the entire surface. increaseLiquidity is worth a second look because it sounds like a way
in: it pulls both sides from whoever calls it and hands them to the pool. It only ever deepens a
pool, and there is no matching function to take anything back out. Every token launched here so far
is on Uniswap V4, where the call is not implemented and reverts — so the only function that has
ever run against a locked position is fee collection.
You can confirm this without reading Solidity. On Blockscout's Read contract and Write contract tabs for the locker, the complete list of functions is visible, and there is no withdraw, unlock, transfer, sweep, rescue, emergency or upgrade among them.
What the owner can do
The locker is Ownable, so it has an owner, and a page claiming otherwise would be lying. What
matters is what that owner is able to do, which is three things and none of them touch liquidity:
- Set the keeper fee. Fee collection is open to anyone, but somebody pays the gas. The keeper fee reimburses whoever triggers a collection, out of the fees being collected in that same transaction. It is 0.5% of the quote side today and the contract caps it at 5%, so it cannot quietly become a large tax. See Keeper.
- Point the locker at the fee splitter — one time only. The contract refuses a second call.
- Point the locker at the token factory — also one time only, same refusal.
The owner cannot move a position, cannot withdraw liquidity, cannot change the code, and cannot stop anyone from collecting fees.
Why the pool shows up in Top holders
If you look at the Top holders tab, you may see a single address holding a very large share. On a V4 token that address is usually the pool manager, and it is the locked liquidity rather than a whale who could dump on you.
The holders table labels that row AMM Pool and leaves it out of the holder count and the "top 10 hold" figure, so the concentration number reflects actual wallets. Supply sent to a burn address is labelled Burned and excluded for the same reason.
What this does not promise
Locked liquidity is a narrow guarantee, and it is worth being precise about its edges.
- It does not stop the price falling. A locked pool means you can always sell. It says nothing about the price you get.
- It does not stop the creator selling. They may hold a large share, especially after a first buy at launch. The Top holders tab shows what they hold right now.
- It does not cover the venue's own code. The pool lives inside Uniswap's contracts, which are not ours. That is the same trust anyone trading on Uniswap already accepts.
- It says nothing about the paired asset. A token paired against a tokenized stock inherits whatever happens to that stock and to the contract issuing it.
For the rest of what a launched token can and cannot do to you, see Security.
