Berry Swap Honeypot
What happened
Berry Swap (BERRY) is a BNB Chain token deployed on 4 March 2021 at 0x15d9938d…c73d34, with the whole 578,000 BERRY supply minted to the deployer. Every transfer runs calculateFeesBeforeSend, which reverts with "Error: Can not sell this token" when the recipient is marked in the PanCakeSwapReciever mapping, and the owner can mark any address with setPanCakeSwapReciever. Marking the PancakeSwap pair would make every transfer into the pool, and so every sale, revert, while buys out of the pool keep working.
Unlike the fee whitelists, this setter is not disabled by renounceWhitelist, and the deployer was still the owner when read on 30 September 2026. De.Fi's REKT database lists BERRY as an exit scam/honeypot.
How it happened
- The constructor calls
_transferTO(msg.sender, 578000e18), crediting the full supply to the deployer, who becomesowner(). setPanCakeSwapReciever(address _recipient, bool _feeless)isonlyOwnerand writesPanCakeSwapReciever[_recipient] = _feeless;with no other condition._transferdebits the sender and then callscalculateFeesBeforeSend, which runsif(PanCakeSwapReciever[recipient]){ revert("Error: Can not sell this token"); }. The revert undoes the whole transfer.- If the pair address is marked, a router sale (
transferFrom(holder, pair, amount)) or a directtransferto the pair reverts for every holder. Transfers out of the pair are not checked, so buys still arrive. - The owner can clear the flag at any time, and
renounceOwnershipwould end this power only if the owner called it.
Protocol details
Evidence
- report Token Sniffer post 1386163504470659074 (seed link) twitter.com
- transaction Berry Swap contract creation transaction bscscan.com
- address Berry Swap (BERRY) verified contract code on BscScan bscscan.com
- analysis Sourcify match for 0x15d9938d0399218344a0a55d54be657ae4c73d34 on BNB Chain repo.sourcify.dev
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.