PepeRise Honeypot
What happened
PepeRise ($PEPERISE) is a BEP20 token on BNB Smart Chain, deployed on 2021-06-20 as contract 0x1afcbd62…d3666b. De.Fi's REKT database lists it as an exit scam / honeypot in which the owner could stop holders from selling. The verified source supports that: both transfer and transferFrom revert with "please wait" when the recipient equals the stored address newun, and newun is captured automatically from the first transferFrom while it is unset.
If newun is the liquidity pair, every sell routed through the pair reverts while buys still work. The owner can also change newun through transfernewun.
How it happened
- The deployer (0x669Cec88…94b218) receives the whole supply in the constructor:
balances[owner] = _totalSupply;. - Both transfer paths carry a recipient block.
transferstarts withrequire(to != newun, "please wait");andtransferFromrunselse require(to != newun, "please wait");. Nothing in the contract names a pair or router, so the check looks like an ordinary cooldown. transferFrombegins withif(from != address(0) && newun == address(0)) newun = to;. Whilenewunis zero, the recipient of the firsttransferFromis stored asnewunand that transfer succeeds. If that firsttransferFromis the one that moves tokens into the liquidity pair, the pair becomes the blocked recipient. The code does not show which transaction set it on-chain.- A buy is paid out by the pair, so the pair is the sender and the buyer is not
newun: the transfer passes. A sell has the router calltransferFrom(holder, pair, amount), soto == newunand the call reverts with "please wait". Holders can buy but cannot sell through that pair. transfernewun(address _newun) public onlyOwnerlets the owner overwritenewun. Setting it toaddress(0)re-arms the capture so the nexttransferFromrecipient is stored; pointing it at an address that is not the pair removes the block. The contract has no renounce function, onlytransferOwnershipandacceptOwnership.clearCNDAO()isonlyOwnerand sends the contract's own BNB balance to the owner. It does not touch liquidity-pair funds. What happened to the liquidity itself is not shown in the code or in any source opened here.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.