There has been a lot of confusion on what an initial coin offering is (ICO — also sometimes called a token generation event or token sale), what kinds of companies an ICO can be used for, and what goes into launching an ICO — from a project’s perspective.

Disclaimer: This is not to be construed as investment or legal advice, but rather meant as a template to show the process behind an ICO, and what a project’s stakeholders (team, board, stakeholders) should think about when conducting an ICO.

Given the blockchain industry is relatively new, there isn’t a whole lot of information on the topic (from a project’s perspective), and with each new ICO, teams are learning best practices on what to do and what not to do. Below is a guide of all of the information we collected about the ICO process, with input from people who experienced the process first hand.

A big thank you to Linda Xie, Ankur Nandwani, and Kim Cellere for contributing and reviewing this post.

Contents

Pre-Planning Planning (Token, Whitepaper, Website, Communication, etc) Before the ICO After the ICO Running the project post-ICO.

Pre-planning

The biggest two questions you need to think about first are:

What is the purpose of the token? Are you sure you want to do an ICO?

Token

What is the purpose of the token?

What function or utility does it perform?

Is the token absolutely necessary?

Why does your project need to be on the blockchain?

Can you describe a viable economic model behind it?

If your application doesn’t need to be built on top of a blockchain protocol, you should think hard before moving forward. For example, the computational costs of building an application on top of Ethereum is much more expensive than something like AWS. You need to have a strong reason for why you are building a decentralized application vs. a centralized application.

If you are unsure whether your application should be built on the blockchain or not, you should do more research and spend more time learning about Bitcoin and Ethereum. Building a decentralized application is fundamentally different than an application using client-server architecture, and you’ll need to fully understand the components of a blockchain and what can be built on top of this new architecture.

ICO

An ICO is fundamentally different than raising money through VC’s or other traditional means.

On one-hand, you are selling future usage of your platform (not giving up equity). On the other-hand, you are becoming a public company on day one. You’ll have a huge community you’ll need to manage post-ICO, and you need to make sure you want to deal with this burden beforehand.

Here are a few things to keep in mind while thinking through whether your project should do an ICO in the first place:

Everything you do and all the actions you take will be reflected in the price of the token.

Your team will get bombarded non-stop, multiple times a day, with questions about the price of your token.

You’ll need to be a international company from day one.

All of your internal team discussions will likely be pushed publicly.

There will be great stress in trying to build things that are long-term valuable vs. short-term valuable.

If your product isn’t open sourced already, there will be a huge backlash to become completely open sourced. There is a strong expectation that many blockchain projects are open-sourced projects.

In general, cryptocurrency projects are way more public/transparent than typical startups, or even traditional public companies.

In general, good blockchain projects look and function much more like open-sourced software projects vs. traditional tech businesses. You and your team will have to decide both whether your application makes sense to be built on a blockchain + you want to operate as a transparent and open company.

Planning

Once you are ready and committed to doing an ICO, the core components in planning are deciding on the offering, whitepaper, token design, legal, precautions against the inevitable hackers, and being prepared for communication (website, slack, social, press, interviews, etc).

Offering

The most important question is: How much do you want to raise? & Why? The second most important question is: What do you want to accomplish with the particular distribution method you are choosing?

Considerations:

For your ICO — Are you trying to raise the most amount of money? Are you trying to build a broad base of supporters? Are you trying to target a specific profile of potential users? Are you trying to incentivize developers to build on top of your platform? etc.

Other questions to think about

Allocation — What % are you giving to your team, investors, partners, reserving for the ecosystem, reserving for the company/foundation?

Where will the money that you raise go to? You should have an annual budget for the next 5 years.

Do you want a cap? If so what cap will you set? This depends on the amount you are targeting to raise (see the first question).

Do you want to do a pre-sale?

Depending on the goals of your raise, a pre-sale can be used as both social proof + getting tokens to the people who you most want to align in your ecosystem. The downside of a pre-sale is it does favor certain people/groups over the participants in the general crowdsale.

If you are doing a pre-sale, you should look into building a specific reservation contract for the pre-sale to reserve a specific amount of allocation for each of the pre-sale buyers and being transparent about who participated in the pre-sale and at what price.

If you do decide to do a pre-sale, you’ll also need to think about what % of allocation is distributed in the pre-sale in relation to the % you are selling in the crowdsale.

For the ICO itself

What currencies will you accept? (BTC, ETH, anything else?)

Do you want to do a pre-registration? (It’s becoming more common for crowdsales to do some form of “Know your Customer” (KYC) for people who want to participate)

Do you want to do the KYC process yourself or use a service like Civic?

Depending on your goals, do you want to split an even number of tokens for all registrants or via first come first serve? With first come first serve, you run the risk of having a small number of people buying up the majority of your tokens.

Will you be offering rewards for getting in early? Tiered pricing?

How long will your offering be for? (1 day, 3 days, a week, etc).

Will you be geo-fencing? (excluding specific countries from participating e.g. sanctioned countries — seeing more projects exclude both US and Chinese investors)

Will the tokens be released right after the token sale is complete? If not, when?

Will you allow funds/institutional investors to invest or only individuals?

In general, you want to have a well thought out and crafted offer in which all of the information is presented to the person looking to participate in your ICO. The worst offenders are projects which obfuscate key information (for ex. Hidden hard caps, or not being transparent about the token allocation), and projects that change terms mid-fundraise.

Doing either of these things might give you more funding in the short-term but will seriously deteriorate your reputational capital in the long-term.

Whitepaper

The whitepaper is where everything above comes together and is synthesized in one key document. The whitepaper should cover all of the inner workings of your application, how the whole system works, and how the token will be used within the system.

Ideally your whitepaper would include all of the technical information about your project, all of the token related information, and all of the relevant information about your team.

This one document should give a prospective contributor a full picture of your application and give them enough information to make an informed decision.

Technical whitepapers are hard and can easily take 200+ hours of work from the whole team in a very short period of time. This is also the one document where your team has to take ownership in creating this document, and the bulk of it cannot be outsourced — editors can help clean it up, but your team needs to write the bulk of the document.

Once you complete your whitepaper, I would highly encourage you to get detailed feedback from respected figures in the crypto space and field you are working in, as well as the core demographic you are targeting for your ICO — and incorporate relevant changes before proceeding.

Legal

You’ll need a reputable law firm who has experience with incorporating blockchain companies/foundations and running an ICO process — to advise you on your process.

The biggest legal question you’ll need to answer is: Is the token you are offering during the ICO a security or not?

What do you need to do to alleviate the concerns that the token may be a security?

Other legal considerations:

Will you be using a SAFT?

Are you geo-fencing the offering?

Are you setting up a foundation to be a steward of the token?

This guide doesn’t contain any legal advice so be sure to talk to a lawyer who has been through this process before.

Communication

In general, the communication strategy for your team will encompass of all of the channels you will use to communicate about your project (website, whitepaper, slack, social, etc). All of your channels need to be in sync, your whole team needs to be on deck, and you need to respond to people on time.

It’s a huge task, and here are some of the key components:

Website, which includes:

Landing page for the crowdsale (separate from your main product page if you have one already)

In general well designed pages do better in ICOs

Examples of landing pages to look at: http://filecoin.io/ https://district0x.io/ & https://0xproject.com/

Whitepaper (See the whitepaper section above)

Team — Each team member needs a clear and updated LinkedIn profile because potential contributors will be doing due diligence on each member of the team.

Advisors — Each advisor needs a clear and updated LinkedIn profile because potential contributors will be doing due diligence on each member of the team.

A potential red flag to contributors is when there are more advisors than team members.

Previous investors (If any)

Budget — Can include in whitepaper or as a separate section on the website. Need to have clarity on where the funding is going towards, and how long it will be projected to last.

*Based on feedback — the budget can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the budget should be clearly and transparently laid out somewhere with a record of any changes made to it.

*Based on feedback — the budget can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the budget should be clearly and transparently laid out somewhere with a record of any changes made to it. Roadmap — Can include in whitepaper or as a separate section on the website. Example roadmap: https://blog.0xproject.com/0x-development-roadmap-e82a2974efcc

*Based on feedback — the roadmap can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the roadmap should be clearly and transparently laid out somewhere with a record of any changes made to it.

*Based on feedback — the roadmap can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the roadmap should be clearly and transparently laid out somewhere with a record of any changes made to it. Token allocation — Can include in whitepaper or as a separate section on the website. Need to be transparent about what you are selling, terms of the ICO, and terms of the pre-sale (if applicable). At a minimum, potential contributors need to be able to calculate their effective market cap and understand what the circulating & total supply will be.

*Based on feedback — the token allocation and sale information can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the token allocation & sale information should be clearly and transparently laid out somewhere (ideally both the pre-sale terms and crowdsale terms) with a record of any changes made to it. Teams should be transparent about this kind of info with no hidden surprises (ex. early pre-sale investors got ridiculous bonuses etc)

*Based on feedback — the token allocation and sale information can be included in the “business whitepaper” (some teams elect to do two whitepapers one technical and one business oriented) or the website. In general the token allocation & sale information should be clearly and transparently laid out somewhere (ideally both the pre-sale terms and crowdsale terms) with a record of any changes made to it. Teams should be transparent about this kind of info with no hidden surprises (ex. early pre-sale investors got ridiculous bonuses etc) Contribution details — To be released when the ICO/pre-ICO is ready. (Be careful as this section could be hacked and the contribution address could be changed to a hacker’s address. See the “security” section below.)

Links to social accounts (see social media section below)

Translations (see translation section below)

Github

Need to have a clean, updated Github repository.

Example: https://github.com/0xProject.

Anything that has been built should be in a public repository so potential contributors can review everything themselves beforehand.

Internal communication channel (Slack, Rocket Chat, Riot, etc)

Need to have a main communication channel and the team needs to be active there.

Strongly consider hiring a community manager full-time to moderate the communication channel you choose. This community manager can also act as the bridge between the larger community and your internal team.

Need to setup the channels properly and moderate heavily. Examples channels: Announcements, Developers, General, Random, Support, and Scam Alerts (to be able to notify all users of potential scams)

The main channel that teams use right now is Slack but there are a few major cons about Slack for crypto projects including: 1) Slack isn’t meant for large group communication 2) It’s easy to hack the Slackbot and scam users 3) It’s easy to direct message users and send out false announcements and contribution messages. Read more about the downsides of slack for cryptocurrency projects here.

BitcoinTalk

Create a bitcointalk announcement of the token.

Example: https://bitcointalk.org/index.php?topic=2009966.0

Reddit

Own your own subreddit, brand it, and put in a few posts.

Example: https://www.reddit.com/r/district0x/

Newsletter

Setup a newsletter on your website.

Email is the best way to directly share important info with potential contributors on the day of the ICO.

Blog

Need to have a clean, updated blog ideally with a history of posts already.

Example: https://blog.district0x.io/ & https://blog.0xproject.com

Twitter

Need to have a clean updated Twitter account.

Example: https://twitter.com/0xproject

Advertising

Will you do paid advertising?

This is a personal decision your team needs to make. In general, the teams that advertise look weaker.

Public relations

Press — Getting into both crypto publications + general news.

Interviews — Q&A, speaking engagements, tech talks, etc.

Events — Conferences, meetups, technical talks, dinners, online Q&A sessions, etc.

Podcasts — Epicenter, Unchained, Ether Review, etc.

Translation

Foreign language translations require real commitment.

Not only do you need to translate your whitepaper and website, but you’ll need to translate all of the changes and announcements going forward. You might even need to hire someone to manage the translations for Q&A and inquiries on various social channels.

If you do decide to translate — what languages will you be targeting? (Chinese/English seem to be the most common.)

Community Management

Need to have extra people on staff ready to answer questions. On all channels, all of the time.

The more successful your ICO is, the more community support you will need.

In general, you want to have a sustained presence on the web well before your ICO, during your ICO, and well after your ICO. Potential contributors need to know that your team is serious and in it for the long-term.

Smart contract / Blockchain / Wallets

What blockchain will you be using? ERC20 token?

Need to create the smart contract well in advance.

If you do a pre-sale and ICO, you’ll need two smart contracts plus additional considerations if you are planning to do a reservation contract.

Security audit on the smart contract — You need to do this well ahead of time and publish the results. Your entire fundraise is predicated on this smart contract so it needs to be 100% correct. If it’s only 99% correct, you leave yourself open to potential hackers.

To be extra safe, some projects now have multiple parties do their own independent audits and publish all of the individual results.

Setup a bug bounty. Example: https://blog.0xproject.com/announcing-the-0x-protocol-bug-bounty-b0559d2738c

Need to setup the wallet you will receive the ICO payments. The safest options are hardware wallets or even multi-sig hardware options.

Depending on what currency you accept, you might need more than one setup.

General security tips

This is not an exhaustive list by any means. If you are worried you should consult with a security engineer who has been through the ICO process before.

Buy all of the website domains that look like yours, and all of the various TLD variations of your name.

Hackers will try to re-create your landing page with a domain name that is similar to yours, using their own address instead of yours. You need to be on the lookout for any potential scam leading up the ICO and even after the ICO.

Register all of the social media accounts of all of the names that look like yours.

Similar to a website, hackers will also try to copy and spoof your social media accounts and point them to a different landing page than yours. You’d need to be on the lookout for this even after your crowdsale is over. One move scammers try to do is “extending your crowdsale” and tricking potential supporters.

Setup cloudflare on your landing page.

Your website is a huge vulnerability. Be sure to internally setup two-factor authentication to make changes to your website and monitor your site extensively.

Restrict the ability to change/commit to your page/github/social media/everything. Have two factor auth setup on everything — even for your own internal team.

Turn off the Slack API. Slack isn’t set up for public groups that are raising funds. There are so many scam attempts involving direct Slackbot messages which admins can’t turn off and a lot of people fall for — despite all of the warnings. Even though Slack is the default communication channel, I would consider using another method of public communication or at least heavily control the inflow leading up to the token sale.

Tell people to bookmark your site, don’t click on links.

Don’t release your wallet public address until the day of the ICO (Release simultaneously on all of your communication channels at once).

Remind people NOT to send in their contributions from exchanges like Coinbase. Needs to be from a wallet they control (e.g. Metamask).

Before the ICO

Registration — If you are doing a registration system based ICO, release all of the details and have people register beforehand. Example: https://blog.0xproject.com/0x-token-sale-and-registration-details-75d84af11c60

Create a tutorial for the registration. Example: https://blog.0xproject.com/tutorials-for-the-0x-token-sale-registration-766064955d12

Release a tutorial video and tutorial blog post on how to participate.

Create explainer videos to show how to purchase tokens. You need at least a semi-professional 2–3 minute video with professional voice talent. Set this to private and don’t release it till the day of the ICO. Example: https://blog.0xproject.com/zrx-token-sale-purchase-tutorial-612c2ffe1e0d

Watch out for all potential hackers. Example: https://blog.0xproject.com/a-note-on-scams-and-phishing-attempts-e2d72577a470

Write blog posts about every step of the process.

Livestream video Q&A

Community management x100, be ready — you will get an enormous amount of questions leading up to the ICO.

Day of the ICO

Community management x1000, be ready. On the day of and the days leading up to your ICO, the whole team is basically going to need to be on call 24/7.

Watch out for all attack vectors — shut down Slack if you need to.

Remind people to NOT send in their contributions from an exchange, they need to send it in from a wallet in which they control the private keys.

Keep sharing the tutorial videos you have created for how to participate. Limit the sources of truth to one place where people find the information they need to contribute.

Livestream at the completion of the ICO.

After the ICO

After the ICO the top two questions you will get are:

Where are my tokens? What exchange are you going to be listed on?

Where are my tokens?

This is easily the number one question. Create a tutorial video (for all combinations of wallets) and post it to all of your channels.

For the people who sent their contribution from an exchange, you’ll need to respond back to them. Unfortunately their contribution is most likely gone because they needed to send their contribution from a wallet that they controlled.

What exchange are you going to be listed on? When?

Most exchanges have an application page, if you wish to be listed on them, start building out these relationships early.

At the same time, various exchanges will list your token for sale regardless of whether you want to or not. For example: EtherDelta is a peer-to-peer exchange, where anyone can offer any tokens or currencies for sale without your permission.

Write a blog post afterwards. Example: https://blog.0xproject.com/analyzing-the-zrx-token-sale-a94b8642c78e

Give an update shortly after your ICO is completed. The worst case is to not communicate at all and look like you took the ICO money and ran, don’t do this.

Running the project

Constant communication — Now that you have a community of 1,000’s of people (if not more) with their own money invested in your project, you will be bombarded daily with questions. The blessing and curse of a community that really cares, is now you have very high expectations to live up to.

Fiscal policy

Fiscal policy is the buying, spending, freezing, discounting, and burning of tokens. If you retain a lot of tokens in the treasury, people will wonder when those will flood the market. If you pay people in tokens with no vesting, they can dump them. If you pay in locked-up tokens, you will also have to supplement those with some cash. All of this requires clear communication, so people know what’s coming.

In addition, how the tokens are taxed for the team, advisors, investors, etc. need to be communicated early on. You need to think about compensation plans for employees and advisors early on.

Moreover, if large institutional buyers participated in your pre-sale, there is a large risk they will dump a large portion of their holdings depending on how well the ICO goes. If you do allow institutional investors, you need to decide if you will enforce lockup periods for them or not. Above all, the most important thing is you need to be transparent on what is going on.

Monetary policy

Monetary policy is: How many tokens there are, how divisible they are, and the inflation/deflation policy you have set. Need to be clear and transparent with the policy you set, and if you ever make any changes to it.

Money management.

Once you raise your funding through an ICO, you’ll need to decide how much of your contributions cash out into fiat, and how much to stay in crypto (if any). You should decide this before you complete the ICO.

You should also start the conversations with banks early on so you don’t run into issues when converting funds from the token sale to fiat or wiring funds for company expenses, taxes, etc.

Following all of these won’t make an ICO successful, but hopefully it shares better insight on the process as a whole from the perspective of the project team owners.

Fundraising through an ICO vs. fundraising through equity isn’t any easier, it’s just different. As a team you really want to make sure that a token sale is the best thing for your company because if you do an ICO for the wrong reasons, you’ll be stuck with the consequences for a very long time.