TWEETY-MEGA-FUMO Rug Pull

Reported loss $484K
Rugpull

What happened

TWEETY, MEGA and FUMO were three Ethereum tokens whose Uniswap V2 liquidity was removed by the same address, 0x6007d8d7…531c2a, between 26 and 27 June 2023. TWEETY's verified code gives that owner a switch, changeAb, that turns every new buyer into a greylisted address: once it is on, anyone who receives TWEETY (other than the pool and whitelisted wallets) can move the tokens only within blockN blocks of first receiving them, one block by default, so later sells revert. The owner can also blacklist or whitelist any address, mint unlimited TWEETY, and has no function to transfer or renounce ownership.

The three removals took out 113.34 WETH from the TWEETY pool, 63.33 WETH from the MEGA pool and 43.89 WETH from the FUMO pool, about 220.57 WETH in total. De.Fi's REKT database puts the combined loss at $484,320 and says the funds stayed in the deployer's address as WETH.

How it happened

  1. initToken credits the whole supply to tokenOwner, makes it owner, and records the Uniswap pair as LP; the Ownable contract has no transferOwnership or renounceOwnership.
  2. While ab is true, every transfer to a non-whitelisted address other than LP marks the recipient in tokenGreylist and stores the block of first receipt in death, so each buyer is greylisted when the pair sends them tokens.
  3. A greylisted address passes the transfer checks only while block.number < death[addr] + blockN; with the default blockN = 1 a buyer cannot sell in any later block, because the router's transferFrom from that holder reverts.
  4. The owner controls ab with changeAb, the window with changeBn, and can also blacklist any address or mint any amount to any account.
  5. The deployer drained all three pools through removeLiquidityWithPermit: on 26 June 2023 at 09:15:59 UTC the MEGA/WETH liquidity (63.33 WETH) in transaction 0xe6103b10…546693, then on 27 June at 04:11:47 UTC the TWEETY/WETH liquidity (113.34 WETH and 33.28 billion TWEETY) in transaction 0x4f32ff59…41f093, and at 04:28:23 UTC the FUMO/WETH liquidity (43.89 WETH) in transaction 0xb068edba…90d6f3.

Protocol details

Classification Token
Protocol Type Exit Scam/Rugpull
Affected asset / contract TWEETY

Build your security review skills

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