How to Check If a Token's Liquidity Is Locked (Step by Step)
A "liquidity locked" badge means nothing until you read it on-chain. Here is how to verify a liquidity lock yourself, find the LP or position NFT, trace the locker address, and confirm the unlock date without trusting anyone.
Updated July 22, 2026
What "Liquidity Is Locked" Actually Means
Every tradeable token has a liquidity pool sitting behind it. That pool holds the token on one side and something valuable on the other, usually WETH or a stablecoin. It is the pool that lets people buy and sell, and it is the pool that gives the token a price. Whoever controls that liquidity controls whether the market keeps existing.
A rug pull is simply the person who owns the pool's liquidity pulling it out. They withdraw the ETH, the price collapses to zero, and everyone holding the token is left with something they can no longer sell. Locking the liquidity is the defense: the deposit that represents the pool gets handed to a contract that will not release it until a fixed future date, so the founder physically cannot drain it.
Here is the catch that traps most buyers. "Liquidity locked" is a claim, and a claim is not proof. Anyone can put those two words in a Telegram pin, a website banner, or a token description. The blockchain does not care what the marketing says. It only records who holds what and until when, and that record is public. Learning to read it yourself is the single highest-value skill for avoiding scams.
The good news is that you do not need to be a developer. A block explorer (Basescan on Base, Etherscan on Ethereum, BscScan on BNB Chain) shows you everything you need. The steps below walk through verifying a lock from scratch, and then how a launchpad like Bubblepad makes the whole check trivial by putting the proof right on the token page.
Step One: Find the Token's Pool and Its LP
Start with the token's contract address, the long string beginning with 0x. Paste it into a block explorer's search bar. The token page shows holders, transfers, and the contracts it interacts with. Your goal is to find the liquidity pool, sometimes called the pair, where the token trades against WETH or a stablecoin.
The easiest route is a DEX aggregator or the token's chart on a site like Dexscreener, which links straight to the pool address. Or open the token's "Holders" tab on the explorer: the pool contract is usually one of the largest holders, since it custodies the tradeable supply. Click through to that pool address to see the pair.
Now identify what actually represents ownership of that liquidity, because it differs by DEX version. This is the part people skip, and it is the part that matters.
- Uniswap v2 and its clones (PancakeSwap v2, and most forks) give the liquidity provider a fungible LP token. Holding those LP tokens is what lets you withdraw the underlying liquidity. So the LP token is the "deed" to the pool.
- Uniswap v3 (and Bubblepad) does not use a fungible LP token. Instead, each position is a single non-fungible token: a position NFT with a unique tokenId. That one NFT is the deed to that specific slice of liquidity. Whoever owns the NFT can collect fees and, when allowed, withdraw the liquidity.
So before you check who holds anything, know what you are looking for: a v2 LP token balance, or a v3 position NFT with a specific tokenId. Both answer the same question, just in different shapes.
Step Two: See Who Holds the LP
This is the heart of the verification. Ownership of the LP is what makes a lock real, so you need to see exactly which address holds it.
For a v2 LP token, open the LP token's contract on the explorer and look at its holders. For a v3 position, find the position NFT (on Uniswap it is the NonfungiblePositionManager contract) and look up the owner of that tokenId. Either way, you end up with one address that controls the liquidity.
Now ask the only question that matters: is that address a locker contract, or is it a plain wallet? A locker is a smart contract whose entire job is to hold the LP and refuse to release it until a set time. A plain wallet, especially the deployer's wallet (the address that created the token), can move or withdraw the liquidity at any second.
If the LP is sitting in the deployer's wallet, or in any regular externally owned account, the liquidity is not locked, no matter what the project claims. It can leave the moment you buy. This is the number one red flag, and it is visible in about thirty seconds once you know where to look. A locker address, by contrast, is a contract, and clicking it should show contract code, not just a transaction history.
Step Three: Open the Locker and Read the Unlock Timestamp
Once you have confirmed a locker contract holds the LP, open that locker on the explorer and go to the "Read Contract" tab. A real locker stores, for each locked position, an unlock timestamp: the Unix time (a big number of seconds) after which the liquidity can be withdrawn.
Find the entry for your token's LP token or your position NFT's tokenId, and read its unlock time. Paste that number into any Unix timestamp converter to get a human date. This single date tells you how long the market is protected. A lock that unlocks in three days is theater. A lock measured in years is meaningful.
Do not stop at the date. Confirm the locker is a genuine, immutable locker and not something the team can override. Check that the contract is verified (its source code is published and readable), and look for admin functions that could shorten the lock, change the unlock time, or let an owner sweep positions early. A trustworthy locker has no such backdoor: once liquidity goes in, even the locker's own operator cannot pull it before the timestamp.
- Verified source code, so you can read exactly what it does.
- An unlock timestamp you can convert to a real, far-future date.
- No owner-only function to withdraw early, extend nothing, or rewrite the unlock time.
If the "locker" is actually a multisig or a wallet the team controls, treat it like the team holding the LP directly, because that is what it is.
Step Four: Sanity-Check the Locked Percentage and Watch for Red Flags
A lock only protects the liquidity that is actually inside it. If a project locks 5% of the liquidity and keeps the other 95% in a wallet, the lock is a decoration. Compare the locked LP against the total LP for the pool, and for a fair launch check that essentially all of the tradeable liquidity is the locked position. On a launch where 100% of supply went into one locked pool, that math is clean.
Also glance at the token's holder distribution. Even with locked liquidity, a single non-pool wallet holding a huge share of the supply can dump on the market and crush the price. A locked pool stops a liquidity rug; it does not stop a whale who was handed 30% of the tokens in a presale. Both risks are worth checking together.
Keep this red-flag checklist in mind while you verify:
- The LP or position NFT is held by the deployer wallet or any regular wallet, not a locker contract.
- The unlock date is days or a few weeks away, not years.
- The locker is unverified, or has admin functions that can withdraw early or move the unlock date.
- The project claims "liquidity locked" but points to a screenshot, a URL, or a promise instead of an address and a tokenId you can open yourself.
- Only a small fraction of the total liquidity is actually in the locker.
Any one of these is a reason to slow down. "Trust me" is not evidence. An address, a tokenId, and a timestamp are.
Verify Without Trusting Anyone: How Bubblepad Shows the Lock
The reason liquidity checks feel like detective work is that most launches leave you to reconstruct what happened after the fact. Bubblepad flips that. Because it seeds and locks liquidity in the same transaction that creates the token, the proof exists from block zero and is displayed right on the token's page.
When Bubblepad launches a token on Base, it opens a Uniswap v3 pool against WETH, seeds it single-sided with 100% of the supply, and the pool returns a v3 position NFT. That NFT (the deed to the entire liquidity) goes straight into the locker contract for 10 years. The founder never holds it, so there is no approve-and-drain moment and no owner switch to flip.
On the token page you can see the lock and the unlock date, and every claim on that page is backed by the chain. You can take the position NFT's tokenId to Basescan, confirm the locker contract owns it, open the locker, read the 10-year unlock timestamp, and verify it matches. Nothing about it depends on believing the team.
One detail people like: the original launcher stays the pool's fee receiver and pool owner the whole time, so they keep earning trading fees, but they can never withdraw the locked liquidity. That is the shape a lock should take. The upside stays with the creator, the safety stays with the buyers, and both facts are readable on-chain by anyone who bothers to look. After reading this, you are one of the people who looks.
Frequently asked questions
How do I check if a token's liquidity is locked?
Find the token's pool on a block explorer, identify the LP (a v2 LP token or a v3 position NFT with a tokenId), and check who holds it. It should be a locker contract, not the deployer wallet. Then open the locker and read the unlock timestamp. If the LP is in a wallet or the unlock date is near, the liquidity is not meaningfully locked.
What is a liquidity locker address?
It is the address of a smart contract whose only job is to hold the LP (or the v3 position NFT) and refuse to release it until a set unlock time. When the LP is held by a real locker contract instead of a person's wallet, the founder cannot withdraw the liquidity, which is what makes a lock trustworthy.
How do I find the LP lock for a Uniswap v3 token?
Uniswap v3 does not use a fungible LP token. Each position is a non-fungible position NFT with a unique tokenId, held by the NonfungiblePositionManager. Look up the owner of that tokenId. If a locker contract owns it, open the locker and read the unlock date for that tokenId.
Is 'liquidity locked' proof that a token is safe?
No. The words alone prove nothing, and they can be posted by anyone. Only the on-chain record counts: which contract holds the LP and until when. A safe lock also needs an immutable locker with no early-withdraw backdoor, a far-future unlock date, and most of the liquidity actually inside it. Locked liquidity also does not stop a large token holder from dumping.
What are the biggest red flags when checking a lock?
The LP or position NFT held by the deployer wallet instead of a locker, an unlock date only days away, an unverified locker or one with admin functions to withdraw early, a lock claim backed by a screenshot rather than an address and tokenId, and only a small fraction of the liquidity locked.
How can I verify a Bubblepad token's lock?
Bubblepad shows the 10-year lock and unlock date on the token page, and it is all on-chain. Take the v3 position NFT's tokenId to the explorer, confirm the locker contract owns it, open the locker, and read the 10-year unlock timestamp. You never have to trust the team, because the proof is public.