TheCatToken.com Honeypot
What happened
TheCatToken.com (CAT) reverts any transfer or transferFrom whose recipient equals a stored address called newun, with the message "please wait". The first transferFrom with a non-zero sender sets newun to its own recipient, and the owner can overwrite it with transfernewun. If newun is a liquidity pair, holders cannot sell into it.
De.Fi's REKT database lists the token as an exit scam/honeypot in which the owner could disable the transfer function, restricting users from selling.
How it happened
- The constructor mints the full 10,000,000 supply to the deployer:
balances[owner] = _totalSupply;. transferbegins withrequire(to != newun, "please wait");, so nothing can be sent to thenewunaddress.transferFromrunsif(from != address(0) && newun == address(0)) newun = to; else require(to != newun, "please wait");. The first such call passes and stores its recipient asnewun; every later call to that recipient reverts.- The cryptot3ddybear.gitlab.io write-up describes this pattern as a stealthy liquidity-pool block: the pool becomes
newunwhen liquidity is added, buys from it still work and sells back to it fail. This record's code does not show which addressnewunended up as. - The owner can call
transfernewun(address _newun)to change the blocked address. Setting zero re-arms the capture on the nexttransferFrom; pointing it at an unused address lifts the block. - A reverted sell does not debit the holder, because
balances[msg.sender].sub(tokens)runs after therequire; the tokens remain in the wallet.
Protocol details
Evidence
- report De.Fi REKT database listing (proof: Token Sniffer tweet 1381346761566916614, not retrievable) twitter.com
- address BscScan code page for 0x34e5fff253a8b3056e2f6295e05feb246ec27e40 bscscan.com
- analysis Scam explained: BSC stealthy LP block cryptot3ddybear.gitlab.io
- analysis Sourcify copy of the same contract repo.sourcify.dev
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.