Hex Trust Token Rug Pull
What happened
Hex Trust Token (HXT) is a BEP-20 token on BNB Chain whose owner holds functions that can empty its PancakeSwap pool without selling. The owner-only drainLP mints HXT into the pool, swaps a chosen share of the paired asset out to the owner, then burns HXT from the pool so both reserves shrink by the same fraction and the price does not move. The owner can also mint unlimited HXT with mint, and can mint or burn the pool's own HXT balance with rebaseLP to push the price.
Every transfer also calls an external warden contract whose code is not part of the verified source. CertiK reported that about 670 BNB (roughly $200,000) moved from the deployer to Tornado Cash in the days before 2023-03-02.
How it happened
- The constructor mints 100,000,000
HXTto the deployer and stores awardenaddress and a router address; the deployer is theOwnableowner, and the on-chain owner read on 2026-09-30 is still the deployer. drainLP(token, k)isonlyOwner. It mints a large amount ofHXTstraight into the pair, callspair.swapto sendreserveB * k / 10000of the paired asset to the caller, then burns the mintedHXTplusreserveA * k / 10000from the pair and callssync. Both reserves end at(1 - k/10000)of their old size, so liquidity leaves the pool while the quoted price stays flat and the caller never holds LP tokens.drainLPalways withdraws the pair'stoken1. The contract address begins0x0003, soHXTsorts astoken0against a normal paired asset such as WBNB, which makes the paired asset the side that is paid out.rebaseLP(token, k)is alsoonlyOwner: it burns or mintsHXTheld by the pair to reachk / 10000of its current balance, then callssync, letting the owner move the pool price in either direction.mint(amount)lets the owner create any amount ofHXTfor itself._beforeTokenTransfercalls_warden.registerTransfer(from, to, amount)on every transfer, mint and burn. That contract's code is not in the verified source, so whether it could block holder transfers is not established.- CertiK's Skynet alert of 2023-03-02 reported that 670 BNB (about $200,000) had been sent from the deployer to Tornado Cash over the previous few days.
Protocol details
Evidence
- report @CertiKAlert incident report twitter.com
- report CertiK Alert: Hex Trust Token (HXT) deployer sent 670 BNB to Tornado Cash twitter.com
- transaction bscscan.com transaction 0x69ce…0527 bscscan.com
- transaction bscscan.com transaction 0x8536…2040 bscscan.com
- transaction bscscan.com transaction 0xc458…5bfc bscscan.com
- transaction bscscan.com transaction 0xd5b7…0433 bscscan.com
- transaction bscscan.com transaction 0xfe76…9df5 bscscan.com
- address Hex Trust Token (HXT) verified contract source, BscScan bscscan.com
- address bscscan.com address 0x73e6…884a bscscan.com
- analysis Sourcify match, chain 56, 0x0003018ba02bacafc28cd8926d4a46a4bb20d76a repo.sourcify.dev
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.