Action the Hub migration

Summary

  1. Governance and staking shift to Neutron
  2. Introduction of new native ASTRO and xASTRO tokens
  3. You’ll be able to convert from the current ASTRO to new ASTRO at a 1:1 ratio
  4. The current token will be renamed to ASTRO.cw20 and the new one will be known as ASTRO
  5. The current staking token will be renamed to xASTRO.cw20 and the new one will be known as xASTRO
  6. The migration will start on Monday 8 April 2024
  7. The migration will be complete on Saturday 13 April 2024

Overview

As discussed in ARC-85 and passed soon after via governance, Astroport will be moving our Hub to Neutron. This has been a long awaited move and the time has finally come for it to happen. This post will explain the governance proposals, changes being made and what you need to do with your existing ASTRO and xASTRO.

Define the Hub

The Hub, in Astroport terms, is the chain where governance, known as the Astral Assembly, is deployed. This is also where the ASTRO and xASTRO tokens are minted as well as where you stake and vote on proposals. Currently, that all happens on Terra. The migration process will move the Astral Assembly, ASTRO and xASTRO tokens as well as staking to Neutron.

It is important to note that Astroport Outposts on other chains will continue to work as normal and will continue to do so during the migration as well as after. Astroport is NOT removing any Outpost.

During this migration we’ll be deprecating the current CW20-based ASTRO and xASTRO tokens and move to TokenFactory ASTRO and xASTRO tokens instead. You will be able to convert from ASTRO.cw20 (the current ASTRO) to ASTRO (the new ASTRO) at a 1:1 ratio - you will NOT lose any ASTRO tokens.

We’re doing this as TokenFactory tokens are essentially native tokens and bring with them the benefits native tokens have, such as simple transfers within wallets as well as more stable and commonly understood IBC transfers. We believe this change brings ASTRO and xASTRO into the modern Cosmos that we all enjoy these days.

The migration process

As we’re moving to a new ASTRO token, we’ll put up a governance proposal to mint 1.1 billion ASTRO on Neutron. This is the total supply of ASTRO as it is on Terra at the moment. If this proposal passes, we’ll continue the migration using the multisig as discussed in ARC-105 and passed via governance.

Initially we wanted to do the entire migration via governance proposals, but after getting everything in order we realised it would take months to vote on all the proposals required. Instead, we’ll be using the Builder Multisig to make the changes. It is expected that if the first proposal passes, we’d need 2 days to complete the migration steps. This is the least disruptive approach and puts the work on the contributers instead of the stakers.

Currently Astroport manages 2 IBC channels for each chain we’re deployed on, one for governance and another for ASTRO.cw20

After the migration we’ll only manage a single IBC channel for governance

To IBC ASTRO to another chain, we’ll simply use existing IBC channels available . This comes with the advantage of having multiple relayers already set up on these channels and should result in more stable IBC transfers than previously

A high level overview of the migration steps

  1. Deploy the IBC controller contract to Neutron
  2. Deploy the Treasury to Neutron
  3. Mint 1.1 Billion ASTRO and send to Treasury (first proposal)
  4. Set up staking on Neutron
  5. Convert the current Assembly on Terra to an Outpost (this will temporarily halt new governance proposals)
  6. Set new ASTRO as the token to use in the Maker on all Outposts
  7. Convert Neutron Outpost into Assembly
  8. Set up new governance IBC channels
  9. Enable Neutron assembly to govern all Outposts
  10. Deploy the ASTRO.cw20 → ASTRO conversion contracts
  11. Block IBC of ASTRO.cw20 to any other Outpost
  12. Burn all the current ASTRO.cw20 held in the Treasury
  13. Fund all the conversion contracts on Outposts with new ASTRO
  14. Create the main ASTRO - USD pools on all Outposts
  15. Migrate incentives to new ASTRO - USD pools on all Outposts
  16. Enable Maker on all Outposts for fees to flow to new xASTRO on Neutron

We won’t go into detail for each of these steps, if you’re curious, feel free to let us know and we’ll expand on the process.

As ASTRO.cw20 gets migrated to the new ASTRO token, the migrated ASTRO.cw20 will get burned at intervals. This will continue until all ASTRO.cw20 has been burned.

Staking rewards

Staking ASTRO for xASTRO allows you to receive part of the fees generated on all of Astroport’s Outposts. As fees flow in you see the xASTRO:ASTRO ratio change. This ratio is currently at 1:1.14. This means that, depending on the time you started staking, you receive more ASTRO when you unstake than what you put in.

As we are moving staking, this ratio will be reset to 1:1 on Neutron. As fees start flowing to Neutron from the Outposts the ratio will start to change again.
The current 1:1.14 ratio on Terra will stay as it is and you must unstake from Terra and stake again on Neutron (steps below) to continue to receive rewards and fees. xASTRO.cw20 on Terra will not receive any more rewards.

Migrating your tokens

Migrating ASTRO.cw20 to ASTRO

The process for migrating your current ASTRO.cw20 is the same on all the chains we are deployed on, except Osmosis. We highly encourage you to do the conversion swap on the Outpost you are on.

To convert it, open up the swap page and select ASTRO.cw20/ASTRO as the tokens. This will swap to the new ASTRO at a 1:1 ratio

For ASTRO holders on Osmosis

As we don’t have a compatible 1:1 pool available on Osmosis, holders on Osmosis will need to bridge back to Terra to do the conversion

Migrating xASTRO.cw20 to xASTRO

There is no direct conversion of xASTRO. The process to get new xASTRO is as follows:

  1. Unstake your xASTRO.cw20 from the governance page
  2. Migrate the ASTRO.cw20 using a normal swap
  3. IBC your new ASTRO to Neutron using our bridge
  4. Stake your new ASTRO for xASTRO

We highly encourage you to unstake and restake and not attempt to swap xASTRO.cw20 for ASTRO.cw20. The xASTRO.cw20/ASTRO.cw20 pool is illiquid and you will lose tokens via swap.

Bridging new ASTRO to other chains

With ASTRO being a native TokenFactory token, IBC operations will be much simpler.

  1. You’ll be able to use your wallet’s IBC transfer feature
  2. You can use our bridge

Conclusion

The Hub migration marks the beginning of a new chapter for Astroport and our push towards modernising the protocol to better align with the innovations within the Cosmos ecosystem. It further unblocks features and improvements we’ve been working on for a while, including vxASTRO.

We, as contributors, are excited to be moving forward with this change and feel confident that this is the best way forward for the protocol.