Risk Management
Risk management is a critical aspect of many DeFi protocols, and Flower is no exception. Flower uses a variety of mechanisms to manage risk to ensure the protocol's stability.
Flower's risk parameters are managed by the protocol's governance system. You can read more about the governance system here TODO.
Flower’s risk management framework is designed to maintain protocol stability and user confidence. By isolating collateral risks adjusting parameters periodically, and utilizing stakers as a backstop for bad debt, Flower minimizes systemic risk while adapting to evolving market conditions.
Collateral Risk Isolation
In Flower, each collateral asset has its own isolated borrowing and collateral vault with their own separated risk parameters. This allows the protocol to contain risk from each collateral asset and prevent a single collateral asset from causing a systemic failure. You can read more about the general architecture of Flower and collateral and borrowing vaults here(TODO).
Configurable Risk Parameters
Flower allows the protocol's governance system to configure risk parameters for each collateral asset. This allows the protocol to adapt to different market conditions and risk profiles.
Liquidation LTV
Flower uses a liquidation LTV to determine the maximum amount of flUSD that can be borrowed against a collateral asset. The maximum amount of debt a user can accrue for a specific collateral asset is determined by the liquidation LTV of that collateral asset. maxDebt = liquidationLTV * collateralValue.
If the maximum amount of debt is reached, the user's position is eligible for liquidation.
When adjusting the liquidation LTV down, governance can decide to ramp the liquidation LTV down over a time period. This is to prevent triggering immediate liquidations and give users time to adjust their positions.
A position's health factor determines how close it is to liquidation:
- Health Factor Formula: Health Factor = (Collateral Value × Liquidation LTV) / Borrowed flUSD
- If the health factor drops below 1.0, the position becomes eligible for liquidation.
Borrow LTV
Similar to the liquidation LTV, the borrow LTV is the maximum amount of flUSD a user can borrow when opening or adjusting a position. The borrow LTV is used to determine the maximum amount of flUSD a user can borrow for a specific collateral asset. maxDebt = borrowLTV * collateralValue.
A user is not able to update their position if their position would exceed the borrow LTV.
The borrow LTV is always lower than the liquidation LTV. This is to ensure that a user can not open a position that would immediately be eligible for liquidation.
Changes to the borrow LTV are not subject to a ramp period and take effect immediately.
Max Liquidation Discount
Upon liquidation, the liquidator (partially) absorbs the debt and collateral of the liquidated position. The amount of collateral a liquidator receives is determined by the collateral and debt price and the liquidation discount.
With Flower being built on top of Euler v2, it inherits the dynamic liquidation discount. The liquidation discount starts at 0 and scales to the maximum liquidation discount the lower a position's health is.
The maximum liquidation discount is set by the protocol and can be adjusted by the protocol's governance system.
Borrow Cap
The borrow cap is the maximum amount of flUSD that can be borrowed using a specific collateral asset. By managing these caps the protocol can limit the exposure to a single collateral asset, ensuring that flUSD is backed by a diverse set of collateral assets.
Bad Debt
When a position's collateral value is lower than the debt value, the net difference is considered bad debt. Liquidators are able to fully liquidate a position's collateral, leaving the bad debt.
Bad debt is then covered by the flUSD staking pool which absorbs any bad debt in return for a portion of all interest paid by borrowers. You can read more about the flUSD staking pool here.
Bad Debt and Staker Involvement
When a position’s collateral value falls below the debt value, the resulting shortfall is classified as bad debt. Bad debt poses a risk to the protocol’s solvency, and Flower addresses this through the flUSD staking pool.
Staker Role:
- Absorbing Risk: flUSD stakers provide an insurance layer by covering bad debt.
- Rewards: In return for this risk, stakers earn a portion of all interest paid by borrowers, auto-compounding into their holdings.
- Diversification: Because bad debt risk is spread across the entire staking pool, individual stakers benefit from a diversified risk profile.
Oracle Selection
With Flower being built on top of Euler v2 it inherits the wide support for a variety of oracle providers.
For yield bearing products used as collateral assets Flower will strive to always price those assets using market rates unless they are atomically redeemable for the underlying assets without without any delays or significant constraints.
This does expose borrowers to price fluctuations but protects the protocol against bad debt risk.