The code for Euler Protocol is controlled by a decentralised community through on-chain governance on the Ethereum network. The community are holders of a protocol-native governance token called EUL (pronounced 'oil'), which enables the community to effect change over the Euler Protocol code. Tokens can be used to propose upgrades to the protocol or vote on the proposals of others.
Governance can vote to effect change over the Euler Protocol for parameters such as:
- 1.Default isolated tier borrow factor
- 2.Collateral and borrow factors of specific assets
- 3.Inclusion of an asset in the cross and collateral tiers
- 4.Change in choice of risk parameters and general methodology
On-Chain governance, allows unique features such as delegated voting and proposition powers, as well as protocol (and governance configuration) updates via a time lock executor. This ensures the protocol can adapt to evolving market conditions, as well as upgrade core parts of the protocol over time.
On the other hand, for off-chain governance, there is no code to review or implement as such. It is mainly a call for the Euler Foundation to carry out an action. Issue a grant, or pay a bill, for example. Thus mainly used to aid Euler in making difficult decisions in collaboration with the community.
The flow of the governance process is as follows:
- 5.Optional step — eIP created on Tally (on-chain voting)If and only if the proposal includes changes to the smart contract, the proposal will be voted on Tally after Snapshot voting. Execution will be targeting Euler protocol smart contract if the proposal is successful.
It is noteworthy that not all off-chain proposals that are either binding or non-binding on the protocols smart contracts will end up having an on-chain proposal depending on the outcome of the off-chain 'gas-less' voting and for gas cost savings. On the other hand, not all on-chain proposals will require an off-chain counterpart.
Depending on the outcome of an off-chain voting process, an on-chain proposal might be created which will be executed against a target protocol smart contract if successful.
If an off-chain proposal requires an on-chain proposal that will be executed against a protocol smart contract, then the general flow could be as follows:
Creation of a formal Idea/Proposal on Governance forum for discussion → Proposal created on Snapshot (off-chain proposal creation) → Off-Chain Voting → (if on-chain governance is required) eIP (Euler Improvement Proposal) creation on Governance forum by forum moderator → eIP created on Tally (on-chain proposal creation) → On-Chain Voting (and Execution on target Euler protocol smart contract if successful).
A great place to start a discussion on a potential governance proposal is the idea section on the forum website. If you feel confident that your idea is relevant to the community and is well-formulated, head over to the Governance Forum to begin a discussion with the community around your idea (following the process described on the forum).
Once a discussion / commenting begins around your idea, be proactive with the community and be open to suggestions. It typically takes a week for the request for comments to mature before it becomes an eIP.
If the discussion is well-formulated and the community has a clear understanding of the proposal and supports your idea, (for on-chain proposals) it will be moved by a moderator to the governance category as an eIP: Euler Improvement Proposal. Once the proposal has an eIP, an on or off-chain proposal can be created on the Tally governance dashboard or on the Snapshot governance dashboard.
A Tally or Snapshot proposal does not always need to be created by the original eIP author / proposer, it can be posted by someone else or by on of the delegates in case the minimum threshold of EUL is not being met.