Back to articlesForensics

Anatomy of the $6.3 Billion Heist: A Forensic Autopsy of the Binance Breach

November 1, 2026·SOLbin Research
Anatomy of the $6.3 Billion Heist: A Forensic Autopsy of the Binance Breach

On 29 October 2026, at 20:20 UTC, a single Ethereum transaction landed containing fifty authorizations, all signed by one of Binance's busiest hot wallets. Three minutes and twenty-four seconds later that wallet sent its entire balance — 167,464 ETH and 63 tokens — to an address it had never seen before.

The wallet kept working for the attacker until 23:56 UTC. In total, seventeen Binance hot wallets on nine chains signed away roughly $6.3 billion in under four hours.

The news cycle has already told you who, and roughly how much. This is the part they skipped: how the signatures were obtained, why the attacker's nonce arithmetic was unbeatable, why the money is still sitting in wallets that have never moved, and what the withdrawal queue actually looked like when Binance switched the lights back on.

This is a forensic read, not a press release. Every figure below is attributed.

The three minutes that explain everything

Ethereum's Pectra upgrade in May 2025 introduced EIP-7702: an ordinary wallet can sign an authorization handing control of its code to a smart contract. From that moment, every call into the wallet executes the contract's logic instead of the wallet's own. It stays that way until a new authorization overrides it.

The attacker built a sweeper contract that only accepts instructions from their own operator address, then submitted fifty authorizations in one transaction, each pointing the Binance hot wallet at that sweeper.

Here is the subtlety almost nobody explained. An authorization is only valid at the exact nonce the wallet has reached when it executes. A busy exchange hot wallet processes withdrawals constantly, so its nonce advances every few seconds. Sign fifty authorizations for nonces n through n+49 and you are not gambling — you are covering fifty consecutive seconds of that wallet's life. Four will land inside the window by construction. One is enough.

The delegation matched, the sweeper took over, and the operator simply told the wallet to empty itself. Then it did it again at 20:41, 20:59, 21:04, 21:44, 22:39 and 23:56 — six more sweeps, every time new deposits flowed in. That wallet was serving as the attacker's own withdrawal processor for three hours and fifty minutes.

Why "they got phished" cannot be the whole story

Phishing is the comfortable explanation, because it puts the failure on a human and keeps the machine clean. The on-chain record does not support it as a complete account.

In the same window, Binance wallets on the XRP Ledger, Bitcoin, TRON, Solana, Arbitrum, Optimism, Base, Avalanche and Polygon moved funds through ordinary signed transfers — no delegation, no cleverness. Different chains, different key types, different signing schemes, all producing valid attacker-directed signatures within roughly half an hour:

  • XRP Ledger — 233.46M XRP (~$296M) from five wallets, each left at minimum balance
  • Bitcoin — 18,270 BTC (~$1.47B) from a hot wallet, in a single block
  • TRON — 612.7M USDT and 46.4M TRX (~$628M)
  • Ethereum — ~$3.79B including 200,630 ETH, 1.875B USDT, 823M USDC, 88.5M RLUSD
  • Solana — 970,500 SOL (~$96M)
  • L2s and others — ~$77M combined across Arbitrum, Optimism, Base, Avalanche and Polygon

TRM's conclusion, and the only one that fits nine chains at once, is that the attacker could make Binance's hot wallet signing infrastructure sign what they chose. Binance's own account points the same direction: a compromised DevOps engineer's laptop, a service container reached from it, and unauthorised withdrawal transactions submitted from inside. Preparing fifty signatures in advance also suggests the access was time-limited — you batch your requests when you are not sure how long the door stays open.

Binance says no private key leaked. That may be literally true and completely beside the point. A signing service that will sign anything you hand it is the key.

The twenty-minute escape

The clock started the moment the money moved, and the attacker knew exactly which assets could be taken back.

Stablecoin issuers can freeze balances. Bitcoin and ETH cannot be frozen by anyone. So the race was always the same: convert the freezable part before blacklists propagate.

  • $325M of stablecoins swapped into $285M of ETH in roughly twenty minutes, inside a dedicated swap wallet built for exactly that
  • ~$729M of USDT escaped the freezes entirely; much of it went into ETH and TRX, with $60M supplied to Aave and borrowed against to convert the rest
  • Peel chains: the 18,270 BTC was split into 1,000 BTC and 100 BTC tranches inside the same block, the oldest trick for breaking a trace without a mixer
  • Automation fingerprints: thousands of transactions, many addresses first receiving exactly 1 TRX as a dust primer before being funded and drained onward — funds repeatedly circulated back through addresses used earlier

The freezes still won more than the attacker expected. Tether's first freeze hit 37 minutes after the main Ethereum sweep; by the end of the night Tether, Circle, Ripple and World Liberty Financial had locked roughly $2.67B in stablecoins, and Arbitrum's Security Council froze 8,426 ETH and 74.6M ARB at the protocol level. Total frozen: about $2.7B.

But look closely at what the freezes bought. Six of Tether's eleven freezes landed on wallets the attacker had already emptied — blacklisting an address after the tokens left is a receipt, not a recovery. The attacker started with 200,630 ETH; it now holds 525,201 ETH, roughly 2.6x the original haul, most of it bought with stolen stablecoins and tokens that no issuer has jurisdiction over.

That is the structural lesson of this incident, and it has nothing to do with Binance: freezable money is a liability during an exit, and unfreezable money is not.

Where the money actually is

As of 16:51 UTC on 31 October, roughly $3.1B remained with the attacker — the overwhelming majority in ETH and BTC, sitting in wallets that had never sent a transaction. Not one dollar had reached a known exchange deposit address or a mixer. Elliptic reached the same conclusion independently.

This is the quiet part of the story. We are conditioned to expect laundering to look like motion. Here it looks like stillness: the attacker parked the freezable portion in the open, converted what it could, and left the rest untouched in virgin addresses while the industry argued about attribution on X.

Attribution went to TraderTraitor, North Korea's unit, on the strength of a detail that is genuinely elegant: stolen Binance funds began commingling on-chain with funds from last month's Bitget theft, already attributed to the same group. Not a similarity of tactics. The same wallets. The attacker funded its operator through three small Tornado Cash withdrawals starting the morning of 28 October, staged for at least 36 hours, tested the code on two wallets, rehearsed on a third, and installed the final version on a live hot wallet four hours later.

The sequel nobody covered: the exit queue

Attention collapsed onto the attackers. The more instructive forensics came from the users — specifically the first twenty minutes after Binance restored BTC withdrawals from its new hot wallet addresses.

One independent tracker went through every transaction in that window. 3,455 BTC left to 1,892 addresses. The distribution is the story:

  • 72% of addresses received less than 0.1 BTC, median withdrawal 0.011 BTC. Retail moved fast and small.
  • Seven withdrawals exceeded 100 BTC each — and together accounted for more than half of everything that left.
  • Of the 53 addresses taking more than 5 BTC, roughly 30% went straight to Kraken, where about 900 BTC was consolidated within minutes.
  • Around half went to high-frequency, constantly active addresses — behaviour consistent with institutions or OTC desks.
  • Only about 14% looked like self-custody cold wallets.
  • One user withdrew 51 BTC, bounced it through two fresh addresses, and deposited it back into Binance within ten minutes.

And the viral headline — "4,000 BTC moved to an unknown wallet" — was not a whale fleeing. It was Binance refilling a new withdrawal hot wallet from cold storage, exactly as a healthy exchange is supposed to.

The narrative going into the weekend was that this would finally teach people to self-custody. The on-chain record says the opposite: capital did not decentralise, it re-custodied. Most of it moved to another exchange's order book. A meaningful slice came straight back home.

What still cannot be verified

Two claims deserve scepticism, and both are being repeated as fact.

One: the total bill. Binance has reserved $6.34B of corporate funds and reports ten assets — BTC, ETH, USDT, BNB, SOL, USDC, XRP, USD1, RLUSD and ZEC — at 100% backing, with the rest to be repurchased on market and OTC. Public statements about the net hit have varied considerably: one line has the gap at around $2B covered by a SpaceX shareholding that originated in a $500M investment in 2022; another says annual revenue simply absorbs it. No audited final damage figure has been published. Those two framings are not the same number.

Two: proof of reserves is not proof of solvency. A reserves snapshot proves assets. Solvency requires proving liabilities too. Binance generated the new snapshot on 31 October and stated the zero-knowledge proof itself would take 40 to 50 hours to compute — meaning the claim was, for two days, a promise rather than a verifiable statement. Publishing the liabilities side of that Merkle tree matters more than the asset side, and it is the half that is rarely shipped.

Also unverified but widely circulated: claims about attackers using a "self-destruct" mechanism to erase tooling, and the exact root cause. Binance has not published one. "Compromised laptop plus other breaches in a complex attack" is the current official position, which is a description, not a diagnosis.

The real finding

Strip away the drama and the technical shape of this incident is simple and unflattering:

Four hundred million people's coins were kept behind one signing service that could be instructed to sign anything — and it signed $6.3 billion worth in under four hours.

No private key was stolen. No cold wallet was touched. Nobody brute-forced anything. The attacker did not break cryptography; they broke the approval path — the layer that decides what the machine is allowed to be asked to do.

That is the same lesson at every scale, from a nine-figure exchange to a wallet in your pocket. Security is not the strength of your key. It is the number of things your key is willing to sign, and who gets to ask.

Which is why the only balance with a verifiable owner is the one whose key never leaves the device in your hand. Not because self-custody makes you un-hackable — it does not, and anyone selling you that is lying. Because it removes an entire class of attacker: the one who never needs your key, only your company's signing service.

When a chain of trust fails, the question is always the same. How many signatures did it take? Here the answer was fifty, in one transaction, and only one of them needed to be valid.

Sources and method

Chain-level figures are drawn from the published investigations by TRM Labs, Chainalysis and Bitquery, cross-checked against Binance's own statements and the withdrawal-queue analysis published on X by @kentlinyy. Dollar values are priced at the moment each asset moved; holdings are as of 16:51 UTC, 31 October 2026. Attribution to TraderTraitor is the investigators' assessment, not a court finding. Nothing here is financial advice.

Written by SOLbin Research. We build self-custody software, so we read incidents like this one closely — and we publish what we find, including the parts that are inconvenient for the industry we work in.

SOLbin AI Copilot

Gemini · SOL · BNB · BTC

Sign in required

You must be signed in to use the SOLbin AI Copilot helper tool.

We use essential storage to operate SOLbin (encrypted wallet material and session state) and, with your permission, optional analytics to improve the platform. See our Privacy Policy.