Points to consider when creating a fungible token (ERC20, ERC777)

If you are thinking about creating a fungible token (ERC20, ERC777), you may want to consider the following points:

  • What is the purpose of the token?
  • Why would someone need to use the token?
  • Could the solution operate without a token?
  • Could the solution operate using either the native currency of the blockchain (Ether) or an existing stable token instead of the token?
  • Could the solution be cloned and have the token removed, yet still operate (without the token)?

If you plan for your token to potentially have value, your solution should have appropriate testing and auditing:

If you have access control for minting, pausing, upgrades you should design your governance behind when and how these functions can be used and communicate this to your potential token users.

I suggest seeking appropriate advice on regulatory compliance.

You also should design your tokenomics of your token.


For ERC777 you also need to handle reentrancy, see Reentrancy After Istanbul

This is a wiki post, please edit/update