Alpha Andromedae Honeypot
What happened
De.Fi's REKT database lists Alpha Andromedae (AAE) on BNB Smart Chain as an Exit Scam/Honeypot and says the contract owner could disable the transfer function. The verified source has no switch that disables transfer. The trap is in _approve, which stores an allowance of zero for every holder except one hard-coded address, so any sale that needs the router to pull tokens through transferFrom reverts for ordinary holders.
That hard-coded address, 0xCE40753E…7a25f9, is also the deployer and initial owner of the contract.
How it happened
- The constructor sends the entire supply to the deployer:
_balances[msg.sender] = _totalSupply;with_totalSupply = 20000000000and_decimals = 2, which is 200,000,000 tokens. - Both
approveand the allowance update insidetransferFromgo through_approve, which only honours the hard-coded address:if (owner == address(0xCE40753Ebbd14A70B5ad5bfCAb7e148D7D7a25f9)) {...} else { _allowances[owner][spender] = 0;. A holder who approves a router gets an allowance of zero, and theApprovalevent is emitted with 0. - A sale through a router pulls tokens with
transferFrom(holder, ...). That runs_transferand then_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance")). The holder's stored allowance is always 0, sosubreverts for any amount above zero and the whole call, including the balance change, is rolled back. - Nothing in the code stops the router-free paths:
transfercalls_transferwith no allowance check, so wallet-to-wallet sends and a pool paying tokens out to a buyer are not blocked by this code. - The hard-coded address keeps working allowances, so it can approve a router and sell. The owner can also call
mint(uint256 amount), which isonlyOwnerand has no cap, andrenounceOwnershipwould not change the hard-coded exception in_approve.
What the code allows is separate from what happened: the explorer code and Sourcify copy show the mechanism, while De.Fi's REKT database is the source for the honeypot classification.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- address BscScan verified source for 0x96f1a50dede3964c6d115413fa2a3ee02a33e523 bscscan.com
- analysis Sourcify repository copy of the same contract repo.sourcify.dev
- analysis Scam explained: BSC NoApproval cryptot3ddybear.gitlab.io
- analysis De.Fi REKT database listing for AAE (as imported in meta.json) de.fi
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.