Initia exploit: the attacker bought its Initia gas with Tornado Cash ETH through Osmosis, tested the bridge it drained, and all 1,135.52 ETH still sit on one address
PublicAML · On-chain investigation · 25 October 2026
On 23 October 2026 an attacker used a MoveVM flaw to credit itself unbacked tokens on Initia and pulled about $2.7 million out to Ethereum in seven minutes: 1.4 million AUSD through LayerZero, 1.08 million USDC through Noble and Circle’s CCTP, and 105 ETH from Initia’s own ETH bridge. Swapped into 1,135.52 ETH, the money has sat on one wallet since 15:41 UTC that day. Initia, D2 Finance and Unchained have described the mint, the exits and Agora’s freeze. What the reports leave out: the attacker’s account on Initia is the same key as its Ethereum wallet; the gas it needed on Initia was bought with Tornado Cash ETH, routed through Axelar and Osmosis at 13:14 UTC; it has an Osmosis account that still holds its change; and at 14:37 UTC it sent a few dollars of ETH through the exact bridge contract it emptied 29 minutes later.
1,135.52 ETH
on 0x358eF013… since 23 Oct 15:41:35 UTC, five seconds after Initia halted; no outgoing transaction as of 25 Oct 19:30 UTC (about $2.66M at $2,346)
7 min 21 s
from the forged mint on Initia (14:59:26 UTC, per D2 Finance) to $2.65M on Ethereum
13:14 UTC
when the attacker sent Tornado Cash ETH through Axelar to buy INIT on Osmosis for its own Initia account — 1 h 45 min before the mint; the INIT was swapped at 13:30
88 min
between the 1inch sale of the AUSD (15:03 UTC) and Agora’s freeze of the attacker address (16:31 UTC); the address held no AUSD when it was frozen
What is known
Initia is a Cosmos SDK chain that runs the Move virtual machine. On 23 October 2026 an attacker used a script-caching flaw in Initia’s MoveVM to create balances of WETH, iUSD and USDC that nothing backed; INIT itself was not minted. D2 Finance traced a signed transaction at 14:59:26 UTC that minted 2,000,000 AUSD on Initia, and the LayerZero message that released 1.4 million real AUSD from the Ethereum adapter 153 seconds later. Initia halted its L1 and rollups at 15:41:30 UTC; the attacker’s Ethereum wallet moved 1,135.5 ETH to a new address five seconds later. Agora, the AUSD issuer, froze the attacker address at 16:31:59 UTC. Initia put the loss at about $2.7 million and said recovery work with security partners is under way; the chain had no restart date when this was written.
The exits, read from the chain
Every dollar landed on one Ethereum wallet, 0xDD922c841d85E12dac2dc2eef5a5E29cFFf6edFA. 1,400,000 AUSD came from Agora’s LayerZero adapter (0x38b8B7ca28E672018a299B20565aCa8cF200C844) at 15:01:59 UTC, sent from Initia at 15:00:49; that is about 71% of what the adapter held, which is why 2 million were minted and 1.4 million arrived. 999,999.89 USDC were minted to the wallet through Circle’s CCTP at 15:02:35 and another 79,999.85 at 15:25:11; both burns were made on Noble by its Orbiter module (noble15xt7kx5mles58vkkfxvf0lq78sw04jajvfgd4d), the module that forwards IBC transfers into CCTP, so the USDC left Initia over IBC to Noble and did not pass through a wallet of its own. 105 ETH came from Initia’s ETH bridge contract on Ethereum (0x66a503a1060AB3f2B1AAaBeD613fe30BAbbC1bDE, the LayerZero app named “Initia Bridge”) at 15:06:47, sent from Initia at 15:05:32.
The swaps took four minutes. The AUSD went through 1inch at 15:03:23 for 581.56 ETH, 84 seconds after it arrived; the first USDC batch through 1inch at 15:04:59 for 415.70 ETH; the second through 0x’s Settler at 15:26:47 for 33.18 ETH. With the 105 ETH and the remains of the gas, the wallet held 1,135.52 ETH, and sent all of it to 0x358eF0130f7A5aA516dCd81Bdc80B18CdE41CAC8 at 15:41:35. That address has never sent a transaction. On 25 October at 19:30 UTC it still held 1,135.52 ETH.
One key on both chains, and the gas paid with Tornado Cash
The LayerZero messages that carried the AUSD and the ETH out of Initia were sent by init1mkfzepqashsjmtpdcth0tf0znnlldm06a5m89u. Decoded, that account is the same 20 bytes as the Ethereum wallet 0xDD922c841d85E12dac2dc2eef5a5E29cFFf6edFA: Initia uses Ethereum-style keys, and the attacker used one key on both sides of the bridge.
The Ethereum wallet received its first money at 08:26:59 UTC: 0.098 ETH from Tornado Cash’s 0.1 ETH pool (0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc), the deposit less a relayer’s fee, six and a half hours before the mint. D2 Finance noted this and “small transfers through AxelarHandler from 13:14 UTC”. Where those transfers went has not been published. They are three Skip “swap and action” calls through Axelar to Osmosis (0xB773bCc5B325ad9AC6B36e1A046AD4466833A16E). The first, at 13:14:23, sent 0.008 ETH; at 13:30:46 Skip swapped it on Osmosis into INIT and passed the INIT over IBC to init1mkfzepqashsjmtpdcth0tf0znnlldm06a5m89u — the attacker’s own Initia account. The other two, at 13:59:47 and 14:24:23, swapped small amounts into OSMO for osmo1t9zxz5ue5w04l5sz6pr5paydetegrd567as3zj, which was also named as the recovery address in all three calls. The Initia account that signed the mint therefore paid its fees with INIT bought from Tornado Cash ETH, 1 hour 45 minutes before the attack.
The Osmosis account is a separate key (a standard Cosmos key, not derived from the Ethereum wallet), that has signed two transactions. It still holds about 18.9 OSMO and a dust balance of Axelar-wrapped ETH. It is the one place outside Ethereum where the attacker left something, and the exchange or wallet that funds it next would link the two.
The test run, 29 minutes before
At 14:37:35 UTC the attacker wallet called send on the same Initia ETH bridge contract (0x66a503a1060AB3f2B1AAaBeD613fe30BAbbC1bDE) with 0.006 ETH, fee included. The LayerZero message carried a composed instruction to run a Skip swap on Initia for init1mkfzepqashsjmtpdcth0tf0znnlldm06a5m89u. Twenty-nine minutes later that contract paid the attacker 105 ETH, about 96% of what it held. A small round trip through a bridge right before draining it is how an attacker checks the path works and that the destination account can execute; it also places the attacker on Initia, with funds, before the mint.
The freeze, and the look-alikes
Agora froze 0xDD922c841d85E12dac2dc2eef5a5E29cFFf6edFA in AUSD at 16:31:59 UTC (batchFreeze). By then the wallet had held no AUSD for 88 minutes and no ETH for 50: the AUSD had been sold on 1inch at 15:03 and the ETH moved at 15:41. Unchained reported that the address was empty at the time. ETH cannot be frozen, so the 1,135.52 ETH can only be stopped where it next meets a service that screens it.
Since 24 October both attacker wallets have been receiving fake “ETH” tokens and zero-value transfers from addresses built to look like them: the same first four and last four characters (0x358e…cac8, 0x3587…cac8). This is address poisoning, aimed at the attacker copying a wrong address out of its own history. The look-alikes are listed below so that a compliance team does not mistake them for the attacker; they are not the attacker, and PublicAML has not filed them as part of this case.
What this page does not say
It does not say who the attacker is, or that Agora, LayerZero, Circle, Noble, Axelar, Skip, Osmosis, 1inch or 0x did anything wrong: the bridges and swap routers executed valid messages and orders. It does not describe the MoveVM flaw beyond what Initia has published. The mint, the LayerZero release and the 7 min 21 s figure are D2 Finance’s; the freeze timing was reported by Unchained; the cause and loss figure are Initia’s. The same-key link between Initia and Ethereum, the Axelar–Osmosis gas route, the Osmosis account, the bridge test, the Noble Orbiter path and the balances are PublicAML’s own reading of the chain on 25 October 2026.
Addresses in this case
Attacker wallet and where the 1,135.52 ETH sit (Ethereum)
The same attacker on Osmosis and Initia (not indexed by PublicAML)
- osmo1t9zxz5ue5w04l5sz6pr5paydetegrd567as3zj
- init1mkfzepqashsjmtpdcth0tf0znnlldm06a5m89u
Look-alike addresses sending fake “ETH” tokens to the attacker (address poisoning, not the attacker)
Check an address yourself
Free, no sign-up. Paste any address to see whether it is linked to this or any other incident:
Sources: Initia’s statements of 23–24 October 2026 (as reported by MarsBit/KuCoin and TokenPost); D2 Finance’s on-chain analysis of 23 October as reported by Unchained, Crypto Times and Yahoo Finance; Unchained for the Agora freeze timing; Ethereum data via Blockscout; LayerZero Scan for the Initia-side senders; Axelarscan for the three Axelar calls; Osmosis and Noble public REST nodes for the two Cosmos accounts; read by PublicAML on 25 October 2026. Initia’s own explorer and REST endpoints were down while the chain was halted. Price: ETH $2,346 (CoinGecko, 25 Oct). This is an information resource about transactions between addresses, not financial or legal advice, and it names no individual as responsible for anything.