Relayer

The role of the relayer is twofold :

  • It acts as the entry point for users to interact with the protocol through functions such as deposit and withdraw.

  • It is used for settlement automation in Fyde by monitoring and updating the protocol TVL (denominated in USD). Automation is overseen by external keepers such as the Chainlink automation, Gelato Network, and custom keepers.

Relayer Functionalities

Interacting with liquid vault

Users call the relayer functions to convey their actions, including parameters such as assets, amounts, governance rights retention, and slippage parameters.

TVL Monitoring and Protection From Keeper Manipulation

Fyde denominate assets value and TVL (Total Value Locked) in USD with on-chain pricing. However, calculating TVL requires iterating through N assets, rendering on-chain pricing excessively expensive and unscalable. The keeper’s objective is to ascertain the value of protocolAUM through on-chain functions, but as this computation occurs off-chain, the process remains cost-effective.

Since the keeper plays a pivotal role by providing essential input for the protocol’s operation (protocolAUM), it creates an attack vector. For this reason, we also secure the protocolAUM value within the Fyde contract. When the keeper calls the processRequest function, we ensure the input value aligns within a reasonable threshold to thwart manipulation attacks.

The protocolAUM value is also monitored by off-chain keepers. Should the off-chain value diverge beyond a specific percentage, the keeper is prompted to update the internal value, ensuring a consistent on-chain protocolAUM. However, the keepers’ actions are limited, and they can only update the protocolAUM within a coherent range to prevent atomic manipulation and draining of the protocol in a single tx. Consequently, even in scenarios where the Gelato Network is compromised or the Fyde keeper’s private key is stolen, the protocol remains safeguarded against immediate, single-transaction manipulation attacks, giving us a window to respond and suspend the protocol.

Access Control and Roles

Relayer inherit access control logic, with the following roles :

  • User : Currenlty there is no user whitelist basis. However user can be on whitelist basis.

  • Owner : Can add/remove the roles below (functions are triggered manually, this will be a Gnosis Safe multisig)

Following roles can have multiple addresses assigned :

  • Keeper : Gelato network, Chainlink Automation and Fyde keeper for updatingAUM and processRequest

  • Guard : Can pause/unpause the protocol and add asset to quarantine list

  • IncentiveManager : Can set swap incentiveFactor on Fyde

For more informations, see Roles

Quarantine List

To safeguard against potential damages to the vault from tokens that might be subjected to drastic declines in value—often referred to as “falling knife” scenarios (e.g., Terra Luna)—Fyde possesses the capability to quarantine assets, guided by a strategic risk management overlay. When an asset is placed under quarantine, all activities associated with this specific asset, such as deposits, withdrawals, and swaps, are disabled. The management of the quarantine list is managed by the guard role.

Last updated