Most tokens are ERC20 tokens with varying implementations, and varying protections against bugs. However, there is the ERC223 token standard, which is an attempt to fix some of the problems in ERC20. It seems to be at least somewhat backward compatible with ERC20.

So, if deploying a token today, what would be the best implementation to base it on?

The goals are, in decreasing order of importance:

  • Security: the implementation should be free of security vulnerabilities
  • Future Proof: the token should be tradeable as long as possible without needing to be replaced
  • Compatibility: the token should work with as many exchanges and wallets as possible
  • Someone from the Ethereum Foundation should answer this question. Maybe they can't say definitively, but there should be some group there that can provide guidance. The fact that no-one really knows the answer to this is pitiable. Aug 16, 2017 at 20:16

2 Answers 2


Taking an informal look:

The ConsenSys contract is very basic and does not use safe maths operations. I wouldn't use this.

OpenZeppelin features lots of different token types, which provides flexibility, and has had a relatively high amount of scrutiny. It looks like a good basis to base your token on.

My understanding is that the ERC223 standard is not complete yet, and it's debatable how important its advantages are - I'd suggest you're better of sticking with ERC20. It's worth specifically noting that http://github.com/Dexaran/ERC23-tokens/tree/master/token/ERC223 is missing ERC20 basics such as name, symbol, decimals and totalSupply.

Another important point that none of these contracts include delegation, which you would need it you want to be able to make your token upgradeable. Here is an example of an upgradeable contract: https://github.com/numerai/contract/blob/master/contracts/NumeraireBackend.sol


You may be interested in an implementation of ERC223 forked from OpenZeppelin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.