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

  1. The Pool Admin creates fixed term deposit configurations for a lending pool, specifying: tranche, lock duration (in epochs), and a fixed interest rate

  2. A Liquidity Provider with an active deposit in the matching tranche locks their tranche shares into a fixed term position

  3. 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

  4. 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:

Parameter
Type
Description

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 priority

  • If 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 clearing

  • LendingPoolManager.sol — User-facing entry point for fixed term deposit operations

  • IFixedTermDeposit.sol — Interface defining all structs, events, and errors

Last updated