# 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)](/protocol-overview/launch/eth-egl-release-schedule.md), 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.egl.vote/protocol-overview/launch/untitled.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
