Reasons why simple Token should be upgradeable

The question is that the simple organization token is built with basic Open Zeppelin libraries.

It doesn’t have a custom implementation. It’s not a protocol.

Any reasons to make it upgradeable?


Good question. My thoughts on this: you never know what you might want to introduce to the contract in the future. So unless you are certain that the Token will stay as it is forever, you might want to consider having it upgradeable. Although this of course goes against immutability idea of the whole thing, it also gives you the opportunity to handle bugs in case they appear…

1 Like

Hi @dmdv,

It really depends on your use case for your token.

What would you do if there was a bug or you wanted to add functionality?
If the contract wasn’t upgradeable, then you could migrate your users to a new token address. This may be more or less expensive than the overhead of using an upgradeable token.

If your contract is upgradeable, then an account needs to have control of the upgrade mechanism, ideally this would be some form of community controlled multisig.

An example of an upgradeable token is USDC