Empower AI Rug Pull
What happened
Empower AI (EMPAI) is an Ethereum token with a 100,000,000 supply whose source treats one hard-coded address, 0xE4808c6b…FBf3bA (_empowerWallet), differently from every other holder: transfers sent from it skip the trading and size checks and are never subtracted from its own balance. It can therefore send tokens it does not hold into the pool and sell them for ETH. PeckShield reported on 2024-04-11 that this wallet dumped 1,000,000,000,000 EMPAI for about 66.44 WETH (about 237.5K USD), and that the token shares its name with a legitimate project.
De.Fi's REKT database lists the incident as an exit scam by the team with a loss of about 230K USD (66 ETH) through a Uniswap dump, with scammer address 0x484fd20d…6c1f6b, the 0xe4808c6b…fbf3ba contract and sell transaction 0xfdbcd2c9…cd033a.
How it happened
- The constructor hard-codes the privileged address and exempts it:
_empowerWallet = payable(0xE4808c6b9fB741CAfA13b195CdBa45c27dFBf3bA);and_feeExemptForEmpower[_empowerWallet] = true;. The whole supply starts on the deployer (_balance[msg.sender] = _totalSupply;), and the deployer is not in this exempt list. - For any other sender,
_transferfirst enforces launch and size limits:require(_tradingOpen != 0 && amount <= _maxTxSize, "Launch / Max TxAmount at launch");. That block runs onlyif (!_feeExemptForEmpower[from] && !_feeExemptForEmpower[to]), so a transfer from_empowerWalletis not subject to the trading switch or the per-transaction cap. - The accounting then branches on the same flag:
bool _takeTax = _isTakeFeeSwap(from, to);where_isTakeFeeSwapreturns!_feeExemptForEmpower[from]. For ordinary senderstakkingFeesruns_balance[from] -= amount;. For the exempt wallet the code takes the other branch,_balance[to] += amount;followed byemit Transfer(from, to, amount);, and_balance[from]is never reduced and never checked againstamount. - The code therefore allows
_empowerWalletto move any quantity to the Uniswap pair, or to anyone, with no balance behind it, and then call the pair to swap for ETH. Ordinary holders pay 30% buy and sell tax fromstartPowering(_taxEmpBuy = 30; _taxEmpSell = 30;) andreduceFeescaps any later change at 10% (require(_feeOnBuy <= 10 && _feeOnSell <= 10);), while this wallet pays none. - What happened: PeckShield Alert reported on 2024-04-11 that 0xE4808...f3bA dumped 1,000,000,000,000 EMPAI for about 66.44 WETH (about 237.5K USD) and that the price fell about 100%. That quantity is 10,000 times the 100,000,000
_totalSupplyin the source, which is consistent with the undebited transfer in step 3. De.Fi lists the sell as transaction 0xfdbcd2c9…cd033a. The transaction itself was not opened, so the exact call path is not confirmed.
Protocol details
Evidence
- report De.Fi REKT database listing for EMPAI / Empower AI (proof link is S3) twitter.com
- transaction etherscan.io transaction 0xfdbc…033a etherscan.io
- address Etherscan verified source, EMPAI (0xf445a2E240C73cFaaf0654202157F9c5457E5F73) etherscan.io
- address bscscan.com address 0x484f…1f6b bscscan.com
- address etherscan.io address 0xe480…f3ba etherscan.io
- analysis Sourcify repository entry, EMPAI on Ethereum repo.sourcify.dev
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.