King Tribe Rug Pull
What happened
King Tribe's KTB is a BNB Chain token deployed on 2 October 2022 at 0x7696c8BC…1B45F5 by 0x2015Ca29…fd202d, which is still its owner. Its buy path contains if (_isBlackOpen) blacklist[recipient] = true;, and _isBlackOpen starts as true, so every ordinary wallet that buys from the pool is added to the blacklist, and any later sale, or transfer to a non-exempt address, from that wallet reverts. The owner and fee-exempt addresses skip the blacklist check entirely, and the owner can switch the auto-blacklist off, edit individual entries and set fees with no cap.
De.Fi's REKT database, whose proof link is a CertiK alert, says several EOAs that received KTB from the deployer drained the PancakeSwap pool, the price fell more than 95%, and about $997,086 was collected at 0x36e39ce8…a2814b and sent on to an address labeled mexc.com, 0x4982085c…6e89cb, with the last transfer on 18 November 2022. The listing names these scammer addresses: the deployer 0x2015ca29…fd202d, 0xca13add7…a4cbce, 0x87b89a7e…2ba72d and 0x9b629e1a…b798ff. It cites three token distribution transactions from the deployer:
How it happened
- The constructor mints 310,000,000 KTB (9 decimals) to the deployer, creates the pair and marks the deployer, the token contract, the dead address, the NFT dividend address and the funds address as fee-exempt.
- In
_transfer, fee-exempt senders or recipients go straight tosuper._transfer. Everyone else must passrequire(!blacklist[from] && !blacklist[to], ...). - A buy (
from == swapPair) runs_buyWithFee, whose first line isif (_isBlackOpen) blacklist[recipient] = true;. With the defaultbool private _isBlackOpen = true;, the buyer is blacklisted in the same transaction that delivers their tokens. - When that buyer later sells or sends tokens to a non-exempt address, the blacklist check on
fromreverts. - A wallet that receives KTB directly from the fee-exempt deployer has never bought from the pool, so it is not blacklisted and can sell into the pool through
_sellWithFee. De.Fi's listing says the wallets 0xca13add7…a4cbce, 0x87b89a7e…2ba72d and 0x9b629e1a…b798ff received KTB from the deployer (0x9f45aa5e…242863, 0x0999d3b1…619fe2, 0x87762d7b…70b342) and drained the pool, with the proceeds gathered at 0x36e39ce8…a2814b and sent to 0x4982085c…6e89cb. - The owner can also call
setIsBlackOpen,setBlacklistandsetSwapFees; the last has no upper bound, and fees totaling more than 100% makeamount.sub(feeTotal)revert.
Protocol details
Evidence
- report CertiK alert 1590681540501024768 (De.Fi proof link) twitter.com
- transaction KTB contract creation transaction bscscan.com
- transaction bscscan.com transaction 0x0999…9fe2 bscscan.com
- transaction bscscan.com transaction 0x8776…b342 bscscan.com
- transaction bscscan.com transaction 0x9f45…2863 bscscan.com
- address KTB verified contract code on BscScan bscscan.com
- address bscscan.com address 0x2015…202d bscscan.com
- address bscscan.com address 0x36e3…814b bscscan.com
- address bscscan.com address 0x4982…89cb bscscan.com
- address bscscan.com address 0x87b8…a72d bscscan.com
- address bscscan.com address 0x9b62…98ff bscscan.com
- address bscscan.com address 0xca13…cbce bscscan.com
- analysis Sourcify match for 0x7696c8BCF00D42C2A93a3750D13B80D6A61B45F5 on BNB Chain repo.sourcify.dev
- analysis De.Fi REKT database listing for King Tribe (text imported into the record) de.fi
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.