Zona Indonesia Honeypot
What happened
Zona Indonesia (IDZ) is a BEP-20 token deployed on BNB Chain on 28 March 2021 at 0xb5756e1b…1d04d7. Every transfer runs through calculateFeesBeforeSend, which reverts with "Error: Can not sell this token" when the recipient is flagged in PanCakeSwapReciever. The owner can flag any address, including the PancakeSwap pool, with setPanCakeSwapReciever, so once the pool is flagged tokens can still be bought out of it but no one can send tokens back in to sell.
De.Fi's REKT database lists IDZ as an exit scam/honeypot, saying the owner could disable transfers so holders could not sell.
How it happened
- The constructor mints the whole supply to the deployer through
_transferTO(msg.sender, 1000000000000000000e18)andOwnablemakes the deployer the owner. setPanCakeSwapReciever(address _recipient, bool _feeless)isonlyOwnerand, unlike the fee-whitelist setters, is not limited bycanWhitelist, so the owner can switch the flag on or off for any address at any time._transfercallscalculateFeesBeforeSendon every transfer. IfPanCakeSwapReciever[recipient]is true, it reverts with "Error: Can not sell this token".- A PancakeSwap sale moves tokens from the seller to the pool, so with the pool flagged every sale reverts, while buys, which move tokens out of the pool, still succeed. The check does not exempt the owner either, so the pool would have to be flagged after liquidity is added.
- The declared fee is a decoy:
seTxFeeis capped at 100 butcalculateFeesBeforeSendalways returns(amount, 0), sotxFeeis never charged.
Protocol details
Evidence
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.