← Back to research

The Binance Hacker Rehearsed the Attack Four Hours Early

On-chain data shows the Binance hacker tested the exact drain contract on a dummy wallet four hours before hitting Binance 14. Here are the wallets and the timeline.

By Stalkchain ResearchPublished Oct 30, 2026Updated Oct 30, 20263 min read
BinanceHackTornado Cash

Quick answer

Yes. About four hours before draining Binance 14, the attacker pointed a dummy wallet he controlled at the same drain contract, loaded it with 1.01 ETH and 2.54 USDT, and swept it. The setup was funded with about 1.4 ETH from Tornado Cash across three wallets. None of the setup wallets has moved since the hack.

The timeline

The attacker's rehearsal: Tornado Cash funding, a dry run, the drain contract tested on a dummy wallet, then Binance 14 pointed at the same contract

All times UTC. Where a step is checked against StalkChain wallet data, it says so.

WhenStageWhat happened
Oct 28, 07:39 and 08:53FundingSetup wallet 0x7C86…5CA0 gets two ~0.098 ETH payments from the Tornado Cash 0.1 ETH pool (StalkChain data)
Oct 29, 08:23FundingA third ~0.098 ETH payment from the same pool (StalkChain data)
Oct 29, 01:15–14:54FundingTwo more wallets get small amounts, which on-chain analysts trace to Tornado Cash
14:19–14:24Dry runThree test wallets holding a few dollars of USDT and USDC are swept, per on-chain analysis
~16:00WeaponThe drain contract 0x63e8…6fAe is deployed from the setup wallet
16:13–16:30RehearsalDummy wallet 0x43AE…04BD gets 2.54 USDT and 1.01 ETH, is pointed at the drain contract and swept (StalkChain data)
18:20Gas1.08 ETH sent to the setup wallet from 0xe4f9…74cd (StalkChain data)
20:20TargetBinance 14 is pointed at the same drain contract with EIP-7702
20:24DrainAbout $2.53B in 63 tokens leaves Binance 14 in one transaction

Why a rehearsal matters

The real attack had one shot. Once Binance 14's delegation was on-chain, Binance's monitoring could react. A bug in the drain contract, a wrong token list or a gas miscalculation would have burned the opportunity.

So the attacker ran it end to end on a wallet he controlled: same contract, same EIP-7702 mechanism, same sweep function. He loaded the dummy with both ETH and a stablecoin, which tests the native-asset and token paths of the sweep. Then he swept it and checked the result.

This is the behavior of a professional team, not an opportunist. It also matches what investigators described in other big exchange hacks: setup wallets funded through a mixer, test transactions, then the real thing. For what that does and doesn't say about who did it, see was the Binance hack North Korea?.

The wallets

AddressRole
0x7C8601d4645b93cea45F71e118A729332e6B5CA0Setup wallet: deployed the drain contract and submitted the delegation
0x63e842B054Bd624a465454D533C33F573e9c6fAeDrain contract with the sweep function
0x43AEdb9BAD6219677a2C8D6858321C16988404BDDummy wallet used for the rehearsal
0xe4f9070e1316de2988fc6f869fead8fb99cc74cdFunded the dummy wallet and sent gas to the setup wallet
0xfd41da53d1175b29d40599a0e63545067f58f408Funded the dry run and sent USDT to the dummy

Why investigators care about these wallets

The setup cost about 1.4 ETH. That's tiny next to the haul, but these wallets are the attacker's most personal footprint. They were set up by hand, before the attack, when he wasn't under pressure.

Since the hack, StalkChain data shows the setup wallet has received only spam: dust from address-poisoning bots. It hasn't sent anything. If any of these wallets ever touches an exchange, a known service or another of the attacker's addresses, that link could help identify him.

We track all of them in the live timeline. You can also watch them yourself: see how to track the Binance hacker's wallets.