# Genesis

## Genesis&#x20;

The EGL smart contract awards Genesis Supporters with 1.250 Billion EGLs, equaling the amount of EGLs awarded to incentivize mining pools (1.25 Billion). This amount is awarded in two forms:

* **Matching EGLs:** 750M EGLs (out of the total 4 Billion EGLs)
* **Bonus Voting EGLs:** 500M EGLs to allow Supporters to participate in the weekly vote

EGL favors long term Supporters - those who stake ETH for longer durations - and awards more EGLs to later supporters. Thus, earlier supporters have their tokens released sooner ([Release Schedule)](https://docs.egl.vote/protocol-overview/launch/eth-egl-release-schedule), while later Supporters receive more Bonus Voting EGLs.

## Matching

Any ETH holder can participate in the Genesis and stake ETH to the EGL Genesis contract. In turn, the EGL smart contract will:

* Collect ETH until 100,000 ETH is staked (`cumulativeBalance`)
* Match ETH with 750M EGLs (doubling the value), and deploy ETH and EGLs to a Balancer ETH-EGL pool.&#x20;
* Award 500M Bonus Voting EGLs to allow Supporters to vote on `desiredEgl`.

Supporters are awarded a substantial amount of EGLs for staking in the Genesis and bootstrapping EGL.

{% hint style="info" %}
The Genesis contract will close following the transaction that pushes `cumulativeBalance` above the threshold or after 1 week. Thus, more than 100,000 ETH may be staked if the last transaction plus the prior amount staked is more than 100,000 ETH.&#x20;
{% endhint %}

## Bonus Voting EGLs

An additional 500M EGLs are awarded to Genesis Supporters to be used for voting. The exact amount each supporter receives depends on:

* The total amount of ETH staked for matching
* The Supporter's "place in line"

Specifically, EGL keeps track of the number of EGLs used for matching (which is capped at 750M). Assuming `totalEglsMatched=x`  prior to the Supporter Tx and `totalEglsMatched=y`after the Supporter Tx, the supporter will be matched with `x-y`  and will be awarded:

$$
(y^4-x^4)/(\frac{81}{128}) \* 10^{27})
$$

where,&#x20;

$$
y = \frac{\text{TotalETH staked at Genesis}}{750M EGLs} \* \text{cumulative ETH staked after you contribute}
$$

$$
x = \frac{\text{TotalETH staked at Genesis}}{750M EGLs} \* \text{cumulative ETH staked before you contributed}
$$

Thus:

* the Supporter who got matched with the first 1M EGLs receives: $$(1M^4 - 0^4)/((\frac{81}{128})\*10^{27})=0.00158$$ EGLs
* the Supporter who got matched with the median 1M EGLs receives: $$(350M^4 - 349M^4)/(\frac{81}{128}\*10^{27})= 269,853.07496$$ EGLs
* the Supporter who got the matched with the last 1M EGLs receives: $$(750M^4 - 749M^4)/(\frac{81}{128}\*10^{27})=2,661,338.07249$$ EGLs

{% hint style="danger" %}
Bonus EGL amounts may be slightly off due to rounding errors. Solidity can only store up to  `.16E+77`this means formulas are only accurate up to 10 decimal places.
{% endhint %}
