Zion Honeypot
What happened
Zion (ZION) is a BEP-20 token on BNB Smart Chain at 0xc169f619…7e5fe9, deployed on 10 April 2021 with 4,400,000 ZION credited to the deployer. It uses the "PancakeSwap NoApproval" template: its internal _approve only stores an allowance when the approving wallet is one hard-coded address, the deployer's; for everyone else it stores zero while still emitting an Approval event. Selling on PancakeSwap needs the router to spend the seller's tokens through transferFrom, which then fails the allowance check, so holders can buy ZION but not sell it through the router.
The block is fixed in the code and is not removed by renounceOwnership. De.Fi's REKT database lists Zion as an exit scam/honeypot.
How it happened
- The constructor sets
_name = "Zion",_symbol = "ZION",_decimals = 2and credits_totalSupply = 440000000(4,400,000 ZION) to the deployer. approve,increaseAllowanceanddecreaseAllowanceall call_approve. It checksif (owner == address(0x38d57520d64f016c5811d3335B8e69A3789545B9))and stores the requested amount only for that address, the deployer.- For any other wallet it runs
_allowances[owner][spender] = 0;andemit Approval(owner, spender, 0);, so the approval transaction succeeds but grants nothing. - A PancakeSwap sell makes the router call
transferFrom(seller, pair, amount). After moving the tokens,transferFromsubtracts the amount from the zero allowance with.sub(amount, "BEP20: transfer amount exceeds allowance"), which reverts the whole sell. - The deployer's own approvals work, so it can add liquidity and sell through the router. Buys only use the pair's direct
transferto the buyer and succeed. - The check compares against a constant address, not
owner(), sorenounceOwnershiportransferOwnershipwould not lift it. The owner can alsomintany amount to itself; the on-chain supply read on 2026-09-30 still equals the constructor supply.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- transaction Zion contract creation transaction bscscan.com
- address BEP20Token (Zion, ZION) verified source code bscscan.com
- analysis Sourcify match for 0xc169f619cc790c8b85b5fe86e87b6c82807e5fe9 on BNB Smart Chain repo.sourcify.dev
- analysis BSC-SCAM: PancakeSwap NoApproval cryptot3ddybear.gitlab.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.