Baby Doge Moon Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

Baby Doge Moon (BabyDogeMoon) is a BNB Chain token deployed on 2 July 2021 at 0x1c79573b…2135a7 by 0xf580117c…4F5e20. A modifier named PancakeSwabV2Interface records the recipient of the first transferFrom as nxOwner; when the owner adds liquidity through the PancakeSwap router, that recipient is the pair. From then on any transfer into the pair reverts with "PancakeV2 Interface Error" unless it comes from the owner or a second stored address, _leaveowner, so holders can buy but not sell.

No switch is needed: the block is always on, and renounceOwnership clears only _owner, leaving _leaveowner able to sell. The fee variables in the contract are never used. De.Fi's REKT database lists the token as an exit scam/honeypot.

How it happened

  1. The constructor sets both _owner and _leaveowner to the deployer and mints the whole supply of 1,000,000,000 tokens (9 decimals) to it.
  2. Every transfer runs PancakeSwabV2Interface(from, to, fromTransfer). On the first transferFrom from a non-zero address, while nxOwner is empty, it sets nxOwner = to. The router's addLiquidityETH moves the owner's tokens with transferFrom into the pair, which would make the pair nxOwner.
  3. After that the modifier runs require((to != nxOwner || from == _owner || from == _leaveowner), "PancakeV2 Interface Error"). Buys send tokens out of the pair, so they pass.
  4. A sale moves the holder's tokens into the pair, so for any holder other than the two stored addresses it reverts, whether it goes through the router's transferFrom or a direct transfer.
  5. renounceOwnership sets only _owner to zero. _leaveowner has no setter and still passes both onlyOwner and the sell check.

Protocol details

Classification Token
Protocol Type Exit Scam/Honeypot
Affected asset / contract BabyDogeMoon

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.