E=MCv2 Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

E=MCv2 is a BNB Chain token deployed on 21 March 2021 at 0x536f6240…850bfb. Its transfer function has no restriction, so buys out of a PancakeSwap pool arrive normally, but transferFrom requires allow[_from] == true, and the constructor sets that flag only for the deployer. PancakeSwap router sales pull tokens with transferFrom, so for every other holder a normal sale reverts.

The source comment promises to renounce ownership, but onlyOwner checks a hard-coded address, 0xbd486897…439192, not the stored owner, so moving owner would not remove its power to edit the allowlist with addAllow or overwrite any balance with mint. De.Fi's REKT database lists E=MCv2 as an exit scam/honeypot.

How it happened

  1. The constructor credits the whole supply to the deployer and sets allow[msg.sender] = true; for that address only.
  2. transfer checks only the destination and the sender's balance, so the pool can send bought tokens to any buyer.
  3. A sale through the router moves tokens with transferFrom(holder, pair, amount), which runs require(allow[_from] == true);. Ordinary holders are not on the list, so the call reverts even with a valid approval.
  4. onlyOwner compares msg.sender to a hard-coded address (decimal 1080614020421183795110940285280029773222128095634, 0xbd486897…439192). That address can call addAllow(holder, bool) to let chosen wallets sell and mint(miner, _value), which sets balances[miner] = _value without changing totalSupply.
  5. transferOwnership only rewrites the unused owner variable, so handing ownership to a burn address, as the comment promises, would leave both powers with the hard-coded address.

Protocol details

Classification Token
Protocol Type Exit Scam/Honeypot
Affected asset / contract E=MCv2

Build your security review skills

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