BNB Chain is where tax tokens took off, so most of its honeypots don't come from exotic code. They come from ordinary tax-token features with the dial turned up after people buy. This guide covers only what's specific to BSC. The full chain-agnostic checklist is in how to check if a token is safe, and if you're trading on Robinhood Chain instead, where GoPlus has no coverage, see how to check a HOOD token or how to check an Arc token.
Because the standard BSC memecoin contract already ships with the parts a honeypot needs. Copy-paste tax-token templates come with an adjustable buy and sell fee, fee-exempt wallets, a max-transaction limit, a max-wallet limit, a tradingEnabled flag and often a bot blacklist. Each one is a legit feature on an honest launch and a sell block on a dishonest one.
Deploying is cheap on BSC, so the same scam contract gets redeployed under a new name again and again. That's why the deployer's past coins matter more here than on most chains.
Your sell goes through the token's own transfer code before it ever reaches the pool. On PancakeSwap V2, the router pulls your tokens into the pair contract and the token's transfer function runs first. Every tax, limit and blacklist check sits inside that function, and if any of them reverts, the whole sell fails.
Tax tokens also need the router's fee-on-transfer swap functions, because the pool receives less than you sent. Wallets and the PancakeSwap interface usually handle this, but if a sell keeps failing with high slippage set, the revert message tells you why:
TransferHelper: TRANSFER_FROM_FAILED - the token's own code refused the transfer. Blacklist, paused trading, max-sell limit or a cooldown. This is the honeypot signature.PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT - you got less out than your slippage allowed. Often a sell tax higher than you thought. Raise slippage only once you know the real tax.Pancake: K - the pool's math check failed, usually a fee-on-transfer token sold through the wrong swap function. Annoying, but not necessarily a scam.You see these by opening the failed transaction on BscScan. If other people's sells are failing with the first message and yours would too, don't buy more hoping it clears.
Open the token on BscScan, go to Contract, then Write Contract (or Write as Proxy). Any owner-only function in this list is a switch someone can flip after you buy.
setFees, setSellTax, updateFees. Read the code for a hard cap like require(fee <= 10). No cap means 99% is one transaction away. More in what is a sell tax.setBots, blacklist, addToBlacklist, or a mapping named isBot or _isSniper. Often sold as anti-sniper protection. It works on any wallet, including yours.setMaxTxAmount, setMaxWallet. A max sell set to a tiny number blocks every real exit while buys still work.enableTrading, setTradingOpen, pause. Fine before launch. If it can be turned off again after launch, the owner can freeze every sell except their own exempt wallets.excludeFromFees, setExempt. Check who is already exempt. The deployer and a couple of fresh wallets being fee-free and limit-free is how they sell while you can't.Unverified source code is a warning on its own. On BscScan, real projects verify. If you can't read the code, assume the worst switch is in there.
It removes the owner switches, but only if nothing else holds them. Three gaps catch people on BSC.
This one isn't a honeypot, and that's the point. Many BSC tax tokens collect their tax as tokens inside the contract, then sell that pile automatically during a holder's sell once it passes a threshold (look for swapTokensAtAmount and swapAndLiquify). Your sell triggers their dump, and theirs goes first.
A made-up pool: 10 BNB and 200M tokens, 5% sell tax, and 20M tax tokens sitting in the contract. You sell 10M tokens. Ignoring the pool fee:
That's 17% less than the 5% tax suggests, on a sell that "went through". A sell simulation passes this token. The tell people miss: check the token contract's own balance on BscScan's Holders tab. A big pile of its own tokens there means the next seller eats a dump.
Paste a BSC contract into the scanner and it runs GoPlus's buy-and-sell simulation for a honeypot verdict, shows the sell tax, and flags whether the tax is editable, whether the token is mintable and whether trading can be paused. It reads ownership on-chain, and it treats a hidden owner or a reversible renounce as not renounced. All of that rolls into a shield score and a one-line Safety Grade: Looks clear, Caution or Avoid.
The live scan doesn't show a blacklist or proxy flag, so do steps 2 and 3 above yourself. For a coin MoonRadar called, the "why we called it" panel also covers LP lock and the deployer's rug history. These are high-risk memecoins and most fail. The checks improve your odds, they don't guarantee anything.
Scan a BNB Chain token on MoonRadar