The pitch is always some version of the same thing. Liquidity is locked, team can't rug, you're safe. And most of the time the person saying it genuinely believes it, because the launchpad put a green badge on the pair and they took the badge at face value. The badge is not the proof. The proof is on chain, and it takes about three minutes to check if you know where to look.
What follows is the check I run before touching anything that launched in the last day or two. It is not a promise the token goes up. Committed liquidity and a good chart are different problems. This only answers one narrow question. Can the deployer pull the pool out from under you at will. That question kills most launches on its own, so it is worth answering first.
What locked actually means
When someone adds liquidity to a Uniswap-style pool, they get back LP tokens. Those LP tokens are the claim ticket. Whoever holds them can withdraw the underlying pair, the paired stablecoin or ETH and the project token, at any time. A rug in its simplest form is the deployer holding the LP tokens, waiting for buyers, then redeeming the ticket and walking off with the paired side.
So there are only two states that make the pool hard to drain. Either the LP tokens are locked in a time-based locker contract that will not release them until some future date, or they are burned, sent to an address nobody controls so the claim ticket is gone for good. Both are verifiable. Neither requires trusting the team's word or the launchpad's badge.
The trap is that both states can be faked convincingly, and the fake looks identical to the real thing on a dashboard that only reads a label. You have to follow the LP token itself.
The actual walkthrough
Start from the pair, not the token page. On the block explorer, find the liquidity pair contract for the token, then look at who holds its LP tokens. Reading the holder distribution of the LP token is the whole game. Here is the order I go in.
- Open the token on the explorer and find the main pool. Click through to the pair contract, the one that represents the token paired with WETH or a stablecoin.
- Look at the holders of that pair contract. You are looking at where the LP supply actually sits, not where the token supply sits. These are different things and people conflate them constantly.
- If the bulk of LP supply is at a dead address, that is a burn. The two common ones are the zero address and the classic dead address that ends in a long run of e's and a d. Sitting there permanently with no way out is the real thing.
- If the bulk of LP supply is at a locker contract, that is a lock, and now you have a second job. You have to read the lock, because a lock with an unlock date next week is barely a lock at all.
For the burn case, one detail catches most fakes. Confirm the burn happened after the meaningful liquidity was added, and confirm it covers most of the LP supply. A deployer can burn a token amount of LP, brag about it, and quietly keep a second larger chunk in a fresh wallet. Percentage of total LP supply burned is the number that matters, not the raw figure they quote in the announcement.
Reading the locker so it can't lie to you
Lockers are the part people skip, and it is exactly where the soft rug hides. A locker is just a contract that takes your LP tokens and enforces a rule about when they come back out. The popular ones expose their state publicly, so you can read the terms yourself instead of trusting a screenshot.
Pull up the locker contract and check three things. The unlock timestamp, so you know when the LP becomes withdrawable. The beneficiary or owner, the address that gets the LP back when the timer ends. And whether the lock can be shortened, extended, or the beneficiary reassigned, because some lockers let the owner move the unlock date or transfer the claim to another wallet mid-lock. A lock that can be edited by the person who created it is a countdown they control.
Run the timestamp through any converter and read the human date. I have watched people celebrate a lock that unlocked in a handful of days. Technically locked. Practically a scheduled exit. My rough rule is that a lock measured in days or a couple of weeks tells you the team is planning to leave, and a lock measured in months or years with no owner edit powers is at least a real commitment. It does not make the token good. It makes this one specific attack expensive.
The fake burn that routes to a wallet
The nastiest version looks like a burn and is not one. The deployer sends LP tokens to an address that reads as dead at a glance, a vanity address full of zeros or one that mimics the real dead address by a character or two. It is a normal wallet with a private key someone holds. Copy the destination address and compare it character by character against the canonical burn addresses. Do not eyeball the middle. Scammers count on you reading the first four and last four characters and filling in the rest from memory.
The other move is splitting. Ninety-something percent of LP goes to a real lock or burn, and the remainder sits in a wallet that can still be redeemed for a slice of the pool. Small, but enough to bleed the pair if the float is thin. This is why I keep coming back to reading the full holder list of the LP token. A single number on a dashboard hides the split. The holder list shows you every destination the LP went to, and you can add up what fraction is genuinely out of reach versus what is parked somewhere redeemable.
Turning it into a pre-buy filter
Compressed into a checklist I can run fast, before I care about the chart or the narrative:
- Find the pair contract, read its LP token holders, not the token holders.
- Confirm most of LP supply is at a real dead address or a locker, and quantify the percentage.
- Verify any burn destination character by character against the canonical dead addresses.
- For a lock, read the unlock timestamp, the beneficiary, and whether the terms are editable.
- Add up what is genuinely unredeemable versus what sits in wallets that can still pull.
Most of my own tooling around whale flows and new pairs lives inside Blockcircle, but the check itself needs nothing more than a block explorer and the patience to follow the LP token instead of the badge. It fails a lot of launches, which is the point. It is not a signal that something is worth buying. It is a filter that removes the launches designed to take your money on the way out, so whatever you are actually evaluating has cleared the lowest bar first.