Locked Liquidity on Solana: How to Verify It On-Chain
Learn what locked liquidity means on Solana, how to verify LP token locks and timelocks on-chain, and the workarounds attackers still use.
Published
Updated
You're about to buy a Solana meme coin. The trading page displays a liquidity-lock badge, the chart looks active, and the project says the pool can't be pulled. Before you treat that as permission to buy, there are two separate questions to answer: who can withdraw the liquidity, and can you sell into it?
A lock can help answer the first question. It doesn't automatically answer the second, and it won't tell you everything the creator can still do.
Table of Contents
- What Locked Liquidity Means
- LP Locks, Timelocks and Burns
- How to Verify a Liquidity Lock on Solana
- Measuring Exit Depth Before You Sell
- Attacker Workarounds a Lock Does Not Stop
- Confirm the Lock and the Exit Before You Buy
What Locked Liquidity Means
A liquidity lock restricts the withdrawal of a liquidity-provider position. It does not restrict ordinary trading or guarantee that a token will hold its value.
In an automated market maker, a liquidity provider deposits a token and a paired asset, such as SOL, into a pool. Traders exchange assets against those reserves. In return, the provider receives LP tokens representing a claim on the pool. Some pool designs use a position NFT instead.
Whoever controls that claim can generally redeem it and withdraw the corresponding reserves. That is different from selling tokens: withdrawing liquidity removes assets traders would otherwise trade against.
Think of a timed key safe
The pool is like a shop's cash drawer, and LP tokens are like the key that lets someone withdraw its contents. A timed safe can prevent the keyholder from opening the drawer until a set condition is met. It cannot ensure that the drawer contains enough to serve every customer.
The illustration shows how the pool, its assets, and the withdrawal claim relate.

A lock can use different mechanisms:
- LP token lock: A locker contract holds the LP tokens until its release conditions are met.
- Timelock: Code enforces a waiting period before a withdrawal or another controlled action can proceed.
- LP burn: The withdrawal claim is destroyed or made permanently inaccessible.
Team vesting is separate. It sets when team token allocations become available. It does not control whether pool reserves can be withdrawn.
Why withdrawal control matters
Rug-pull pools can lose liquidity quickly. If the withdrawal claim is available to the creator, they may be able to remove reserves before traders can act. A lock can delay or prevent that particular withdrawal, depending on its terms.
The lock's value depends on what it covers: the position, its share of the pool, the release conditions, and who can reclaim it. Those details show which withdrawal route is restricted. They do not prove that the pool is deep enough for holders to sell, or that the token's contract, supply distribution, or trading activity is safe.
Practical rule: Treat a liquidity lock as a withdrawal control, not a safety certificate. Check how much liquidity is covered, then consider whether enough remains available for an exit.
LP Locks, Timelocks and Burns
The following comparison separates controls over pool withdrawal from controls over team token releases.
Lock types and what each guarantees
| Lock type | Who controls withdrawal | Reversible | Residual risk |
|---|---|---|---|
| LP token lock | Locker contract, with beneficiary set at lock | Released at expiry under the contract's rules | Near expiry, partial coverage |
| Contract timelock | Timelock contract enforcing a delay | Action permitted after the delay | Upgradeable locker or admin keys |
| LP burn | No one, if genuinely destroyed or inaccessible | No | Shallow pool, insider token supply |
| Team vesting | Vesting contract enforcing a release schedule | Released according to schedule | Token selling pressure, no guarantee of pool depth |
An LP token lock places the withdrawal claim in a contract. Its ordinary endpoint is a release timestamp, after which the beneficiary can reclaim the position under the applicable rules. A scheduled release isn't a broken promise by the contract, even if buyers overlooked it.
A contract timelock describes the delay mechanism rather than a completely separate asset type. An LP locker may itself use a timelock. Inspect what action the delay governs, whether someone must initiate that action, and whether an administrator can change the relevant rules.
Permanent removal versus scheduled release
An LP burn removes the withdrawal route associated with the burned claim. The LP burn glossary explains the term, but verification still requires identifying the actual pool position and the transaction that made it inaccessible.
Burning LP tokens doesn't add SOL to the pool. Nor does it stop traders from exchanging the reserves through ordinary swaps. A permanently inaccessible withdrawal claim and a permanently stable pool balance are different things.
Team vesting releases an allocation of the traded token over time. To interpret it, inspect the allocation, recipient, release schedule, and any cancellation authority. Don't substitute a team-vesting page for proof that the active pool's LP position is restricted.
- Partial coverage: A locked position may represent only part of the pool; inspect the uncovered balance separately.
- Insider supply: Team tokens held outside vesting remain a separate source of potential sales.
An ETH Zurich-hosted DeFi paper distinguishes smart-contract vulnerability, restricted liquidity, and impermanent loss as separate risks. That distinction matters because a withdrawal restriction doesn't remove the economic or technical risks of the position.
A useful lock claim names the contract, identifies the beneficiary, states the covered share, and explains when control changes.
If the project provides only a badge, you don't yet have enough information to distinguish these arrangements. Treat the label as a starting point for inspection, not the result of it.
How to Verify a Liquidity Lock on Solana
Start with the token mint address, not its name or ticker. Open the token's market on the DEX interface, then inspect the relevant accounts in a Solana explorer such as Solscan.
This visual summarizes the verification sequence; the account-level checks below provide the detail.

Follow the withdrawal claim
Find the active pool and position type. Copy the pool address from the DEX interface and confirm its token mints match the intended pair. Identify the LP mint for a fungible-LP pool, or the position account and NFT for a position-based pool; don't force every pool into an LP-token model.
Inspect who holds the claim. For fungible LP tokens, open the mint's holder list and inspect the largest token accounts, including their owner addresses. A token account address isn't necessarily the controlling wallet, and an explorer label alone doesn't establish ownership.
Read the locker record. Follow the deposited position to the locker program and inspect its decoded state for the beneficiary, deposited amount, and release timestamp. Confirm the record references this pool's LP mint or position, rather than another asset with a similar name.
Calculate coverage. For a fungible-LP pool, divide the locked LP amount by the relevant outstanding LP supply and express the result as a percentage. Reconcile burned claims separately, because a true token burn can reduce supply and make a simplistic holder-list calculation misleading.
Check the release conditions. Convert the timestamp to a readable date and compare it with your intended holding period. Inspect renewal transactions and administrative permissions rather than assuming the original announcement still describes the current state.
Verify any burn claim. Inspect the transaction instructions and resulting mint supply or destination account. A transfer to an unfamiliar address isn't proof of inaccessibility, and burning an unrelated token doesn't establish that the pool's withdrawal claim was burned.
Read reserves and active liquidity. Record the paired-asset and token balances from the DEX's pool view, then obtain a quote for your intended sale. For concentrated-liquidity pools, total deposited assets don't tell you how much liquidity is available along your trade's price path.
Save the evidence. Record the pool, LP mint or position, locker record, beneficiary, coverage, expiry, reserve snapshot, and inspection time. Mark unavailable or undecoded fields as unresolved rather than treating missing information as a pass.
Lock record fields to read before buying
| Field | Where to find it | Red flag |
|---|---|---|
| Lock beneficiary | Locker program account for the LP mint or position | Creator beneficiary with an approaching release |
| Locked LP amount | Locker program account | Locked share well below total LP supply |
| Unlock timestamp | Locker program account | Unlock falls inside your holding period |
| Burn status | LP mint holder list and transaction instructions | Claimed burn lacks verifiable destruction or inaccessible custody |
| Pool reserves | Pool account on the DEX interface | Available depth is small relative to planned sale |
| Token authorities | Token mint account | Mint or freeze authority still active |
A creator beneficiary isn't automatically suspicious, and an unburned position can still be validly locked. Each field needs to agree with the specific claim being made.
The video provides an additional walkthrough to accompany your account checks.
Don't connect a wallet or sign a transaction merely to inspect public account information. If you can't decode the locker's rules, leave withdrawal control unverified.
Measuring Exit Depth Before You Sell
Take the token and SOL reserves you recorded and ask a narrower question: what would this pool pay for my intended sale? Market capitalization won't answer that, and recent volume doesn't establish how much SOL is available when you exit.
The Blockmind liquidity-lock explainer highlights the practical distinction: permanently locked liquidity can still be too shallow for holders to exit without severe price impact. Locking an inactive pool offers little protection to traders using another market.
A hypothetical constant-product calculation
For a simple constant-product pool, let T be the token reserve, S the SOL reserve, and q the tokens you intend to sell. Ignoring fees and other transactions:
- SOL received: S × q ÷ (T + q).
- New token reserve: T + q.
- New SOL reserve: S × T ÷ (T + q).
- Post-sale spot price: New SOL reserve divided by new token reserve.
As a hypothetical worked example, sell tokens equal to 10% of the token reserve. The formula returns about 9.09% of the SOL reserve, while the post-sale spot price is approximately 17.36% lower than before the trade. These are mathematical outputs for the stated scenario, not observed Solana trading statistics.
Your average execution price and the final spot price are different. Price impact is the effect of your trade on the pool; slippage tolerance limits how far execution may deviate from your quote.
Raising slippage tolerance doesn't create a better exit. It permits a worse execution.
Test the trade you would actually make
Use a live DEX quote for the actual route, especially for concentrated-liquidity pools or routes spanning multiple markets. Compare the expected proceeds, fees, and minimum received with the amount you need to recover.
Then model reduced liquidity after expiry. If the reclaimable position disappears, estimate your sale against the remaining usable reserves rather than assuming today's quote will remain available.
The Solana exit-liquidity checker provides an additional diagnostic route for evaluating an intended exit. Record the largest sale you can accept at your chosen execution limit, not merely the largest position you can buy.
Attacker Workarounds a Lock Does Not Stop
An expiry-based withdrawal is an easy risk to overlook. The contract can function exactly as written while the beneficiary waits for release and then removes liquidity. Streamflow's guide to liquidity locks and rug pulls describes the example of a team locking liquidity for 30 days and withdrawing it after the lock expires.
The key question is what extraction paths remain available, not whether the locker currently holds the position.
Permissions and supply outside the locker
An active mint authority can allow additional token issuance. Inspect who holds that authority and whether it's revoked, rather than relying on a project's fixed-supply description.
An active freeze authority can freeze token accounts and interfere with transfers. It doesn't need to withdraw the LP position to affect a holder's ability to trade. Check the mint account directly, along with relevant token extensions and program-specific restrictions.
Insiders can also sell tokens they already own. A founder with a large vested allocation can exchange those tokens for the pool's paired asset without redeeming any LP tokens.
- Inspect concentration: Compare large available allocations with the pool's capacity to absorb sales.
- Examine wallet links carefully: Funding and transaction patterns may warrant review, but a suspected connection isn't proof that wallets share an owner.
- Review release capacity: Consider what insiders can sell during your holding period, not just their total allocation.
Activity that disguises weak depth
A shallow locked pool can produce an attractive chart while offering poor execution. A trader doesn't need to remove liquidity to cause severe price impact; selling into insufficient reserves can be enough.
Wash trading can make that market appear busier than it is. Review whether activity involves diverse participants and credible net flows, rather than treating headline volume as independent buying demand.
Partial locks create another route. The beneficiary may be unable to touch the deposited claim while someone else can still withdraw an unrestricted position. Identify those remaining claims and their controllers instead of assuming the locked portion describes the whole pool.
Decision test: A valid lock can coexist with a trade you shouldn't take.
These paths require different evidence: contract permissions, supply ownership, reserve depth, transaction patterns, and LP custody. No single badge resolves them all. Before committing funds, ask: can I sell my intended amount without collapsing the price?
Confirm the Lock and the Exit Before You Buy
Don't buy on the strength of a lock badge. Require a documented pass on the following checks, and treat an unresolved field as a reason to pause rather than an invitation to assume the best.
A pass-or-fail buying checklist
Coverage is meaningful and recorded. You've identified the active pool, measured the restricted share, and accounted for material withdrawable positions.
The release date fits your plan. The earliest meaningful withdrawal opportunity sits beyond your intended holding period, with room for a delayed exit. You understand who receives control when that happens.
Token permissions meet your risk standard. Mint and freeze authority are revoked, and you've checked relevant restrictions rather than interpreting an LP lock as permission clearance.
Insider sales wouldn't dominate the pool. Available allocations and plausible connected holdings are small enough relative to usable depth for your risk tolerance.
Your exit is executable. A current quote supports your intended sale at acceptable price impact, and a reduced-liquidity scenario doesn't invalidate the position size.
Use the guide to buying Solana meme coins safely to place these checks alongside wallet security and broader token due diligence. Passing this checklist isn't proof that a token is safe: demand can disappear, large holders can sell, and conditions can change.
Interpret the result without overclaiming
Our analysis includes mint and freeze authorities, liquidity, holder distribution, creator behavior, wallet activity, trading patterns, and historical risk indicators. Suspicious activity or potentially linked wallets are items to examine, not evidence of wrongdoing; missing data isn't proof of safety.
A falling price alone also doesn't establish a rug pull. Separate the observable event, such as a reserve withdrawal or large sale, from the conclusion you draw about it.
Keep your evidence attached to the token address and inspection time, and recheck it before increasing your position. The final buying question is concrete: if you sold your full position today, what would the price be after the sale?
Visit MemeAssist to examine live Solana token risk signals and assess whether available liquidity supports your intended exit. A live exit-liquidity check costs $0.05 per diagnostic check, giving you another evidence point to examine before relying on a locked-liquidity claim.