ElonGate Honeypot
What happened
This ElonGate (ELONGATE) token is a BNB Chain contract deployed on 10 May 2021 at 0x82f79bc7…38ea2d by 0xf9B0603d…6fdCD7, which still owns it. Its comments copy marketing text from the ElonGate charity project (400K holders, a 1 quadrillion fixed supply), but the constructor mints 100,000,000 tokens to the deployer. The first transferFrom the contract ever processes stores its destination in newun, and every later transfer to that address reverts with "please wait".
When the first transferFrom is PancakeSwap's liquidity deposit, newun is the pair: buys still work because the pair sends tokens out with transfer, but every sale, which sends tokens into the pair, fails. The owner can also point newun at any address with transfernewun. This is the same pattern cryptot3ddybear described in April 2021 for SafeBinance and SafeRocket, and De.Fi's REKT database lists this ElonGate token as an exit scam/honeypot.
How it happened
- The constructor sets
owner = msg.sender(0xf9B0603d…6fdCD7) and credits it the full_totalSupplyof 100000000000000000 raw units (100,000,000 ELONGATE at 9 decimals). newunstarts as the zero address. IntransferFrom,if(from != address(0) && newun == address(0)) newun = to;stores the recipient of the firsttransferFromasnewun. Adding liquidity through the PancakeSwap router is atransferFromfrom the deployer to the pair, so the pair is recorded if that is the first one.- From then on, both
transferandtransferFromrunrequire(to != newun, "please wait"). The check is on the recipient, so any transfer into the pair reverts, which is every sale; buys, where the pair pays out withtransferto the buyer, still go through. transfernewun(address _newun)isonlyOwnerand can setnewunto any address at any time, including the zero address, so the owner controls whether and where the block applies.- Liquidity withdrawal is not blocked: removing liquidity makes the pair send tokens out, not in.
clearCNDAO()also lets the owner withdraw any BNB the contract holds. The two-steptransferOwnership/acceptOwnershipexists, butownerread on-chain is still the deployer.
Protocol details
Evidence
- report Token Sniffer post 1381346761566916614 (seed link) twitter.com
- transaction ElonGate contract creation transaction bscscan.com
- address ElonGate (ELONGATE) verified contract code on BscScan bscscan.com
- analysis BSC-SCAM: Stealthy Liquidity Pool Block on PancakeSwap cryptot3ddybear.gitlab.io
- analysis Sourcify match for 0x82f79bc7ed89883493e57f84d6ce0a803a38ea2d on BNB Chain repo.sourcify.dev
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.