.
@TacBuild halted after an exploit. I traced it on-chain, it's the same bug that hit MANTRA two days earlier, and someone has turned it into a reusable tool.
The attacker drained the bonded_tokens_pool.
The escrow holding every staked
$TAC on the chain. 2,985,651,403.40 TAC, 28.6% of supply, gone in one transaction. Then bridged it to BNB Chain via LayerZero in 95 seconds.
The chain halted 4h11m later. Far too late.
The mechanism: a MsgCreateVestingAccount sending 1 utac to the attacker's own contract, used exactly once in the chain's entire history, seven seconds before the theft, then a one-wei delegation through the staking precompile. MANTRA's version had the victim baked in as an immutable; TAC's takes victim and beneficiary as calldata parameters.
Supply never moved. The mint sits two wei below the burn. Across the 4,976 blocks before the halt, checked in exact integer wei, every transaction has mint == burn. What's broken isn't supply, it's staking: validator records claim 2,985,651,403 TAC and the pool holds zero. 100% shortfall.
1,662,322,352 TAC is sitting on BNB Chain right now, 68.7% of BSC-side supply, in the attacker's wallet, dormant ~25h. The halt cannot reach it.
Verify it yourself:
Theft tx →
explorer.tac.build/tx/0xae4e…
Bridge 1 (500M) →
explorer.tac.build/tx/0xa058…
Bridge 2 (2.486B) →
explorer.tac.build/tx/0xce24…
Attacker on TAC →
explorer.tac.build/address/0…
Same address on BSC →
bscscan.com/address/0xecb0af…
Third chain in this family: Oraichain (9 Aug), MANTRA (20 Aug), TAC (22 Aug).
Any chain on cosmos/evm with x/auth/vesting enabled and the staking precompile active should check today.