Glacier Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

Glacier (GLA) was a BNB Smart Chain honeypot token that De.Fi's REKT database lists on April 11, 2021, the day it was deployed. Its _approve function stores a real allowance only when the approving wallet is the hard-coded deployer address 0xa872d091…BEAa61; for everyone else it writes 0. Buyers could receive GLA from the PancakeSwap pool, but could never give the router an allowance, so every sell reverted, while the deployer could still approve the router and move liquidity.

The trap is written into the code, so renouncing ownership would not remove it.

How it happened

  1. The constructor mints the full 123,000,000,000 GLA supply to the deployer.
  2. _approve contains if (owner == address(0xa872d091a23E3BceB17EeEe4Dbc9312a89BEAa61)) { _allowances[owner][spender] = amount; ... } else { _allowances[owner][spender] = 0; emit Approval(owner, spender, 0); }. A holder's approve call succeeds, but the stored allowance is 0.
  3. Buys work because the pair sends tokens with plain transfer, which has no restriction.
  4. A PancakeSwap sell makes the router call transferFrom(seller, pair, amount), which ends with _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"). With a 0 allowance that subtraction reverts, so the sale fails.
  5. The hard-coded deployer address is exempt and can approve the router, so it can add and remove liquidity. The owner can also call mint(amount) to create unlimited new GLA for itself.

Protocol details

Classification Token
Protocol Type Exit Scam/Honeypot
Affected asset / contract GLA

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.