Who must hold the ERC-20 Token Initial Supply?

Hello, this is not a question on coding itself but in operation. The question is, assuming you have an ERC-20 token, who must be the holder of the initial and all unassigned supply? In other words, who do I mint to the unasigned tokens?

I find 4 candidates:

  • the owner who deployed the contracts
  • the ICO smart contract if there is an ICO
  • the ERC-20 token address itself
  • another special wallet/smart contract, as an escrow or vault, holding all the unassigned liquidity

Whereas I find enough documentation and discussions on coding, I am not able to find much documentation on operation, e.g. operation with supplies. Can you please point me out to some resources that you know discussing good operation practices?


Response: 3 cases:

  • 1 - Crowdsale owns the tokens => use transfer
  • 2 - MinterRole from ERC20Mintable owns the tokens => use MintedCrowdsale
  • 3 - Other owns the tokens (owner, token smart contract, third party smart contract) =>
    3.1 - use approve + transferFrom or
    3.2 - use AllowanceCrowdsale

It would be interesting to assess each from the point of view of security BTW.