Hi everyone,
Here’s a progress report on Prop 12226 “Reroute LUNC/USDC Position To Injective USDC”. As outlined in the proposal, we started with a small rehearsal before touching the main liquidity: withdraw about $100 from each of the three prop 12171 pools, roundtrip the USDC.n to Injective USDC, and use it to set up the new pools.
The rehearsal is complete, and the funds are back in the multisig as Injective USDC. Every step can be verified on chain with the links below.
TL;DR
- About $300 of liquidity was withdrawn from Terraport, Garuda and Terraswap. That gave 149.926928 USDC.n and 2,723,609.58 LUNC.
- The 149.926928 USDC.n went Terra Classic → Noble → Ethereum (Circle CCTP) → Injective (Circle CCTP) → Terra Classic.
- 149.926478 Injective USDC arrived back at the multisig. The only loss on the USDC side was 0.00045 USDC (a Skip fee), plus a few cents of gas.
- The bridging took about 35 minutes end to end, once the DAO proposal was executed.
- The LUNC stays in the multisig, and the Injective USDC will be paired with it to set up the new LUNC/USDC pools.
Who holds the funds
The funds are held by the DAO DAO multisig “Terra Classic Liquidity Initiative 12171”:
terra132qeqedz0yztuztj0rjav4rzlkashpsdxsmh64jpgp2ul0wdlkzquzvln6
Every on-chain action from the multisig goes through a DAO proposal that needs 7 of 10 signers. The multisig lives on Terra Classic and can’t hold funds on Ethereum or Injective, so for the Ethereum and Injective legs the USDC passed through an intermediary wallet. It was there for about 35 minutes, and every movement is linked below.
Step 1: Withdraw rehearsal liquidity (DAO proposal A55)
DAO proposal A55 “Withdraw Rehearsal Batch” passed 7 yes / 0 no / 0 abstain and was executed on 2026-09-21.
Execution tx: ACE77985…FB4E6
| Pool | LP burned | USDC.n received | LUNC received (after tax) |
|---|---|---|---|
| Terraport | 6,813.00 | 49.999256 | 924,332.06 |
| Garuda | 6,613.00 | 49.933252 | 898,379.93 |
| Terraswap | 6,585.00 | 49.994420 | 900,897.58 |
| Total | 149.926928 | 2,723,609.58 |
The chain’s 1.5% tax applied to the LUNC paid out by the pools, 41,476.29 LUNC in total. The USDC.n wasn’t taxed. We’ll see the same tax during the full migration.
Step 2: Terra Classic → Noble → Ethereum (DAO proposal A56)
DAO proposal A56 “Rehearse ~150USDC.n” passed 8 yes / 0 no / 0 abstain and was executed on 2026-09-23. It sent all 149.926928 USDC.n over IBC to Noble. Noble’s orbiter module then burned it through Circle’s CCTP and minted native USDC on Ethereum.
| When (UTC) | Chain | What happened | Tx |
|---|---|---|---|
| 06:07:27 | Terra Classic | Multisig sends 149.926928 USDC.n to Noble | 5BE559CC…28FE |
| 06:08:00 | Noble | USDC received and burned through CCTP for Ethereum | 80740FD5…2909 |
| 06:08:23 | Ethereum | 149.926928 USDC minted to the intermediary wallet on Ethereum | 0x31562827…b823 |
No bridge fee was charged, and the USDC was on Ethereum 23 seconds after the Noble burn.
Step 3: Ethereum → Injective → Terra Classic (via Skip)
From Ethereum we used Skip to bring the USDC back to the multisig as Injective USDC. Circle’s CCTP burns the USDC on Ethereum and mints native USDC on Injective, and IBC then carries it to Terra Classic. The multisig address was entered as the final receiver.
| When (UTC) | Chain | What happened | Tx |
|---|---|---|---|
| 06:26:11 | Ethereum | 149.926928 USDC sent into the route. Skip took a 0.00045 USDC fee, and 149.926478 USDC was burned through CCTP for Injective | 0x584be864…1bab |
| ~06:41 | Injective | Circle attested (after about 15 min of Ethereum finality) and 149.926478 USDC was minted to the intermediary wallet on Injective | |
| 06:41:45 | Injective | 149.926478 USDC sent over IBC to the multisig on Terra Classic | F8BF4A02…4DB1 |
| ~06:42 | Terra Classic | 149.926478 Injective USDC arrived at the multisig |
On Terra Classic, the Injective USDC has the denom:
ibc/F52112392095A6D6D1B17EF1FE19BE0B39B2A79B8A2B2F55CD721FC7DBF5081F
(IBC path: transfer/channel-143/erc20:0xa00C59fF5a080D2b954d0c75e46E22a0c371235a)
Costs
| Item | Amount |
|---|---|
| Terra Classic tax on withdrawn LUNC | 41,476.29 LUNC |
| Skip fee | 0.00045 USDC |
| Gas: Terra Classic, Ethereum, Injective | ~30.87 LUNC, ~0.00036 ETH, 0.00035 INJ |
| USDC lost in bridging | 0.00045 USDC out of 149.93 (about 0.0003%) |
Multisig balances now
| Asset | Amount |
|---|---|
| Injective USDC | 149.926478 |
| LUNC | 2,723,609.58 |
| USDC.n | 0 |
Anyone can check these with the multisig address.
What we learned for the full migration
- The route works as designed. Both CCTP legs (Noble → Ethereum and Ethereum → Injective) went through without problems, and no value was lost beyond a tiny fee.
- It’s fast once executed. The bridging took about 35 minutes. Most of that was the ~15 min Circle waits for Ethereum finality before attesting.
- The Injective step needs a little INJ for gas. The wallet that forwards from Injective to Terra Classic needs a small INJ balance. We’ll fund it before the full migration.
- The 1.5% LUNC tax applies to pool withdrawals. We’ll account for it when planning the full migration.
Next steps
- Use the 149.93 Injective USDC and the LUNC from the rehearsal to set up the new LUNC/USDC (Injective) pools through DAO proposals.
- Once the new pools work as expected, prepare the full migration of the remaining USDC.n liquidity along the same route.
We’ll keep posting updates here in the discourse forum as each step goes through. Questions and feedback are welcome!