Adding a new token to the network after it has already started

Hi there.

Is there a way to add a new token to an already-running Cosmos application chain? For example, let’s say the staking token is “ABC”, and the network is running already. Now, let’s say I wanted to add a new token FOO that people could have balances of, and in fact, even have some validators who are willing to accept GAS that is paid for with a minimum gas price, expressed in FOO.

Can I do this? I am not sure. It almost seems like I would have to define FOO in the genesis before the network started – otherwise, how can it FOO even come into existence?

Hope this makes sense. I want to know if I can add arbitrary new tokens to the network, after the fact. I am pretty sure I can do this before hand by simply modifying the accounts.coins section of genesis.json and adding whatever I want in there.

Thanks.

This would depend on the code of the network, usually it would require a hardfork of course

Edit: of course, it would depend on the code of the netwrok and the new token, whether it conflicts with anything in consensus.

It is possible and in fact, it has been Already done in the past. Last winter, tendermint team has introduced a concept of photinos on one of the gaia testnets.

It is hard to imagine how this would happen without a hardfork where the genesis is re-written to support a new token, and then we use other mechanisms to rebuild the state of the network before the hardfork.

I assume a new token cannot just magically appear in a cosmos wallet with a certain balance.