How Interactive Coin Offerings (IICOs) Work

Kleros will use the IICO method for its token sale. Here’s an explanation of how it works…

By Federico Ast and Enrique Piqueras

In a previous post, we explained the reasons why we have chosen an Interactive Coin Offering (IICO) to do Kleros’ token sale. Contrary to traditional capped and uncapped sales, IICOs give buyers certainty of valuation and participation.

In capped sales, a team sells a fixed amount of tokens at a fixed price. The pro is that buyers know the valuation of the project in which they are buying. The con, however, is that participation isn’t guaranteed. Sometimes, capped sales are sold out in a matter of minutes and most tokens end up in the hands of big players who can afford any gas cost to be the first in line.

In uncapped sales, on the contrary, valuation is not fixed. It depends on participants’ bids. The pro is that everyone can participate. The cons, however, is that buyers cannot be sure of the valuation at which they will buy the tokens. If the sale is extremely popular, the buyer may end up having a very small part of the total tokens.

By letting participants choose a personal cap, the IICO gives you two desired properties for a buyer.

  • Certainty of participation. If you select a personal cap that is high enough, you can be 100% sure you will participate.
  • Certainty of valuation. Your personal cap gives you control over the valuation at which you will enter the sale.

This creates a level playing field both for large and small participants alike.

So, how does this actually work?

Alice, Bob, and Carl all want to participate in Kleros’ token sale. But they have different motivations and expectations around the project and its valuation.

Alice loves Kleros and wants to contribute 6 ETH, no matter what. When she makes her contribution, she does not submit a personal cap. At this moment the bonus in the sale is 20% (more about this, later).

In this screen, Alice selects the amount to contribute (6 ETH). Since she doesn’t care about the valuation, she leaves the field “Max Personal Cap” empty. This means she will receive 6 ETH worth of PNK. But she does not know what percentage of the total tokens her 6 ETH will buy.

Bob wants to contribute 10 ETH, but he does care about the valuation. He only wants to buy tokens if the valuation of the project is lower than or equal to 20 ETH. Some time has passed since the start of the sale. Bob’s bonus is 19%.

Bob selects the amount to contribute (10 ETH). He only wants to participate if the total cap of the project is equal or below 20 ETH. In other words, he is only interested in participating if his 10 ETH will buy him AT LEAST 50% of the tokens.

Carl has a similar train of thought. He wants to contribute 5 ETH with a personal cap of 25 ETH. He enters shortly after Bob, with a bonus of 18%.

Carl selects the amount to contribute (5 ETH). He only wants to participate if the total cap of the project is equal or below 25 ETH. In other words, he is only interested in participating if his 5 ETH will buy him AT LEAST 20% of the tokens.

The Three Stages of the Sale

At the beginning of a crowdsale, high uncertainty usually exists around the valuation of the project. Since most are very early stage, it’s hard to find metrics to estimate the value of the token.

A key aspect of the IICO is that buyers may enter and exit the crowdsale based on the behaviors of other participants, hence the word “interactive”. This results in an iterative process towards a valuation equilibrium. At some point, the market will reach a consensus about the value of the project.

The sale is divided into three stages in order to optimize price discovery.

1. Full Bonus Stage

The first participants to enter a crowdsale are the ones taking on the most risk. They are making their contribution with little information for forecasting the result of the sale. This generates an incentive to delay participation until others have made their contribution. But, if nobody participates because everyone is waiting for others to go first, then how can we create a liquid market?

In order to incentivize early participation, the IICO includes a bonus structure tied to the moment when a buyer makes his bid. The earlier a buyer participates, the more purchasing power he gets (the more tokens he gets per ETH).

The bonus is 20% for those participating during the first stage of the token sale and then starts to decrease linearly by the start of the second phase.

During the first phase, buyers can withdraw their contribution manually with no penalty. This means that, as an early buyer, you may get a 20% bonus at nearly zero risk. If you think you made a mistake by entering the sale, you still have the choice to opt-out and be refunded.

2. Partial Withdrawals Stage

During the second stage, buyers can still withdraw manually their bid, but only partially.

Alice, Bob, and Carl all placed their contributions during the first phase. Their combined contributions result in a project valuation of 21 ETH. After seeing the project valuation, Carl decides to withdraw.

After Carl is refunded, the valuation is now at 20 ETH.

But wait! If Carl was contributing 5 ETH and has opted out, why isn’t the valuation at 16 ETH? In order to avoid blackout attacks*, the IICO penalize manual withdrawals. The penalty is a combination between a partial lock-in and a bonus slash on that lock-in.

In this case, Carl contributed 5 ETH at a moment when the bonus was 18%. He will only be able to withdraw a part of that depending on the moment when he does it. Let’s say Carl withdraws manually 80% of the way through the end of the second phase. This means he can only withdraw 20% (1 ETH) of his 5 ETH contribution. The other 80% (4 ETH) stays locked in the sale and has its bonus reduced by ⅓ (this cancels out the advantage over the other participants). This means he now has a contribution of 4 ETH and a bonus of 12%.

Carl contributed 5 ETH when the bonus was 18% and withdrew 80% into the first phase. He is refunded 1 ETH. The rest (4 ETH) stay locked into the sale with a 12% bonus.

3. Withdrawal Lock Phase

Finally comes the third stage of the sale, the withdrawal lock stage.

From now on, voluntary withdrawals are no longer permitted. However, new participants may continue to join the crowdsale as long as their personal cap is above the current valuation.

In this phase, automatic withdrawals start taking place on every block. Contributions with the lowest personal caps are withdrawn first, and partial and equal withdrawals are made in the case of tied personal caps.

In our example, nothing happens yet, because the only participant left with a personal cap is Bob and it’s equal to the current valuation of 20 ETH.

Now David, after seeing how the sale is evolving, decides that he also wants some tokens and contributes 4 ETH with a personal cap of 24 ETH. He gets an 8% bonus. The valuation is now at 24 ETH. This is higher than Bob’s personal cap. In the next block, Bob will be kicked out of the sale**, the valuation will be at 14 ETH and Bob will be refunded at the end of the sale.

As new participants enter the sale, this generates changes in the amount raised. This generates the automatical withdrawal of people whose personal cap is too low. Of course this won’t affect Alice, since she chose an infinite personal cap, and is guaranteed to get PNK regardless of the valuation. Since manual withdrawals are not permitted anymore, the valuation will monotonically increase until the point of equilibrium.

The End

The crowdsale ends and the project now has a final valuation. Tokens are split between buyers that remain in the sale, proportionally to their contribution and their bonus.

Participants can now withdraw their ETH refunds and/or tokens.

Let’s recap what happened with our friends. We will use a 100 PNK sale for the example.

Alice entered with 6 ETH and no personal cap during the first phase. She receives 6 ETH worth of PNK and her 20% bonus.

Alice Receives: 100 (7.2 / 16) = 45 PNK

That is, Total Supply * (Contribution with Bonus / Sum of Contributions with Bonuses)

Bob entered with 10 ETH, a personal cap of 20 ETH, and a 19% bonus during the first phase. But he got removed from the sale in the second phase when the valuation reached 24 ETH after David’s contribution. He is refunded his 10 ETH and receives no PNK.

Carl entered with 5 ETH and a personal cap of 25 ETH and a bonus of 18% during the first phase. But he withdrew manually. He is refunded 1 ETH and receives 4 ETH worth of PNK and 2/3 of his 18% bonus: 12%.

Carl Receives: 100 (4.48 / 16) = 28 PNK

David entered with 4 ETH and a personal cap of 24 ETH, during the second phase. He receives 4 ETH worth of PNK and his 8% bonus.

David Receives: 100 (4.32 / 16) = 27 PNK

This table summarizes the results of the sale.

In the end, each participant got to buy tokens at a valuation they considered adequate.

The Interactive Coin Offering’s phases may seem complicated, but they are an important mechanism for all participants to have complete information about the sale, be able to make informed decisions, and to deter any sort of attack.

The protocol treats large and small players equally. All of the mechanisms are there so that no one has an unfair advantage because of their size or budget. With this method, someone contributing 0.5 ETH does not have to worry about big players contributing 5000 ETH and vice versa.

We at Kleros are excited to be the first to use this innovative token sale method. Stay tuned for more news on our IICO that is coming up on the 15th of May and future releases of open source software for you to easily deploy your own.

Federico Ast. CEO of Kleros.

Enrique Piqueras. Dapp Developer at Kleros.

*A “blackout attack” occurs when large contributors muddy market data by contributing large amounts early in the sale, only to withdraw later, but keep the advantage over other buyers who deferred their contributions due to the high valuation early on.

  • *Note that an implementation would still be valid if the “kick out” was only partial. E.g. Bob got a 4 ETH refund, but 6 ETH remained in the sale to meet his personal cap of 20 ETH.

在這裡閱讀國語版。Link

Learn More

Join the community chat on Telegram.

Visit our website.

Follow us on Twitter.

Join our Slack for developer conversations.

Contribute on Github.