Digital Clarity AnalyticsCase study · On-chain forensics
Real on-chain data
Case study · Ethereum · Oct 28–29, 2026

One Signature, $3.8 Billion

How the Binance hot-wallet hack unfolded, minute by minute, from public blockchain records.

On Oct 29, 2026 someone got the signing key of Binance 14, the busiest Ethereum hot wallet of Binance (the world's largest CEX (centralized exchange)), to approve one thing: "run my code." In about 20 minutes, three Binance wallets were emptied of roughly $3.8 billion on Ethereum and Arbitrum. Stablecoin issuers froze about $2.25 billion. The rest was turned into coins nobody can freeze, and the attacker's wallets now hold about 472,800 ETH.

In plain English

  • The trick: a 2025 Ethereum upgrade called EIP-7702 (Ethereum Improvement Proposal 7702) lets an ordinary wallet borrow a smart contract's code. Binance 14's key signed a delegation to the attacker's sweeper. After that, one call emptied the wallet, with no further signatures.
  • They practiced first: the attacker was funded through Tornado Cash the day before and ran two full rehearsals on throwaway wallets that morning.
  • The race: stablecoins like USDT (Tether USD) and USDC (USD Coin) can be frozen by their issuers. The attacker raced to swap them into ETH (Ether) first. Tether and Circle froze about $2.25B, but around $480M had already become ETH.
  • The dumps: other tokens were sold on DEXs (decentralized exchanges), about $226M worth, and the ETH was parked in five collector wallets.
  • The end: Binance removed the sweeper from Binance 14 at 8:10 PM ET, 3 hours 50 minutes after it was installed.

The headline numbers

Dollar values are at the time of each event unless marked "spot". Verified means we read it on-chain ourselves. Reported means it comes from news reports or trackers and we did not check it.

Drained on Ethereum Verified
$3.79B
200,630 ETH plus 186 kinds of tokens, from Binance 14, Binance 16 and Hot Wallet 34
Drained on Arbitrum Verified
$11M
74.56M ARB (Arbitrum token) from the wallet labeled Binance 54 (spot price)
Tron Partly verified
$226M
638.2M TRX (Tron) at spot. The transfers are verified; that it came from Binance is reported only
Bitcoin Reported
~$1.44B
~18,270 BTC (Bitcoin), from Decrypt's tally. No addresses verified
All chains, rough Reported
~$5.5B
Our sum ~$5.47B is in line with Decrypt's reported $5.57B. Binance has published no figure
Frozen by issuers Verified
$2.25B
1,380.46M USDT, 823M USDC and 12,574 XAUt (Tether Gold). Plus $27.8M of USD1 reported only
Sold on DEXs Verified
$226M
12 tokens dumped through dedicated seller wallets. 7 fully sold, 5 still being sold
USDT turned into ETH Verified
~$480M
~435M USDT swapped, plus 19,762 WETH (Wrapped Ether) borrowed on Aave against 60M USDT
Still held by the attacker Verified
472,832 ETH
About $1.04B at $2,205 (spot), in 15 wallets. Five collectors hold 428,710 ETH. None has gone to a mixer or a bridge

Who loses, what was saved, and what the attacker kept

Binance takes the loss.

Every drained wallet belongs to Binance. Binance says user funds are safe (5:29 PM ET), and its founder Changpeng Zhao (CZ) said the loss "will" be covered (6:23 PM ET). Reported CoinDesk reports the drained wallets backed customer assets. Holders of PEPE, ENA and the other dumped tokens also absorbed about $226M of forced selling.

About $2.26B was stopped.

Tether and Circle froze $2.25B on-chain, and token issuers pulled back about $7.5M (BEAM, SNX, SAND). Binance moved about $0.34M of leftovers to its own Binance 8 wallet. "Frozen" means the coins can't move, not that they are back with Binance yet.

The attacker still holds over $1B.

472,832 ETH (~$1.04B) that nobody can freeze, plus unsold tokens (84.6M ENA, 40.5M RLUSD, 29,934 WBETH and more), 638.2M TRX (~$226M) on Tron, and a reported ~$1.44B in Bitcoin we could not verify.

The hack in 3D ?

Press play to watch all 112 events in order, from the first Tornado Cash withdrawal to Binance's fix. Money flows left to right. Frozen wallets turn ice blue. Drag to rotate, scroll or pinch to zoom.

Full mapOct 28, 3:39 AM – Oct 29, 8:18 PM ETAll 112 events. Press play to watch it happen in order.
Building the 3D map…

    What this means: the attack was planned. Small Tornado Cash withdrawals paid for two rehearsals before Binance 14 was ever touched. Once the sweeper was installed, most of the value left in a single transaction at 4:24 PM ET. The frozen (ice-blue) wallets are where USDT and USDC got stuck. Everything that reached the five collectors on the right is ETH, which no issuer can freeze.

    The timeline, step by step

    All times are US Eastern Time (ET), which is UTC (Coordinated Universal Time) minus 4 hours on these dates. Click any step to jump the 3D map to that moment and light up the wallets involved.

    What was sold on DEXs

    Each token got its own seller wallet, funded with 0.5–2 ETH to pay transaction fees. Status as of 8:30 PM ET.

    TokenSoldOf receivedSold forStatus

    What we couldn't verify

    What the public records can't show, and what we didn't check. We don't estimate these gaps.

    1. How Binance's key signed. Binance 14 signed 50 delegation approvals and Binance 16 signed 9 plain transfers to the attacker. That points to a compromise of Binance's signing system, not a smart-contract bug. On-chain data can't tell key theft, an insider or a tricked signing service apart.
    2. The sweeper's code. The final sweeper (0x63e8…6fAe) has no published source code. What it does is inferred from the calls we saw: a sweep, a withdraw and a Hot Wallet 34 call.
    3. Why Binance 14 could move Hot Wallet 34's USDC. Binance 14 had some owner or operator role over that contract wallet. We did not decode which.
    4. The Bitcoin leg. The ~18,270 BTC (~$1.44B) figure comes from media tallies. We have no addresses for it. Reported
    5. Where the Tron money came from. The two TRX transfers to the Tron receiver are verified on TronGrid. That the TRX came from Binance is reported, not proven here. Reported
    6. When the XAUt was frozen. Tether Gold's contract shows the main receiver as blocked, but we did not find the freeze transaction. Its spot on the timeline is a placeholder.
    7. Where hop A's 325M USDT went. It went to four swap-routing contracts (145M, 100M, 50M and 28.6M) plus 1.4M to a fifth. We verified the 122,316 ETH that came back to collector 2, but we did not decode each route or confirm who runs those contracts.
    8. The SAND pull-back and the Arbitrum "burn". It is unconfirmed whose multisig wallet took the 58.4M SAND, and why the 74.56M ARB was sent to the codeless address 0x…0DA0.
    9. Avalanche and other chains. Not checked. A dev.to write-up cites DeBank showing about $24M on Avalanche for the receiver address. Reported
    10. The total. Binance has published no official figure. Media figures range from $2.5B to $5.8B. Our verified Ethereum and Arbitrum figure is $3.80B at the time.
    11. Spam that looks like the attacker. Many tiny "dust" transfers to attacker wallets come from look-alike addresses. That is address-poisoning spam (fakes meant to trick people into copying the wrong address), not attacker activity, and we left it out.

    How we did it

    We read the public records ourselves and followed the money transfer by transfer.

    1. Confirm the wallets. Binance 14 (0x28C6…1d60) is labeled "Binance 14" on Etherscan and tagged as a Binance hot wallet on Blockscout. Binance 16 and Hot Wallet 34 carry Blockscout tags too.
    2. Rebuild the takeover. We decoded the delegation transaction and its 50 pre-signed approvals, and checked the wallet's code before, during and after.
    3. Follow every transfer. From each Binance wallet out through the receivers, hops, seller wallets and collectors, with the block and transaction for each of the 112 events.
    4. Check the freezes. We read the freeze transactions from Tether's and Circle's contracts and the blocked status of each wallet.
    5. Price it. ETH and listed tokens use Coinbase's public 5-minute prices at the time of each event. Stablecoins count as $1.00. Tokens not on Coinbase use a Blockscout price snapshot from about 8 PM ET. ARB and TRX use CoinGecko spot prices from about 8:30 PM ET.

    Confidence: 101 events are verified on-chain, 4 are partly verified (the state is verified but the time, actor or origin is inferred), and 7 are reported only.

    Download the data (JSON)

    Sources

    On-chain records first, then reporting.

    Scope: this study follows Binance's labeled wallets and the attacker's on-chain addresses only. It makes no attempt to identify who the attacker is.

    All 112 events Every event with its time, amount, confidence and transaction. Click a row to show it on the map.
    #Time (ET)What happenedValueCheckRecord

    Words used on this page

    Plain definitions. Dotted-underlined words show the same definition when you hover or tap them.

    Hot wallet
    A wallet an exchange keeps online so it can pay customer withdrawals instantly. Its key is used constantly, which makes it a target. Binance 14 had sent over 31 million transactions.
    EIP-7702 (Ethereum Improvement Proposal 7702)
    A 2025 Ethereum upgrade that lets an ordinary wallet run a smart contract's code, after its owner signs one approval.
    Delegation
    That signed approval. From then on the wallet runs the named contract's code, until the owner signs a new delegation, which is how Binance removed it.
    Sweeper
    The attacker's contract. Once a wallet runs its code, one call moves everything in the wallet to the attacker.
    Nonce
    A wallet's transaction counter. A delegation approval only works for one exact count, so the attacker pre-signed 50 of them to hit a wallet that sends constantly.
    Receiver
    The first attacker wallet the stolen funds land in.
    Hop (laundering hop)
    A wallet the money passes through on its way somewhere else, to stay ahead of freezes and make it harder to follow.
    Seller wallet
    A wallet given one token to sell on DEXs, so each sale runs separately.
    Collector
    A fresh wallet used only to park ETH. The five here have never sent a transaction.
    Freeze / blacklist
    The token's issuer marks a wallet so its tokens can't move. It works on USDT, USDC, XAUt and USD1, but not on ETH.
    Mixer (Tornado Cash)
    A service that pools coins and pays them out to new addresses, hiding where they came from.
    DEX (decentralized exchange) and CEX (centralized exchange)
    A DEX, like Uniswap, is trading software on the blockchain with no company that can stop a trade. A CEX, like Binance, is a company that holds coins and runs the trading.
    Stablecoin
    A token meant to stay at $1, like USDT (Tether USD), USDC (USD Coin), RLUSD (Ripple USD), USDe (Ethena's dollar token) and USD1. Most can be frozen by their issuer.
    Aave
    A lending app. The attacker deposited 60M USDT as collateral and borrowed 19,762 WETH (Wrapped Ether) against it.
    Smart account
    An ordinary wallet running contract code through EIP-7702. Several laundering hops were set up this way.
    Multisig (Safe)
    A wallet that needs several people's signatures to move money. A Safe multisig took the attacker's SAND.
    Burn / sink address
    An address nobody controls, such as all zeros. Tokens sent there are gone for good.
    Tokens named on this page
    ETH (Ether), WETH (Wrapped Ether), WBETH (Wrapped Beacon ETH, Binance's staked ETH), WBTC (Wrapped Bitcoin), BTC (Bitcoin), ARB (Arbitrum), TRX (Tron), XAUt (Tether Gold), PAXG (Paxos Gold), PEPE (a meme coin), ENA (Ethena), UNI (Uniswap), LINK (Chainlink), AAVE (Aave), ONDO (Ondo), WLD (Worldcoin), ZAMA, FUN, BEAM, SNX (Synthetix) and SAND (The Sandbox).
    ET and UTC
    UTC (Coordinated Universal Time) is the world reference clock. US Eastern Time (ET) is 4 hours behind it on these dates.