Forensic case files

Case file · 14 Jul 2026, 19:05 UTC to 13 Sept 2026, 11:40 UTC · Solana, Ethereum, Arbitrum
Tallowmere tUSD mint and proceeds
Proceeds of the tUSD mint left the exploiter wallet in three near-equal parts within five minutes, crossed to Ethereum and Arbitrum over two bridge routes, and were swapped to WETH. On Ethereum most of the value entered mixing service MX-1; withdrawals that share a gas funder with the pre-mixer wallets carried it to two exchange deposit clusters. On Arbitrum the value went straight to an exchange cluster. Three wallets still hold balances.
Incident: Spot-price oracle manipulation mints unbacked tUSD
- Addresses
- 47
- Transactions
- 73
- Into exchange clusters
- $1.79M
- Into mixing services
- $1.47M
- Held, not moved
- $505k
- Heuristic links
- 7
Where the proceeds went
Outgoing exposure of the starting address, Exploiter wallet, followed through swaps and bridges for up to six hops.
8qsVsjmd6KknZgXkySKqKWM6YXEbYQvYEx1y8YfE3bgq| Category | Direct | Indirect | Share |
|---|---|---|---|
| Mixing service | – | $1.47M | 63% |
| Exchange | – | $603k | 26% |
| Laundering | – | $259k | 11% |
Open leads
Points where the holder of the funds may be identifiable or where value can still move. Each lead lists the route that reached it.
Exchange depositExchange
Deposit cluster EX-11
Ethereum · $720k received
Request account information for deposits between 8 Sept 2026, 13:47 UTC and 13 Sept 2026, 11:40 UTC.
Route: Exploiter wallet → Split wallet A1 → Bridge route BR-2 → Receiving wallet E1 → Mixing service MX-1 → Withdrawal wallet W3 → Deposit cluster EX-11 (includes a heuristic link)
0xa28c215c…c9391a23Exchange depositExchange
Deposit cluster EX-07 (Arbitrum)
Arbitrum · $603k received
Request account information for deposits between 2 Sept 2026, 17:22 UTC and 2 Sept 2026, 17:22 UTC.
Route: Exploiter wallet → Split wallet A3 → Bridge route BR-5 → Receiving wallet R1 → USDC / WETH pool (Arbitrum) → Swap recipient R2 → Deposit cluster EX-07 (Arbitrum)
0xcf09554d…4370abd7Exchange depositExchange
Deposit cluster EX-07
Ethereum · $469k received
Request account information for deposits between 6 Sept 2026, 14:20 UTC and 7 Sept 2026, 15:03 UTC.
Route: Exploiter wallet → Split wallet A1 → Bridge route BR-2 → Receiving wallet E1 → Mixing service MX-1 → Withdrawal wallet W1 → Deposit cluster EX-07 (includes a heuristic link)
0xa2f8c27b…891b667bShared funderLaundering
Gas funder G1
Ethereum · $3,350 received
Paid gas for 8 wallets on both sides of the mixing service, which links withdrawals to deposits more strongly than timing alone.
0xb9c659c4…e22b0b88Dormant balanceLaundering
Withdrawal wallet W6
Ethereum · $251k held
Watch for outgoing activity; a first movement is the moment to alert counterparties downstream.
Route: Exploiter wallet → Split wallet A1 → Bridge route BR-2 → Receiving wallet E1 → Mixing service MX-1 → Withdrawal wallet W6 (includes a heuristic link)
0xf3fbfe07…765e386cDormant balanceLaundering
Holding wallet E3
Ethereum · $129k held
Watch for outgoing activity; a first movement is the moment to alert counterparties downstream.
Route: Exploiter wallet → Split wallet A1 → Bridge route BR-2 → Receiving wallet E1 → Holding wallet E3
0xddba5f1f…1bbc5633Dormant balanceLaundering
Holding wallet R3
Arbitrum · $125k held
Watch for outgoing activity; a first movement is the moment to alert counterparties downstream.
Route: Exploiter wallet → Split wallet A3 → Bridge route BR-5 → Receiving wallet R1 → USDC / WETH pool (Arbitrum) → Swap recipient R2 → Holding wallet R3
0xae7269c4…8cc0f780
Address risk exposure
| Address | Category | Indicators | Score |
|---|---|---|---|
| Funding walletSolana | Laundering | New address moving large value | 100 Severe |
| Holding wallet E3Ethereum | Laundering | Dormant balance | 100 Severe |
| Holding wallet R3Arbitrum | Laundering | Dormant balance | 100 Severe |
| Peel wallet E4Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Peel-chain step | 100 Severe |
| Peel wallet E5Ethereum | Laundering | Direct mixing-service interaction, New address moving large value | 100 Severe |
| Receiving wallet E1Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Rapid pass-through, Peel-chain step | 100 Severe |
| Receiving wallet E2Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Rapid pass-through, Peel-chain step | 100 Severe |
| Receiving wallet R1Arbitrum | Laundering | New address moving large value, Rapid pass-through | 100 Severe |
| Split wallet A1Solana | Laundering | Receives exploit proceeds, New address moving large value, Rapid pass-through, Cross-chain hop after receipt | 100 Severe |
| Split wallet A2Solana | Laundering | Receives exploit proceeds, New address moving large value, Rapid pass-through, Cross-chain hop after receipt | 100 Severe |
| Split wallet A3Solana | Laundering | Receives exploit proceeds, New address moving large value, Rapid pass-through, Cross-chain hop after receipt | 100 Severe |
| Swap recipient R2Arbitrum | Laundering | Peel-chain step, Exchange deposit | 100 Severe |
| Exploiter walletSolana | Exploit | New address moving large value, Rapid pass-through, Structured split | 98 Severe |
| Exploit programSolana | Exploit | Service address | 95 Severe |
| Withdrawal wallet W1Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Exchange deposit | 94 Severe |
| Withdrawal wallet W2Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Exchange deposit | 94 Severe |
| Withdrawal wallet W3Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Exchange deposit | 94 Severe |
| Withdrawal wallet W4Ethereum | Laundering | Direct mixing-service interaction, New address moving large value, Shared gas funder, Exchange deposit | 94 Severe |
| Withdrawal wallet W6Ethereum | Laundering | Direct mixing-service interaction, Shared gas funder, Dormant balance | 93 Severe |
| Withdrawal wallet W5Ethereum | Laundering | Direct mixing-service interaction, Shared gas funder | 92 Severe |
| Gas funder G1Ethereum | Laundering | Direct mixing-service interaction | 90 Severe |
| Mixing service MX-1Ethereum | Mixing service | Service address | 90 Severe |
| Swap recipient W5bEthereum | Laundering | New address moving large value, Exchange deposit | 87 Severe |
| Attacker CDP vaultSolana | Affected protocol | Service address | 15 Low |
| Deposit cluster EX-03Solana | Exchange | Service address | 15 Low |
| Deposit cluster EX-07Ethereum | Exchange | Service address | 15 Low |
| Deposit cluster EX-07 (Arbitrum)Arbitrum | Exchange | Service address | 15 Low |
| Deposit cluster EX-11Ethereum | Exchange | Service address | 15 Low |
| Tallowmere admin multisigSolana | Affected protocol | – | 15 Low |
| Tallowmere insurance fundSolana | Affected protocol | Service address | 15 Low |
| Tallowmere oracle adapterSolana | Affected protocol | Service address | 15 Low |
| Tallowmere programSolana | Affected protocol | Service address | 15 Low |
| tUSD mint authoritySolana | Affected protocol | Service address | 15 Low |
| Bridge route BR-2Solana | Bridge | Service address | 10 Low |
| Bridge route BR-5Solana | Bridge | Service address | 10 Low |
| Liquidation keeper K1Solana | Counterparty | – | 10 Low |
| Liquidation keeper K2Solana | Counterparty | – | 10 Low |
| Corvid TLW / SOL poolSolana | DeFi protocol | Service address | 5 Low |
| Flash liquidity program FL-2Solana | DeFi protocol | Service address | 5 Low |
| SOL / USDC poolSolana | DeFi protocol | Service address | 5 Low |
| Swap aggregator AG-1Ethereum | DeFi protocol | Service address | 5 Low |
| tUSD / USDC poolSolana | DeFi protocol | Service address | 5 Low |
| tUSD holderSolana | Counterparty | – | 5 Low |
| tUSD holderSolana | Counterparty | – | 5 Low |
| tUSD holderSolana | Counterparty | – | 5 Low |
| USDC / WETH poolEthereum | DeFi protocol | Service address | 5 Low |
| USDC / WETH pool (Arbitrum)Arbitrum | DeFi protocol | Service address | 5 Low |
Investigation timeline
14 Jul 20261 transaction
- 19:05:33Mixing service MX-1 → Gas funder G1transfer on Ethereum · heuristic link · Earlier MX-1 withdrawal that funded the gas wallet.1 ETH
27 Aug 20261 transaction
- 14:22:10Deposit cluster EX-03 → Funding wallettransfer on Solana · Withdrawal from an exchange deposit cluster.412 SOL
29 Aug 20261 transaction
- 22:40:05Funding wallet → Exploiter wallettransfer on Solana410 SOL
30 Aug 202645 transactions
- 02:58:12Exploiter wallet → Exploit programinteraction on Solana · Program deployment (rent and buffer).Contract call
- 03:12:41Flash liquidity program FL-2 → Exploit programtransfer on Solana · Flash borrow.4,500 SOL
- 03:12:41Exploit program → Corvid TLW / SOL poolswap on Solana · Buy TLW; 81% of pool depth.4,200 SOL
- 03:12:41Corvid TLW / SOL pool → Exploit programswap on Solana · Valued at cost; the manipulated pool price was 8.1× the reference.640,000 TLW
- 03:12:41Tallowmere oracle adapter → Corvid TLW / SOL poolinteraction on Solana · Adapter reads the manipulated spot price.Contract call
- 03:12:41Exploit program → Attacker CDP vaulttransfer on Solana · Collateral deposit.640,000 TLW
- 03:12:41tUSD mint authority → Exploit programtransfer on Solana · Mint against manipulated collateral value.3,180,000 tUSD
- 03:12:41Exploit program → tUSD / USDC poolswap on Solana3,180,000 tUSD
- 03:12:41tUSD / USDC pool → Exploit programswap on Solana3,050,000 USDC
- 03:12:41Exploit program → SOL / USDC poolswap on Solana720,800 USDC
- 03:12:41SOL / USDC pool → Exploit programswap on Solana4,205 SOL
- 03:12:41Exploit program → Flash liquidity program FL-2transfer on Solana · Loan repaid with fee.4,505 SOL
- 03:14:05Exploit program → Exploiter wallettransfer on Solana · Net proceeds.2,329,200 USDC
- 03:20:30Liquidation keeper K1 → Tallowmere programinteraction on Solana · Liquidation call.Contract call
- 03:20:30Attacker CDP vault → Liquidation keeper K1transfer on Solana · Seized collateral.320,000 TLW
- 03:21:02Liquidation keeper K2 → Tallowmere programinteraction on Solana · Liquidation call.Contract call
- 03:21:02Attacker CDP vault → Liquidation keeper K2transfer on Solana · Seized collateral.320,000 TLW
- 03:24:40Liquidation keeper K1 → Corvid TLW / SOL poolswap on Solana · Keeper sells seized TLW.320,000 TLW
- 03:26:15Liquidation keeper K2 → Corvid TLW / SOL poolswap on Solana · Keeper sells seized TLW.320,000 TLW
- 03:31:12Exploiter wallet → Split wallet A1transfer on Solana800,000 USDC
- 03:33:40Exploiter wallet → Split wallet A2transfer on Solana800,000 USDC
- 03:36:05Exploiter wallet → Split wallet A3transfer on Solana729,200 USDC
- 03:41:00Tallowmere admin multisig → Tallowmere programinteraction on Solana · Mint pause.Contract call
- 04:02:11tUSD holder → tUSD / USDC poolswap on Solana · Sold near 0.88.640,000 tUSD
- 04:02:30Split wallet A1 → Bridge route BR-2bridge on Solana800,000 USDC
- 04:05:44Split wallet A2 → Bridge route BR-2bridge on Solana800,000 USDC
- 04:10:16tUSD holder → tUSD / USDC poolswap on Solana · Sold at 0.87.410,000 tUSD
- 04:15:02Gas funder G1 → Receiving wallet E1transfer on Ethereum · Gas.0.05 ETH
- 04:16:30Gas funder G1 → Receiving wallet E2transfer on Ethereum · Gas.0.05 ETH
- 04:20:02Split wallet A3 → Bridge route BR-5bridge on Solana729,200 USDC
- 04:21:18Bridge route BR-2 → Receiving wallet E1bridge on Ethereum799,200 USDC
- 04:24:09Bridge route BR-2 → Receiving wallet E2bridge on Ethereum799,200 USDC
- 04:31:47Bridge route BR-5 → Receiving wallet R1bridge on Arbitrum728,300 USDC
- 04:31:50tUSD holder → tUSD / USDC poolswap on Solana180,000 tUSD
- 05:02:14Receiving wallet E1 → Swap aggregator AG-1swap on Ethereum799,200 USDC
- 05:02:14Swap aggregator AG-1 → Receiving wallet E1swap on Ethereum238.4 WETH
- 05:09:51Receiving wallet E2 → Swap aggregator AG-1swap on Ethereum799,200 USDC
- 05:09:51Swap aggregator AG-1 → Receiving wallet E2swap on Ethereum238.4 WETH
- 05:30:26Receiving wallet R1 → USDC / WETH pool (Arbitrum)swap on Arbitrum728,300 USDC
- 05:30:26USDC / WETH pool (Arbitrum) → Swap recipient R2swap on Arbitrum · Swap output sent to a different recipient.217.4 WETH
- 06:30:00Tallowmere admin multisig → Tallowmere oracle adapterinteraction on Solana · Oracle moved to a bounded TWAP.Contract call
- 06:40:27Receiving wallet E1 → Mixing service MX-1transfer on Ethereum · Mixer deposit after unwrapping.200 ETH
- 06:45:03Receiving wallet E1 → Holding wallet E3transfer on Ethereum38.4 WETH
- 07:15:39Receiving wallet E2 → Mixing service MX-1transfer on Ethereum · Mixer deposit after unwrapping.200 ETH
- 07:20:12Receiving wallet E2 → Peel wallet E4transfer on Ethereum38.4 WETH
31 Aug 20261 transaction
- 12:00:00Tallowmere insurance fund → tUSD mint authoritytransfer on Solana · Burn to cover bad debt.210,000 tUSD
1 Sept 20262 transactions
- 10:12:44Peel wallet E4 → Mixing service MX-1transfer on Ethereum · Peel: deposit.20 ETH
- 10:14:09Peel wallet E4 → Peel wallet E5transfer on Ethereum · Peel: forward remainder.18.4 WETH
2 Sept 20263 transactions
- 08:31:56Peel wallet E5 → Mixing service MX-1transfer on Ethereum · Peel: deposit.18 ETH
- 17:22:40Swap recipient R2 → Deposit cluster EX-07 (Arbitrum)transfer on Arbitrum180 WETH
- 17:25:01Swap recipient R2 → Holding wallet R3transfer on Arbitrum37.4 WETH
3 Sept 20261 transaction
- 21:40:00Gas funder G1 → Withdrawal wallet W1transfer on Ethereum · Gas before withdrawal.0.02 ETH
4 Sept 20262 transactions
- 09:18:22Mixing service MX-1 → Withdrawal wallet W1transfer on Ethereum · heuristic link70 ETH
- 22:05:10Gas funder G1 → Withdrawal wallet W2transfer on Ethereum · Gas before withdrawal.0.02 ETH
5 Sept 20262 transactions
- 11:02:47Mixing service MX-1 → Withdrawal wallet W2transfer on Ethereum · heuristic link70 ETH
- 23:31:00Gas funder G1 → Withdrawal wallet W3transfer on Ethereum · Gas before withdrawal.0.02 ETH
6 Sept 20263 transactions
- 08:44:15Mixing service MX-1 → Withdrawal wallet W3transfer on Ethereum · heuristic link70 ETH
- 14:20:31Withdrawal wallet W1 → Deposit cluster EX-07transfer on Ethereum70 ETH
- 22:12:35Gas funder G1 → Withdrawal wallet W4transfer on Ethereum · Gas before withdrawal.0.02 ETH
7 Sept 20262 transactions
- 10:27:03Mixing service MX-1 → Withdrawal wallet W4transfer on Ethereum · heuristic link70 ETH
- 15:03:12Withdrawal wallet W2 → Deposit cluster EX-07transfer on Ethereum70 ETH
8 Sept 20262 transactions
- 13:47:55Withdrawal wallet W3 → Deposit cluster EX-11transfer on Ethereum70 ETH
- 21:58:19Gas funder G1 → Withdrawal wallet W5transfer on Ethereum · Gas before withdrawal.0.02 ETH
9 Sept 20263 transactions
- 09:51:40Mixing service MX-1 → Withdrawal wallet W5transfer on Ethereum · heuristic link75 ETH
- 16:30:08Withdrawal wallet W4 → Deposit cluster EX-11transfer on Ethereum70 ETH
- 23:16:52Gas funder G1 → Withdrawal wallet W6transfer on Ethereum · Gas before withdrawal.0.02 ETH
10 Sept 20261 transaction
- 12:09:28Mixing service MX-1 → Withdrawal wallet W6transfer on Ethereum · heuristic link75 ETH
12 Sept 20262 transactions
- 10:05:44Withdrawal wallet W5 → USDC / WETH poolswap on Ethereum75 ETH
- 10:05:44USDC / WETH pool → Swap recipient W5bswap on Ethereum · Swap output sent to a different recipient.251,100 USDC
13 Sept 20261 transaction
- 11:40:00Swap recipient W5b → Deposit cluster EX-11transfer on Ethereum251,100 USDC
Method
Heuristics, and how far to trust them.
Strong
Common gas funder
Several fresh wallets receiving their first gas from the same address are very likely controlled together. It survives mixing, because withdrawals still need gas.
Strong
Structured split
Three or more near-equal transfers within an hour from one address are rarely organic payments; they usually prepare parallel routes.
Moderate
Peel chain
An address that sends part of its balance to a service and forwards the rest to a new address, repeated, is moving one balance in steps.
Weak alone
Mixer timing and amount
Linking a withdrawal to a deposit by time and denomination is suggestive only. In the graph these links are dashed and can be hidden; they are never the only evidence for a lead.
Moderate
Swap recipient change
A swap whose output is sent to a different address than the sender breaks naive tracing. The legs share one transaction, so the graph follows the value through the pool.
Strong
Same EOA across chains
An externally owned account has the same address on every EVM chain. Activity under that address on several chains is controlled by the same key.
An investigation that stands up to scrutiny.
Fund-flow tracing with every inference labelled, exchange identification requests drafted, and a chronology that counsel and law enforcement can follow.
