Nemo Finance Honeypot
What happened
NEMO.FINANCE (NEMO, Ethereum, contract 0x2f37B7F2…05d02a) gives its owner two powers over holders. addAdmin lets the owner flag any address, and _executeTransfer then reverts every transfer whose sender is that address, so a flagged holder cannot sell or move tokens. addWork lets the owner mint any amount to any address without raising totalSupply, so the supply figure never shows the new tokens. De.Fi's REKT database lists the token as an exit scam/honeypot with $31,797 lost on 2020-10-26. Etherscan shows the deployer wallet 0x8b07780c…B771FC adding liquidity of 100,000 NEMO and 30 ETH at 11:05 UTC, calling addWork at 12:25 UTC to mint tokens to itself, swapping 100,000 tokens for 86.3 WETH 51 seconds later, and sending about 112.9 ETH to 0x5892221e…4fD131 at 02:16 UTC on 2020-10-27.
Transactions listed by De.Fi:
- Initial liquidity: 0xda2135fc…7fc09a
addWorkmint: 0xfb014977…9bacba- Sales of the minted tokens: 0x74f351d3…690dd0, 0x579aacf1…e533ea, 0x230f8d19…e12178, 0x95fb7e01…5df5bc
- Transfer to the external wallet: 0x6989211c…862122
How it happened
- The constructor sends the whole 100,000 NEMO supply to a hard-coded address and makes the deployer the owner:
_supply(initialSupplySend, _totalSupply);then_owner = msg.sender;. That address, 0x8b07780c…B771FC, is also the deployer. - What the code allows: the owner can call
addAdmin(account), which setsaddadmin[account] = true. Every transfer path ends in_executeTransfer, whose first line isrequire(!addadmin[_from], "error");. A sale through a router runstransferFrom(holder, pair, value), so_fromis the holder and a flagged holder's sell reverts.removeAdminclears the flag. No opened transaction showsaddAdminbeing called. - What the code allows:
addWork(address account, uint256 amount)is owner-only and calls_supply(account, amount)._supplyadds to_balances[account]and emitsTransfer(address(0), ...)but never changes_totalSupply, and there is no cap. The contract has no function to change or renounce the owner. - What happened, per Etherscan: the deployer added 100,000 NEMO and 30 ETH of liquidity at 11:05 UTC on 2020-10-26, which put its whole initial balance into the pair. At 12:25:55 UTC the same wallet called
addWork, and the page shows tokens minted from the zero address to it. At 12:26:46 UTC it swapped 100,000 tokens for 86.3 WETH. - At 02:16 UTC on 2020-10-27 the deployer wallet sent about 112.9 ETH to 0x5892221e…4fD131. An X post the same day warned that the contract had an unlimited mint function and that supply had been overridden by about 300%.
Protocol details
Evidence
- report bLd77 post on X about Nemo.finance twitter.com
- report NEMO.FINANCE source on Sourcify repo.sourcify.dev
- transaction Etherscan tx 0xda2135fc... (addLiquidityETH) etherscan.io
- transaction Etherscan tx 0xfb014977... (addWork) etherscan.io
- transaction Etherscan tx 0x74f351d3... (swapExactTokensForETH) etherscan.io
- transaction Etherscan tx 0x6989211c... (ETH transfer) etherscan.io
- transaction etherscan.io transaction 0x230f…2178 etherscan.io
- transaction etherscan.io transaction 0x579a…33ea etherscan.io
- transaction etherscan.io transaction 0x95fb…f5bc etherscan.io
- address NEMO.FINANCE verified source on Etherscan etherscan.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.