HOSTING YOUR OWN ICO — 101

Ayush Tiwari
deqode
Published in
9 min readDec 15, 2017

If you have an innovative idea worth millions and you’re thinking about your own ICO to achieve this feat, you should be prepared to ask yourself several questions before you approach a solidity developer. If you’re a solidity developer, writing crowdsale and token contracts, it’s your responsibility to ask questions from your clients. In many cases asking the right questions is a very important job, as it can reduce planning time drastically and can help you proceed to the required solution. This article will help you understand basic questions you must ask yourself before finalizing a crowdsale or a token strategy. Their answers will shape the smart contract and the way you’ll handle your investment plan. We’ll go through them one by one.

Crowdsale Considerations:

A crowdsale offers a platform where investors can come and buy crowdsale tokens, offering support to the ICO, with added benefits for themselves, if the organizer’s idea succeeds. Your crowdsale would be handling people’s money, moreover it will be collecting money for you. Therefore, you should plan properly before proceeding. Following are some questions to help you through:

When should your crowdsale begin?
It should depend on following factors — time to market your idea properly, cryptocurrency market conditions, status of your idea prototype.

What should be the duration of your crowdsale?
It should be a duration apt for you, to raise an amount which will be sufficient to proceed with your project.

Duration of your crowsale should be dependent on time stamp of a block or block number?
In Ethereum blockchain, a sense of timing can be consumed in two fashions- block time stamp (now) and block number. You have to choose which one you will use. Usually block time stamp, i.e. now is used and we recommend it too.

Do you want a presale?
It could be a nice strategy to attract investors before your actual crowdsale, and measure your popularity in the market. It could also be organized for special customers who want subsidized token swap rates for showing early trust in your idea. If you want a presale, more questions are waiting for you:

When will it begin?
What will be it’s duration?

Should your crowdsale be divided into milestones?
Milestones are periods of time during which your crowdsale will be active, but these time periods can have gaps between them. Each milestone can have separate properties such as its own token swap rate, cap etc. You should also think about the following questions:

How many milestones do you need?
When will each milestone start?
What will be the duration of each milestone?
Will there be a cap for each milestone or an overall cap?

Do you want your crowdsale token swap rate to be based on fiat currencies (USD/EUR) or ether (ETH)?
We recommend ether because during the duration of your crowdsale ether to fiat rates may vary excessively, this could introduce complexity which could be easily avoided if we choose the latter option. Nevertheless there are many ICOs which opt for the former option, but you should think carefully before doing so.

Do you want a Cap?
A cap helps you decide when to stop and when to give up. It also helps you regulate control and shows that you’re no scrooge, ultimately building a relationship of trust with your investors. This is one of those questions that you must answer with a yes. There are various questions associated with capping you should ponder on:

What should be your minimum ether/fiat cap?
This is the minimum financial goal of a crowdsale. In Layman’s terms, it’s the minimum amount at startup, which is deemed sufficient to carry on with a project.

What should be your maximum ether/fiat cap?
This is the maximum desired financial goal from an ICO. It’s the amount that the project needs to develop or improve their product. The team usually believes this amount will cover the successful development of the project until the moment it becomes profitable. Still most projects set a very high cap that is unlikely to be achieved. Only a few famous projects like Status or Brave browser successfully reached their hard cap. You can find a list of complete/incomplete ICOs on ICOdrops.

Do you want to accept multiple contributions from an investor or do you want a limit on number of investments from a single investor?

Do you want an individual min/max cap for each investor? If yes, how much?

Do you need a fixed token supply (max token cap) or a fixed ether/fiat cap?
You want your tokens to be created at the very start of your ICO or you want new tokens to be created every time someone buys your tokens, until your ether/fiat cap is reached? If latter is your choice, just decide the token swap rate considering the max ether/fiat cap and the duration of your crowdsale (also include, presale and milestone strategy, if any). Otherwise, answer the following:

  • What should be the total supply of your tokens?
  • What should be the swap rate of your tokens?
    Decide this on the basis of maximum ether/fiat cap and total supply of your tokens.
  • What should happen to the tokens if required cap is not reached?
    This means if some tokens are left even after crowdsale ends, should they be sent to some reserve or they’re to be distributed among crowdsale owners. Another strategy is Airdrop, where left over tokens will be distributed among token holders according to their fare share after crowdsale.

What will be your refund policy, if cap is not reached?
Usually ethers are transferred to a vault contract for safe keeping until min/max cap is reached. If cap is not reached user’s can come to the crowdsale contract and claim their tokens using a pull mechanism. ICO organizers can also opt for a separate strategy according to their needs.

Would tokens be available to buy after crowdsale?
If you intend to sell all your tokens during a crowdsale, you should not opt for this option.

Do you want a referral policy during your crowdsale?
Your investors will have a referral code, when someone signs up on your platform using this referral code, the referrer will be able to claim reward tokens. It has the following questions associated with it:

What should be the percentage of tokens assigned for referrals.
How many referrals should be allowed for a single user?

Do you want a pause feature for your crowdsale?
Crowdsale owners will be able to stop investors from buying tokens, in case of malicious attack on their platform or some bug report. After resolving these problems the crowdsale could be continued.

Do you want your crowdsale to be extendable?
Crowdsale owners will be able to change start and end time of your crowdsale, though it is advisable only when milestone strategy is not being used.

Do you want your crowdsale to have a KYC logic?
Crowdsale address is public and anyone can access it, it could lead to a huge problem- even non KYC contributors would be able to participate in your crowdsale. This could be solved with a simple white listing solution.

Do you need an owner assigned token mechanism for your crowdsale?
This allows the crowdsale owner to assign tokens at will, it could have some checks to restrict it’s unauthorized use of course. Still it is not advisable because it promotes centralization and reduces the trust of customers.

Any other special functionality for your crowdsale?
There might be some special functionality of your crowdsale that could be unique in itself, you cannot leave anything. So think about it carefully.

What will be your initial share distribution scheme?
Have you reserved some tokens for project owners and different teams associated with your project?

How do you vision the ether to be handled after the crowdsale?

Straightaway transfer to a private account.
Handle using a multisig.

Owner of the crowdsale should be single account or multisig?
Multisig or multi signature require another user or users to sign a transaction before it can be broadcast onto the blockchain, this is a good practice and is recommended over single account.

Token Considerations:

Once you’re done planning your crowdsale, you will need to start thinking about your tokens, here are some basic questions to help you do so:

What is the name of your token?
It should be something catchy, but more importantly it should be unique. Due to the increasing number of crowdsales you should check that your token name is not already in use.

What is the symbol for your token?
A token symbol is usually a three letter symbol derived from the token name itself, eg ETH from ether. Though it is not a rigid rule and the important thing about it, like token name is its uniqueness.

How many decimal points you want to track for your tokens?
Usually preferred value is 18, because ether has 18 decimal units. But it can completely depend on the price of your token and which sub units should be available to trade later.

Do you want token transfer and other basic ERC20 functions to be active during a crowdsale?
Some specific crowdsale organizers may need to restrict token functionality during a crowdsale, this is to stop devaluation of a token price by transferring at very low rates on exchanges. To avoid it, they can remain inactive until the crowdsale is finished or some other time/block limit?

You want to allow only high level purchase, low level purchase or both?

High level purchase: Only the one who sends ether to the contract will be able to buy tokens.
Low level purchase: Investors will be able to buy tokens for some other account, sending ethers on their behalf.

Your token should be ERC20 or ERC223?
ERC20 is the widely popular standard for tokens, which helps in buying selling and trading them. ERC223 is built on top of ERC20 and provides the following advantages:

Eliminates the problem of lost tokens which happens during the transfer of ERC20 tokens to a contract (when people mistakenly use the instructions for sending tokens to a wallet). ERC223 allows users to send their tokens to either wallet or contract with the same function transfer, thereby eliminating the potential for confusion and lost tokens.

Allows developers to handle incoming token transactions, and reject non-supported tokens, which is not possible with ERC20.

Helps in energy savings. The transfer of ERC223 tokens to a contract is a one step process rather than two step process (for ERC20), and this means two times less gas and no extra blockchain bloating.

Do you want to restrict your tokens among a white listed group?
If restricted to a group, your tokens will be transferable among a white listed set of users only. Thus, cannot be listed on public exchanges. It could also be used to restrict all ERC20 based functions to a particular group of users, to maintain privacy.

What should be the basic features of your token?
Here are some recommended features you can start with.

Upgradable:
Allows future modifications in your token contracts. Can be useful in case of changing requirements, or for bug fixes.
Owner Assigned:
Owner will be able to mint and assign tokens to accounts even after the crowdsale ends.
Pausable:
Basic ERC20 features like transfer, transferFrom and approve can be paused by owner. It is useful in case of bug fixes.
Burnable:
On the basis of token functionality owners or users can be allowed to burn their tokens using this feature.

Any other special functionality of tokens?
Tokens can be used for many other processes like voting, gambling etc. It depends on your requirement that what else your token would do.

What will be the vesting scheme of your tokens?
Do you want to release all your tokens at once or do you want to release them gradually, at different block timestamps? Suppose release 30 percent during presale and 70 percent during your crowdsale. You can also use this strategy on token holders and release their tokens in a vested manner.

Summary:

There are many positives in opting for an ICO instead of more ‘traditional’ funding methods such as IPOs or VC funding rounds, but take time to consider how they fit into your long term plans. Will your ICO fail, and if so, can you still accomplish your ideas? No one can tell for sure, what you can do is plan effectively and understand this new venture, instead of making on-spot decisions.

--

--