ROCKETMARS Honeypot
What happened
ROCKETMARS (RCKTMARS) is a BNB Chain token whose transferFrom only works for senders that a hard-coded controller address has put on an allow list. Only the deployer is on that list at launch, so a router that pulls a holder's tokens with transferFrom reverts. The same address controls addAllow and a mint function that overwrites any balance.
The source header says ownership will be renounced and liquidity burned, but the code contains no function that changes the controlling address. De.Fi's REKT database lists ROCKETMARS as an Exit Scam/Honeypot in which the owner could restrict users from selling.
How it happened
- The constructor mints the supply to the deployer and sets
allow[msg.sender] = true. No other address is on the list. transferFromrequiresrequire(allow[_from] == true);. For any holder whose flag is false, atransferFromthat moves their tokens reverts.- A standard router sell pulls the seller's tokens into the pair with
transferFrom, so it reverts for a holder who is not allowed.transferhas noallowcheck, so a purchase, which the pair pays out throughtransfer, is not blocked by this rule. addAllow(address holder, bool allowApprove) external onlyOwnercan change any holder's flag.onlyOwnerisrequire(msg.sender == address(1080614020421183795110940285280029773222128095634)), which is the address 0xbd486897…439192. It does not read theownervariable, sotransferOwnershipdoes not move this permission, and there is no renounce function.- The same address can call
mint(address miner, uint256 _value), which executesbalances[miner] = _valueand can set any address's balance to any amount without changingtotalSupply.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.