The Doge Space X Honeypot
What happened
The Doge Space X (DOGESPACEX) is an Ethereum token whose verified code contains an owner-controlled transfer block. The first transferFrom call made while newun is empty stores its recipient in newun; after that, every transfer or transferFrom whose recipient is newun reverts with the message "please wait". If newun holds the liquidity pair address, sells through that pair fail, while buys that move tokens out of the pair are not touched by the check.
Only the owner can change newun, through transfernewun. De.Fi's REKT database lists the token as an Exit Scam/Honeypot, saying the contract owner could disable the transfer function, which restricted users in selling their tokens.
How it happened
- The constructor sets
symbol = "DOGESPACEX",name = "The Doge Space X"and assigns the whole_totalSupplyof 10000000000000000000000000 raw units (1e17 whole tokens, 100 quadrillion, at 8 decimals) toowner. - In
transferFrom, the lineif(from != address(0) && newun == address(0)) newun = to;runs on the first call whilenewunis unset. It records the recipient of that call, whoever it is, and applies no check on that call. - From then on the
elsebranch runs:else require(to != newun, "please wait");.transferhas the same check,require(to != newun, "please wait");, so no caller, including the owner, can send tokens tonewun. - A swap that sells tokens pulls them with
transferFrom(holder, pair, amount). If the pair is the address stored innewun, that call reverts and the holder's balance is not debited. The code does not show which addressnewunholds, so this is the case the pattern is built for rather than something the source proves. - The owner can call
transfernewun(_newun)at any time. Setting it toaddress(0)re-arms capture by the nexttransferFrom; pointing it at an address nobody uses lifts the block. Nothing in the source forces either. - De.Fi's REKT database lists the token as an Exit Scam/Honeypot. The source contains no function that mints, blacklists or withdraws liquidity;
clearCNDAOonly sends the contract's own ETH balance to the owner.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.