Fixed Term Deposits
Fixed term deposits allow Liquidity Providers to lock their tranche shares for a specified number of epochs in exchange for a guaranteed interest rate. This mechanism provides yield certainty regardless of future interest rate changes.
How It Works
The Pool Admin creates fixed term deposit configurations for a lending pool, specifying: tranche, lock duration (in epochs), and a fixed interest rate
A Liquidity Provider with an active deposit in the matching tranche locks their tranche shares into a fixed term position
During each clearing, the system adjusts the LP's tranche shares to match the guaranteed rate — minting additional shares if the fixed rate exceeds the pool rate, or burning shares if it is lower
When the lock duration expires, the position is unlocked and tranche shares are returned to the user
Configuration
Each lending pool can have multiple fixed term deposit configurations. Each configuration specifies:
tranche
address
The tranche this configuration applies to
epochLockDuration
uint16
Number of epochs the deposit is locked
epochInterestRate
uint64
Guaranteed interest rate per epoch
fixedTermDepositStatus
enum
DISABLED, WHITELISTED_ONLY, or EVERYONE
Configurations are created by the Pool Admin via FixedTermDeposit.addLendingPoolTrancheFixedTermDeposit().
Locking
Fixed term deposits can be locked in two ways:
Automatically: During clearing, when a deposit is accepted into a tranche that has an active fixed term config, the deposit is automatically locked (
lockFixedTermDepositAutomatically)Manually: A user with existing tranche shares can lock them into a fixed term position (
lockFixedTermDepositManually)
When a fixed term deposit is locked, the user's tranche shares are tracked separately from regular deposits.
Withdrawal
The user can request early withdrawal via
LendingPoolManager.requestFixedTermDepositWithdrawal(). This triggers a Force Withdrawal during the next clearing, processed with the highest priorityIf no withdrawal is requested, the position automatically unlocks after the lock duration ends and tranche shares are returned to the user
Withdrawal requests can be canceled within a configurable number of epochs before unlock (
cancelRequestEpochsInAdvance)
Allowlisting
Fixed term deposit configurations can be restricted to specific users via the fixedTermDepositsAllowlist. The Pool Admin can manage this list through updateFixedTermDepositAllowlist().
Contracts Involved
FixedTermDeposit.sol— Core logic for fixed term deposit management and clearingLendingPoolManager.sol— User-facing entry point for fixed term deposit operationsIFixedTermDeposit.sol— Interface defining all structs, events, and errors
Last updated