The case in numbers
taken from Binance's own wallets on 11 blockchains, at prices of 20:25 UTC
frozen by the companies that issue the dollar tokens
still held by the attacker in BTC, ETH, XRP, TRX, SOL, NEAR, coins with no freeze function; at prices of 20:25 UTC
from the first theft (20:05, XRP Ledger) to the first freeze (21:01, Tether)
On 29 October 2026, from 20:05 UTC, coins left Binance's own wallets on 11 blockchains. The companies that issue digital dollars such as USDT and USDC froze $2.65B of them, which can no longer move. Most of what remains is in coins with no freeze function.
What happened
Five moves, from the first theft to Binance's clean-up. Each card links its proof on the blockchain.
- 20:05

It starts on the XRP Ledger
233.46 million XRP leave 5 Binance wallets for one new account in 4 minutes.
Proof - 20:10 to 20:22






Six more networks in 12 minutes
Binance's own wallets on six more networks send to the attacker: 18,270 BTC in one block, 612.73 million USDT on Tron, 965,455 SOL and 12.41 million NEAR.
Proof - 20:20

Ethereum: the wallet runs the attacker's code
A transaction makes Binance 14, one of Binance's Ethereum wallets, run the attacker's code, through EIP-7702 (an Ethereum feature since May 2025 that lets a wallet run a program's code). From 20:24, $3.79B leaves on Ethereum.
Proof - 21:01


The race to freeze
Tether, Circle, Ripple and the USD1 contract freeze $2.65B. Before the freezes reach them, $669M of USDT are swapped into ETH and TRX.
Proof - From 22:57





Binance moves funds within its list
On Tron, NEAR, Solana, the XRP Ledger and Bitcoin, Binance moves funds from its hot wallets (the ones it pays out from) to other wallets in its own reserves list; at 00:10 it removes the attacker's code from Binance 14.
Proof
Network by network
| Network | Taken | What | Now | Open |
|---|---|---|---|---|
| $3.79B | 186 assets, USDT and USDC the largest | Frozen $2.27B494,071 ETH held | ||
| $1.47B | 18,270.2 BTC | Held, not moved | ||
| $628.1M | 612.7M USDT, 46.4M TRX | Frozen $378.7M682.7M TRX held | ||
| $296.6M | 233.5M XRP | Held, not moved | ||
| $96.3M | 970,522 SOL | Held, not moved | ||
| $54M | 12.4M NEAR | Held, not moved | ||
| $31.8M | 74.6M ARB, 8,426 ETH | Moved on, not followed | ||
| $28.2M | 2.3M AVAX, 8.4M USDt | Part held, part moved on | ||
| $10.4M | 6.2M USDT0, 46.6M POL | Held at the receiving address | ||
| $4.79M | 44.2M OP | Held at the receiving address | ||
| $2.84M | 4.7M VIRTUAL | Held at the receiving address |
BNB Chain: the same receiving address got only dust (about $33) and has sent nothing. The other 35 networks in Binance's list are below.
Every network in Binance's list
Binance's list: the wallets it publishes to show that it holds its users' coins (Proof of Reserves, 1 October 2026). Ordinary payments out stopped by 20:48 UTC on every network but Ethereum, where a few small ones followed until 22:27. On the other 35 networks, every move we could read after that went between wallets in Binance's own list.
The 35 networks with nothing taken
| Network | Wallets | Last payment out (UTC) | Binance's own moves (UTC) |
|---|---|---|---|
| AB Chain | 1 | None | No moves |
| Algorand | 2 | 20:34 | 22:57 to 23:55 |
| Aptos | 15 | 20:36 | 23:00 to 23:16 |
| Arc | 1 | 20:31 | No moves |
| Bitcoin Cash | 28 | 20:42 | 23:53 to 00:08 |
| BNB Smart Chain | 32 | 20:36 | 22:55 to 02:02 |
| Celo | 5 | 20:33 | 23:05 |
| Chiliz Chain | 6 | 19:06 | 23:06 |
| Chromia | 1 | None | No moves |
| Dogecoin | 40 | 20:39 | 23:09 to 23:27 |
| Enjin Relay Chain | 4 | 20:28 | No moves |
| Hedera | 7 | 20:35 | 23:05 |
| Kaia | 2 | 20:36 | 23:04 |
| Kava EVM | 1 | 20:34 | No moves |
| Linea | 2 | None | No moves |
| Litecoin | 23 | 20:42 | 23:10 to 01:57 |
| Manta Pacific | 7 | 20:36 | 23:05 to 02:02 |
| Metal L2 | 1 | None | No moves |
| opBNB | 3 | 20:35 | 23:06 |
| Plasma | 4 | 20:36 | 23:01 to 23:55 |
| Polkadot | 1 | None | 23:06 |
| Polkadot Asset Hub | 8 | None | No moves |
| Robinhood Chain | 1 | 19:27 | No moves |
| Ronin | 3 | 20:35 | 23:06 to 00:13 |
| Scroll | 2 | 20:18 | 23:55 |
| Sei EVM | 2 | 20:34 | 23:04 to 23:09 |
| Sonic | 12 | 20:31 | 23:05 to 02:02 |
| Starknet | 3 | 20:36 | 23:05 |
| Stellar | 11 | 20:36 | 23:55 |
| Sui | 14 | 20:38 | 22:07 to 01:56 |
| Tezos | 2 | 20:35 | 23:07 to 23:26 |
| TON | 3 | 20:37 | 23:01 to 23:55 |
| World Chain | 9 | 20:36 | 23:55 |
| Zcash | 7 | 20:38 | 23:11 to 23:15 |
| ZKsync Era | 7 | None | 23:06 to 00:18 |
From 19:00 UTC on 29 October to 04:00 UTC on 30 October 2026. Last payment out: from a listed wallet to an address outside the list. Own moves: between listed wallets, after 21:00 UTC. On these networks no listed wallet paid the attacker; after the last payment out, every move we could read went to another listed wallet (on opBNB, two wallets' BNB payments could not be read).
Is money held at Binance at risk?
- Binance saysOn X at 02:25 UTC on 30 October: Binance will cover all losses, from its SAFU emergency fund and its own funds. It puts the impact at about $6.3B and the frozen part at about $3B; our reads: $6.41B taken, $2.65B frozen by the issuers. Post on X
- How, according to BinanceIts first findings, in the same post: a DevOps engineer's compromised laptop may have let the attacker into an internal service and send unauthorized withdrawals; it found no sign of a wallet private key leak. We cannot check this on the blockchain.
- Its founder saysChangpeng Zhao on X at 21:15 UTC on 29 October: it does look like a hack; he no longer runs Binance but, as a shareholder, expects all user funds to be fully covered. Post on X
- WithdrawalsOff for all 1,447 coin and network pairs in Binance's public coin list, read at 04:36 UTC on 30 October. Binance at 04:36 UTC: they stay paused while it overhauls its withdrawal service, and it expects them back within 48 hours; deposits work as normal (at 02:25 it had said they were suspended). Post on X
- What to doFake “compensation” and “verify your account” links often follow a big hack. Open the Binance app yourself, never through a link.
Minute by minute: 42 events, every one with its transaction
28 Oct, 07:39 to 29 Oct, 08:23: the sender, the address that will send the attack's transactions on Ethereum, receives money 3 times through Tornado Cash, a mixer that hides where money comes from (about 0.1 ETH each). 0xd9e590…
02:28:59 and 15:59:11: the sender creates two contracts (programs on the blockchain). The second is the one Binance 14 will later run. 0x97408e…
13:51 to 16:47: a rehearsal, in our reading. Three other wallets sign the kind of permission later used on Binance 14 (EIP-7702) for the sender's two contracts, and $13.54 in USDT and USDC is moved out of them. 0xa2e0cd…- 20:04:52
XRP Ledger: a Binance wallet tries to send 42.75 million RLUSD to a new account. It fails: the account does not exist yet. AE08D54F… - 20:05:00
First theft. 185.02 million XRP from the same wallet create that account; by 20:09:20, 5 Binance wallets have sent it 233.46 million XRP. 78E31E7B… - 20:10:18
Solana: 965,455.1 SOL leave Binance's main hot wallet for a new account; 4 more payments of 1,266.7 SOL follow by 20:33. 5YvwLFWu… - 20:15:26
NEAR: 12.41 million NEAR from 3 Binance hot wallets to one new account, created by the first payment; the last arrives at 20:22:29. BTbJWuSM… - 20:16:19
Base: 4.74 million VIRTUAL leave a Binance wallet (Binance 73) for the main receiving address. 0xc814cd…
20:17:30 to 20:19:51: payments of the same amounts are sent again from 4 of the emptied wallets and fail. One more, from a sixth wallet, fails too: it asks for more than that wallet holds. FE8889D1…- 20:18:23
OP Mainnet: 44.23 million OP from Binance 55. 0x10b57f… - 20:20:00
Tron: Binance's hot wallet sends 10,000 TRX, then 46,384,098 TRX and, at 20:22:45, 612,729,468 USDT to a new address; the first payment creates it. 4203af9c… - 20:20:06
Bitcoin: 11 transactions in one block (973,732) take 18,270.2 BTC from Binance's main hot wallet to one new address, which splits them in the same block into 17 lots of 1,000 BTC and one of 832.50 BTC; the last 437.70 BTC follow at 20:48. f9dcbbc6… - 20:20:59
Ethereum: Binance 14, a Binance hot wallet (always online; the exchange pays out from it), starts running the attacker's contract. The transaction carries 50 permissions signed by Binance 14 (EIP-7702). 0xad9926… - 20:24:23
Sweep 1, the largest of five (a sweep moves many of a wallet's funds in one transaction): 167,464 ETH and 63 tokens, 1.615 billion USDT among them. 0x53bd38… - 20:24:47
Binance 16, another Binance wallet, sends 28,006 ETH and 8 tokens to the same address, in 9 ordinary transactions. 0x51f263…
20:30 to 20:38: the money moves on. 500 million USDT, then 200 million, go to two new addresses, and 195,460 ETH to a third. 0x68d7d6…
Arbitrum and Avalanche, 20:30 to 20:35: 74.56 million ARB and 8,426 ETH; then 1.81 million AVAX and 8.41 million USDt. 0xa18e57…
20:34 to 21:09: 435 million USDT are swapped for 160,451 ETH in 14 trades, at $2,711 per ETH on average: about 19% more than Coinbase. 0x290e94…
20:41:23 and 20:59:47: 823,000,000 USDC leave Binance Hot Wallet 34, a contract wallet, through Binance 14's new code. 0xdc102d…
20:47 to 21:14: on Tron, 234 million USDT are swapped for 638.17 million TRX in 16 trades, at $0.3667 per TRX on average: about 11% more than Kraken. 60a924f7…- 20:57:59
Aave, a lending app: another address deposits 60 million USDT and borrows 19,762 WETH (ETH in token form) in 3 minutes. 0xa85ad4… - 21:01:35
First freeze. Tether freezes the main receiving address and the first new one. By 21:18 it has frozen 8 attacker addresses on Ethereum, following the USDT from one to the next. 0x7baba4… - 21:04:23
Sweep 2: 23 more token transfers and 1,700 ETH. 0x31c4c9… - 21:04:59
Circle freezes the 823,000,000 USDC at the receiving address. 0xc954c8… - 21:09:12
Tron: Tether freezes the first address with 312.73 million USDT inside, 46 min after they arrived; at 21:17:39 and 21:21:12 it freezes the next two, one already emptied. 71b0ec0f… - 21:44:11
Sweep 3: 14 more token transfers and 370 ETH, with 200.40 million USDT that land in the already frozen address. 0x55ba4d… - 21:47:23
Aave freezes 32 markets on Ethereum; Aave on Arbitrum follows at 22:15, and on Avalanche at 22:42. 0x405bee… - 21:57:47
Sales in each token's main Uniswap pool (an automatic exchange) begin with UNI; LINK, AAVE, WBTC, ENA and ONDO follow. 0xe4430d… - 22:00:59
RLUSD's issuer (Ripple) freezes an attacker address, a “pause” in RLUSD's own word: 40.54 million RLUSD stuck, after 48 million had been swapped away. 0xafd52f… - 22:06:23
Tether freezes Binance 14 itself; it held 1,351,530 USDT at 02:18 UTC. 0x312e16… - 22:10:35
The USD1 contract freezes the 27,824,040 USD1 at the main receiving address (its freeze power sits with World Liberty and BitGo). 0x171ad4… - 22:39:35
Sweep 4: 122 more token transfers and 128 ETH, to another address, 0xa97b…8d10. 0x4a4aed…
22:57 to 30 October, 00:36: Binance moves 81.50 million USDT, 7.15 million TRX and 11 other tokens from its Tron hot wallet to another wallet in its own list. 16cc335d…- 23:01:47
NEAR: Binance moves the NEAR wallets' dollar tokens and 3.96 million NEAR to wallets in its own list. AZAg7GV1… - 23:02:18
Solana: Binance moves $1.07B in dollar tokens and 155,030 SOL from its hot wallet to two other wallets in its own list. 4Hekaqtf… - 23:04:30
Binance wallets still send: 444,537 AVAX on Avalanche (from Binance 113), then 46.63 million POL and 6.19 million USDT0 on Polygon (23:05, from Binance 48). 0x167311… - 23:12:10
XRP Ledger: Binance moves 26.20 million XRP from its hot wallets to another wallet in its list; 51.17 million RLUSD follow at 01:27 on 30 October. D5CC6F6D… - 23:16:50
Bitcoin: Binance moves 1,767 BTC from its hot wallet to another wallet in its list; 3 BTC more follow by 00:22 on 30 October. a2069251… - 23:53:35
Circle freezes Binance 14, then Hot Wallet 34 at 23:54:59 (3,008,457 USDC in the two). 0xb57c21… - 23:56:47
Sweep 5: one more call to Binance 14 takes 2,962 ETH to the same address as Sweep 4, 13 min 48 s before Binance removes the code. 0x4395d5…
30 October, 00:06:09: on Tron, 46,383,069 TRX move from the first attacker address to a new one, which sends 1.87 million TRX of it on in 3 transfers from 02:19. 6adfc066…
30 October, 00:10:35: Binance 14 signs a new permission that points to nothing. The attacker's code is gone from the wallet. 0xafbf94…
All times UTC, 29 October 2026 unless another date is given.

Where the money is now
Pick a network to follow its money step by step. Every step links the address or transaction.
Frozen: $2.65B
Tether, Ethereum$1.38B
Tether, Tron$378.7M
Circle$823M
Ripple (RLUSD)$40.5M
USD1$27.8M
Still with the attacker: coins with no freeze function
| Coin | Amount | Where | At 20:25 UTC | Now |
|---|---|---|---|---|
| 18,270 | 19 addresses, none moved | $1.47Bat 20:25 UTC | loadingnow | |
| 494,071 | 9 addresses of 1,000 ETH or more | $1.14Bat 20:25 UTC | loadingnow | |
| 233.46 million | 1 account, it has sent nothing | $296.6Mat 20:25 UTC | loadingnow | |
| 682.71 million | 2 addresses | $226.1Mat 20:25 UTC | loadingnow | |
| 970,549 | 1 account, it has sent nothing | $96.3Mat 20:25 UTC | loadingnow | |
| 12.41 million | 1 account, it has sent nothing | $54Mat 20:25 UTC | loadingnow | |
| Total | $3.28Bat 20:25 UTC | loadingnow |
Amounts as read on each network (Ethereum at 02:18 UTC; Bitcoin, Tron, XRP, Solana and NEAR from 03:23 to 05:51 UTC). Now: CoinGecko's price when you open the page.
Ethereum$3.79B
The 1.875 billion USDT taken on Ethereum, dollar by dollar, then where each part went.
- Frozen by Tether1.380 billion USDT73.6%
- Swapped for ETH before Tether could freeze it435 million USDT23.2%
- Deposited on Aave as collateral60 million USDT3.2%
The sum closes to the cent. It counts 127.67 USDT that left 0xaa24…54a0 two minutes before its freeze, and 0.01 USDT sent in from 0x97497624…c762, an address made to look like the attacker's 0x9749292d…c762 so that people copy the wrong one.
- 20:24 to 21:44
The main receiving address
Binance wallets on six networks send to 0x5227…2f8c. On Ethereum it receives 1,875,464,711 USDT. 700 million leave before Tether freezes it at 21:01:35 with 971.15 million inside; 204.32 million more arrive after the freeze and stay stuck.
- 20:30:11
500 million USDT
To 0x9749…c762. Other traders fill 9 of its orders to swap USDT for ETH, paying 122,316 ETH for 325 million USDT. The other 175 million move on through 0x811f…e84c to 0xaa24…54a0, frozen at 21:14:59.
- 20:33:23
200 million USDT
To 0x0ddf…697e. It swaps 10 million for 3,552 ETH and passes the rest to 0x8d53…639a, which deposits 60 million on Aave and borrows 19,762 WETH against them.
- 21:01 to 21:18
Tether follows the USDT
The rest hops on through 0x77ed…c3eb, 0x7aa4…bfd1 and 0xccbe…a263; the first two swap 100 million USDT for 34,583 ETH on the way. Tether freezes 0x7aa4…bfd1 84 seconds and 0xccbe…a263 36 seconds after the USDT left them, and stops the last 30 million at 0xb171…c8c3. It had not frozen 0x77ed…c3eb by 02:18 UTC.
- 20:38:47
195,460 ETH
To 0x8532…43d4, an address that has never sent a transaction. It holds 197,460 ETH at 02:18 UTC.
- 22:39 and 23:56
- 21:22 to 00:59
Bitcoin$1.47B
18,270.2 BTC in 11 transactions, all in block 973,732.
- 20:20:06
From Binance's main hot wallet
11 transactions take 18,270.2 BTC from bc1qm3…7s3h, a wallet in Binance's own list, to bc1q0m…2mnm, a new address.
- 20:20:06
Split in the same block
In the same block, the new address splits the coins: 18 more transactions leave 17 lots of exactly 1,000 BTC and one of 832.50 BTC. At 20:48 a last one gathers 437.70 BTC.
- 03:39
Not moved since
At 03:39 UTC on 30 October none of the 19 addresses had moved its coins. Bitcoin has no freeze function.
- 23:16
Binance moves funds within its list
Binance moves 1,770 BTC from the same hot wallet to 3M219K…xRP6, another wallet in its list, by 00:22 on 30 October.
The 19 addresses that hold the 18,270.2 BTC
bc1qxr…968s1,000 BTC↗bc1qnq…8t3s1,000 BTC↗bc1qs3…7s561,000 BTC↗bc1qjw…nz7w1,000 BTC↗bc1q0t…mfv31,000 BTC↗bc1qep…4lag1,000 BTC↗bc1qm2…jaat1,000 BTC↗bc1qdf…88gw1,000 BTC↗bc1q2w…znn61,000 BTC↗bc1qz8…updp1,000 BTC↗bc1qal…tca81,000 BTC↗bc1q63…sjxp1,000 BTC↗bc1qf5…a35u1,000 BTC↗bc1qs6…7w3v1,000 BTC↗bc1qm8…s2l81,000 BTC↗bc1q42…lsyx1,000 BTC↗bc1qg3…3t531,000 BTC↗bc1qrg…6zyt832.50 BTC↗bc1qxg…s9ra437.70 BTC↗
Tron$628.1M
The 612.73 million USDT taken on Tron, dollar by dollar, and the TRX.
- Frozen by Tether378.72 million USDT61.8%
- Swapped for TRX before Tether could freeze it234 million USDT38.2%
- Lent on JustLend, a lending app10,000 USDT0.0%
- 20:20 to 20:22
From Binance's Tron hot wallet
TDqSqu…hSCf, a wallet in Binance's own list, sends 46,394,098 TRX and 612,729,468 USDT to TG5iBM…zsGi, a new address that the first payment creates.
- 20:45 and 20:56
300 million USDT move on
TG5iBM…zsGi passes 100 million and then 200 million USDT to TPBkSj…bKN4; Tether freezes it at 21:09:12 with 312.73 million USDT still inside.
- 20:47 to 21:14
Swapped for TRX
TPBkSj…bKN4 swaps 234 million USDT for 638.17 million TRX in 16 trades on an on-chain exchange. It lends 10,000 USDT on JustLend, sends 65.99 million USDT to TCzBTk…7Y62, and is frozen at 21:17:39 with none left.
- 21:21:12
65.99 million USDT frozen
Tether freezes TCzBTk…7Y62 4 min 54 s after the 65.99 million USDT arrived.
- From 20:56
Where the TRX is
638.20 million TRX sit at TSpe5H…yZ8A, which has sent nothing; 44.51 million TRX at TRBdWq…PRki, which has sent 1.87 million TRX on in 3 transfers. Unlike USDT, TRX has no issuer that can freeze it.
XRP Ledger$296.6M
233.46 million XRP from 5 Binance wallets to one account, in 4 minutes.
- 20:04:52
A failed first try
A Binance wallet tries to send 42.75 million RLUSD to rK21t6…fzMx. The payment fails: that account does not exist yet.
- 20:05 to 20:09
5 payments
8 seconds later the same wallet sends 185.02 million XRP, which creates the account; four more Binance wallets follow. All five are in Binance's own list.
- 20:17 to 20:19
The same payments again, all failed
The same amounts are sent again from 4 of the emptied wallets and fail. A payment of 14.27 million XRP from a sixth wallet, rhWj9g…LQkK, fails too because the wallet holds less, so it keeps its 14.11 million XRP.
- 03:34
Not moved
At 03:34 UTC on 30 October the account held 233,461,943.1 XRP and had sent nothing. XRP has no freeze function.
Solana$96.3M
970,521.9 SOL from Binance's main hot wallet to one new account.
- 20:10 to 20:33
- 03:50
Not moved
At 03:50 UTC on 30 October the account held 970,549.4 SOL and had sent nothing. SOL has no freeze function.
- 23:02
Binance moves funds within its list
Binance moves $1.07B in dollar tokens and 155,030 SOL from the same hot wallet to two other wallets in its list.
NEAR$54M
12.41 million NEAR from 3 Binance hot wallets to one new account, in 7 minutes.
- 20:15 to 20:22
- 05:51
Not moved
At 05:51 UTC on 30 October the account held 12,410,067.6 NEAR and had sent nothing. NEAR has no freeze function.
- 23:01
Binance moves funds within its list
Binance sends the dollar tokens of the same wallets and 3.96 million NEAR to wallets in its own list, binancecold3.near among them.




Other networks$78M
Arbitrum, Avalanche, Polygon, OP Mainnet and Base: Binance wallets sent straight to the main receiving address, 0x5227…2f8c.
| Network | Asset | Amount | Value | First (UTC) | Now |
|---|---|---|---|---|---|
| 2.26 million | $19.7M | 20:33:18 | 444,537 left | ||
| 8,426 | $19.5M | 20:32:16 | Moved on | ||
| 74.56 million | $12.3M | 20:30:34 | Moved on | ||
| 8.41 million | $8.41M | 20:33:18 | Held | ||
| 6.19 million | $6.19M | 23:05:55 | Held | ||
| 44.23 million | $4.79M | 20:18:23 | Held | ||
| 46.63 million | $4.26M | 23:05:55 | Held | ||
| 4.74 million | $2.84M | 20:16:19 | Held |
Balances read at 00:02 UTC. The Arbitrum funds and 1.81 million AVAX moved on from the receiving address; we did not follow them.

What was frozen, and what cannot be
Frozen: the address can no longer send that token. Every freeze here came from a token whose code gives someone that power; for these dollar tokens, that is the company that issues them.
1.380 billion on Ethereum, in 3 of the 8 attacker addresses it blocked from 21:01 to 21:18; 378.72 million on Tron, in 2 of 3 (21:09 to 21:21).
Also Binance 14 itself, at 22:06.
frozen at 21:04:59, all at the main receiving address.
Also Binance 14 and Hot Wallet 34, at 23:53 and 23:54.
frozen (“paused”, in RLUSD's own word) at 22:00:59, after 48 million had been swapped away.
Also Binance 14, at 22:20.
frozen by the USD1 contract at 22:10:35, at the main receiving address.
Also Binance 14, at 22:26.
frozen on Ethereum, Arbitrum and Avalanche: no new deposits or loans; withdrawals and repayments still work.
The attacker's loan is still open: 60 million USDT deposited, 19,762.7 WETH owed.
No one can freeze BTC, ETH, TRX, XRP, SOL, NEAR or tokens such as UNI or LINK the way these dollar tokens were frozen: their code has no such function.
The race: every attacker address Tether froze
5 freezes caught the dollars inside; 6 came seconds or minutes after the USDT had left.
- 21:01:35

0x5227…2f8cCaught 971.15 million USDT; 204.32 million more arrived after↗ - 21:01:35

0x9749…c762Empty: the USDT left 2 min 24 s earlier↗ - 21:01:47

0x0ddf…697eEmpty: the USDT left 8 min 48 s earlier↗ - 21:02:47

0x8d53…639aEmpty: the USDT left 48 s earlier↗ - 21:09:12

TG5iBM…zsGiCaught 312.73 million USDT↗ - 21:12:35

0x7aa4…bfd1Empty: the USDT left 1 min 24 s earlier↗ - 21:14:59

0xaa24…54a0Caught 175 million USDT↗ - 21:16:47

0xccbe…a263Empty: the USDT left 36 s earlier↗ - 21:17:39

TPBkSj…bKN4Empty: the USDT left 1 min 21 s earlier↗ - 21:18:59

0xb171…c8c3Caught 30 million USDT↗ - 21:21:12

TCzBTk…7Y62Caught 65.99 million USDT↗
Frozen balances read at 02:18 UTC on Ethereum and 03:23 UTC on Tron; each freeze read from the token's own contract.

Swapped at a premium, before the freezes
Before the freezes reached them, $669M of USDT were swapped into ETH and TRX, coins with no freeze function, at prices well above the market (each trade against the 5-minute price bar it fell in).
435 million USDT for 160,451 ETH, $2,711 per ETH
above Coinbase, in 14 trades from 20:34 to 21:09.
234 million USDT for 638.17 million TRX, $0.3667 per TRX
above Kraken, in 16 trades from 20:47 to 21:14.
Ethereum: the ETH price, and each of the attacker's trades
Tron: the TRX price, and each of the attacker's trades
The 14 Ethereum trades and 16 Tron trades, one by one
| Address | Paid | Got | Per ETH | vs Coinbase |
|---|---|---|---|---|
| 0x9749…c7629 trades, filled by others | 325 million USDT | 122,316 ETH | $2,657 | +16.3% |
| 0x0ddf…697e1 trade | 10 million USDT | 3,552 ETH | $2,815 | +24.6% |
| 0x77ed…c3eb2 trades | 50 million USDT | 18,085 ETH | $2,765 | +22.6% |
| 0x7aa4…bfd12 trades | 50 million USDT | 16,498 ETH | $3,031 | +34.0% |
| Time (UTC) | Paid | Got | Per TRX | vs Kraken |
|---|---|---|---|---|
| 20:47:27 ↗ | 10 million USDT | 30,049,681 TRX | $0.3328 | +0.2% |
| 20:48:06 ↗ | 30 million USDT | 88,191,900 TRX | $0.3402 | +2.4% |
| 20:49:00 ↗ | 30 million USDT | 85,903,110 TRX | $0.3492 | +5.2% |
| 20:51:12 ↗ | 10 million USDT | 28,290,408 TRX | $0.3535 | +6.9% |
| 20:52:00 ↗ | 10 million USDT | 28,064,383 TRX | $0.3563 | +7.8% |
| 20:53:06 ↗ | 10 million USDT | 27,823,756 TRX | $0.3594 | +8.7% |
| 20:56:54 ↗ | 30 million USDT | 81,592,369 TRX | $0.3677 | +11.6% |
| 20:57:33 ↗ | 30 million USDT | 79,525,236 TRX | $0.3772 | +14.5% |
| 20:59:36 ↗ | 30 million USDT | 77,495,565 TRX | $0.3871 | +17.5% |
| 21:02:42 ↗ | 20 million USDT | 51,056,112 TRX | $0.3917 | +18.5% |
| 21:04:09 ↗ | 10 million USDT | 25,248,833 TRX | $0.3961 | +19.8% |
| 21:05:45 ↗ | 5 million USDT | 12,567,393 TRX | $0.3979 | +18.1% |
| 21:06:42 ↗ | 3 million USDT | 7,520,337 TRX | $0.3989 | +18.4% |
| 21:08:18 ↗ | 2 million USDT | 5,019,493 TRX | $0.3984 | +18.2% |
| 21:11:54 ↗ | 2 million USDT | 5,006,565 TRX | $0.3995 | +17.1% |
| 21:14:12 ↗ | 2 million USDT | 4,817,617 TRX | $0.4151 | +21.7% |
ETH and TRX received in each trade read from the transaction itself. “vs Coinbase” and “vs Kraken”: the dollars paid against what the same coins were worth there, at the 5-minute price bar of each trade.
Sold out: the price when the selling started, when it ended, and now
| Token | Started (UTC) | Finished (UTC) | Now | Since finished |
|---|---|---|---|---|
| $6.515started 21:51 | $6.519finished 22:42 | loadingnow | since finished | |
| $0.00000443started 22:01 | $0.00000455finished 23:31 | loadingnow | since finished | |
| $10.83started 22:37 | $10.58finished 00:02 | loadingnow | since finished | |
| $123.20started 22:39 | $119.85finished 22:58 | loadingnow | since finished | |
| $78,855started 22:43 | $78,862finished 22:45 | loadingnow | since finished | |
| $0.1764started 22:51 | $0.1722finished 00:41 | loadingnow | since finished | |
| $0.3794started 23:01 | $0.3826finished 23:19 | loadingnow | since finished |
Started and finished: the first and last transfer of the token out of the wallet that held it; prices are Coinbase's at those moments (BTC for WBTC). Now: CoinGecko's price when you open this page.
Each token's price from 20:25 UTC (20:25 = 100)
UNI−8.8% since 20:25
LINK−8.3% since 20:25
AAVE−10.0% since 20:25
ENA−16.9% since 20:25
ONDO−7.8% since 20:25
PEPE−13.2% since 20:25Orange: the token on Coinbase, to 00:10 UTC on 30 October. Grey: ETH, which moved −3.3% over the same time. Shaded: when its wallet sold it in the token's main Uniswap pool.

The addresses in the case
92 addresses on 11 networks. Binance's wallets are the ones in its own reserves list. The attacker's are the sender, its contract, and the addresses we followed the money to, up to the ones marked “not followed further”; trades and deposits into apps are left out.
Paste any address from Bitcoin, Ethereum, Tron, XRP Ledger, Solana, NEAR or the other networks. The check runs in your browser; nothing is sent anywhere.
Hot wallet taken over with EIP-7702; its code is empty again since 00:10 on 30 October.
Sent 28,006 ETH and 8 tokens in 9 ordinary transactions.
Contract wallet; Binance 14's new code made it send 823,000,000 USDC.
Sent to the main receiving address on Arbitrum One.
Sent to the main receiving address on Base.
Sent to the main receiving address on Arbitrum One.
Sent to the main receiving address on Avalanche.
Sent to the main receiving address on Avalanche.
Sent to the main receiving address on Avalanche.
Sent to the main receiving address on Avalanche.
Sent to the main receiving address on Avalanche.
Sent to the main receiving address on OP Mainnet.
Sent to the main receiving address on Arbitrum One.
Sent to the main receiving address on Polygon.
Sent to the main receiving address on Arbitrum One.
Sent 612.73 million USDT and 46.39 million TRX to the attacker.
Received 81.50 million USDT and other tokens from the hot wallet, from 22:57.
Sent 185.02 million XRP to the attacker at 20:05:00.
Sent 14.69 million XRP to the attacker at 20:07:00.
Sent 13.14 million XRP to the attacker at 20:08:20.
Sent 11.96 million XRP to the attacker at 20:08:50.
Sent 8.66 million XRP to the attacker at 20:09:20.
A payment of 14.27 million XRP to the attacker failed; Binance later moved its XRP to another wallet in its list.
Received 26.20 million XRP from the hot wallets, from 23:12.
Sent 18,270.2 BTC to the attacker in block 973,732.
Received 1,770 BTC from the hot wallet from 23:16.
Sent 970,521.9 SOL to the attacker.
Received funds from the hot wallet at 23:02.
Received funds from the hot wallet at 23:02.
Sent 8.09 million NEAR to the attacker at 20:15:26.
Sent 2.20 million NEAR to the attacker at 20:22:03.
Sent 2.12 million NEAR to the attacker at 20:22:29.
Received the NEAR hot wallets' dollar tokens from 23:01.
All six EVM networks. Frozen: 1.175 billion USDT, 823 million USDC, 27.82 million USD1. Holds 11,702 ETH.
Paid through Tornado Cash; sent the takeover and the sweeps.
Created 15:59:11; active on Binance 14 until 00:10:35 on 30 October.
Got 500 million USDT; frozen, empty.
Got 200 million USDT; frozen, empty.
Aave loan: 60 million USDT deposited, 19,762.7 WETH owed; frozen.
USDT hop; frozen, empty.
USDT hop; frozen, empty.
Frozen with 175 million USDT inside.
Frozen with 30 million USDT inside.
RLUSD paused: 40.54 million stuck.
USDT hop; not frozen as of 02:18 UTC.
USDT hop: got 175 million USDT from 0x9749…c762 at 20:59:11 and passed it to 0xaa24…54a0; not frozen as of 02:18 UTC.
Got 127.67 USDT from 0xaa24…54a0 at 21:12:59, before its freeze; not followed further.
Got 0.5 ETH from the main receiving address at 21:29:47; not followed further.
Got 1.0 ETH from the main receiving address at 21:54:11; not followed further.
Holds 197,460 ETH at 02:18 UTC; never sent a transaction.
Holds 137,602 ETH at 02:18 UTC; never sent a transaction.
Holds 78,415 ETH at 02:18 UTC; never sent a transaction.
Holds 32,954 ETH at 02:18 UTC; never sent a transaction.
Holds 19,740 ETH at 02:18 UTC; never sent a transaction.
Holds 11,561 ETH at 02:18 UTC.
Holds 2,857 ETH at 02:18 UTC.
Holds 1,780 ETH at 02:18 UTC.
Received ONDO and UNI. Sold or passed on the ONDO and UNI.
Received RLUSD. Sold or passed on the RLUSD.
Received PEPE. Sold or passed on the PEPE.
Received ENA and wBETH. Sold or passed on the ENA. Still holds 29,934 wBETH.
Frozen with 312.73 million USDT inside.
Swapped 234 million USDT for TRX; frozen, empty.
Frozen with 65.99 million USDT inside.
Holds 638.20 million TRX; has sent nothing.
Holds 44.51 million TRX; has sent 1.87 million TRX on.
Got 1.68 million TRX from TRBdWq…PRki at 02:19 on 30 October; not followed further.
Got 194,624 TRX from TRBdWq…PRki in 2 transfers, 03:05 to 03:23 on 30 October; not followed further.
Holds 233.46 million XRP; has sent nothing.
Received 18,270.2 BTC and split them into 19 addresses, 18 of them in the same block; now empty.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 1,000.00 BTC, not moved.
Holds 832.50 BTC, not moved.
Holds 437.70 BTC, not moved.
Holds 970,549 SOL; has sent nothing.
Holds 12.41 million NEAR; has sent nothing.
Made to look like the attacker's 0x9749…c762 so that people copy the wrong one.

How we checked
For anyone who wants to check our work: the sources, the rules we followed, and what we do not know.
Where we read each network, and when
| Network | Source | Read (UTC, 30 Oct) |
|---|---|---|
| ethereum-rpc.publicnode.com; traces and past balances from eth.drpc.org | 02:18 | |
| mempool.space and blockstream.info (Esplora API) | 03:39 | |
| api.trongrid.io | 03:26 | |
| xrplcluster.com (full-history servers) | 03:34 | |
| solana.publicnode.com, api.mainnet-beta.solana.com | 03:50 | |
| api.nearblocks.io, rpc.mainnet.near.org | 05:51 | |
| arb1.arbitrum.io, mainnet.optimism.io, publicnode.com | 00:02 | |
| bsc-rpc.publicnode.com | 02:10 | |
| a public node or explorer for each network, 531 wallets | 07:49 |
Each network's time is when the attacker's addresses there were read; the last row is the read of Binance's wallets on every network.
Method
- Every coin amount, address and time is our own read of the blockchains through public servers (table above), not a third party's count. What counts as a transfer: on EVM networks the token's Transfer events and, for ETH moved inside contract calls, the transaction traces; on Bitcoin the transaction's inputs and outputs; on Tron the TRC-20 Transfer events and TRX transfers; on the XRP Ledger each Payment's delivered amount and result; on Solana each transaction's balance changes; on NEAR and the other networks, the transfers that each network's node or explorer reports.
- Binance's wallets: every wallet this page calls Binance's is in Binance's own Proof of Reserves list (audit PR01OCT26, balances of 1 October 2026; file wallet_address_20261001.zip, linked from Binance's Proof of Reserves page and served from public.bnbstatic.com; SHA-256 of its wallet CSV 4eb9cc23e6a7eae3…). None of the attacker's addresses is in it.
- The attacker's addresses: the sender of the takeover, the contract it ran, and every address that got the money from a Binance wallet that night or from such an address, other than in a trade or a deposit into an app. Etherscan labels 19 of the Ethereum ones “Binance Hot Wallet Exploiter”; we found them by following the transfers, not by the labels. That the same attacker controls the addresses on all 11 networks is our reading: on 10 of them the first payment came between 20:05 and 20:33 UTC, and on the six EVM networks Binance's wallets paid the same address. The blockchains cannot prove it.
- Every network in Binance's list: for each of the 46 networks we read every listed wallet (531) from 19:00 UTC on 29 October to 04:00 UTC on 30 October and sorted each payment out: to another listed wallet, to the attacker, or to anyone else. A Bitcoin-style payment counts as Binance's own move only if every coin that left came back to listed addresses. Where a first read could miss payments in a network's own coin, we then read every transaction each wallet signed after the network's last payment out (on EVM networks, found by its transaction count). Every time shown was read from its block.
- Freezes: the tokens' own events, Tether's AddedBlackList on Ethereum and Tron, Circle's Blacklisted, RLUSD's AccountPaused and USD1's Freeze, and the balances read after them. Aave's market freezes: its ReserveFrozen events on each network.
- The 50 permissions on Ethereum: each signature recovered with secp256k1 over keccak256(0x05 || rlp([chain_id, address, nonce])), as EIP-7702 defines; all 50 give Binance 14, chain 1, the same contract. Which one took effect: Binance 14's transaction count read just before and after that block (18,914,808 to 18,914,810).
- Checks that close: the USDT taken on Ethereum and on Tron each add up to the cent across frozen, swapped and lent; the 19 Bitcoin outputs add up to the 18,270.2 BTC taken, less 0.0001 BTC in fees; each ETH swap matches the address's balance change, and each TRX swap is read from the transaction's own transfers.
- Prices of 20:25 UTC (the close of the 20:20 to 20:25 bar): Coinbase for ETH, BTC and the main tokens; Kraken for TRX, XRP, SOL, NEAR and XAUt; DefiLlama for the other 158 tokens, by contract address; dollar tokens at $1.00. One token, IDRT (5.550 billion), had no price at these sources and counts as $0. Live prices: CoinGecko, through this site's own server.
- Statements: Binance's posts on X at 02:25 and 04:36 UTC on 30 October 2026 and its founder Changpeng Zhao's at 21:15 UTC on 29 October, as published (read at 08:04 UTC on 30 October). We did not check what any company says about its own systems.
What we do not know
- The full attack path. Binance says a compromised computer may be the entry point and that a report with the root cause will follow (04:36 UTC).
- What Binance's figures count: about $6.3B of impact against our $6.41B at 20:25 UTC prices, and about $3B frozen against the $2.65B we read frozen on the attacker's addresses.
- Who did it. Binance has named no one, and we saw no attribution backed by evidence.
- Wallets that are not in Binance's list of 1 October 2026, and its users' deposit addresses (the list's second file, 778 MB): we did not read them.
- On opBNB, the BNB payments of two listed wallets, 0x98ad…ba9d and 0xf977…acec: no public node keeps the past state we would need. Neither moved a token in the window, and the third, its busiest wallet, has every transaction accounted for.
- Where the coins went after the last addresses we followed, for example the 1.87 million TRX sent on from TRBdWq…PRki.
- Where the Arbitrum funds and the 1.81 million AVAX that left the receiving address went: we did not follow them.
Read our research
Educational only, not investment advice; do your own research. On-chain reads to 07:49 UTC, 30 October 2026; prices from Coinbase, Kraken and DefiLlama; statements as published. Powered by CoinGecko.
