Saiba Neko Honeypot

Reported loss Not disclosed
BNB Chain
Honeypot

What happened

Saiba Neko (SAIBA) is a BNB Smart Chain token whose transfer and transferFrom functions revert for any transfer whose recipient equals a stored address called newun. The first transferFrom call stores its recipient in newun, so when liquidity is added through a router the pool address becomes the blocked recipient. Buyers receive tokens through the pool's transfer, but a sell has to deliver tokens to the pool and fails with "please wait".

De.Fi's REKT database lists the token as an Exit Scam/Honeypot dated 2021-06-17 with no loss amount.

How it happened

  1. The constructor mints the whole supply to the deployer, who is also the owner, and leaves newun at the zero address (balances[owner] = _totalSupply;).
  2. The first transferFrom where from is not the zero address and newun is unset stores its recipient: if(from != address(0) && newun == address(0)) newun = to;. When liquidity is added through a router, that call moves tokens from the adder into the pool, so the pool address would be the one stored. The cryptot3ddybear write-up describes this as the mechanism of the "stealthy LP block".
  3. From then on both transfer paths reject the stored address as a recipient: require(to != newun, "please wait"); appears in transfer, and in the else branch of transferFrom.
  4. A buy is not affected: the pool pays the buyer with transfer(to=buyer), and the buyer is not newun. A sell through a router calls transferFrom(holder, pool, amount); the recipient equals newun, so the call reverts before balances[from] is debited.
  5. The owner can call transfernewun(address _newun) (onlyOwner) to overwrite newun. Setting it to the zero address lets the next transferFrom capture a new recipient again, while pointing it at an address that is never a recipient would lift the block. The contract never calls this itself, and no transaction is cited here showing the owner using it.
  6. The block applies to this token only. Removing liquidity moves the pool's LP tokens, not this token, and the pool pays out through transfer to the remover, so the code does not stop the owner from withdrawing the pool's reserves. Who held the LP tokens, and whether liquidity was removed, is not established by the source.

Protocol details

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

Build your security review skills

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