TSUKA Rug Pull
What happened
TSUKA is a copycat BEP20 token (contract 0x4e8842F6…07F56C) and is not Dejitaru Tsuka, which uses the same name. The token contract holds no balances of its own: balanceOf and every transfer are forwarded to a separate accounting contract whose address the deployer chooses, and that contract's code is not part of the verified token source. That leaves the real transfer rules, and every holder's balance, outside what the token code shows.
De.Fi's REKT database lists the deployer 0xf9ddbfdb…a7e158 as adding liquidity on PancakeSwap with 55 WBNB and 500,000 TSUKA, then selling 100,100,100,100,100,000,000 TSUKA for 320 WBNB within an hour of trading starting, which dropped the price by more than 99%. The listed profit is 70,755 USD. The listed figure is far larger than the 1,000,000 TSUKA supply declared in the contract, which fits a token whose balances are not tracked in its own code. CertiK Alert flagged the more than 99% price drop on 2022-09-16.
Liquidity pool: 0x3f024015…1d77ec Drain transaction: 0x950446e1…d87f47
How it happened
- The constructor sets
_totalSupply = 1000000 * 10 ** 9and only emitsTransfer(address(0), msg.sender, _totalSupply). It writes no balance anywhere, andowner = msg.sendermakes the deployer the owner. balanceOfreturnsAccounting(accounting).balanceOf(who), andtransfer/transferFromend withAccounting(accounting).doTransfer(...). Whatever contractaccountingpoints to decides every balance and whether any transfer succeeds.setAccountingAddressis guarded only byrequire(msg.sender == owner), so the deployer can choose, and until ownership is given up can swap, the contract that holds those rules. The source of that contract is not in the verified token file, so its sell or fee rules cannot be read here.transferemitsTransfer(msg.sender, to, amount)before it callsdoTransfer, so a Transfer event does not by itself show that a balance moved.renounceOwnershipsetsowner = address(0). An eth_call on 2026-09-30 reads the owner as the zero address, sosetAccountingAddresscan no longer be called; when ownership was renounced is not shown by the sources.- What happened, per De.Fi's REKT database: the deployer added 55 WBNB and 500,000 TSUKA of liquidity, then sold into the pool for 320 WBNB and the price fell by more than 99%.
Protocol details
Evidence
- report CertiK Alert post on TSUKA price slippage twitter.com
- report TSUKA source on Sourcify repo.sourcify.dev
- transaction bscscan.com transaction 0x9504…7f47 bscscan.com
- address TSUKA verified source code on BscScan bscscan.com
- address bscscan.com address 0x3f02…77ec bscscan.com
- address bscscan.com address 0xf9dd…e158 bscscan.com
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.