Forensic Audit Report · Part 1 · Ethereum
The published reports put the theft at about $6.4 billion across 11 chains (Elliptic), roughly $3.80 billion of it on Ethereum. The total is Chainalysis's and Elliptic's; the Ethereum split is Elliptic's. These are the reports' figures, not chain records: who published them is listed under the introduction.
This is Part 1: the Ethereum money, read on chain.
On the evening of 29 October 2026 an attacker drained funds from Binance hot wallets on Ethereum. The door was opened with Binance 14's own signature, and it stayed open for 3 h 49 min 36 s. This report follows the money wallet by wallet, from the hot wallets to where it sits now, and shows exactly what the chain records and what it does not.
The reports point to North Korea. Chainalysis assesses TraderTraitor, the North Korean group the FBI also calls Lazarus Group; Elliptic says "likely". There was no government attribution as of these reports.
On the evening of 29 October 2026 someone took funds from three of Binance's hot wallets on Ethereum. No lock was forced: the permission was signed with Binance's own key. Whether that key was stolen or misused, the chain cannot say.
This report follows the stolen money on the Ethereum chain: where it went, what got frozen, and where it still sits.
The published reports point to a North Korean group, TraderTraitor, which the FBI also calls Lazarus Group. That is their assessment, not a proven fact.
On 29 October 2026, on Ethereum, the Binance hot wallet Etherscan labels "Binance 14" was handed to an attacker's code by one of 50 authorisations delivered together, every one signed with Binance 14's own key. How those signatures were obtained is not established. The attacker's code stayed on it for 3 h 49 min 36 s. Tether and Circle froze 1,175,464,712.875462 USDT and 823,000,000 USDC at the wallet collecting the money, within 40 min 36 s of the first sweep.
Most of the ETH this report follows went to wallets that had sent no transaction as at the reads of 30 October. As read on 30 October, the four biggest balances among the 54 wallets Etherscan labels "Binance Hot Wallet Exploiter" were 197,460 ETH (Exploiter 8), 137,602 ETH (Exploiter 19), 78,415.25 ETH (Exploiter 11) and 40,600.67 ETH (Exploiter 17).
Chainalysis and Elliptic point to North Korea's TraderTraitor, the group the FBI also calls Lazarus Group. That is a lead: their assessment, not a finding of this report, which shows where the money went and is not an assertion of criminal conduct against any named individual or company.
This report is not legal or financial advice, and it is not an assertion of criminal conduct against any named individual or company.
These are the publishers' figures and assessments. This report has not re-derived them from the chain, which is why they carry a LEAD. Readings 1200 (30 Oct) and 0024 (31 Oct) in the source list record what each says and when it was read.
EASY keeps the story, the map and the snips, and folds away the Facts and Stats, the wallet list and the source list. TECH shows every record.
Eight findings, each with the section that carries it
What happened, in five short paragraphs
An exchange keeps some coins in "hot wallets" so it can pay out quickly. On 29 October one of Binance's hot wallets on Ethereum handed control of itself to the attacker's code. The permission was signed with that wallet's own key.
From there the attacker swept funds out of it, used it to unlock a second Binance wallet, and drew money from a third.
The attacker sold the stablecoins for ETH as fast as it could, because the companies behind stablecoins can freeze them and nobody can freeze ETH. Tether and Circle still froze close to 2 billion dollars of it within the hour, and RLUSD's issuer froze more soon after.
As at our reads of 30 October, most of the stolen ETH had not moved. It sat in a handful of wallets that had never sent a single transaction.
This report does not say who did it. It shows where the money went, and how sure each step is.
An exchange keeps a float of coins in "hot wallets" so it can pay withdrawals quickly. On 29 October someone got one of Binance's hot wallets on Ethereum to hand control of itself to the attacker's code. That handover was signed with the hot wallet's own key.
From there the attacker swept funds out of it and used it to instruct a second Binance wallet, which accepted the instruction. In the same minute a third Binance wallet sent 95.07% of its ETH to the attacker, in transactions signed with its own key.
Two stablecoin issuers froze the biggest pile within 40 min 36 s of the first sweep. Most of the ETH sits in wallets that had sent nothing as at the reads of 30 Oct. Of the USDT that got out first, Tether caught another 205 million minutes later, at Exploiter 21 and Exploiter 7.
The issuer of a third stablecoin, RLUSD, froze 40.5 million of it, at the wallet selling it, in the block of its last sale.
This report does not say who did it. It shows where every coin it follows went, and how sure each step is.
How each claim is marked, and what the lines on the map mean
How sure is each claim?
Every claim carries a label. VERIFIED means read straight from the blockchain. FINDING means worked out from a block explorer's records. LEAD means someone else's label or report, not yet checked. NOT ESTABLISHED means the evidence cannot show it.
On the map, a crosshair marks a wallet still holding stolen money, and a padlock marks frozen money. Switch to TECH for every record behind every line.
Every claim carries one banner. It is printed as a word, so colour never carries it alone.
Names like "Exploiter 17" are Etherscan's public labels, used here because they are what you will see when you check. Every wallet is also given with its full address in section J.
Under each finding is a Facts and Stats drop-down. It carries the addresses, transaction hashes, windows and the source file behind every number. Times are UTC.
Ethereum only. Elliptic names 11 chains; the others are not read here. This is an evidence record, not financial or legal advice.
Press Play, or drag the clock. Click any wallet or line.
The clock runs from just before the first transfer to the last ETH arriving at Exploiter 17. Solid lines were read on our node; dashed lines come from Etherscan exports; dotted lines are calls that carry no value of their own. Red marks a freeze.
How the attacker got inside the first hot wallet
Since the Pectra upgrade of 7 May 2025, Ethereum lets an ordinary wallet borrow a smart contract's code for a while, if its owner signs a permission. The attacker sent Binance 14 a batch of these permissions, all pointing at the attacker's own code. One took effect, and from then on Binance 14 did whatever that code told it to.
Every permission in the batch was signed with Binance 14's own key. The chain cannot tell whether the key was stolen or Binance's own signing system was tricked into signing.
Since the Pectra upgrade of 7 May 2025, Ethereum lets an ordinary wallet borrow the code of a smart contract for a while. The owner signs a short note, an "authorisation", that says: run this code for me. That feature is EIP-7702, one of the changes Pectra brought in.
At 20:20:59Z a transaction arrived carrying 50 of those notes for Binance 14, all pointing at the same attacker contract. One took effect, and Binance 14 started running the attacker's code. Three minutes and 24 seconds later the sweeping began.
Every one of the 50 notes was signed with Binance 14's own key. The attacker's wallet only paid the postage.
This is the Trojan Logic. Nothing was broken down. The attacker's code was let in through the gate, signed in with Binance 14's own key, and it ran from inside. Whether the key was handed over, stolen, or tricked into signing, the chain cannot say.
In the story, Troy's defenders pulled a gift horse in through their own gates. The soldiers hidden inside opened the city from within. Nobody had to break the walls.
EIP-7702, one of the changes in Ethereum's Pectra upgrade of May 2025, lets an ordinary wallet run a smart contract's code, its "logic", once the wallet's owner signs a permission. Here the horse was the attacker's logic, and the permission that let it in was signed with Binance 14's own key.
Fifty signatures over fifty consecutive nonces is not what a payout process would normally sign. It would let one signature land on a wallet whose nonce moves every few seconds. Some of them were already stale when they arrived. That is an observation about the pattern, not a finding.
NOT ESTABLISHED whether the key itself was taken or Binance's signing system was made to sign. The chain cannot tell those apart. Elliptic carries Binance's account of a compromised DevOps laptop; that is Binance's claim, not a chain record.
Transaction 0xad99264d…1298b, type 0x4, block 26300753, 20:20:59Z. Sent by Exploiter 1 BINHACK-1029:CPTY:7C8601-6B5CA0:CG0x7C8601d4645b93cea45F71e118A729332e6B5CA0 to Binance 14 BINHACK-1029:CPTY:28C6c0-f21d60:CG0x28C6c06298d514Db089934071355E5743bf21d60 itself. It carries 50 authorisation tuples, chainId 1, nonces 18914775 to 18914824, all naming Exploiter 24 BINHACK-1029:CPTY:63e842-9c6fAe:CG0x63e842B054Bd624a465454D533C33F573e9c6fAe as the delegate.
Each tuple's signer was recovered from its own signature (keccak256 of 0x05 and the RLP of chainId, address and nonce; low-s required). 50 of 50 recover to Binance 14. The recovery tool's 25 offline tests include a tampered nonce and a high-s signature that must not recover.
Binance 14's code was 23 bytes, an EIP-7702 designation to Exploiter 24, from block 26300753 through block 26301895. 24 sampled blocks in between showed no change: sampled, not exhaustive.
Sources: Reading 1346 · 30 Oct · 86f7c2eb6444 Reading 1355 · 30 Oct · 7f9a550eefbc Reading 1555 · 30 Oct · 10980b91fe7e
What left Binance before the first freeze
Within minutes Binance 14 paid out its ETH and its stablecoins to one attacker wallet, Exploiter 2.
In the same minute a second Binance wallet, Binance 16, sent most of its ETH to the same place. It was not running the attacker's code. It signed those payments itself.
A third wallet, Hot Wallet 34, takes its orders from Binance 14. The attacker had Binance 14 give the order, and Hot Wallet 34 paid out hundreds of millions in USDC.
At 20:24:23Z the attacker sent its first sweep to Binance 14. Running the attacker's code, Binance 14 paid out 167,464.25 ETH and 63 token transfers, the largest 1.615 billion USDT, to one collecting wallet, Exploiter 2.
24 seconds later, Binance 16 sent Exploiter 2 28,005.6 ETH and eight tokens in one block. That was 95.07% of its ETH. Binance 16 had no delegated code at the drain block, or when read again on 30 Oct. It signed all nine transfers itself.
Hot Wallet 34 is a Binance smart-contract wallet that takes orders from Binance 14. At 20:41:23Z the attacker had Binance 14 give the order, and Hot Wallet 34 sent 780 million USDC to Exploiter 2. At 20:59:47Z it sent 43 million more.
One hijacked hot wallet opened a second one, because the second accepted its instructions.
In chess a captured piece never fights for the other side. In shogi it does: the captor drops it back on the board as their own. Binance 14 was that piece. Still wearing Binance's colours, it moved for the attacker, and its move opened the line to Hot Wallet 34: a discovered attack.
Shogi is Japanese chess. Unlike in Western chess, a captured piece is not removed from the game: it changes sides, and its captor can later "drop" it back onto the board to fight for them. In chess a piece can never be turned against its own side. In shogi it is a normal move.
One piece moves out of the way and, by moving, opens a line for another attack behind it. The defender has to deal with two threats at once.
Binance 14 was swept five times in all. Sweeps 2 and 3 went to Exploiter 2 at 21:04:23Z and 21:44:11Z. Sweep 4, at 22:39:35Z, sent 122 more tokens to a second collecting wallet, Exploiter 22. Sweep 5 comes in section G.
| Sweep | Time | Block | To | ETH | Token transfers |
|---|---|---|---|---|---|
| 1 · 0x53bd38b8… | 20:24:23 | 26300770 | Exploiter 2 | 167,464.247856558836135296 | 63 |
| 2 · 0x31c4c9fe… | 21:04:23 | 26300968 | Exploiter 2 | 1,699.92 | 23 |
| 3 · 0x55ba4dab… | 21:44:11 | 26301167 | Exploiter 2 | 369.83 | 14 |
| 4 · 0x4a4aed83… | 22:39:35 | Exploiter 22 | 128.49113921207507 | 122 | |
| 5 · 0x4395d51d… | 23:56:47 | 26301828 | Exploiter 22 | 2,961.9108209382853 | 0 |
Every sweep was sent by Exploiter 1 to Binance 14 with selector 0x8a179be4. At each block Binance 14's code was the 23-byte designation to Exploiter 24. Collecting wallet: Exploiter 2 BINHACK-1029:CPTY:5227f6-CB2f8c:CG0x5227f603C1eE34CE3C06eFe6477003BDfCCB2f8c. Second collecting wallet: Exploiter 22 BINHACK-1029:CPTY:A97bF7-AE8d10:CG0xA97bF7836F8A08F9Ed91D41453D371493FAE8d10.
Binance 16 (Binance 16 BINHACK-1029:CPTY:DFd529-43963d:CG0xDFd5293D8e347dFe59E90eFd55b2956a1343963d) in block 26300772: 28,005.6 ETH (tx 0x51f263fa…), 55,739,800.5 USDT, 25,943,825.8 RLUSD, 84.5 WBTC, 819,997.1 UNI, 1,199.3 XAUt, 18,819,171.4 ENA, 304,598.2 LINK and PEPE, each in its own transaction signed by Binance 16.
Hot Wallet 34 (Hot Wallet 34 BINHACK-1029:CPTY:Ee7aE8-3b4055:CG0xEe7aE85f2Fe2239E27D9c1E23fFFe168D63b4055) is an ERC1967 proxy. Etherscan's trace of 0xdc102dd8…: Exploiter 1 calls Binance 14; Binance 14 calls execute(USDC, 0, transfer(Exploiter 2, 780,000,000)) on Hot Wallet 34; Hot Wallet 34 calls USDC's transfer. It is not an allowance. Our node confirms one USDC Transfer in each of the two transactions; the call frames are Etherscan's trace, not ours.
NOT ESTABLISHED what rule lets Binance 14 instruct Hot Wallet 34 (owner, role or allow-list). The implementation's source and storage were not opened.
Sources: Reading 1303 · 30 Oct · f9fe9d050bb2 Reading 1330 · 30 Oct · eff71aee56c2 Reading 1337 · 30 Oct · c0bdbc2be6e4 Reading 1346 · 30 Oct · 86f7c2eb6444 Reading 1432 · 30 Oct · 0debfef95907 Reading 1500 · 30 Oct · ad35f8e91794 Reading 1601 · 30 Oct · deb58cbf745c
Stablecoins can be frozen. ETH cannot. So the stablecoins went first.
A stablecoin like USDT can be frozen by the company that issues it. ETH cannot be frozen by anyone. So the attacker's first job was to turn stablecoins into ETH.
The selling began within minutes of the theft. In about a quarter of an hour, 325 million USDT had become ETH. The stolen UNI, ONDO, ENA, RLUSD and AAVE went the same way, sold on exchanges built into the blockchain.
At 20:30:11Z, under six minutes after the first sweep, 500 million USDT left Exploiter 2 for a selling wallet, Exploiter 18. Another 200 million went to Exploiter 10 at 20:33:23Z.
Exploiter 18 never sold anything itself. It approved trading contracts to take its USDT, and the ETH came back inside their settlement transactions. Between 20:34:23Z and 20:49:35Z, 325 million USDT became 122,316 ETH. 122,310 ETH of it went to one wallet, Exploiter 19, at 21:47:47Z.
The ENA went the same way. Exploiter 14 sold 217.5 million ENA for 15,288 ETH and passed 15,292 ETH to Exploiter 19. It did not sell the 29,934 wBETH it was given.
The RLUSD took a detour through two relay wallets before Exploiter 16 sold 48 million of it, then 127,952.74 AAVE, for 26,827.67 ETH. Smaller wallets sold Binance 14's WLD, RSR and MORPHO.
Ten minutes from the first sweep to the first USDT sale.
| Time | USDT out | ETH back |
|---|---|---|
| 20:34:23 | 50,000,000 | 20,940.13 |
| 20:36:11 | 100,000,000 | 39,400.47 |
| 20:37:59 | 50,000,000 | 19,025.26 |
| 20:45:11 | 75,000,000 | 26,227.01 |
| 20:49:23 | 14,999,999.999999 + 5,000,000 | 5,017.04 + 1,672.35 |
| 20:49:23 to 20:49:35 | 692,922.30 + 706,623.34 | 231.76 + 236.34 |
| 20:49:35 | 28,600,454.37 | 9,565.97 |
| Total | 325,000,000 | 122,316.323922299741513724 |
Selling wallet Exploiter 18 BINHACK-1029:CPTY:974929-36C762:CG0x9749292D74Fd460982d0912eA9515EA24736C762. Its balance check closes to 0.000000000007 ETH. The unsold 175,000,000 USDT went to Exploiter 20 BINHACK-1029:CPTY:811f15-a4e84C:CG0x811f15855476156Ebf86ba3b84faFb8Ceaa4e84C at 20:59:11Z. The trading counterparties and ETH payers are not label-checked.
Exploiter 14 BINHACK-1029:CPTY:7f9DC9-5415E3:CG0x7f9DC988B46336aD536828fAD50fa8fA1E5415E3 received 217,497,348.0108 ENA and 29,934.0131631 wBETH from Exploiter 2. The ENA left in 20 Multicall transactions and 15,287.983819876215148918 ETH came back, every ENA transaction paired. 15,292 ETH went to Exploiter 19 BINHACK-1029:CPTY:c887aF-5B286A:CG0xc887aF690E0301CD4edBbCe8F8d31b4EC65B286A at 00:59:23Z. By its rows the wBETH is unsold; its live balance was not read.
Exploiter 16 BINHACK-1029:CPTY:E7024a-87958d:CG0xE7024aB80143b1EF843EFE6a58368696Cb87958d sold 48,000,000 RLUSD in 10 transactions for 20,493.834501855856787902 ETH (21:42:23Z to 22:00:59Z) and 127,952.74 AAVE in 14 transactions for 6,333.833105680623190354 ETH (22:39:11Z to 22:58:59Z). It sent 20,492 and 6,333 ETH to Exploiter 17 BINHACK-1029:CPTY:54401f-4BC942:CG0x54401f80Da97893a15D43566184635B6674BC942. The RLUSD came through relays Exploiter 32 BINHACK-1029:CPTY:5C2302-Fea4FC:CG0x5C23023Ca6633F91DeD909b4a753a3cA00Fea4FC and Exploiter 31 BINHACK-1029:CPTY:008f06-187Dcd:CG0x008f06F04b72dA2621a4f37F5531CC7352187Dcd; the AAVE came from Exploiter 2, which got it only from Binance 14.
Exploiter 28 BINHACK-1029:CPTY:8c7111-7a6aa4:CG0x8c7111E9a3270457B76f0Bd137209089047a6aa4, Exploiter 48 BINHACK-1029:CPTY:B58Bf7-7a4F08:CG0xB58Bf76D209Fa71F60013CE1933CA331177a4F08 and Exploiter 52 BINHACK-1029:CPTY:1291be-2116b1:CG0x1291be4c90239D14527bA880ad2b6E5Cb82116b1 each received one Binance 14 token from Exploiter 2 (17,317,869.01 WLD; 3,382,160,847.12 RSR; 1,763,059.91 MORPHO) and sold 100% of it. 35 router payouts, one per swap; each wallet's balance reconciles to under 0.00000001 ETH.
Routers, by Etherscan and Arkham labels (LEAD): 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 "Uniswap V3: Router 2" (SwapRouter02); 0x2f68417a18da681589f4ea64b9cc9839209acff7 "PancakeSwap: Aggregator (Proxy)" on Arkham.
Sources: Reading 1503 · 30 Oct · 1a00a0b99a8a Reading 1520 · 30 Oct · f739392f9758 Reading 1528 · 30 Oct · e3a54dbe7a2c Reading 1532 · 30 Oct · 7a21fb9b3be1 Reading 1540 · 30 Oct · 76b9826a4ce0 Reading 1612 · 30 Oct · 1bd805078f79
Two issuers, 3 min 24 s apart
Who froze what, and what got away
Tether froze the main attacker wallet with more than a billion USDT still inside. Circle froze the USDC in the same wallet minutes later. The attacker never moved a cent of it.
Some USDT had already left. Tether chased it from wallet to wallet, freezing most of them, and in the end froze Binance's own hijacked hot wallet too. RLUSD's issuer froze the stolen RLUSD while the attacker was still selling it.
Tether and Circle froze close to 2 billion dollars of stolen stablecoins in the main collecting wallet alone, and Tether froze more after that. What they missed had already been swapped for ETH, or posted as collateral on Aave, where it still is.
For the first half hour it looked like smothered mate: Binance boxed in by its own pieces. It was not mate.
A stablecoin issuer can blacklist an address. After that, the coins at that address cannot move. Tether did it to Exploiter 2 at 21:01:35Z, 37 min 12 s after the drain began. It caught 1,175,464,712.875462 USDT.
Circle's USDC contract blacklisted the same wallet at 21:04:59Z. It caught 823,000,000 USDC, all the USDC Hot Wallet 34 had sent it. The attacker never moved a cent of it.
The catch is what had already gone. 700 million USDT had left Exploiter 2 before the freeze. 325 million was sold. That leaves 375 million.
Exploiter 21 sent 127.67 USDT to a wallet Etherscan labels "MetaMask: Gas Station Swap" and moved nothing else. At 21:14:59Z, 6 min 36 s after the 175 million arrived, Tether froze it with 174,999,872.32762 USDT inside.
Exploiter 3 did not sit still. Between 20:57:59Z and 21:00:59Z it posted 60 million USDT on Aave as collateral and borrowed against it, taking ETH debt tokens of 3,271.42 and 16,490.98. At 21:01:59Z, 24 s after Tether froze the collecting wallet, it sent the other 130 million on. Tether blacklisted it at 21:02:47Z. Two more wallets sold 50 million each on Uniswap between 21:04:47Z and 21:09:11Z, for 34,582.84 ETH in all, passing the ETH forward as they went. The last 30 million reached Exploiter 7 at 21:16:11Z. Tether froze it there 2 min 48 s later.
Image as filed: Screenshot 2215 · 30 Oct, sha256 06adf0e0e70d30d4290eaa976fbf14767890bb3e62505ea8c04a09f3f70de6ff
Tether was not the only issuer acting. Ripple's RLUSD can pause a single account. At 22:00:59Z, in the block of Exploiter 16's last RLUSD sale, it paused Exploiter 16 with 40,541,065 RLUSD inside: 48 million had been sold, the rest was stopped. About twenty minutes later, at 22:20:47Z, it paused Binance 14 itself on RLUSD, though Binance 14 held none.
The first freeze landed on the wallet that 700 million USDT had just left. Tether kept chasing: eight wallets on the USDT's path blacklisted in 17 min 24 s, then Binance 14 itself at 22:06:23Z.
For the first half hour this looked like smothered mate: Binance's own key and its own trusted wallet doing the attacker's work. It was not mate. The issuers' freezes caught close to 2 billion dollars of stablecoins within 40 min 36 s of the first sweep.
A checkmate where the king cannot escape because its own pieces block every square around it. A single knight, jumping over the wall, finishes it. The king is beaten by its own defenders as much as by the attacker.
USDT contract 0xdac17f958d2ee523a2206206994597c13d831ec7: isBlackListed(Exploiter 2) false at block 26300770, true from block 26300954. The AddedBlackList event is in tx 0x7baba482…, sent by Tether multisig signer BINHACK-1029:CPTY:AC3B24-341FA0:CG0xAC3B242E2E561da9F4cE34746E67d004E6341FA0 to Tether: Multisig BINHACK-1029:CPTY:C6CDE7-1Ea828:CG0xC6CDE7C39eB2f0F0095F41570af89eFC2C1Ea828. No RemovedBlackList or DestroyedBlackFunds in that block; no un-blacklist in 24 sampled blocks (sampled, not exhaustive).
USDC proxy 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48: isBlacklisted(Exploiter 2) false at block 26300855, true from block 26300971. The Blacklisted event is at log index 316 in tx 0xc954c86f…, sent by USDC blacklister BINHACK-1029:CPTY:0A06BE-DA78F9:CG0x0A06BE16275B95a7d2567fBdAE118b36C7DA78F9. That this sender held USDC's blacklister role rests on the published FiatToken design; the role at that block was not read.
Exploiter 10 BINHACK-1029:CPTY:0Ddf04-20697e:CG0x0Ddf0480016e6bCb2C1F5d190D221FBA1320697e blacklisted from block 26300955 (21:01:47Z), tx 0xdb6b11fe…. Its 190,000,000 USDT went to Exploiter 3 BINHACK-1029:CPTY:8d5390-b8639A:CG0x8d53903625b8e839b9DF4bd28B0EFb1CD6b8639A in 0xc0fab33d…. Exploiter 20 was not blacklisted at block 26306723; its 175,000,000 USDT went to Exploiter 21 BINHACK-1029:CPTY:Aa246B-c654a0:CG0xAa246BF639586a6Ba46762D378CE50cA4fc654a0 in 0xb6d7d3ff….
Exploiter 21 Exploiter 21: balance 174,999,872.32762 USDT; 127.67 USDT out to "MetaMask: Gas Station Swap" (0x11be88b4…). Exploiter 3 to Aave: 10,000,000 (0x420e7401…) and 50,000,000 (0x65bd82f1…). Exploiter 3 to Exploiter 4 BINHACK-1029:CPTY:77EDEf-2ac3eb:CG0x77EDEf23FBd05921c26FE29fcc3A65e14D2ac3eb: 130,000,000 (0xd2e7e5e6…). Exploiter 4 to Exploiter 5 BINHACK-1029:CPTY:7Aa4D3-03BFd1:CG0x7Aa4D3029e4C6A8E916300014Ad95B6d6C03BFd1: 80,000,000 (0x279d12e9…). Exploiter 5 to Exploiter 6 BINHACK-1029:CPTY:CcBEF9-6cA263:CG0xCcBEF95633ADB5Cd2b5038DB5a38d77E726cA263: 30,000,000 (0x9a764588…). Exploiter 6 to Exploiter 7 BINHACK-1029:CPTY:b171cA-60c8c3:CG0xb171cA86f82070282138352Ff7111b494060c8c3: 30,000,000 (0x1e6f851d…).
Freezes, first read on a public Ethereum node and re-read on our own node (all matched): Exploiter 21 blacklisted in block 26301021 (0x0c07a5e4…) and Exploiter 7 in block 26301041 (0x3445389c…), both sent by Tether multisig signer to Tether: Multisig, both still blacklisted at block 26308547. The same method reproduced the known freezes of Exploiters 2 and 10 to the block, transaction and log index, and returned "not blacklisted" for Exploiters 20 and 4.
Sale proceeds, from Etherscan's internal transactions: Exploiter 4 received 18,085.21 ETH for 50,000,000 USDT and Exploiter 5 received 16,497.63 ETH for 50,000,000 USDT, each balance-checked to within the rounding of the page.
Flows from Etherscan pages read on 30 Oct (filters at default: spam and zero-value rows hidden), not node reads. That the Aave debt is ETH rests on Etherscan's method name "Borrow ETH"; the borrowed ETH itself was not read. LEAD Elliptic reports 59.9M USDT posted on Aave and 19,762 ETH borrowed. The debt tokens here total 19,762.40; the 60,000,000 USDT here against 59.9M in the report is not reconciled.
Forged rows were excluded by contract: fake "USDT" and "ERC-20 TOKEN*" contracts copy the real 175M and 190M amounts and point them at lookalike addresses.
LEAD Elliptic reports Tether froze a 1.18B USDT wallet 37 minutes after receipt, and Circle froze 823M USDC about three minutes later. Both now match chain records.
RLUSD proxy 0x8292bb45bf1ee4d140127049757c2e0ff06317ed, implementation read from the proxy's EIP-1967 slot. accountPaused(Exploiter 16) returned 1 at block 26308614, balance 40541065000000000000000000 (18 dp). AccountPaused events: block 26301251, log 1392, tx 0xafd52fb2… (Exploiter 16); block 26301350, log 705, tx 0x6387e1bb… (Binance 14). Both sent by RLUSD pause sender BINHACK-1029:CPTY:a00e5a-fAE4af:CG0xa00e5aee3Fb82158AB4D6A1d2d8494813efAE4af to RLUSD pause caller BINHACK-1029:CPTY:83f7f1-541fA9:CG0x83f7f1c6A1547aFE2841943f428Cf6ff28541fA9, whose Etherscan page names the creator "Ripple: Deployer" (LEAD). 0 AccountUnpaused events from block 26300700. Controls: Exploiters 2, 31 and 32 read 0. Re-read on our own node: both pauses, 0 unpauses, all matched.
Every Tether blacklist event from block 26300700 to block 26309248, read on our own node, each with the wallet not blacklisted one block before and blacklisted at the block: 11 AddedBlackList, 0 RemovedBlackList, 0 DestroyedBlackFunds. On the theft path: Exploiter 2 and Exploiter 18 at 21:01:35Z, Exploiter 10 at 21:01:47Z, Exploiter 3 at 21:02:47Z (0xe48d47c6…), Exploiter 5 at 21:12:35Z (0x28836ef9…), Exploiter 21 at 21:14:59Z, Exploiter 6 at 21:16:47Z (0x3c08d840…), Exploiter 7 at 21:18:59Z, and Binance 14 at 22:06:23Z (0x312e166c…). Exploiters 3 and 5 were confirmed by a second signer, Second Tether signer BINHACK-1029:CPTY:61D5a4-199fED:CG0x61D5a4d5Bd270e59E9320243e574288e2a199fED; the rest by Tether multisig signer. Two blacklists on 30 Oct are not linked to the theft by these reads. Earlier drafts counted four; the event log shows eight on the exploiter side.
Sources: Reading 1606 · 30 Oct · 78fd287219f1 Reading 1619 · 30 Oct · c5b2350823d6 Reading 1622 · 30 Oct · 4e0a9739abdf Reading 2225 · 30 Oct · 63df702895a2 Reading 2245 · 30 Oct · 70dba87d0395 Reading 2255 · 30 Oct · 6c7ee692c6a6 Reading 2310 · 30 Oct · 44414ee2110a Reading 2352 · 30 Oct · a47d4232b0ee Reading 1200 · 30 Oct · 51eb4b75a2e6
What the same wallets did next, and what the chain cannot say
The attacker's code stayed on Binance 14 for almost four hours. While it was there, Binance 14 and Binance 16, signed with their own keys, sent their remaining tokens to a wallet Etherscan labels a Binance cold wallet. A wallet Etherscan labels "Binance" topped Binance 14 up, and a minute later the attacker swept a similar amount out.
Then a transaction signed with Binance 14's own key removed the attacker's code. The same key that let the attacker in shut the door. The chain shows the key, not the hand that used it.
Binance 16 kept paying ordinary withdrawals for 20 minutes after it was drained. At 20:44:59Z it stopped. Nothing left it for 130 minutes.
At 22:55:35Z, in the same second, Binance 14 and Binance 16 both began sending their remaining tokens to the wallet Etherscan labels "Binance: Cold Wallet 20", signed with their own keys. That is 2 h 31 min after the drain began.
The attacker's code was still sitting on Binance 14. At 23:55:47Z a wallet Etherscan labels "Binance", type "Deposit Address", sent Binance 14 2,961.99 ETH. At 23:56:47Z the attacker's fifth sweep took 2,961.91 ETH out of it. Whether that was the same ETH is not established.
At 00:10:35Z a transaction that Binance 14 sent to itself, signed with its own key, pointed the delegation at address zero. The attacker's code was gone. It had been there for 3 h 49 min 36 s.
The door stayed open for 1 h 15 min after the cold sweep began. It was shut with the same key that had opened it.
NOT ESTABLISHED who operated the keys at each moment. The reports say Binance acted; the chain shows only which key signed.
| Time (UTC) | Event | After the drain |
|---|---|---|
| 20:24:23 | Drain begins (Binance 14 sweep 1) | |
| 21:04:59 | USDC freeze on Exploiter 2 | +40 min |
| 22:06:23 | Tether blacklists Binance 14 itself | |
| 22:55:35 | Cold sweep begins, to Cold Wallet 20 | +2 h 31 min |
| 23:55:47 | Refill of 2,961.99088155497861206 ETH from the Binance-labelled deposit wallet | |
| 23:56:47 | Sweep 5 takes 2,961.9108209382853 ETH to Exploiter 22 | |
| 00:07:11 | Binance 14 moves a token to Cold Wallet 20 | |
| 00:10:35 | Delegation cleared | +3 h 46 min |
Refill wallet Binance deposit wallet BINHACK-1029:CPTY:Eae738-58A4F4:CG0xEae7380dD4CeF6fbD1144F49E4D1e6964258A4F4: refill tx 0xc1f0fdb9…, block 26301823. The same wallet sent Binance 14 7,067.699374951196379817 ETH at 20:19:35Z, 84 s before the delegation; that ETH was part of what sweep 1 took. Reading it as a routine top-up is an inference, not a finding.
Clearing tx 0xafbf94c9…, block 26301896: type 0x4, Binance 14 to itself, one authorisation to address 0x0000000000000000000000000000000000000000, nonce 18,914,904, signer recovered as Binance 14. Cold Wallet 20: Cold Wallet 20 BINHACK-1029:CPTY:F97781-41aceC:CG0xF977814e90dA44bFA03b6295A0616a897441aceC.
NOT ESTABLISHED that sweep 5 took "the refill" as such: Binance 14's balance between the two blocks was not read, and other ETH arrived in the window. LEAD that the refill wallet is Binance's rests on Etherscan's label. A label says which door, not whose hand.
The same keys signed the theft-side authorisations and transfers and the later sweeps to the cold wallet, so the chain alone cannot say who operated them at each moment.
Sources: Reading 1355 · 30 Oct · 7f9a550eefbc Reading 1408 · 30 Oct · e907e6a34323 Note 1414 · 30 Oct · cc90b31da75a Reading 1425 · 30 Oct · 1d5558f01601 Reading 1545 · 30 Oct · fef95a50669f Reading 1548 · 30 Oct · c60b2e5eac76 Note 1554 · 30 Oct · 77428c64124e Reading 1555 · 30 Oct · 10980b91fe7e
The parked ETH, and what is still frozen
As at our reads of 30 October, most of the stolen ETH had not moved. It sat in a few wallets that had never sent a transaction, the biggest of them holding almost two hundred thousand ETH. On the map each one wears a crosshair.
The frozen stablecoins sit where they were caught, each wallet marked with a padlock.
One position is still live: the attacker's 60 million USDT, posted on Aave as security for a loan in ETH. If ETH rises, or the loan's interest keeps building, the attacker's loan can be liquidated. That is a risk to the attacker's position, not to Aave.
Most of the ETH went to holding wallets that had sent no transaction as at the reads of 30 Oct. Nonce 0 means a wallet has signed nothing yet.
| Wallet | Holds | From | Banner |
|---|---|---|---|
| Exploiter 8 | 197,460 ETH | Exploiter 2, swept from Binance 14 and 16 | VERIFIED |
| Exploiter 19 | 137,602 ETH | 325M USDT and 217.5M ENA sold | FINDING |
| Exploiter 11 | 78,415.25 ETH | Exploiters 7 and 15; no transaction sent as at 31 Oct; traces to Binance 14 and 16 | balance VERIFIED · source FINDING |
| Exploiter 27 | 34,279.69 ETH | Exploiters 12, 47, 26 and 46; nonce 0 | balance VERIFIED · link to the theft NOT ESTABLISHED |
| Exploiter 17 | 40,600.67 ETH | RLUSD, AAVE, WLD, RSR, MORPHO sold; sweeps 4 and 5 | FINDING |
| Unlabelled holder | 17,260 ETH | Exploiter 2 | VERIFIED |
| Exploiter 51 | 3,236.72 ETH | Exploiters 49 and 45, one unlabelled; nonce 0 | balance VERIFIED · link to the theft NOT ESTABLISHED |
| Exploiter 50 | 3,000 ETH | Exploiter 22, sweeps 4 and 5 | VERIFIED |
| Exploiter 2 | 1,175,464,712.875462 USDT, frozen | Binance 14 and 16 | VERIFIED |
| Exploiter 2 | 823,000,000 USDC, frozen | Hot Wallet 34 | VERIFIED |
| Exploiter 21 | 174,999,872.32762 USDT, frozen | Exploiter 2 via Exploiters 18 and 20 | VERIFIED |
| Exploiter 3's loan on Aave | 60,013,705.32 aUSDT as collateral; ETH loan open, health factor 1.0541 | Exploiter 2 via Exploiter 10 | VERIFIED |
| Exploiter 7 | 30,000,000 USDT, frozen | Exploiter 3 via Exploiters 4, 5 and 6 | VERIFIED |
| Exploiter 16 | 40,541,065 RLUSD, frozen | Binance 14 and 16 | VERIFIED |
| Binance 14 | 1,352,017.937959 USDT, frozen | Tether blacklisted Binance 14 itself | VERIFIED |
| Exploiter 14 | 29,934.01 wBETH, unmoved; freeze not read | Binance 14 | VERIFIED |
The ETH that travelled with the USDT chain did not go far. Exploiter 6 passed 57,891.8 ETH to Exploiter 7 at 21:16:47Z. Exploiter 7, its USDT already frozen, sent 57,891.77 ETH to Exploiter 11 at 21:35:59Z. Exploiter 15 added 17,584 ETH and 2,939.48 ETH later that night, the proceeds of UNI and ONDO taken from Binance 14 and Binance 16 and sold on Uniswap. Exploiter 11 had never sent a transaction as at our read of 31 October. ETH cannot be frozen by an issuer, so this is the balance most worth watching.
Image as filed: Screenshot 2250 · 30 Oct, sha256 fb561ba455e3f0ac99348a2bddce1922936271d3637cbddef1dab2c4cd38ab4d
The 60 million USDT that Exploiter 3 posted on Aave is still there, and the ETH borrowed against it is still owed. The loan's health factor was 1.0541 at the last read, and falling as the interest accrues: a rise of about five per cent in ETH would make it liquidatable. The health factor measures Exploiter 3's loan, not Aave itself.
Apart from dust, every ETH in Exploiter 17 and Exploiter 19 traces to Binance 14 or Binance 16. No other Binance wallet appears behind them.
Exploiter 8 BINHACK-1029:CPTY:8532FA-0543D4:CG0x8532FA14ACAf483729C449b8458aedDb900543D4: 195,460 ETH at 20:38:47Z (tx 0x551d7961…) and 2,000 ETH at 01:14:11Z from Exploiter 2. Nonce 0. Unlabelled holder BINHACK-1029:CPTY:03b0eE-a020ea:CG0x03b0eE5d82990cFF1bDa48651AC3e436d1a020ea: 17,260 ETH at 05:15:47Z. Nonce 0. Balances are as at the pull of 13:25Z on 30 Oct.
Exploiter 19 had sent no transaction as at the read of 30 Oct. External ETH in totals 137,602.001711786765227511; everything except 122,310 ETH from Exploiter 18 and 15,292 ETH from Exploiter 14 is dust.
Exploiter 17: 26,825 from Exploiter 16, 7,647.1 from Exploiter 22 and 6,128.571798086559 from Exploiters 28, 48 and 52, total 40,600.671798086559. Its balance at 12:53Z was 40,600.67179908 ETH. Exploiter 50 BINHACK-1029:CPTY:C2096a-2d850a:CG0xC2096a12eBE0944f4d39E59979F485AfD92d850a holds the 3,000 ETH from Exploiter 22.
Platform labels: every "Exploiter" name is Etherscan's (LEAD). Amounts from Etherscan exports are marked NOT re-derived per transaction on our node in the readings.
Exploiter 11 BINHACK-1029:CPTY:897C80-158DF3:CG0x897C80d1a9729E94460e2Bd93178bD5215158DF3: 96 transactions listed by Etherscan, none outbound. Inbound of size: 57,891.77 ETH from Exploiter 7 (0x2552fea8…), 17,584 and 2,939.48 ETH from Exploiter 15. Balance 78,415.252703698617682159 ETH, nonce 0, at block 26309248 on our own node. Exploiter 6 to Exploiter 7: 0x3ccb1b3b…, block 26,301,030.
Exploiter 15 BINHACK-1029:CPTY:42CDF0-077810:CG0x42CDF00c85005630CC8605731B9364F712077810 received 7,018,792.33 UNI and 21,851,870.65 ONDO from Exploiter 2. Exploiter 2 got exactly that UNI from Binance 14 and Binance 16, and that ONDO from Binance 14 (Etherscan exports). Exploiter 27 BINHACK-1029:CPTY:79e70d-2B544A:CG0x79e70d139fC05AA75F75611fDF2680E9952B544A: 34,279.694892120000005257 ETH, nonce 0. Exploiter 51 BINHACK-1029:CPTY:8d4b8E-1c9E19:CG0x8d4b8EE62124B7ee140A51dDd07390A56F1c9E19: 3,236.717477498895848193 ETH, nonce 0. Exploiter 3's position on Aave: aEthUSDT 60,013,168.353562, variableDebtEthWETH 19,763.650905473497848241, health factor 1.0559 at 23:51Z on 30 Oct. Exploiter 14: 29,934.013163146020067927 wBETH. First read on a public node; re-read on our own node at 00:46Z on 31 Oct, all matched, and the Aave health factor had fallen to 1.0541.
Sources: Reading 1330 · 30 Oct · eff71aee56c2 Reading 1500 · 30 Oct · ad35f8e91794 Reading 1540 · 30 Oct · 76b9826a4ce0 Reading 1545 · 30 Oct · fef95a50669f Reading 1612 · 30 Oct · 1bd805078f79 Reading 2247 · 30 Oct · 5f82a2d235fc Reading 2352 · 30 Oct · a47d4232b0ee
Why the obvious lead went the wrong way
The public reports printed one Ethereum address for this theft. Following it leads down a side road: the one payment traced through it came from Bitcoin held before the theft. The trail that worked ran the other way, from the biggest holding wallets back to Binance 14. On the record checked, THORChain, the cross-chain swap service, was not an exit for the Ethereum money in the first 16 hours.
Watch out for copies. Fake tokens copy real amounts and point them at lookalike addresses. Always check the whole address.
Elliptic published one Ethereum address, as a meeting point for proceeds of this theft and of an earlier exploit at Bitget. It reported only about $39k of Binance funds there.
Hopping back from it led to the THORChain router, and from there to a Bitcoin address. The one swap traced, 71.45 ETH, came from Bitcoin received at 03:29Z on 29 Oct, more than 16 hours before the first sweep, so that swap is not Binance money. The other 14 THORChain inflows are not read. The route that worked ran the other way: from Etherscan's own label list, to the biggest holder, back to the collecting wallet, back to its oldest inflow, Binance 14.
Watch the copies, too. A lookalike of the wallet that received 259 ETH from that address shares its last six characters and showed fake "259 ETH" receives. Fake token contracts calling themselves ETH copy real amounts and point them at lookalikes. Always check the whole address.
We checked THORChain the other way round too. In the router's complete record from 29 Oct 19:00:23Z to 30 Oct 12:47:35Z, none of 56 exploiter-side wallets sent it anything. Its only contact with them is 15 payments out to the published address, 387.03923888 ETH, the Bitcoin branch above. On this record THORChain was not an exit for the Ethereum money in the first 16 hours.
Published meeting point BINHACK-1029:CPTY:15104a-E0feb7:CG0x15104a9ce0f08A8f0075A0869aE80e795fE0feb7 sent 259 ETH to 259 ETH holder BINHACK-1029:CPTY:E5CeC7-33AD29:CG0xE5CeC77934a9aa7a5C63692965A1f07AB933AD29 at 02:03:23Z on 30 Oct. The lookalike of the receiving wallet: Lookalike BINHACK-1029:CPTY:E5c28A-33AD29:CG0xE5c28AF04CDd6cB95414dd0C9506778E5e33AD29.
The 259 ETH time from the chain is 02:03:23Z, block 26302458. Arkham's relative age had suggested about 03:00Z; that platform time is withdrawn.
Sources: Reading 1200 · 30 Oct · 51eb4b75a2e6 Reading 1215 · 30 Oct · 8b267635a58b Reading 1240 · 30 Oct · 803b75e90912 Reading 1303 · 30 Oct · f9fe9d050bb2 Reading 2320 · 30 Oct · 3e50125e343f
Every wallet in this report, with its tag and full address
Each tag is built from the checksummed address: the scheme, the role, the first and last six characters, and CG. Role CPTY means counterparty: a wallet in the flow, with no claim about who runs it. Copy the full address, never the tag.
The same wallets, tag then full address, to copy:
BINHACK-1029:CPTY:28C6c0-f21d60:CG 0x28C6c06298d514Db089934071355E5743bf21d60 BINHACK-1029:CPTY:DFd529-43963d:CG 0xDFd5293D8e347dFe59E90eFd55b2956a1343963d BINHACK-1029:CPTY:Ee7aE8-3b4055:CG 0xEe7aE85f2Fe2239E27D9c1E23fFFe168D63b4055 BINHACK-1029:CPTY:F97781-41aceC:CG 0xF977814e90dA44bFA03b6295A0616a897441aceC BINHACK-1029:CPTY:Eae738-58A4F4:CG 0xEae7380dD4CeF6fbD1144F49E4D1e6964258A4F4 BINHACK-1029:CPTY:7C8601-6B5CA0:CG 0x7C8601d4645b93cea45F71e118A729332e6B5CA0 BINHACK-1029:CPTY:63e842-9c6fAe:CG 0x63e842B054Bd624a465454D533C33F573e9c6fAe BINHACK-1029:CPTY:5227f6-CB2f8c:CG 0x5227f603C1eE34CE3C06eFe6477003BDfCCB2f8c BINHACK-1029:CPTY:8532FA-0543D4:CG 0x8532FA14ACAf483729C449b8458aedDb900543D4 BINHACK-1029:CPTY:03b0eE-a020ea:CG 0x03b0eE5d82990cFF1bDa48651AC3e436d1a020ea BINHACK-1029:CPTY:974929-36C762:CG 0x9749292D74Fd460982d0912eA9515EA24736C762 BINHACK-1029:CPTY:0Ddf04-20697e:CG 0x0Ddf0480016e6bCb2C1F5d190D221FBA1320697e BINHACK-1029:CPTY:811f15-a4e84C:CG 0x811f15855476156Ebf86ba3b84faFb8Ceaa4e84C BINHACK-1029:CPTY:Aa246B-c654a0:CG 0xAa246BF639586a6Ba46762D378CE50cA4fc654a0 BINHACK-1029:CPTY:8d5390-b8639A:CG 0x8d53903625b8e839b9DF4bd28B0EFb1CD6b8639A BINHACK-1029:CPTY:7f9DC9-5415E3:CG 0x7f9DC988B46336aD536828fAD50fa8fA1E5415E3 BINHACK-1029:CPTY:c887aF-5B286A:CG 0xc887aF690E0301CD4edBbCe8F8d31b4EC65B286A BINHACK-1029:CPTY:5C2302-Fea4FC:CG 0x5C23023Ca6633F91DeD909b4a753a3cA00Fea4FC BINHACK-1029:CPTY:008f06-187Dcd:CG 0x008f06F04b72dA2621a4f37F5531CC7352187Dcd BINHACK-1029:CPTY:E7024a-87958d:CG 0xE7024aB80143b1EF843EFE6a58368696Cb87958d BINHACK-1029:CPTY:A97bF7-AE8d10:CG 0xA97bF7836F8A08F9Ed91D41453D371493FAE8d10 BINHACK-1029:CPTY:C2096a-2d850a:CG 0xC2096a12eBE0944f4d39E59979F485AfD92d850a BINHACK-1029:CPTY:54401f-4BC942:CG 0x54401f80Da97893a15D43566184635B6674BC942 BINHACK-1029:CPTY:8c7111-7a6aa4:CG 0x8c7111E9a3270457B76f0Bd137209089047a6aa4 BINHACK-1029:CPTY:B58Bf7-7a4F08:CG 0xB58Bf76D209Fa71F60013CE1933CA331177a4F08 BINHACK-1029:CPTY:1291be-2116b1:CG 0x1291be4c90239D14527bA880ad2b6E5Cb82116b1 BINHACK-1029:CPTY:0A06BE-DA78F9:CG 0x0A06BE16275B95a7d2567fBdAE118b36C7DA78F9 BINHACK-1029:CPTY:AC3B24-341FA0:CG 0xAC3B242E2E561da9F4cE34746E67d004E6341FA0 BINHACK-1029:CPTY:C6CDE7-1Ea828:CG 0xC6CDE7C39eB2f0F0095F41570af89eFC2C1Ea828 BINHACK-1029:CPTY:15104a-E0feb7:CG 0x15104a9ce0f08A8f0075A0869aE80e795fE0feb7 BINHACK-1029:CPTY:E5CeC7-33AD29:CG 0xE5CeC77934a9aa7a5C63692965A1f07AB933AD29 BINHACK-1029:CPTY:E5c28A-33AD29:CG 0xE5c28AF04CDd6cB95414dd0C9506778E5e33AD29 BINHACK-1029:CPTY:77EDEf-2ac3eb:CG 0x77EDEf23FBd05921c26FE29fcc3A65e14D2ac3eb BINHACK-1029:CPTY:7Aa4D3-03BFd1:CG 0x7Aa4D3029e4C6A8E916300014Ad95B6d6C03BFd1 BINHACK-1029:CPTY:CcBEF9-6cA263:CG 0xCcBEF95633ADB5Cd2b5038DB5a38d77E726cA263 BINHACK-1029:CPTY:b171cA-60c8c3:CG 0xb171cA86f82070282138352Ff7111b494060c8c3 BINHACK-1029:CPTY:897C80-158DF3:CG 0x897C80d1a9729E94460e2Bd93178bD5215158DF3 BINHACK-1029:CPTY:83f7f1-541fA9:CG 0x83f7f1c6A1547aFE2841943f428Cf6ff28541fA9 BINHACK-1029:CPTY:a00e5a-fAE4af:CG 0xa00e5aee3Fb82158AB4D6A1d2d8494813efAE4af BINHACK-1029:CPTY:42CDF0-077810:CG 0x42CDF00c85005630CC8605731B9364F712077810 BINHACK-1029:CPTY:79e70d-2B544A:CG 0x79e70d139fC05AA75F75611fDF2680E9952B544A BINHACK-1029:CPTY:8d4b8E-1c9E19:CG 0x8d4b8EE62124B7ee140A51dDd07390A56F1c9E19 BINHACK-1029:CPTY:61D5a4-199fED:CG 0x61D5a4d5Bd270e59E9320243e574288e2a199fED
What this report does not show, said plainly
This report cannot show who used Binance 14's key, or whether the key was stolen or Binance's own systems were tricked into signing. It covers Ethereum only; the other chains are for later parts. It does not say who the attacker is. Switch to TECH for the full list of open points.
So here is the question the chain leaves open. The same key signed the attacker in and signed the attacker out. It cannot show whose hand was on it.
Troy opened its own gates. Who opened these is the question Part 1 hands on.
The open points, each tied to the reading that leaves it open.
If you hold stablecoins on an exchange, this is the bit to remember. Two issuers froze close to 2 billion dollars of the stolen stablecoins within 40 min 36 s of the first sweep. The attacker's code sat on the exchange's own hot wallet for 3 h 49 min 36 s.
So here is the question the chain leaves open. The same key signed the attacker in and signed the attacker out. The chain shows the key. It cannot show whose hand was on it.
Troy opened its own gates. Who opened these is the question Part 1 hands on.
Every reading this page cites, with its SHA-256
Each reading is a dated file that names its own sources and says what they can and cannot establish. The full hash of each is below.
| Source (kind, filing time UTC, day) | SHA-256 |
|---|---|
| Reading 1200 · 30 Oct | 51eb4b75a2e60c92c07f01d6390345dcad2706187ebfd905e3c78ec553306d81 |
| Reading 1215 · 30 Oct | 8b267635a58b151af34226fea49aa5090a00518f8216274f887dbac3ff88ea8e |
| Reading 1240 · 30 Oct | 803b75e90912dca3798e1aafee923b6eddac07cd60c5dc800673c157ef6a0ea9 |
| Reading 1303 · 30 Oct | f9fe9d050bb2dcd97e359aededd62e766bf1a499d1e66e1aaf4a3cfc6121522b |
| Address register 1303 · 30 Oct | 8add58515f8cf71614c9ecd3a8a8aa04529954cca67917f03d219bb4e7758a63 |
| Reading 1330 · 30 Oct | eff71aee56c24a4e3057ac6ddcacfff7a4e52825bf88f2aa04ae419761d9898f |
| Reading 1337 · 30 Oct | c0bdbc2be6e4912f433c82a4d8c3c5e85556578ee6ae7b73b175bf745ff9ab6b |
| Reading 1341 · 30 Oct | 479493c01508cc6b8486fc063b721d5dcd71a25b757d3b48d9e480d87f269bb5 |
| Reading 1346 · 30 Oct | 86f7c2eb64448abe1e9ea02c67ccb78e092caeaa44f3ea444476ed83295ec505 |
| Reading 1355 · 30 Oct | 7f9a550eefbc4a702102a5599ff528e1f7556bd46c6b8115fdb990fa61c2ce0d |
| Reading 1402 · 30 Oct | d84a7b7d4239a126db77618a85eae16d21b0d9537faaf3b76fd7456d09d0b00e |
| Reading 1408 · 30 Oct | e907e6a34323ef53aa3272945a7aac4d087679090ccab51d088dda55e6950a22 |
| Etherscan export 1413 · 30 Oct | e5787872c5bf24d1f01aa2bdf2866940f21751b266b184a9da2150ce92f70457 |
| Note 1414 · 30 Oct | cc90b31da75afbca4a73ba962074461b27580909d2fc2cf40c20f078020f02b3 |
| Note 1416 · 30 Oct | e9253315a04da2af20d65f582592d594f02c475e2b8626faefb7c8828de89b88 |
| Reading 1420 · 30 Oct | 6a0d218b4b1c003f24e95ce724f2cfaaeae43d07e594137c584fda718c7faf42 |
| Reading 1425 · 30 Oct | 1d5558f016017d6b0d2498e9e1d12a1dbf9e36ed9fda45892f7a129ab0d1daef |
| Reading 1432 · 30 Oct | 0debfef95907d6aa3b9f89c51809d3925a6e2c44b91960ecda7354d53a5dd088 |
| Note 1436 · 30 Oct | 6f3b1fb9ed236f3e1c5166cbe14724e0694dea77a5d324c93634d5f2ca0a3e01 |
| Reading 1440 · 30 Oct | b1c5ca8d8f1bebbe4f22ee7da0ffd1cee094125607b7beffb7b89ce718ff83ac |
| Reading 1446 · 30 Oct | 5a9f2dd1cc295aa36f38317e175ad01a2c4639a707fe2a753a0851b7838081f0 |
| Reading 1452 · 30 Oct | 61b36cc9e2c6f9049985d96dbb5872d95284ac18bf4ab64e25d252c537381f29 |
| Reading 1500 · 30 Oct | ad35f8e917947cbc1a667c9444833e7a21291ff461e51a26d8a87b2db7397f2f |
| Reading 1503 · 30 Oct | 1a00a0b99a8a841f975dc215f0f0fd043a2fe796c619eb8330ff1e302aa6c187 |
| Reading 1509 · 30 Oct | 566e3c31b7f34fad9e9f2d5d1257b0c6f94b6569bbb7c85f9a6733d9e6a97734 |
| Reading 1510 · 30 Oct | b85529511ba97d191bf2308620cebc1e52faadffdf0e5b723dedc4c18e317300 |
| Address register 1510 · 30 Oct | db8dee77e48198a1eea2c6059d889e5ea5c267cd2a24270b7c2a4db6fbbccc01 |
| Reading 1516 · 30 Oct | 5b0b83c8887757cda3891a557877ad29844f0fa348ed1a66229cbe122ca3da77 |
| Etherscan export 1516 · 30 Oct | 44182b63ff3299766dbc251b2e215d5f2b83258a139837a175722c1444ce157b |
| Etherscan export 1518 · 30 Oct | 890425820ae1c39633dc0c54d86a481c716915c8a761142edc6de257feabce8b |
| Etherscan export 1519 · 30 Oct | ea52febadc516e62f5e555394f6834d86da85ddda85f5a504ae8970633e2696c |
| Reading 1520 · 30 Oct | f739392f97580f6b41d3e655f3d533ddf307ae96f23b90528f19837efd1ddc77 |
| Reading 1520 · 30 Oct | d07c4bc86e6eee8af62ffaf690a640a6e4af155e4eb1f4be61e807f9f36a243e |
| Reading 1528 · 30 Oct | e3a54dbe7a2c0c5dd2ccdfb3c71031f194f2639bce1248f06ba1d86d486a6330 |
| Map notes 1530 · 30 Oct | 288ef4c7622b580127bff85bc605ecd5bfc39f63864b6970174fa0e0af2dddae |
| Reading 1532 · 30 Oct | 7a21fb9b3be1add2660d086f135d4c0507de84579920f70189f843637e1dfa6c |
| Reading 1534 · 30 Oct | bf2968b7265742e409ad910e907549e5be49c4b5877019da9d92541afbdcf928 |
| Reading 1536 · 30 Oct | 82ff0f8f7ee561f5b21dc735abae82d2e532eec5933fcb85e7592751da08fa40 |
| Reading 1540 · 30 Oct | 76b9826a4ce03d9b0316b821099608a540b0c6175219a324fd00cab2f7f183c6 |
| Reading 1545 · 30 Oct | fef95a50669f026e185147d3ee34706e3e51fd5f1597f326e1b2eed56a231599 |
| Reading 1548 · 30 Oct | c60b2e5eac7626e89fd973a2414a81eac4ede1a3c64fbbd52787a42ccaafe494 |
| Note 1554 · 30 Oct | 77428c64124e1a79a60ef7e9987f31db2d55aebe29069438181f335b93aeb7d5 |
| Reading 1555 · 30 Oct | 10980b91fe7ed00c4be6a37c90c574e1ca3ad725debfbf7e29ebb538614f63f4 |
| Reading 1601 · 30 Oct | deb58cbf745c37cb30393dd397676e0699227e7101643eb124c7fc70d266a37e |
| Reading 1606 · 30 Oct | 78fd287219f186d7b91d9eccb59748ad8ecd80eec4ca24a383d61f11dc96787e |
| Etherscan export 1609 · 30 Oct | 81f8cc62eb3fe21ff4e5cc868f083438ccacfae419e36799a67db9d5f1c62118 |
| Etherscan export 1611 · 30 Oct | ee78b94ef54e6e459935c46ac68ad4cc2b1b440ebd92f5973e3a30c0eae26890 |
| Reading 1612 · 30 Oct | 1bd805078f796063ffb936f534c338b2f8b2245506057cf18b0c427f8240e5e2 |
| Note 1617 · 30 Oct | cfe696f69fd6404ecc3618d4b7d3a4dc2f65e16a269374c1eb4922381e4dd2b6 |
| Reading 1619 · 30 Oct | c5b2350823d6364003344da0c50a93ffa015dafafa7b92009bbc902805e15a0a |
| Etherscan export 1620 · 30 Oct | ee6cf2934115398bcced091415517468f6c4129bc75828cf968a12da761e5dc2 |
| Etherscan export 1621 · 30 Oct | 0e57fd7f29160a1f457c8861d7bdbc88e0bde497fe75151e56ad9f6a239f26c2 |
| Reading 1622 · 30 Oct | 4e0a9739abdfab4ecf4b0c60967b5f5c3e469edc5a8ed34ad914091c2fbcfae3 |
| Trace log 1630 · 30 Oct | 30e8b26b924f50e2545069823c8dfcbdd68a05bf63bb9d1723485f21bb71f1e3 |
| Reading 1655 · 30 Oct | 45a7eea873bf004da4c3f8f20864131ac03cc727e20e7883b0c939ec603252ae |
| Reading 2225 · 30 Oct | 63df702895a2364463ccc120083d7fd88b5303dd748683c09679bfc3d765ea7d |
| Reading 2245 · 30 Oct | 70dba87d03959dff2af7ebea6af4b2f038c772f6dbdb1b8e501c96dccb12e33d |
| Reading 2247 · 30 Oct | 5f82a2d235fcda1ef3df4017dddd9aa70454009058e151c6eaa49636e5a372f2 |
| Reading 2252 · 30 Oct | 46e0d7b009d5e38bc7e4b5c4806ba4b4bdbd9157746d03c8a73120ec6d915c53 |
| Reading 2255 · 30 Oct | 6c7ee692c6a611a28e20b36fb57430351067d473b324aa4d63a2fc05ca469968 |
| Reading 2310 · 30 Oct | 44414ee2110a97b99b4007bb2e85820b835690758457480363f631afc263ec26 |
| Reading 2320 · 30 Oct | 3e50125e343fad00f63744cc76473701c6e7f528fe832513872aecaeadb4befd |
| Reading 2352 · 30 Oct | a47d4232b0ee239bad26e0c318e44ffc9018d2f90c5508309d920779706fcc45 |
| Reading 0024 · 31 Oct | 51c0c32a3f4f1aa840af8be0841aa236e590793013e30303d4a81cefccf12add |
| Reading 0054 · 31 Oct | 6e25adf18b5412c4b97f88c054c86d0a8d3e0f6bd05c36602bc913055c59c264 |
| Reading 0110 · 31 Oct | 051d82185973c709785bd232660a3ede3b8687a89aad9f354855193f0578af92 |