Governance Module

The role of the governance module is to allow depositors to exercise voting rights associated with their deposited governance tokens. This feature is aimed at users with concentrated token holdings who want to benefit from Fyde’s diversification and liquidity while still actively participating in decision making (e.g. founders, delegates, whales, VCs, etc.).

Each user of Fyde’s governance module has their own proxy contract which holds the governance token and can vote on their behalf. The amount of governance token a user is entitled to is equivalent to the USD value of their $gTRSY holdings.

Governance Functionalities Overview

  • Unstake: Converts $gTRSY to $TRSY on a 1:1 basis. This action is irreversible and relinquishes voting rights permanently.

  • Rebalance: Adjusts token distribution between proxies and the standard vault to align with the user's vote entitlement. Essential for active governance participants.

  • Delegate: For ERC20Votes tokens, users are allowed to delegate their voting rights to an EOA or multi-sig, bypassing direct Fyde interaction.

  • setDelegate/clearDelegate: Applicable for Snapshot Spaces with SnapshotDelegation. Facilitates off-chain Snapshot voting rights delegation.

  • SnapshotVoting: Enables voting on Snapshot proposals through Fyde, verified off-chain by ERC-1271 standards.

Upgradability

  • The governance contract is upgradable via a modified beacon proxy pattern, ensuring adaptability with evolving DAO governance. Proxies, which are minimal, retrieve implementation addresses from the governance module.

  • User proxies handles on-chain voting and Snapshot integration.

  • Fyde's developers can update the implementation address for future governance enhancements.

User approval is needed for activation on individual proxy

Rebalancing

Holders of $gTRSY-govToken can use voting rights of the underlying governance token, equivalent to the USD value of the $gTRSY. Since the price of $TRSY and a specific governance token fluctuate, the amount of tokens/votes a user is entitled to changes over time. This means tokens need to be redistributed between proxies and the diversified (non-governance) vault. It is the responsibility of the user to trigger the rebalancing of their proxy if they don’t have their full voting rights assigned.

Example: User deposits 100 tokenA at a price of 1USD into Fyde and wants to keep governance rights. At the time of deposit the price of $TRSY is 1 USD, so they receive 100 $gTRSY-tokenA. At this time they can use 100 votes for tokenA governance. Over time the price of tokenA stays constant while $TRSY increases to 1.20 USD. Since the USD equivalent of 100 $gTRSY-tokenA is now 120 tokenA, user should call rebalanceProxy in order to get 120 tokenA assigned. If $TRSY then drops to 0.5 USD user would be entitled to 50 tokenA votes, but has 120 assigned. As long as no one else is claiming these tokens, user may keep additional voting rights. If another is underweight and calls rebalanceProxy, tokens will be transferred to them. When rebalancing the tokens are taken from other users that have too many votes or from Fyde’s diversified (non-governance) vault. If due to strong price fluctuations there are temporarily not enough token in the protocol, the amount of token will be distributed to $gTRSY-tokenA holders according to their fair share.

Last updated