IOV Token Sale: Simple Equations
To see examples, you can visit the Level 1: Primary Bid and Level 2: Bonus Bid blog posts.
Equations
The external variable ETH/IOV = the number of IOV tokens that you can buy with 1 ETH will be set at the time of the public sale.
Your input
your_ETH_Primary_Bid = your Primary Bid in ETH > 0
your_ETH_Bonus_Bid = your Bonus Bid amount in ETH ≥ 0
Stage 1: Fairness
At this stage, the variable to determine your stage 1 allocation S1 is the oversubscription OS:
OS = oversubscription ratio = TotA / Tot_IOV
where
TotA = total amount, the sum of all the Primary Bids for all the participants
Tot_IOV = total value of all IOV Tokens on sale
If OS > 1, then we are oversubscribed.
S1 = 50% x min(1/OS, 1)
Stage 2: Speed
At this stage, the variable to determine your stage 2 allocation S2 is your Speed_Rank:
Speed_Rank = your rank in % of your contribution arrival
= contribution amount arrived before you / TotA
If Speed_Rank < 10% then S2 = S1 x 5/3 else
If Speed_Rank < 20% then S2 = S1 x 4/3 else
If Speed_Rank < 30% then S2 = S1 x 3/3 else
If Speed_Rank < 40% then S2 = S1 x 2/3 else
If Speed_Rank < 50% then S2 = S1 x 1/3 else
S2 = 0
If S2 > 1-S1 then S2 = 1-S1. In this case, the tokens that have been capped will be allocated in stage 3, increasing the number of tokens to be allocated at that stage.
Stage 3: Bonus Bid
Your stage 3 allocation S3 depends on OS, S1, S2 and your Bid_Ratio. There are Stage_3_tokens ≥25% of the tokens to be allocated at this stage, the exact amount depending on the oversubscription and capped amount at stage 2. We assume Stage_3_tokens = 25% for the graph below.
Bid_Ratio = your_ETH_Bid / your_ETH_Amount
All strictly positive Bid_Ratio are ranked in decreasing order.
Starting from the highest Bid_Ratio and going in decreasing Bid_Ratio order, we allocate S3:
S3 = min( R3, S3_P + S3_EA )
Where
- R3 = your remaining amount at stage 3 = 1-S1-S2
- S3_P = Proportional amount distributed at Stage 3 = Stage_3_tokens / (OS-(1-Stage_3_tokens)) x R3
- S3_EA = your Extra Amount if successful bid = 30% x R3
Until the bidders list is empty (no more strictly positive Bonus Bids) or all the tokens of stage 3 have been allocated. If you have been served at that point, then your Bonus Bid is said to be successful. Otherwise, unsuccessful if any.
If there are IOV tokens left, everyone who has not been served receives S3 in equal proportion of the remaining total allocation:
0 < S3 ≤ S3_P
depending on other participants bids.
If the stage 3 allocation stops because all the stage 3 tokens are allocated, then everyone not served yet receives S3 = 0.
At stage 3, you receive a refund R_Bonus from the Bonus Bid.
If the bonus bid is successful, R_Bonus = S2/(1-S1)
else R_Bonus = 100%
Your output
Your total allocation S = S1 + S2 + S3
Finally, you receive:
- An amount of IOV Tokens = your_ETH_Primary_Bid x ETH/IOV x S
- An ETH refund from your Primary Bid = your_ETH_Primary_Bid x (1-S)
- An ETH refund from your Bonus Bid = your_ETH_Bonus_Bid x R_Bonus
To see examples, you can visit the Level 1: Primary Bid and Level 2: Bonus Bid blog posts.
Follow Us On Twitter for updates on the latest IOV news. Ask us any question on our Telegram chat.