ZirgonYield Honeypot
What happened
De.Fi's REKT database lists ZirgonYield (ZYIELD) on BNB Smart Chain as an exit scam/honeypot, noting that the contract owner could disable the transfer function and so restrict users from selling. In the verified source, the fee-calculation helper reverts any transfer whose recipient the owner has flagged with setPanCakeSwapReciever, with the message "Error: Can not sell this token". Because both transfer and transferFrom pass through it, flagging a pair address makes every sale into that pair revert while transfers to other addresses continue to work.
How it happened
- The deployer becomes owner (
_owner = _msgSender();) and the constructor mints the whole supply to it:_transferTO(msg.sender, 1000000000e18);. - The owner can mark any address as a restricted recipient:
function setPanCakeSwapReciever(address _recipient, bool _feeless) public onlyOwner { ... PanCakeSwapReciever[_recipient] = _feeless; }. Unlike the fee whitelist setters, it is not limited bycanWhitelist, sorenounceWhitelist()does not lock it. - Every transfer runs
_transfer, which first debits the sender (_balances[sender] = _balances[sender].sub(amount, ...)) and then callscalculateFeesBeforeSend(sender, recipient, amount). - That function reverts for flagged recipients:
if(PanCakeSwapReciever[recipient]){ revert("Error: Can not sell this token"); }. The revert undoes the whole transaction, so the holder's balance is unchanged and the sale fails. For unflagged recipients it returns(amount, 0), so the full amount is credited and no fee is taken. - A swap that sells into a pair sends the holder's tokens to the pair address, so if the owner flags that address the sale reverts. Setting the flag back to false re-enables transfers to it, so the owner can switch the restriction on and off. The source does not say which address is the pair.
- Separately,
_transferrequiresamount > 1000, and the owner can callrenounceOwnership(), which would removesetPanCakeSwapReciever. The on-chainowner()read at the latest block on 2026-09-30 is still the deployer, so ownership was not renounced as of that read. - What the code allows: the owner can block sales to any address it flags. What happened: De.Fi's REKT database lists the token as an exit scam/honeypot; no transaction showing the owner flagging a pair address was opened.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.