DREAMSWAP Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

DREAMSWAP (DREAM) is a BEP-20 token on BNB Chain that uses a hidden address variable, newun, to block sales. The first transferFrom call from a non-zero sender stores its recipient in newun; when liquidity is added through the PancakeSwap router, that recipient is the liquidity pair. After that, every transfer or transferFrom whose recipient is the pair reverts with the message "please wait", so holders can buy but cannot sell back into the pool.

The owner can also repoint newun at any address through transfernewun. De.Fi's REKT database lists the token as an exit scam/honeypot; no transaction evidence of losses was found.

How it happened

  1. The constructor mints the full supply of 1,088,000 DREAM to the deployer, and newun starts as the zero address.
  2. The first transferFrom with a non-zero from runs if(from != address(0) && newun == address(0)) newun = to;. Adding liquidity through the router moves tokens with transferFrom into the pair, so the pair address becomes newun.
  3. Buys still work because the pair pays buyers with transfer, whose recipient is the buyer, not newun.
  4. A sale moves tokens from the holder to the pair, either by the router's transferFrom or by a direct transfer. Both functions check require(to != newun, "please wait"), so the sale reverts.
  5. The owner can change the blocked address at any time with the onlyOwner function transfernewun, and can withdraw any BNB held by the contract with clearCNDAO.

Protocol details

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

Build your security review skills

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