Euler Finance
  • Welcome
  • Getting Started
    • Introduction
    • White Paper
    • Quick Links
  • App
    • Getting Started
      • Common Errors
    • How To
      • Connect a Wallet
      • Deposit
      • Withdraw
      • Borrow
      • Repay
      • Mint
      • Burn
      • Sub-Accounts
      • Transfer
      • Swap
      • Short/Long
      • Protected Collateral
      • Transaction Builder
      • Wrap
      • Activate
      • Allowances
      • Retrieve Browser Errors
      • Lending and Borrowing
    • FAQ
  • Euler Protocol
    • Getting Started
      • Risk Methodology
        • Asset Tiers
        • Collateral and Borrow Factor
        • Ranking Assets
        • Oracle Rating
      • Simulation Environment
    • Addresses
    • Parameters
      • Interest Rates
      • Risk Factors
  • Euler Governance
    • Getting Started
      • Phases
    • How To
      • Delegate Voting Power
      • Write a Proposal
      • Create a Tally (On-Chain) Proposal
        • Create a Snapshot (Off-Chain) Proposal
      • Vote on Tally (On-Chain)
      • Vote on Snapshot (Off-Chain)
      • Join the Forum
    • Treasury
    • Grants
    • Addresses
    • Parameters
  • EUL
    • About
    • Distribution
    • Epochs
    • Gauges
    • Staking
  • Developers
    • Getting Started
      • Contract Integration Guide
      • Contract Reference
      • Architecture
    • Proxy Protocol
    • Numeric Limits
    • SDK
    • Subgraph
  • Security
    • Audits
    • Bug Bounty
    • Insurance
  • Languages
    • White Paper (ENG-CHN)
    • Community Translations
  • Legal
    • Terms and Conditions
    • Privacy Policy
Powered by GitBook
On this page
  • About
  • Step-by-step
  • Etherscan
  • Tally (On-Chain) Governance Dashboard
  • Programmatically

Was this helpful?

Export as PDF
  1. Euler Governance
  2. How To

Delegate Voting Power

PreviousHow ToNextWrite a Proposal

Last updated 2 years ago

Was this helpful?

🚨 If you wish to have a say in governance, you need to delegate your voting power to yourself or someone in the community. Without performing this action, you will not have any voting power which means being unable to create proposals or vote on Snapshot (off-chain) and Tally (on-chain). 🚨

About

In summary, delegates are token holders that have completed a one-time setup process (executing the delegate function of the token to delegate another user or the token holder themselves to enable the governor contract to determine their voting power). Once you become a delegate, you can vote on active proposals, and create proposals if you have enough voting power. If you choose not to directly vote on proposals, you can pass your voting power on to a delegate as well.

The delegate sections below describe the delegation using the EUL token smart contract and via the Tally Governance Dashboard.

Delegate votes from the sender to a delegatee. Users can delegate to 1 address at a time, and the number of votes added to the delegatee’s vote count is equivalent to the balance of EUL in the user’s account. Votes are delegated from the current block and onward, until the sender delegates again, or transfers their EUL. Delegation can be carried out via the smart contract function described below or via the Tally user interface.

Step-by-step

Voting power delegation can be done via Etherscan, Tally (On-Chain) Governance dashboard or programmatically.

Etherscan

1. Visit the on Etherscan (shown below).

2. Click on Contract (shown below) to view the EUL token smart contract code and interact with the contract via etherscan.

3. Click on Write Contract (shown below).

4. Click Connect to Web3 to connect your Metamask wallet which will be used to confirm the delegate transaction. Once connected, you should see your wallet connect on etherscan as shown below.

5. Click on 3. delegate to expand the delegatee address input text field.

7. Click on the blue Write button directly under the delegatee address text field.

8. Finally, regardless of whether you are delegating to yourself or delegating to a delegate, you will be required to confirm the transaction in your Metamask wallet and this transaction will cost gas.

To check the address you are currently delegated to, you can click on the Read Contract tab next to the Write Contract tab and you will be presented with the window below.

Click on 10. delegates (shown below) and paste your address in the text field and click on Query and it should show the address you have set as a delegate. If it shows the zero address, (i.e., 0x0000000000000000000000000000000000000000) then it implies you have not delegated to your wallet or to another address.

You can also check your current voting power.

To do this, click on 14. getVotes (shown below) and paste your address in the text field and click on Query. If you have self-delegated, your voting power should be equal to the number of tokens you hold. If you have not self-delegated, or if you have delegated to another address, the query will return zero voting power.

Tally (On-Chain) Governance Dashboard

2. Click on Delegate vote at the top right corner of the screen.

If you choose to delegate to an address or delegate, the following screen will be shown instead where you can enter the address you wish to delegate your voting power to.

This will not transfer any of your EUL tokens to the delegate, but rather only delegate all your voting power, i.e., you will be voting via a delegate or proxy who will be voting on your behalf or representing you at the polls!

You can always change the delegate later on or delegate to yourself again. This helps to ensure that there is a good degree of participation from the community on on-chain governance proposals voting.

4. Finally, regardless of whether you are delegating to yourself or delegating to a delegate, you will be required to confirm the transaction in your Metamask wallet and this transaction will cost gas.

To recap, delegates are token holders that have completed a one-time setup process. Once you become a delegate, you can then vote on active proposals, and create proposals if you have enough voting power. If you choose not to directly vote on proposals, you can pass your voting power on to a delegate as we have seen.

Programmatically

For developers who wish to interact with the EUL token smart contract directly, the EUL contract has a delegate function defined with examples on how to interact with it shown below.

function delegate(address delegatee)
  • delegatee: The address the sender wishes to delegate their votes to.

  • msg.sender: The address of the EUL token holder that is attempting to delegate their votes.

  • RETURN: No return.

Solidity

EUL eul = EUL(0x123...); // contract address
eul.delegate(delegateeAddress);

Web3.js

const tx = await eul.methods.delegate(delegateeAddress).send({ from: sender });

6. Enter the address you wish to delegate your voting power to. This can be your wallet address if you are self-delegating or another wallet address (i.e., a community member or one of the active delegates on the .

1. Visit the on Tally and connect your wallet where you hold EUL tokens.

3. A pop-up window will appear with two options as shown below, i.e., Delegate to self or Delegate to an address. You can then choose on of these options from the pop up window, either to delegate to yourself or to another wallet address (i.e., a community member or one of the active delegates on the ). By delegating to self, you retain your voting power. Next time there is an active proposal, you can choose to vote in any way you choose.

delegates list
Euler on-chain governance dashboard
delegates list
EUL token page