Following the Bitget money
In the first 30 hours of laundering, the attacker moved $60.5M through 246 fresh wallets and turned $20.9M of it into Bitcoin. This is where the trail starts.
Why nobody froze the stablecoins
Tether and Circle can freeze USDT and USDC, but only while the attacker holds them. On Ethereum, the attacker held them for about 21 minutes. The swaps ran through 0x7c96…3E1C, a wallet upgraded with EIP-7702 (MetaMask's StatelessDeleGator) that batched approvals and swaps.
12.85M USDC
3,000 XAUT
Uniswap v3/v4 · 2,776 ETH
45 fills · 19:08:59 → 19:29:35 UTC
UniswapX orders were filled by third-party market makers, who almost certainly didn't know the source. They are not accused of anything. USDT inflow tx ↗
Round lots, then a spray
The ETH was split into round-number storage wallets (10,000 / 10,000 / 9,000…) and left alone for 2.5 days. On 27 Sep at 07:40 UTC, Exploiter 5 started draining into fresh wallets in 11–405 ETH pieces. Exploiter 4 followed through the same intermediate wallets (0xf7bC…96C3, 0x4a77…d330): one operator, one pipeline. We traced 246 fresh wallets, none of them labeled on Etherscan at the time.
Gross flows into each exit from attacker wallets, 27–28 Sep, USD at ETH $2,697. Skip:Go's contracts (CCTPRelayer, SkipGoSwapRouter, GoFastHandler) were identified from verified source code.
The first 15 Bitcoin addresses
Every THORChain deposit carries a memo that says where the swapped coins go. Decoding the attacker's 288 ETH-side deposits showed 7,761 ETH (≈ $20.9M) swapped into BTC and sent here. Part 2 found 111 more on the XRP side, 6 of them shared with this list.
| # | Bitcoin address | ETH in | Swaps |
|---|
The hacker is being hacked
Address-poisoning bots found the attacker's wallets within minutes. After every real transfer they send fake tokens with Unicode look-alike names from addresses that share the first and last characters of the real destination.
fake 0xD2c2C5D3C584692E0999c9D4b9D2eeF36006F899
All 246 ETH laundering wallets
How, and what we don't claim
- Starting points: Etherscan-labeled "Bitget Exploiter" wallets.
- Followed ETH and major tokens (>1,000 holders) from 27 Sep 07:00 UTC.
- Kept only wallets first seen after the hack; excluded THORChain vaults, busy services and anything with pre-hack history.
- Filtered out address-poisoning fakes.
- BTC destinations decoded from THORChain memos.
- Attribution. That's Bitget's and TRM's; see Part 3 for the shared infrastructure.
- That any market maker, bridge or service acted knowingly.
- Final numbers. Funds were moving at publication.