OMNI Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

OMNI (OMNI) is a token on BNB Chain at 0x9610a849…99e96c, deployed on 26 March 2021 at 02:20 UTC with a supply of 20,000 OMNI. De.Fi's REKT database lists it as an exit scam/honeypot (March 2021). The contract does not switch transfers off; every transfer from an ordinary holder runs through a condition check that can never pass.

Only transfers sent by the owner, by one owner-chosen trade address or by owner-approved wallets, or sent to the owner, go through. The owner can also write any balance to any wallet through a function misleadingly named approveAndCall.

How it happened

The steps below describe what the code allows. No opened source shows which owner functions were actually called.

  1. The owner can call transferownership(addr), which does not transfer ownership but sets tradeAddress. If that is set to the PancakeSwap pair, transfers out of the pair pass ensure because _from == tradeAddress, so buys work.
  2. A holder sells: transfer and transferFrom both call ensure(_from, _to, _value). The holder is not owner, tradeAddress or in canSale, and the pair is not owner, so ensure runs require(condition(_from, _value)).
  3. condition returns false when _saleNum, _minSale and _maxSale are all zero. No function in the contract ever sets them, so the require always reverts and the sale fails. Only a transfer to the owner skips this check.
  4. The owner can call approveAndCall(spender, addedValue), which sets balanceOf[spender] to any amount without changing totalSupply and adds spender to canSale, so that wallet could sell freely into the pool.

Protocol details

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

Build your security review skills

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