Summer.fi exploit: 6 million DAI became 3,294 ETH in Tornado Cash — through the attacker’s own router, over 16 days

PublicAML · On-chain investigation · 5 October 2026

On 6 July a flash-loan attack on Summer.fi’s Lazy Summer vaults took about $6 million, and the protocol later shut down. The reports said the money “vanished into Tornado Cash”. That is where it ended, but not how it got there. The attacker kept 6,016,755 DAI on one wallet, sold it for ether in 97 pieces — most of them through a small contract of their own — had the ether delivered to a second wallet, and that wallet made 56 deposits into Tornado Cash: 3,294.2 ETH between 7 and 22 July. Nothing is left on either address.

6,016,755 DAI

taken on 6 July 2026, 05:17 UTC

3,294.2 ETH

into Tornado Cash — 56 deposits, 7–22 Jul

16 days

from the exploit to the last deposit

74 calls

to the attacker’s own swap contract: DAI → USDC → WETH

What happened

According to Blockaid and press reports, an update to Summer.fi’s Lazy Summer vaults broke the way a vault counted its total assets. On 6 July 2026 an attacker borrowed about $65 million in flash loans, deposited $64.8 million, redeemed $70.9 million and kept the difference. Summer.fi paused the vaults and later announced it would close.

The profit arrived as DAI: 6,016,755 DAI in one transfer at 05:17 UTC, from the attack contract to the exploiter’s wallet 0x7BF716167B48CF527725722C6d79494b45B3BDCa. That wallet was not new that morning. It had received its first ether through the Stargate bridge in April and again in May — two to three months before it was used.

Selling DAI without leaving a trail of swaps on the wallet

DAI cannot be frozen, so there was no hurry, and the attacker did not hurry. For twenty hours nothing moved.

Early on 7 July the wallet sold 405,100 DAI through Uniswap V2 in 23 swaps. The ether — 213.86 ETH — did not come back to the wallet that sold: every swap named a different recipient, a second wallet, 0x46E09c4D4d20C0474598b4d2fFDd08bdf416eBa7.

Then the method changed. The second wallet deployed a small unverified contract, 0x824cb092B6f1DAD5BF95B315250479FB38Ef069A. From 8 to 22 July the first wallet called it 74 times, after a 100 DAI test, usually with 100,000 or 50,000 DAI. Each call does the same three things in one transaction: swaps the DAI to USDC in Curve’s 3pool, sells the USDC in the Uniswap V3 USDC/ETH pool, and has the pool pay the WETH directly to the second wallet. 5,611,655 DAI went in; 3,069.2 WETH came out on the other address.

The effect is that the wallet everyone was watching shows only DAI leaving for an unknown contract, and the wallet that receives the ether has no visible link to the exploit unless one opens the transactions.

When (UTC, 2026)FromToAmountTx
6 Jul 05:170x0514F8…82FC610x7BF716…B3BDCa6,016,755 DAI
the profit of the attack, in one transfer
0x0db528…43da12
7 Jul 01:39Uniswap … sold)0x46E09c…16eBa75.55 ETH (of 213.86)
ether from the first DAI sales, paid to a second wallet
0xa5b3af…d81f97
7 Jul 01:560x46E09c…16eBa70xd90e2f…24F31b10 ETH (1st of 56)
first Tornado deposit, minutes later
0x95ec85…40f7bb
8 Jul 04:560x7BF716…B3BDCa0x824cb0…Ef069A100 DAI (test)
test call to the attacker’s own swap contract
0x60f235…3399a7
8–22 Jul0x7BF716…B3BDCa0x824cb0…Ef069A5,611,655 DAI (74 calls)
DAI → USDC → WETH, paid to the second wallet (last call shown)
0xdf1c3f…5dcc3f
22 Jul 09:000x46E09c…16eBa70xd90e2f…24F31b0.1 ETH (last)
last deposit — nothing left
0xe43064…00000b

Fifty-six deposits

The second wallet did one thing with the ether. The first deposit into Tornado Cash went in at 01:56 UTC on 7 July, eighteen minutes after the first ether arrived. Over the next sixteen days it made 56 deposits: 31 of 100 ETH, 19 of 10, 4 of 1 and 2 of 0.1 — 3,294.2 ETH.

By day: 200 ETH on 7 July, 400 on the 8th, 100 on the 9th, 400 on the 12th, 700 on the 13th, 100 on the 14th, 500 on the 16th, 300 on the 17th, 200 on the 20th and the last 394.2 on 22 July. On that last morning the first wallet also sent over its remaining 11.3 ETH. The second wallet now holds 0.01 ETH; the first holds nothing.

At about $1,830 per ETH — the rate the attacker actually got — 3,294 ETH is the whole six million dollars. Nothing was lost on the way and nothing was caught.

What we did with the addresses

We have marked both wallets, the attack contract and the swap contract as hack-related in our database. There is no parked balance to monitor. You can check any address against this and our other cases on the address check page; this case is also counted in our Tornado Cash roundup for the quarter.

What this page does not say

It names nobody and does not say who controls any address. The mechanism, the loss figure and the exploiter’s address are Blockaid’s and the press’s account; the route, the second wallet, the swap contract and the Tornado total are ours, read from the chain on 5 October 2026. We do not know which chain the wallet’s first ether came from in April.

Check an address yourself

Free, no sign-up. Paste any address to see whether it is linked to this or any other incident:

Sources: Ethereum chain data via Blockscout, read on 5 October 2026; Blockaid and press reports for the mechanism, the loss and the exploiter’s address. This is an information resource about transactions between addresses, not financial or legal advice, and it names no individual as responsible for anything.