The Raiden Network Token Auction Explained
TL;DR: The chosen auction model combines certainty of participation with certainty of valuation. No need to rush!
In the past, various token distribution mechanisms have been proposed, all of which come with different trade-offs, with the biggest annoyances being blockchain congestion and the fact that users have not been able to participate in a token launch because it sold out within minutes.
We judge efficiency and certainty of participation while providing certainty of valuation to be the most important properties for a Raiden token (RDN) launch. Therefore we chose a uniform price Dutch auction as the format.
The Gnosis project was the first to do a token launch aiming for a fixed amount of ETH to be raised via a Dutch auction earlier this year. Depending on the perspective, their auction has been a success, but it still left many unhappy. The funding target was matched after only a few blocks, which lead to only a few people having had a chance to participate and less than 10% of all tokens having been distributed.
The Raiden Network Token auction will be different, since a fixed amount of RDN tokens (50% of total supply) will be offered during the auction. This should guarantee, that based on the parameters, the auction will run at least for a few days and should allow everyone interested to participate. Participants get tokens for the same final price, which is set by the auction, irrespective of the time of their bid.
Mechanics of the Auction
The uniform price Dutch auction is set up to discover a fair price for a fixed amount of RDN tokens. It starts with a very high price which continuously declines with every block over time, based on a predefined formula. After the auction is started, participants can send in ETH to bid. The auction ends once the price multiplied with the number of offered tokens equals the total ETH amount sent to the auction. All participants receive their tokens at the same final price.
The main goals of the auction are to enable everyone to participate while offering certainty about the maximum total value of all tokens at the time of the bid. The auction should run for multiple days, before it ends which should ensure, that no one needs to rush in order to participate. Further, when participating, a bidder knows the maximum price he or she is going to pay for tokens as well as the max value of all tokens.
The Price Function
In a Dutch auction, the exchange rate starts very high and decreases over time.
The price decay is known beforehand and calculated based on this formula:
It is planned to use the following parameters:
- price_start: 2 ETH (2 * 10¹⁸ Wei)
- price_exponent: 3
- price_constant: 1574640000
- offered tokens: 50M (50% of 100M)
According to these parameters, the auction starts at such a price that the initial total value of all offered tokens is higher than all ETH in existence. Therefore the auction should certainly run for a couple of days before the price will have declined to acceptable values depending on the various opinions of the participants.
The Bidding Phase
During the ongoing auction, bidders know the current price and the implied value of the total supply. If they send a certain amount of ETH to the auction at a point in time, they know
- the maximum price and value of all tokens at the end of the auction (maximum, as these can only decline further during the auction)
- the minimum number of tokens they receive (can only go up)
Every bid increases the total amount of ETH sent to the auction. This implicitly reduces the time until the latest possible end of the auction and also increases the lowest possible price at which the auction can end.
The Auction End
The auction ends, once the total amount of ETH sent to the auction equals the auction price multiplied by the number of offered tokens.
The price at which the auction ends is the final price at which all successful bidders get their tokens. Each bidder gets a number of RDN tokens which equals the ETH sent with their bid(s), divided by the final price.
Bids sent to the auction after the auction ended or bids exceeding the required amount to end the auction will fail.
Following the auction’s end, there is a one week cool down period. That period exists to allow for action to be taken in the unlikely case something went wrong with the auction. After this period, the tokens are allocated to the accounts of the bidders and can be freely transferred.
The Raiden Token auction aims to provide certainty of participation while at the same time providing certainty of valuation. Participants can bid at a price they are willing to pay for RDN, but ultimately receive tokens at the lowest price observed during the auction. All participants receive tokens at the same final price independent of the time of their successful bid. The auction should run for at least a couple of days, therefore there should be no reason to rush.
Q: Where is the code?
A: The auction code can be inspected here. The code was audited and the results of the audit will be published in another blogpost.
Q: How do Raiden tokens work and what can they be used for?
A: They can be used with µRaiden for micropayments, shortly after the auction. It is also envisioned that the token can be used as a currency to pay for auxiliary services in a future Raiden Network. Check this blog post for details.
Q: Will this be sold out quickly?
A: No. The auction should run for at least a couple of days.
Q: What is the target ETH amount of the token launch?
A: There is no fixed target as the price of the offered tokens is only known at the end of the auction. If there was a fixed cap of ETH, then this might artificially limit the price of RDN tokens during the token launch and lead to all those problems we aim to avoid by using this form of a uniform price dutch auction.
Q: How do I know how much RDN I will receive?
A: In short, a participant can know the maximum price and minimum amount of RDN they will receive. Participants with successful bids will receive at minimum the exact amount of RDN as calculated by dividing the ETH amount sent by the price of RDN at the block which recorded their transaction. Participants receive more RDN than the amount determined by the price at the time of their bid, if the auction continues and ends at a lower price, but no less.
Q: Does everyone pay the same price?
A: Yes. While everyone bids at a different price during the life of the auction, everyone does indeed pay the same actual purchase price for RDN tokens, as the same final price is applied to all bidders.
Q: Can you give an example how the same price works?
A: Say Alice sends 1 ETH to the auction very early, when the price is still 1 ETH/RDN. Bob is more patient and waits for the price to drop to 0.1 ETH/RDN and also sends 1ETH to the auction. Let’s assume that at some later point in time the auction ends with a price of 0.000001 ETH/RDN. Then both Alice and Bob will get 1,000,000 RDN tokens, because they sent the same amount (1 ETH) and get the same final price (0.000001 ETH/RDN) at the end of the auction.
Q: Can one place multiple bids from the same account?
A: Yes. Note though, that bids can not be deleted or updated.