Drift Protocol hack: a second 25,710 ETH went into Tornado Cash on 20 October, and 56,568 ETH still sit on one wallet

PublicAML · On-chain investigation · 20 October 2026

On 1 April 2026 Drift Protocol, a Solana derivatives exchange, lost about $285 million in twelve minutes. Within hours most of it was bridged to Ethereum as USDC and swapped into ether. In July the attacker put 23,095 ETH into Tornado Cash, and that is where public reporting stops. On 20 October, between 07:08 and 09:21 UTC, a second wallet of the same attacker deposited another 25,710 ETH, about $63 million. We read the whole Ethereum side: 13 wallets, 48,805 ETH into Tornado so far, and 56,568 ETH, about $138 million, on one address that has not moved since 2 April.

$285M

drained from Drift on 1 April 2026 in 31 withdrawals over 12 minutes

190.7M USDC

that we can follow onto the attacker’s Ethereum wallets: 186.7M minted by Circle CCTP, 4M via Mayan

48,805 ETH

into Tornado Cash: 23,095 on 23 July and 25,710 on 20 October

56,568 ETH

on 0x0FE3b690… on 20 October, about $138M; nothing has left it since 2 April

What is known

Drift lost the money without a smart-contract bug. According to Drift’s own account, summarised by Nexus Mutual, the attackers spent months posing as a trading firm, compromised contributors’ devices, and obtained pre-signed approvals from two of the five Security Council signers. On 1 April they listed a token they had created themselves, CVT, as collateral, raised the withdrawal limits and emptied the vaults: JLP, USDC, cbBTC and smaller assets, about $285 million. TRM Labs and Elliptic attribute the attack to a North Korean state-linked group (UNC4736, also tracked as AppleJeus and Citrine Sleet). That attribution is theirs; the chain cannot confirm who is behind a key.

On 23–24 July PeckShield and Lookonchain reported that a wallet labelled “Drift Exploiter” had deposited 23,095 ETH into Tornado Cash. We read the attacker’s Ethereum wallets on 20 October 2026. Below is what the chain shows.

How the money reached Ethereum

The stolen USDC crossed from Solana through Circle’s own bridge, CCTP: on Ethereum, Circle’s message contract 0x81D40F21F12A8F0E3252Bccb954D722d4c464B64 minted fresh USDC straight to the attacker’s wallets. We count 186.7 million USDC minted this way on 1–2 April to six of them, mostly 0xFcC47866Bd2BD3066696662dbd1C89c882105643 (64.0M), 0xAD383d6b3886b598F48c625437ccB4f8E84dBB48 (65.4M) and 0xeF4326F42f2eB656C58fabf8B1D3298DC2Ab80C6 (53.8M). Another 4.0 million USDC came through Mayan to 0xeC3145C5F138baF26722F1f909f6189Ce81680FB, and about 7,240 ETH arrived through Mayan as ether to 0xb2C6B5535Cbe45556b4f43Bc2eCAe3d56fb740a9 and 0x3C48A6938998F6cbc0a94f5f580990C554263Fb2.

Reports speak of about $232 million bridged. The 190.7 million we can tie to these wallets leave a gap of about $41 million that we have not attributed: other large CCTP recipients that day may belong to the attacker, but we could not prove a link.

Each wallet sold its USDC for ether within hours, through CoW Protocol, DODO, Uniswap, Kyber, Magpie and 0x. Then the ether was gathered on three wallets.

When (UTC, 2026)FromToAmountTx
1 Apr 16:27–17:380x81D40F…464B640xFcC478…10564364.04M USDC (20 mints)
Circle CCTP mints USDC on Ethereum; one of 20 linked
0x316799…b9a2d3
1 Apr 18:45–23:030x81D40F…464B640xAD383d…4dBB4865.42M USDC (38 mints)
CCTP mints to the second entry wallet; one of 38 linked
0xa54393…923af0
1 Apr 19:37 – 2 Apr 07:090x81D40F…464B640xeF4326…Ab80C653.80M USDC (21 mints)
CCTP mints to the third entry wallet; one of 21 linked
0x689e72…ffdf97
1 Apr 18:330xC1062b…6e77410xeC3145…1680FB3.998M USDC
USDC through Mayan; this wallet was blacklisted on 15 Apr, empty
0x29fc2d…815302
1 Apr 16:49–17:280xFcC478…1056430xbDdAE9…40561B13,080 ETH (4 transfers)
ether to the July Tornado wallet; largest linked
0x4e4e18…d8ffe2
1 Apr 18:42–19:420xeC3145…1680FB0xbDdAE9…40561B5,968 ETH (2 transfers)
more ether to the July Tornado wallet; largest linked
0xe9460c…7e35c1
1 Apr 16:50–19:410xFcC478…1056430xAa843e…5e57C119,911 ETH (5 transfers)
ether to the October Tornado wallet; largest linked
0x1a3bbb…2a4ed7
1 Apr 18:140xb2C6B5…b740a90xAa843e…5e57C13,545 ETH
Mayan ether forwarded to the October wallet
0x016f41…2f1075
1 Apr 18:48–22:120xAD383d…4dBB480x0FE3b6…F6B67430,416 ETH (13 transfers)
ether to the parked wallet; largest linked
0xd12fd4…434094
1 Apr 19:43 – 2 Apr 07:490xeF4326…Ab80C60x0FE3b6…F6B67424,970 ETH (8 transfers)
more ether to the parked wallet; largest linked
0xaaa4fa…c66445
1 Apr 19:420xF6fD4d…95BdEE0x0FE3b6…F6B6741,181 ETH
last transfer to the parked wallet
0x19e539…dc3bba
23 Jul 06:54–08:520xbDdAE9…40561B0xd90e2f…24F31b23,095 ETH (245 deposits)
23 Jul wave into the Tornado router; one linked
0xfbc836…a014fe
20 Oct 07:08–09:210xAa843e…5e57C10xd90e2f…24F31b25,710 ETH (258 deposits)
20 Oct wave into the Tornado router; one linked
0xf59955…270e93

Three wallets, three different plans

0xbDdAE987FEe930910fCC5aa403D5688fB440561B collected 23,097 ETH on 1 April and sat on it for 113 days. On 23 July, in two hours, it sent 23,095 ETH into Tornado Cash through the router 0xd90e2f925DA726b50C4Ed8D0Fb90Ad053324F31b, almost all in 100 ETH deposits. This is the wave already in the press.

0xAa843eD65C1f061F111B5289169731351c5e57C1 collected 25,715 ETH on 1 April, mostly from 0xFcC47866Bd2BD3066696662dbd1C89c882105643, and waited 202 days. On 20 October, between 07:08 and 09:21 UTC, it made 257 deposits of 100 ETH and one of 10 ETH: 25,710 ETH. About 4 ETH is left on it. We found no report of this wave.

0x0FE3b6908318B1F630daa5B31B49a15fC5F6B674 collected 56,568 ETH on 1–2 April from 0xAD383d6b3886b598F48c625437ccB4f8E84dBB48, 0xeF4326F42f2eB656C58fabf8B1D3298DC2Ab80C6 and 0xF6fD4dB0C5930A8D0e5F9C850361F7dbe695BdEE, and has never sent anything. At today’s price that is about $138 million, roughly half of what was stolen.

If the pattern holds, the parked wallet is the next to go into Tornado. We are watching it.

What Tornado Cash received

Across both waves the attacker deposited 48,805 ETH: 48,700 into the 100 ETH pool, 100 into the 10 ETH pool and a few into the smaller pools. The October wave alone is 257 deposits of 100 ETH in two hours and thirteen minutes. This matters for anyone who receives a 100 ETH withdrawal in the weeks after: 48,700 ETH from one theft is about a tenth of everything deposited into that pool in 2026.

Withdrawals cannot be matched to deposits from the pool’s own data, and we do not claim any withdrawal as the attacker’s.

Nothing was frozen on Ethereum

Circle added 0xeC3145C5F138baF26722F1f909f6189Ce81680FB to the USDC blacklist on 15 April 2026 (block 24,888,079). By then the wallet held no USDC: all 3,998,399 had been sold for ether on 1 April. We checked the balance at the block before and at the block of the blacklisting: zero. The stolen value on Ethereum has been in ether, which no issuer can freeze, since the first evening.

Address poisoning around the attacker

The attacker’s history is full of transfers that are not the attacker’s: zero-value transfers, USDT dust and fake “ETH” tokens from addresses that start and end like its real wallets (0xbdda…561b, 0xaa84…). This is address poisoning, aimed at anyone who copies an address from that history. Those addresses are not part of the theft and are not on this page.

What we did

We filed all 13 wallets below in our database as part of the Drift Protocol exploit; each now scores 90–100. The address check shows them as high risk, and the risk spreads to wallets that receive from them.

We added 0x0FE3b6908318B1F630daa5B31B49a15fC5F6B674 and 0xAa843eD65C1f061F111B5289169731351c5e57C1 to our watchlist and will update this page if the ether moves.

To check an address yourself, use the address check.

What this page does not say

It does not name a person, and the attribution to a North Korean group is TRM Labs’ and Elliptic’s, not ours. It does not say that Circle, Mayan, CoW Protocol, DODO, Uniswap, Kyber, Magpie or 0x did anything wrong, and it does not claim any Tornado Cash withdrawal as the attacker’s. The attack, the $285M total and the July wave were reported first by others; the full Ethereum cluster, the 20 October wave, the parked wallet and the empty freeze are ours, read on 20 October 2026.

Addresses in this case

Check an address yourself

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

Sources: Drift Protocol’s incident account as summarised by Nexus Mutual; TRM Labs, 2 April 2026, and Elliptic for the attribution; PeckShield and Lookonchain for the July Tornado wave; Ethereum data via Blockscout and public nodes, read by PublicAML on 20 October 2026; USD at about $2,440 per ETH. This is an information resource about transactions between addresses, not financial or legal advice, and it names no individual as responsible for anything.