When Ethereum hard-forked in July 2016 to reverse the DAO hack, it split into two chains. On the new chain — today's Ethereum — DAO investors were quietly made whole. On the original chain, which lived on as Ethereum Classic (ETC), the money never moved, the refund was messier, and a surprising amount of it is still sitting there. This is where it went.
Ten years on: the DAO hard fork landed at block 1,920,000 on July 20, 2016, the first block where Ethereum and Ethereum Classic disagree, a date the ETC community still celebrates as its Independence Day. This piece marks the tenth. Everything below happened on the side that didn't move.
The setup
The DAO held a huge share of all ether in 2016. After it was drained, a group of white-hat developers used the very same exploit to rescue the funds the attacker hadn't taken yet, sweeping them into contracts they controlled. The hard fork later returned everyone's money on the forked chain, but Ethereum Classic didn't fork. So on ETC, those rescued funds simply stayed alive: roughly 8.4M ETC in white-hat hands, plus the attacker's share still in theirs.
The sell-off that mostly didn't happen
The first plan was to liquidate the rescued ETC. About 3.8M ETC was sent to exchanges to be sold off. It didn't work: the exchanges froze most of the deposits, and only about 14% actually got converted into other assets before the doors shut.
So the plan changed. The converted portion was bought back, and the whole pile, the repurchased ETC plus everything still held, was funnelled into a single refund contract on Ethereum Classic, where DAO token holders could come and claim their share.
A refund rate that went up over time
The contract paid out pro-rata: your ETC = your DAO tokens × (ETC in the contract ÷ total DAO supply). But it wasn't filled all at once. It was topped up in tranches as more of the rescued ETC trickled back in. Because the numerator kept growing while the token supply stayed fixed, the payout rate rose over time: it started near 0.36 ETC per 100 DAO tokens and climbed to about 0.73.
The funny consequence: the people who waited got more. Whoever rushed to claim on day one locked in the low rate; whoever showed up later, or re-claimed as new funds arrived, ended up with a bigger slice.
The part nobody came back for
Of the ~8.4M recovered, roughly 7.2M was eventually claimed. The other ~1.28M ETC (~15%) was never claimed at all, and it still sits in the refund contract today, almost a decade later. The unclaimed wallets are mostly ghosts: addresses that went dark in 2016, a couple of long-defunct exchanges, and a few holders who simply never bothered.
Every so often, though, a ghost stirs. Across 2023 and 2024 a handful of wallets that had sat dark since 2016 or 2017 flickered back to life. Funded with a sliver of gas, used once to claim, then silent again. They pulled out about 50,000 ETC between them. Someone had kept those keys for the better part of a decade and finally came back for the money. They're the rare exception, though; the pile has otherwise barely moved in eight years.
The twist at the top
Here's the part that makes the whole thing rhyme. If you rank every address on Ethereum Classic by how much ETC it holds, the #7 largest holder on the entire network is the DAO attacker, still sitting on about 3.36M ETC of the loot they pulled out in 2016, essentially untouched ever since. And it isn't even the only DAO relic on that list: a few rows down, at #11, sits the refund contract itself: the stolen fortune and the unclaimed one, parked within a few places of each other among the largest holders on the network.
And the single most notable thing the attacker ever did with that fortune? A 1,000 ETC donation to the ETC Community Fund, sent the very same day they pulled the loot. A fund whose own coins, fittingly, have largely sat unused since the day they were collected.
Under the hood: the contract, in detail
For the on-chain crowd: all of this is verifiable on the Classic chain.
It isn't a token. The refund lives at 0x9f5304DA…5ce3, and despite emitting Transfer-shaped logs it is not an ERC-20. name(), symbol(), totalSupply() and balanceOf() all return nothing. It's a bespoke withdrawal contract, and it still holds 1,277,262 ETC.
The rate, exactly. Its getTotalFunds() reads 8,440,400 ETC, the entire honest-holder share, against a DAO face value of 11,538,165 ETC. That sets the ~0.73 ETC per 100 DAO ceiling: about 73 cents on the original dollar, the missing ~27% being the slice the attacker kept. It opened near ~0.36 and rose as funds were added, which is exactly why early claimers got less than latecomers.
How you'd still claim today. From the address that held DAO tokens at the fork block (1,919,999), you call withdraw(beneficiary, percentageWH) on the Classic chain. percentageWH is how much of your share you tip the recovery group. Can't run an ETC node, or held through a contract wallet? There's proxyWithdraw(address, uint256, uint8, bytes32, bytes32): you sign your intent on the Ethereum side and anyone can relay it.
What the tips added up to. Those percentageWH tips were voluntary, but across roughly 3,100 claims the recovery group's address took in about 89,000 ETC, averaging a bit over 1% of each refund, with a handful of large holders chipping in thousands apiece.
The unusual methods. Beyond the basics, the ABI has personality: fill(uint256[]) + seal() (the operator pre-loaded a paid-out ledger and then froze it), plus getPaidOut(), getMyBalance(), calculateWithdraw(), getTotalFunds(), extendClosingTime(), claimRemaining(), getWHGDonationAddress(), and a changeOwner(address): an owner-only switch that hands control of the whole contract to a new address in one call. It's been used exactly once: in January 2017 the deployer passed control from their own key to the WHG multisig that holds it today.
The escape hatch. There's an owner-only escapeHatch() that sweeps the entire balance to a single hardcoded address. It isn't theoretical. It was fired once at launch in 2016 to halt a buggy first version. It has never been used on the leftover 1.28M.
Who could pull it: the owner. The owner isn't a person; it's effectively a 3-of-5 multisig at 0xe79aca5c…, built on the standard 2016 Ethereum multisig template, and it's still live. It last transacted on the Classic chain on 2025-12-04. Its keyholders, by last activity on ETC:
0x50e840d25c…: active 2025
0x8d0fd2753e…: active 2025
0x47a4b90bfd…: active 2025
0x35479b8043…: active 2025
0x00c1c78011…: dormant since 2017
(It's actually 3-of-6 on-chain, but the creator's key is listed twice, so only five distinct keys really back it, any three of which can sign.)
The escape destination. The single address escapeHatch() would sweep everything into is itself a second 3-of-5 multisig (same build, same creator key listed twice), at 0x87af3396…, built from the very same 2016 codebase, and stone cold since the day it was deployed: 0 ETC, last touched 2016-08-30, never once used. It shares four keyholders with the owner and swaps in one different signer:
0x50e840d25c…: active 2025
0x8d0fd2753e…: active 2025
0x47a4b90bfd…: active 2025
0x35479b8043…: active 2025
0x0bbcc89489…: dormant since 2017
Four of those keyholders were active on Ethereum Classic in 2025, comfortably above the three-signature threshold on either wallet. Moving the money would take human consensus across both multisigs, but the keys aren't lost; nobody has just turned them.
And the people who never came back. Reconstructing the DAO's frozen fork-time ledger, 16,926 addresses that held DAO tokens at the fork never withdrew a single ETC, together owed about 1.18M ETC, almost the entire pool still sitting in the contract. The rest, about 95,000 ETC across 559 addresses, is owed to early claimers who locked in the low rate and never came back for the top-up once it rose; the two buckets together reconcile the contract's balance to the last wei. Most are genuinely gone: ~80% have been dormant on both Ethereum and Ethereum Classic for five years or more, and 1,438 have never sent a transaction on either chain at all, keys that, as far as any ledger knows, were never once used. But not all of them are lost: check the same keys on Ethereum and roughly one in five is still active there, alive, reachable, simply never bothering to claim. The pile is part abandoned, part ignored, waiting for people who can't come back, and for people who just won't.
Money rescued and never claimed. Money stolen and never spent. It's a fitting ending for Ethereum Classic, the chain that exists because its community refused to rewrite the ledger to undo the hack. Code is law, theft included. And a decade later, that same refusal to touch the record is exactly why none of it ever moves: the thief still holds the loot, and the honest holders never came back for their refunds. On the chain that wouldn't move the money, the money simply stopped moving. Permanent and still, exactly as the creed promised. Happy tenth Independence Day, ETC.
Historical background draws on BitMEX Research's Revisiting The DAO; all on-chain figures were verified directly against the Classic chain.


Happy birthday ETC 💚