Monkey Island Honeypot
What happened
Monkey Island (MONKEY) is an Ethereum token with an address variable newun that, once set, makes every transfer to that address revert with "please wait". The first transferFrom call made while newun is empty stores its recipient there, which is how a liquidity deposit would mark the pool, and the owner can also set it directly with transfernewun. De.Fi's REKT database lists the token as an Exit Scam/Honeypot dated 2021-04-24, saying the owner could disable the transfer function, which restricted users in selling their tokens.
The listing gives no loss amount, and the code alone does not show which address newun held or whether any holder was blocked.
How it happened
newunis a public address that starts as zero;transfernewun(address _newun)lets the owner overwrite it with any address, including zero.- In
transferFrom, the first line isif(from != address(0) && newun == address(0)) newun = to;. The firsttransferFrommade whilenewunis zero therefore stores that call's recipient innewunand does not revert. If that call is a liquidity deposit,newunbecomes the pool address. The code does not show whotowas. - After that,
transferFromtakes theelse require(to != newun, "please wait");branch andtransferrunsrequire(to != newun, "please wait");. Any transfer into the stored address reverts for every caller, so a sell through a router (transferFrominto the pool) fails and the holder's balance is not debited. Tokens leaving that address, such as a buyer's purchase, hit no such check. - The block can be lifted or re-armed by the owner:
transfernewunpointed at an unused address ends it, while setting it to zero re-arms capture, so the nexttransferFromstores a new recipient. Nothing in the contract changesownerexcept thetransferOwnership/acceptOwnershippair.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- report De.Fi REKT database listing for MONKEY (Token Sniffer proof link not retrievable) twitter.com
- address Etherscan verified source, Monkey Island (MONKEY) etherscan.io
- analysis Sourcify match, 0x001e1bd03e2cb28a4958db5b71b4caaa381a59f1 repo.sourcify.dev
- analysis Scam explained: BSC stealthy LP block cryptot3ddybear.gitlab.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.