MoonQueen Honeypot
What happened
MoonQueen (BNB Smart Chain contract 0xd3d6b796…d5792a) assigns its entire supply of 1,000,000,000,000,000 tokens (18 decimals) to the deployer and guards every transfer with a single storage variable, newun. The first transferFrom call with a non-zero from stores its recipient in newun; after that, both transfer and transferFrom revert with please wait for any transfer to that address. A write-up by cryptot3ddybear describes newun being set to the liquidity pool address by the first add-liquidity transaction in this scam family, which makes a sell back into the pool revert.
Only the owner can change newun, through transfernewun. De.Fi's REKT database lists the token as an Exit Scam/Honeypot and states that the contract owner could disable the transfer function, which restricted users in selling their tokens.
How it happened
- The constructor assigns the whole supply to the deployer:
_totalSupply = 1000000000000000000000000000000000;andbalances[owner] = _totalSupply;. newunstarts as the zero address. The firsttransferFromwhosefromis not the zero address runsif(from != address(0) && newun == address(0)) newun = to;, so that transfer succeeds and records its recipient. cryptot3ddybear's write-up says that in this token family the recorded address is the liquidity pool, because the firsttransferFromis the add-liquidity call.- From then on every transfer to the recorded address reverts.
transferhasrequire(to != newun, "please wait");andtransferFromreaches the same check through itselsebranch. A router sell callstransferFrom(holder, pair, amount), so ifnewunis the pair it reverts and the tokens stay with the holder. A transfer out of the pair to a buyer is not blocked by this check. - The owner controls the lock:
transfernewun(address _newun)isonlyOwnerand overwritesnewunwith any address. Pointing it at an unused address lifts the block; setting it to the zero address lets the nexttransferFromwith a non-zerofromcapture a new recipient. - The code only shows what the owner can do. No transaction was opened showing the owner calling
transfernewun, withdrawing liquidity, or selling; the loss to buyers rests on De.Fi's listing.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- address BscScan verified source, MoonQueen 0xd3d6b7965c81093c69f9e38739c78b4860d5792a bscscan.com
- analysis Sourcify match, chain 56, MoonQueen repo.sourcify.dev
- analysis Scam explained: BSC stealthy LP block (cryptot3ddybear) cryptot3ddybear.gitlab.io
- analysis De.Fi REKT database listing for MoonQueen (text as supplied in record metadata) de.fi
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.