How to Tell If a Token's Liquidity Is Locked and for How Long
Liquidity locking is a mechanism where the tokens that form a trading pool are sent to a smart contract that prevents anyone, including the project team, from withdrawing them before a set time. To tell if a token's liquidity is locked, you need to locate the liquidity pool address on a block explorer, check whether the LP tokens are in a locker contract, and read the lock's expiration date.
What "liquidity locked" actually means
When a developer creates a token on a decentralized exchange like Uniswap or PancakeSwap, they provide an initial amount of token and the paired asset (usually ETH, BNB, or a stablecoin). The exchange issues liquidity provider (LP) tokens representing ownership of that pool. If the developer keeps those LP tokens in their own wallet, they can withdraw the entire liquidity at any moment - a "rug pull" risk. Locking means sending those LP tokens to a locking contract that only allows withdrawal after a specific date.
Step 1: Find the Liquidity Pool Contract
Open the token's page on a block explorer like Etherscan or BscScan. Look for the "Holders" tab. The largest holder is often the liquidity pool itself. Alternatively, check the "Transactions" tab for a recent "Add Liquidity" transaction - the pool address is usually the recipient.
- On the token page, scroll to the "Pairs" section (if visible) to see the pool address directly.
- You can also search the token's contract address on a DEX like Uniswap or PancakeSwap; the swap page shows the pool address.
Step 2: Check If LP Tokens Are in a Locker Contract
Once you have the pool address, go to the "Holders" tab of the pool contract (not the token contract). The pool's own LP tokens - which represent ownership of the liquidity - will be held by addresses. If the largest holder is a known locker contract, the liquidity is locked.
Common locker contracts include: - Unicrypt - look for "Unicrypt" in the contract name. - Team Finance - formerly TrustSwap. - DXlock - used by some automated lockers. - Pinksale - often used on Binance Smart Chain.
If the holder is a wallet address that looks like a regular user (e.g., starting with 0x and having many transactions), the liquidity is likely unlocked. If the holder is a contract address (one that has internal transactions and code), it may be a locker.
Step 3: Read the Lock Expiration
Click on the locker contract address from the holders list. On its page, look for a "Read Contract" tab. You will need to call a function to see the lock details. Common functions:
getLockorgetLocks- often requires the pool address as input.lockedLiquidityorlocks- may return an array of lock data.unlockTimeorendTime- returns a Unix timestamp.
If the locker uses a standard like Unicrypt, the "Read Contract" section will have a "getLock" button. Paste the pool address, click "Query", and the output shows: - The amount of LP tokens locked. - The unlock time (in Unix timestamp - convert it using an online converter or by adding the seconds to January 1, 1970). - The owner (usually the token deployer).
If you see a timestamp far in the future, the liquidity is locked until that date. If the timestamp is in the past, the lock has expired - the developer could withdraw at any time.
Step 4: Verify the Locker Is Legitimate
Not all "locker" contracts are real. Some projects deploy fake locker contracts that appear to lock liquidity but actually allow withdrawal at any time. To verify:
- Check the locker contract's source code on the block explorer. If it is not verified (no green checkmark), treat it with suspicion.
- Compare the locker's address against a list of known locker contracts. Many block explorers have a "verified contracts" section where you can search for "Unicrypt" or "Team Finance."
- Look for audit reports from the locker provider. Unicrypt and Team Finance publish audit reports on their websites.
Step 5: check how many LP tokens are actually locked
A project might lock a small fraction of the liquidity while keeping the rest unlocked. On the locker contract's "Read Contract" page, the lock data shows the amount of LP tokens locked. Compare that to the total LP token supply. You can find the total LP token supply on the pool contract's "Read Contract" tab by calling totalSupply. If only 10% of LP tokens are locked, the developer can still rug pull with the remaining 90%.
What "liquidity burned" means
Some projects choose to "burn" LP tokens by sending them to a dead address (0x000...dead) instead of locking them. This is permanent - the liquidity can never be withdrawn. If the LP tokens are in a dead address, the liquidity is effectively locked forever. You can check this by looking at the pool's holder list: if the top holder is a burn address, the liquidity is burned.
Limitations
- Liquidity can be removed from the other side. A locked pool only prevents the LP token holder from withdrawing. If the paired token (e.g., ETH or BNB) has a different mechanism - like a mint function - the developer could still drain value.
- Lock duration can be misleading. A lock that expires in one week is not the same as one that expires in five years. Short locks (under 30 days) are a red flag.
- Locker contracts can be upgraded. If the locker itself uses a proxy contract, the developer might change the lock conditions. Check if the locker is a proxy (see the site's guide on proxy contracts).
Tools That Help
Several websites automate the process: - DEXTools - shows "Liquidity Lock" status on the token page, but always verify manually. - TokenSniffer - checks lock status for some chains. - BubbleMaps - visualizes holder distribution and can show if LP tokens are in a locker.
Rely on manual verification for important decisions. Automated tools can miss custom lockers or show outdated data.
Not financial advice. 1msc.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.