Hi everyone,
Here’s the next progress report on Prop 12226 “Reroute LUNC/USDC Position To Injective USDC”. After the first tranche (Terraport), we’ve now moved the second tranche: 50% of the multisig’s Terraswap LP and 50% of its Garuda LP were withdrawn, and 20,000 USDC.n was roundtripped to Injective USDC along the same route as before.
The tranche is complete, and the funds are back in the multisig as Injective USDC. This completes the first pass of the migration: half of the multisig’s position in each of the three old pools has now been withdrawn. Every step can be verified on chain with the links below.
TL;DR
- 50% of the multisig’s Terraswap and Garuda LUNC/USDC.n LP was withdrawn. That gave 21,051.99 USDC.n and 399,507,438.46 LUNC (after the 1.5% tax).
- 20,000 USDC.n went Terra Classic → Noble → Ethereum (Circle CCTP) → Injective (Circle CCTP) → Terra Classic.
- 19,999.999575 Injective USDC arrived back at the multisig. The only loss on the USDC side was 0.000425 USDC (a Skip fee), plus gas.
- The whole flow took about 26 minutes, from the DAO proposal’s execution to the funds arriving back.
- The remaining 2,031.40 USDC.n stays in the multisig as a buffer for the next pass. The LUNC stays in the multisig for seeding the new pools.
Since the last update
The first two LUNC/USDC (Injective) pools are live. DAO proposal A59 created them on Terraport and Garuda, and A60 seeded each with 3,216.64 Injective USDC + 60,440,703.41 LUNC. The Terraswap pool will follow once Terraswap has registered the Injective USDC denom. A61 also made all LP tokens visible in the multisig’s DAO DAO treasury.
| DEX | New LUNC/USDC (Injective) pair |
|---|---|
| Terraport | terra1lcfmpgcekphsdlealq5r8tffx47mzkrt0kq2k2lh9nqmjmmashasdymd77 |
| Garuda | terra1n5zqejrguru8zv0evme34neajjxh9gz3877quyyj8ashfnuk43zs8uf25d |
Who holds the funds
As before, 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 can’t hold funds on Ethereum or Injective, so for those legs the USDC passed through the same intermediary wallet as in the previous roundtrips. The funds were outside the multisig for about 25 minutes, and every movement is linked below.
Step 1: Withdraw and bridge to Ethereum (DAO proposal A62)
DAO proposal A62 “Migration Pass 1: Withdraw 50% Terraswap + 50% Garuda LP and bridge 20,000 USDC.n to Ethereum” passed 7 yes / 0 no / 0 abstain and was executed on 2026-10-01. As in A58, the withdrawal and the bridge transfer were combined in a single proposal, this time covering two pools at once.
As in the first tranche, we bridged a fixed amount: 20,000 USDC.n, below what the withdrawal plus the 979.41 USDC.n buffer from A58 were expected to give. That way, a price move during the vote couldn’t make the proposal fail. The withdrawal paid out 21,051.99 USDC.n, about 24 USDC.n more than simulated at submission.
Execution tx: BDA8C199…2139
| Pool | LP burned | USDC.n received | LUNC gross | LUNC tax (1.5%) | LUNC received (after tax) |
|---|---|---|---|---|---|
| Terraswap | 1,445,664.80 | 10,698.438555 | 206,077,876.47 | 3,091,168.15 | 202,986,708.32 |
| Garuda | 1,408,279.25 | 10,353.552690 | 199,513,431.62 | 2,992,701.47 | 196,520,730.14 |
| Total | 21,051.991245 | 405,591,308.08 | 6,083,869.62 | 399,507,438.46 |
| When (UTC) | Chain | What happened | Tx |
|---|---|---|---|
| 13:06:38 | Terra Classic | A62 executed: LP withdrawn, multisig sends 20,000 USDC.n to Noble | BDA8C199…2139 |
| 13:07:00 | Noble | USDC received and burned through CCTP for Ethereum | 7C6AE098…DE86 |
| 13:08:23 | Ethereum | 20,000 USDC minted to the intermediary wallet on Ethereum | 0xfae1baad…7808 |
No bridge fee was charged. As before, a public relayer minted on Ethereum, this time less than 2 minutes after the proposal was executed.
Step 2: Ethereum → Injective → Terra Classic (via Skip)
From Ethereum we used Skip again to bring the USDC back to the multisig as Injective USDC, with the multisig address as the final receiver.
| When (UTC) | Chain | What happened | Tx |
|---|---|---|---|
| 13:14:23 | Ethereum | 20,000 USDC sent into the route. Skip took a 0.000425 USDC fee, and 19,999.999575 USDC was burned through CCTP for Injective | 0x1e679e03…89bc |
| 13:30:09 | Injective | Circle attested (after about 16 min of Ethereum finality) and 19,999.999575 USDC was minted to the intermediary wallet on Injective | F7BA0F4D…FE3E |
| 13:31:29 | Injective | 19,999.999575 USDC sent over IBC to the multisig on Terra Classic | 0EF0A955…A09B |
| 13:32:23 | Terra Classic | 19,999.999575 Injective USDC arrived at the multisig | 02B86639…CFBC |
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 | 6,083,869.62 LUNC |
| Skip fee | 0.000425 USDC |
| Gas: Terra Classic, Ethereum, Injective | ~97.01 LUNC, ~0.00036 ETH, 0.00035 INJ |
| USDC lost in bridging | 0.000425 USDC out of 20,000 (about 0.000002%) |
The Skip fee was again about the same as in the rehearsal (0.00045 USDC) and the first tranche (0.000439 USDC), so it doesn’t scale with the amount.
Multisig balances now
| Asset | Amount |
|---|---|
| Injective USDC | 23,216.641588 (19,999.999575 from this tranche + 3,216.642013 not yet used for pools) |
| USDC.n | 2,031.401878 (buffer kept for the next pass) |
| LUNC | 478,308,001.97 |
The 3,216.64 Injective USDC that was already in the multisig is the third reserved for the Terraswap pool. The multisig also holds the LP tokens of the two new pools and the remaining 50% of its LP in each of the three old pools.
Anyone can check these with the multisig address.
Pass 1 in total
| Tranche 1 (A58) | Tranche 2 (A62) | Total | |
|---|---|---|---|
| Pools | Terraport | Terraswap + Garuda | all three, 50% each |
| USDC.n withdrawn | 10,479.41 | 21,051.99 | 31,531.40 |
| LUNC withdrawn (after tax) | 196,958,360.74 | 399,507,438.46 | 596,465,799.21 |
| USDC.n bridged | 9,500 | 20,000 | 29,500 |
| Injective USDC received | 9,499.999561 | 19,999.999575 | 29,499.999136 |
Across both tranches, bridging 29,500 USDC cost a total of 0.000864 USDC in fees.
What we learned
- Two pools in one proposal works. Withdrawing from Terraswap and Garuda and bridging in a single proposal went through without problems, so the migration needed one voting round fewer.
- The buffer approach keeps working. The fixed 20,000 USDC.n bridge amount and the buffer in the multisig mean that a price move during the vote can’t make the proposal fail.
- Faster turnaround. Starting the Ethereum → Injective leg right after the Ethereum mint brought the total time down to about 26 minutes. About 16 minutes of that was Circle waiting for Ethereum finality.
- The 1.5% LUNC tax applies again. It cost 6.08M LUNC on this tranche and about 9.08M LUNC over pass 1.
Next steps
- Use the new Injective USDC and LUNC in the multisig to add liquidity to the new LUNC/USDC (Injective) pools through DAO proposals.
- Set up the Terraswap LUNC/USDC (Injective) pool once Terraswap has registered the denom.
- Pass 2: withdraw the remaining 50% of the LP from Terraport, Terraswap and Garuda, and bridge it along the same route together with the 2,031.40 USDC.n buffer.
We’ll keep posting updates here as each step goes through. Questions and feedback are welcome!