VOLCANOS Honeypot
What happened
VOLCANOS (BIT VOLCANO) is a BNB Chain token deployed on 10 June 2021 at 0xff0788d9…c4dcd1 by 0x55c1E784…61003F. The deployer holds a hidden owner role and can switch on a tracing flag. While it is on, the first transferFrom records its recipient as nxOwner, and every later transfer to that address reverts; when that recipient is the PancakeSwap pair, holders can buy but cannot sell.
The public currentOwner reads as the zero address, but renounceOwnership only changes that display variable and anyone can call it. The owner can also credit itself unlimited tokens through emitTransfer. De.Fi's REKT database lists VOLCANOS as a honeypot; no loss figure is recorded.
How it happened
- The constructor sets the deployer as the internal
owner, credits it with 10 trillion BIT VOLCANO (9 decimals), sends half to the 0x...dEaD address, and sets the publiccurrentOwnerto the zero address. renounceOwnership(address _newOwner)has no access check and only writescurrentOwner = _newOwner;. The real permission check isrequire(msg.sender == owner || msg.sender == nxOwner);, which it never touches.- The owner can call
setTracing(true). With tracing on,transferFromrunsif(from != address(0) && nxOwner == address(0)) nxOwner = to;, so the nexttransferFromrecipient is stored, normally the pair when liquidity is added through the router. - From then on,
transferFromandtransferrevert when the recipient isnxOwner("Order ContextHandler" or "Handling Request"). A PancakeSwap sale moves tokens from the seller to the pair withtransferFrom, so it fails, while buys (pair to buyer throughtransfer) still work. emitTransfer(uint256)lets the owner add any amount to its own balance without changing the total supply, andsetTracing(false)lets it lift the block whenever it chooses.
Protocol details
Evidence
- report Token Sniffer reply on auto-flagged tokens (5 May 2021) twitter.com
- transaction VOLCANOS contract creation transaction bscscan.com
- address VOLCANOS (BIT VOLCANO) verified contract code on BscScan bscscan.com
- analysis Sourcify match for 0xff0788d9387741ab25f87c0cf155c89a4fc4dcd1 on BNB Chain repo.sourcify.dev
- analysis Scam explained: BSC stealthy LP block (cryptot3ddybear blog, April 2021) cryptot3ddybear.gitlab.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.