# Streamlined Hexagon Docs
## Introduction
Hexagon is a community-driven platform for experiments in decentralized governance.
Developed by the Golem Foundation to test various hypotheses around user control, voter engagement, and community funding, the platform allows for running various governance experiments in a real-life environment and rewards user participation with ETH.
### Summary:
- Golem Foundation stakes 100 000 ETH to help the Ethereum network reach consensus. A predefined fraction of staking rewards will be used to fund the Hexagon reward pool.
- The Hexagon reward pool is split into two streams: User Rewards and Matched Rewards.
- To have a say in how Hexagon funds are to be distributed, users will need to stake at least 100 GLM (an ERC-20 token, native to the Golem Network) into the Hexagon contract for an epoch lasting 90 days.
- GLM staking mechanism is non-custodial. Hexagon users retain full control of their tokens and can withdraw their GLM at any time. However, to be eligible to participate in the governance, users need to keep GLM staked for the full epoch.
- At the beginning of a new epoch users with valid stakes can claim their User Rewards for themselves or donate their share of Hexagon rewards in part or in full to one or more eligible public goods projects. The impact of each individual donation will be magnified through Matched Rewards.
- The list of projects eligible for Hexagon funding is curated by Golem Foundation, based on inputs from the Hexagon community. Every community member can suggest new additions to the list, a change in eligibility criteria, or a theme for an epoch.
- Golem Foundation will use Hexagon to run various experiments in decentralized governance, for example, introduce changes in voting mechanics, try out various delegation frameworks, utilize Soulbound tokens to incentivize and measure user engagement, etc. The results of the experiments will inform the foundation's research into effective decentralized governance solutions, and allow other entities to gather empirical data on governance behaviors.
- After the MVP stage is over Golem Foundation will invite outside teams and researchers to submit proposals for new governance experiments.
If you are already familiar with Hexagon and want to jump right into the DApp, see the [Using the App]() guide.
If you want to know more about the Hexagon rationale and the overall design, read [Why are we doing this?]() and [How Hexagon works]() sections of the docs.
To know more about how Hexagon total reward pool, users' rewards, and matched rewards are calculated, check the Hexagon [Technical Outline]().
## Why are we doing this?
With the recent Ethereum switch from the Proof-of-Work to the Proof-of-Stake consensus mechanism - Golem Foundation, the organization developing Hexagon, made the decision to become a validator in the network. The Foundation will stake 100 000 ETH to secure the network and help it reach a consensus.
In return for staking its Ether and becoming a validator, the Foundation will receive a steady stream of continuous rewards directly from the protocol. Part of the staking rewards will be transferred to the Hexagon community, whose members will decide through individual actions and community polls how these funds will be distributed.
Community members will be able to choose between claiming part of the reward for themselves and donating it to eligible public goods causes.
In the process, Golem Foundation will gather useful empirical evidence on how users participate in decentralized governance. This evidence will inform our search for effective [decentralized governance solutions](), and further the development of the [User-Defined Organization]() project.
XXX?
Participation in the Hexagon community will be open to any person who holds GLM tokens (an ERC-20 token, native to the Golem Network) and stakes a certain minimum amount of their tokens into the Hexagon contract.
You will be able to stake as low as 1 GLM, but to claim rewards and vote in the Hexagon community polls, you will have to stake at least 100 GLMs for one epoch (the length of which is currently set at 90 days).
Staking in this context means time-locking your GLM. The tokens staked by Hexagon users will not be pooled together with other users’ funds, and the whole GLM staking set-up is non-custodial. Users will be able to withdraw their tokens at any time. However, if they do so before the end of a given epoch, they will not be able to claim any rewards nor participate in community decisions regarding the distribution of funds.
The amount of ETH rewards transferred by the Golem Foundation to Hexagon will be determined by the fraction of the entire GLM supply staked by Hexagon users. The more GLMs are staked into the Hexagon contract, the higher the amount of the Foundation’s staking rewards that will be turned over to the Hexagon community for distribution.
## How Hexagon works
The distribution of ETH rewards transferred by the Golem Foundation to Hexagon will be determined through an iterative process repeated over periods called epochs. Currently, the length of a Hexagon epoch is set to 90 days, but this may change in the future.
Before an epoch starts, members of the Hexagon community will discuss and vote on the list of potential donation recipients chosen from a list of eligible public goods projects maintained by the Golem Foundation (To read more on the eligibility criteria and how you can submit a project, see section [Propose a project]()).
Each user will also have to decide how much GLM to stake in the upcoming epoch. Those wishing to have a say in how the ETH transferred by the Golem Foundation to Hexagon is going to be distributed will have to time-lock at least 100 GLM into the Hexagon contract (lower stakes are possible but will not confer any rewards or governance power to a user). Higher stakes will result in higher rewards and more voting power in token-weighted polls.
Users who want to receive ETH rewards have to keep their GLM staked throughout the epoch. If they withdraw their GLM before the epoch ends they will not be able to claim any rewards or donate their part of the staking proceeds to eligible causes.
At the beginning of the epoch, the amount of ETH rewards to be turned over to the Hexagon community for distribution will be determined based on the fraction of the entire GLM supply staked by Hexagon users in the previous epoch. We call this amount the Total Rewards (or TR for short).
Every community member who staked at least 100 GLM in the previous epoch, and did not withdraw their tokens from the Hexagon contract before the epoch ended, will be eligible to claim User Rewards (UR) during the subsequent epoch. A User Reward will be calculated proportionally to the amount of GLM staked by a user in the previous epoch (the more GLM you staked, the higher your UR).
At the beginning of each epoch community members with valid stakes will have a two-week decision window to determine what they want to do with their User Rewards. They can choose between claiming the rewards for themselves or donating it in full or in part to one or more eligible causes.
If a user decides to donate at least some part of their User Rewards to a community-selected project, the impact of their donations will be magnified through Hexagon’s Matching Rewards (MR). The MR is going to be determined as a function of the amount of GLM staked by a user, and the proportion of the User Rewards they donated to eligible projects.
Once this decision window is closed community members who decided to keep their rewards will be able to withdraw their share of the ETH rewards into their wallets, and the matched donations will be distributed among projects that reached a predetermined threshold of community contributions. In the MVP stage, this threshold has been tentatively set as the quotient of one by the number of donation recipients in a given epoch.
The rewards that were neither claimed nor allocated by users, as well as all donations below the threshold, will be transferred back to the Golem Foundation.
To find out more about how this mechanism is implemented in the Hexagon App, and how you can participate in the project, read the [Using the App]() section.
To read more about the math we are using to calculate Total Rewards, User Rewards, and Matched Rewards, read Hexagon’s [Technical Outline]().
## Using the app
This user guide refers to a Hexagon prototype that is currently under development.
Not all the functionalities listed here have been implemented already, and changes to the UX/UI design are still possible, based on the feedback we receive from early testers. Aside from limitations related to the early state of the Hexagon development, the main constrain Hexagon app is facing right now is the lack of ETH rewards withdrewals. This functionality is dependent on the Ethereum Shanghai upgrade which is tenatively planned for March 2023.
The alpha version of the app with limited but quickly expanding functionality has been deployed to the Görli Testnet. If you would like to help us test the app…
### Getting started
The first thing you need to do after launching the app is to connect your wallet. At the moment only Metamask is supported, but we are working on integrating other popular wallets as well.
To connect your Metamask wallet click on the Connect your wallet button on the top of the screen and follow the instructions in your wallet.
Once you have connected your wallet, you will have to stake some GLM in the Earn tab. GLM is an ERC-20 Ethereum-based token native to the [Golem Network](). If you do not have any GLM you can acquire them at various [exchanges]() and on [Uniswap]().
You can stake as low as 1 GLM but to be able to claim user rewards and allocate your funds to eligible projects, you need to stake at least 100 GLM for one 90-day epoch.
The more GLM you stake, the higher your user reward, and the more funds you can allocate to your favorite projects. Check Hexagon’s [Technical Outline]() if you want to know more about how we calculate rewards and matched funds.
Hexagon's GLM staking mechanism is non-custodial. You are in full control of your funds. You can unstake your GLM at any time. Please note, however, that if you unstake your GLMs before the current epoch ends you will not be able to claim your user rewards or allocate any funds to your favorite projects.
You can access your Hexagon-connected wallet at any time by clicking on a tile showing your Ethereum address at the top of the screen.
The Wallet view allows you to check your connected wallet balances in ETH, GLM, and their fiat equivalents in the currency of your choice. The view also displays your rewards budget, as well as pending allocations and withdrawals.
The Wallet view also allows you to disconnect your wallet from Hexagon at any time.
### The main app views
The app has 5 main views, which you can access by clicking at the appropriate tab at the bottom of the screen:
**Projects** - where you can scroll through the list of projects to which you can donate in the current epoch;
**Allocate** - which allows you to allocate your user rewards in part or full to projects you shortlisted;
**Metrics** - shows you a range of stats about the current and previous epochs to help you make allocation decisions;
**Earn** - where you can edit your GLM stake, withdraw your user rewards in ETH, and check current and estimated reward stats;
**Settings** - allows you to access various app settings. The main toggle allows you to choose ETH or a selected fiat as a primary display currency.
### Allocate your Hexagon funds
To find out more about the causes which were shortlisted by the Hexagon community as potential donation recipients in the current epoch, click on the Projects tab at the bottom of the screen. (Information on the eligibility criteria and on how users can submit a project can be found [here]()).
You can scroll through the list of eligible projects and see how many funds have been already allocated to them by Hexagon community members. If you would like to know more about a project, click on it to read a more detailed description and to see the list of the latest donations Hexagon community members have made to it during the current epoch.
If you find a project you would like to support with your User Rewards, click on the Add to Allocate button right next to it.
Currently, you can only choose one project to which you would like to allocate some part of your user rewards, but we are working on making it possible to split your donation between several projects.
Projects you shortlisted for allocation will appear in the Allocate tab.
In the Allocate view, you can see the projects you added to your shortlist as well as...
Click on a shortlisted project to decide how much you would like to donate to it. Once you've chosen the correct amount click Done, and then Allocate. You will be shown an overview of your allocated decisions in the current epoch. You will be able to Confirm your decision or Edit your allocations further.
### Staking and withdrawing funds
The Earn tab allows you to edit your GLM stake, withdraw your user rewards in ETH, and check the current and estimated reward stats.
Your Current Epoch Stake will be displayed there. By clicking on the "Edit GLM Stake" button you can change the amount of tokens you would like to stake. Choose the amount you would like to stake and click Done. You can now approve your stake.
Once you've approved your stake you will be shown a History view where you will see your stakes, funds you allocated to different projects, and user rewards you withdraw.
You can change your stake at any moment, please keep in mind, however, that:
- to be eligible for user rewards and to be able to donate to your preferred projects you have to stake at least 100 GLMs for a whole epoch;
- if you lower your stake your user reward will be calculated in proportion to the smaller amount.
### Metrics view
In the Metrics view you can check the following information:
- when the current epoch allocation period ends;
- the total amount of ETH staked by the Golem Foundation and GLM staked by Hexagon users;
- the fraction of GLM staked by Hexagon users in relation to the Total GLM supply;
- the current value of ETH rewards transferred by Golem Foundation to Hexagon, and the value of users and matched donations to community chosen projects;
- how much money has been claimed by community users versus donated to eligible projects;
- information on the amount of GLM tokens that are unclaimed and unallocated at the end of the epoch or allocated to projects below the cutoff threshold.
## Propose a project
During the minimum viable product (MVP) stage of Hexagon will be focused on testing various hypotheses related to sustainable financing of public goods and infrastructure.
Golem Foundation is maintaining and curating the list of projects eligible to receive funds from the Hexagon reward pool, based on inputs from the Hexagon community.
To be considered for inclusion, potential donation recipients should meet the following set of criteria:
- commitment to open-source technology and sharing results publicly;
- transparency about how exactly funding will be used;
- advancing values of freedom and privacy (no surveillance and handling of data);
- supporting decentralization in various fields, building web3;
- developing GLM/Golem Network-compatible projects;
- being a public good;
- having social proof, being recognizable in the area the project is being developed in;
Exclusion criteria:
- not receiving public funding;
- not being a financial product (lending, investing, trading product).
Every Hexagon user can submit proposals for new additions to the list of eligible projects, a change in the eligibility criteria, or a theme for an epoch.
At first, all submissions will be made on a dedicated Discord channel. Later on, a special submission form will be made available to the Hexagon community members.
Once a cause or an organization is listed on the eligibility index, it can be selected as one of the potential beneficiaries in a given epoch (depending on its theme). There are no limits to the number of times a project can be a potential beneficiary.
The voting for donation recipients to be included in an epoch will happen on Snapshot. Snapshot will have all approved projects subjected to community voting, with a selected number of projects being added to the Hexagon potential recipients list for a given epoch.
## Technical outline
Andrzej’s math goes here
###### tags: `comms`