Safe Fortune Honeypot
What happened
Safe Fortune (SFORT) is a BEP20 token on BNB Smart Chain, deployed from 0x97Bad680…EF452a at contract 0xf3cbaf1a…977b9c. Its _approve function stores an allowance only when the approving address is a hardcoded literal equal to the deployer's address; for every other address it writes zero. Because transferFrom subtracts the amount from that allowance, a normal holder cannot let a router pull tokens for a sale, while the plain transfer path has no such check.
De.Fi's REKT database lists the token as an Exit Scam/Honeypot on Binance dated 2021-04-06 and gives no loss figure.
How it happened
- The constructor mints the whole supply to the deployer:
_balances[msg.sender] = _totalSupply;(_totalSupply = 9990000000000000000with_decimals = 4). approveforwards to_approve(_msgSender(), spender, amount). Inside_approvethe first parameter is namedowner, and the code branches on a hardcoded address:if (owner == address(0x97Bad680C76733fb9e2504ae82B23EF6C5EF452a)) { _allowances[owner][spender] = amount; ... }.- For any other caller the
elsebranch runs:_allowances[owner][spender] = 0; emit Approval(owner, spender, 0);. The approval call succeeds, but the stored allowance stays zero. transferFromruns_transfer(sender, recipient, amount)and then_allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"). With a zero allowance, any non-zero amount reverts the whole call, which undoes the balance change. A swap that needs a router to pull tokens from the holder throughtransferFromtherefore fails for every address except the hardcoded one.transfercontains no such check, so plain transfers between wallets are not blocked by this code. The hardcoded exemption is a literal, notowner(), sotransferOwnershipwould not move it.- Separately,
mint(uint256 amount)isonlyOwnerand calls_mint(_msgSender(), amount)with no cap, so whoeverowner()returns can mint to themselves.renounceOwnershipexists. An eth_call on 2026-09-30 returned 0x97bad680…ef452a as owner; that is current state, not proof that a mint happened.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.