
How $6.15 billion was drained from nine blockchains in 31 minutes
Tornado Cash and two dry runs: how the attack was prepared
How a Binance wallet handed control to the hacker
How the attacker tried to protect the stolen funds from freezes
Ethereum: swaps on Uniswap and a loan from Aave
Fig. 1. Flow of stolen funds on Ethereum: Binance wallets, attacker-controlled addresses, Uniswap swaps, and an Aave loan. Source: BitOK Graph.
Tron: hundreds of millions in USDT converted into TRX
Fig. 2. Trail of the stolen USDT on Tron: outflows from Binance-Hot 7, distribution across addresses, and swaps into TRX on SunSwap. Source: BitOK Graph.
Why Tether and Circle could not freeze all the stolen funds
Network | Frozen amount |
Ethereum — USDT | 1.38 billion |
Ethereum — USDC | 823 million |
Tron — USDT | 378.7 million |
Avalanche — USDt | 8.4 million |
Total | $2.59 billion |
Binance sent another 200 million USDT to a compromised wallet
Where did the 18,270 BTC go?
Fig. 3. Flow of 18,270 BTC: the drain from a Binance hot wallet and subsequent distribution across 19 addresses. Source: BitOK Graph.
The Bitget connection: BitOK traces a shared laundering address
Fig. 4. Binance- and Bitget-linked funds converge at a shared Ethereum address through THORChain, then move to new wallets. Source: BitOK Graph.
Why this strengthens the North Korea hypothesis
How Binance and its customers weathered the attack
How much remained under the attacker's control?
Asset | Balance linked to attacker |
ETH on Ethereum | 505,603 ETH |
BTC | 18,270.2 BTC across 19 unspent addresses |
XRP | 233.46 million XRP |
SOL | Approximately 970,500 SOL |
TRX | 675.9 million TRX |
AVAX | Approximately 1.61 million AVAX |
What the BitOK investigation revealed