SexySwap Honeypot
What happened
SexySwap (SEXY) is a BEP-20 token on BNB Smart Chain deployed from 0x7191Df82…6fe7D6. De.Fi's REKT database lists it as an exit scam/honeypot, stating that the contract owner could disable the transfer function and so restrict users from selling. The verified source supports that description: the owner can mark any address as a PanCakeSwapReciever, and every transfer to a marked address reverts with "Error: Can not sell this token".
Marking the liquidity pair would make selling through the pair impossible while buying from it still works.
How it happened
- The deployer receives the whole supply in the constructor:
_transferTO(msg.sender, 10000000e18);. - The owner can call
setPanCakeSwapReciever(address _recipient, bool _feeless), which isonlyOwnerand storesPanCakeSwapReciever[_recipient] = _feeless;. The function has no limit on which address can be set, and calling it again withfalseclears the flag. - Every transfer path (
transferandtransferFrom) runs_transfer, which callscalculateFeesBeforeSend(sender, recipient, amount). That function containsif(PanCakeSwapReciever[recipient]){ revert("Error: Can not sell this token"); }. - A sell through a DEX router moves the holder's tokens to the pair contract. If the pair has been marked as a
PanCakeSwapReciever, the whole transaction reverts, so the holder keeps the tokens and cannot exchange them. Transfers out of the pair (buys) are not affected, because the check looks only atrecipient. - The fee code charges nothing:
txFeestarts at 0 andcalculateFeesBeforeSendreturns(amount, 0), so the only effect of that function on a transfer is the revert above.
The code allows this; the sources opened for this record do not show a transaction in which the owner marked the pair, so the page relies on De.Fi's listing for the claim that sells were blocked.
Protocol details
Evidence
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.