Safe Planet 9 Honeypot
What happened
De.Fi's REKT database lists Safe Planet 9 (PLANET9) on BNB Smart Chain as an Exit Scam/Honeypot and says the contract owner could disable the transfer function. The verified source has no switch that disables transfer. The trap is in _approve, which stores an allowance of zero for every holder except one hard-coded address, so any sale that needs a router to pull tokens through transferFrom reverts for ordinary holders.
That hard-coded address, 0x76a42A46…61E202, is also the deployer and initial owner.
How it happened
- The constructor sends the entire supply to the deployer:
_balances[msg.sender] = _totalSupply;with_totalSupply = 99999999999999999and_decimals = 9, which is just under 100,000,000 tokens. approveand the allowance update insidetransferFromboth go through_approve, which only honours the hard-coded address:if (owner == address(0x76a42A46eD2B894045f4e54197Dc99e84E61E202)) {...} else { _allowances[owner][spender] = 0;. A holder who approves a router ends up with an allowance of zero, and theApprovalevent is emitted with 0.- A sale through a router pulls tokens with
transferFrom(holder, ...), which runs_transferand then_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance")). The holder's stored allowance is always 0, sosubreverts for any amount above zero and the balance change is rolled back with it. transfercalls_transferwith no allowance check, so nothing in this code blocks wallet-to-wallet sends or a pool paying tokens out to a buyer.- The hard-coded address keeps working allowances, so it can approve a router and sell. The owner can also call
mint(uint256 amount), which isonlyOwnerand uncapped, andrenounceOwnershipwould not change the hard-coded exception in_approve.
What the code allows is separate from what happened: the code shows the mechanism, and De.Fi's REKT database is the source for the honeypot classification.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- address BscScan verified source for 0xb3a2482a0288231777c0c2c83809cecd5dc73edd bscscan.com
- analysis Sourcify repository copy of the same contract repo.sourcify.dev
- analysis Scam explained: BSC NoApproval cryptot3ddybear.gitlab.io
- analysis De.Fi REKT database listing for PLANET9 (as imported in meta.json) de.fi
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.