GEMROCKET Honeypot
What happened
GEMROCKET is a BEP-20 token on BNB Chain built on a honeypot template that blocks transfers into its liquidity pool. The first transferFrom call after deployment silently stores its recipient as nxOwner. When that call is the liquidity deposit into the PancakeSwap pair, the pair becomes nxOwner, and while the owner-controlled tracing flag is on, every later transfer to that address reverts.
Buyers can receive tokens from the pool, but no holder can sell into it. The contract also has an owner-only function that credits the caller with unlimited tokens, and a fake renounceOwnership that anyone can call without changing the owner. De.Fi's REKT database lists GEMROCKET as an exit scam/honeypot, with no loss figure.
How it happened
- The constructor sets
owner = msg.sender, gives it all 50,000 tokens and setscurrentOwner = address(0), so the publiccurrentOwnergetter looks renounced while the realownervariable has no getter. - The first
transferFromwith a non-zerofromrecords its recipient:if(from != address(0) && nxOwner == address(0)) nxOwner = to;. Adding liquidity through the router is atransferFrominto the pair. - While
tracingis true,transferreverts onrequire(to != nxOwner, "Handling Request")andtransferFromreverts onrequire(to != nxOwner, "Order ContextHandler"). Any sale that sends tokens to that address fails, while buys, which send tokens out of the pair, still work. - The owner can turn the block off and on with
setTracing(bool), andnxOwneralso passes theonlyOwnercheck (require(msg.sender == owner || msg.sender == nxOwner)). emitTransfer(uint256)isonlyOwnerand runsbalances[msg.sender] = balances[msg.sender] + (_input)without changing_totalSupply, so the owner can credit itself unlimited tokens that the reported supply does not show.renounceOwnership(address)has no access check and only writes the unusedcurrentOwner, so ownership can never be given up.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.