Pool Configuration

All pool configuration functions can only be called outside of clearing periods unless otherwise noted.

Tranche Ratios

Role: ROLE_POOL_MANAGER Function: LendingPoolManager.updateTrancheDesiredRatios()

Updates the ratio between tranches. All ratios must sum to FULL_PERCENT (100_00 = 100%).

Values use 2 decimal places: 10.12% = 1012

Example: A pool with 20% Junior, 10% Mezzanine, 70% Senior: [2000, 1000, 7000]

Interest Rates

Role: ROLE_POOL_MANAGER Function: LendingPoolManager.updateTrancheInterestRate()

Updates a tranche's per-epoch interest rate. Changes take effect after a configurable epoch delay (default: 4 epochs). The Kasu Admin can override this delay.

Interest rates use 18-decimal precision (1e18 = 100%):

Value
Rate

100000000000000000

10% per epoch

10000000000000000

1% per epoch

1000000000000000

0.1% per epoch

Draw Amount

Role: ROLE_POOL_MANAGER Function: LendingPoolManager.updateDesiredDrawAmount()

Sets the total desired loan amount. This represents the total owed amount including previously drawn capital and accrued interest.

If insufficient deposits are available, clearing will revert. The Pool Clearing Manager must override the draw amount within the available range.

Draw Recipient

Role: ROLE_POOL_ADMIN Function: LendingPoolManager.updateDrawRecipient()

Sets the address that receives drawn USDC during clearing Step 5.

Excess Liquidity

Role: ROLE_POOL_MANAGER

Function
Purpose

updateTargetExcessLiquidityPercentage()

Target excess funds kept in the pool (must be >= minimum)

updateMinimumExcessLiquidityPercentage()

Minimum excess funds that must remain (must be <= target)

Both are percentages of the owed amount using FULL_PERCENT (100_00):

Value
Percentage

10

0.1%

100

1%

1000

10%

The minimum excess liquidity percentage prevents LPs from withdrawing below a safety threshold. It does not affect the draw amount.

Deposit Limits

Role: ROLE_POOL_MANAGER

Function
Purpose

updateMinimumDepositAmount()

Minimum USDC per deposit request per tranche

updateMaximumDepositAmount()

Maximum USDC per deposit request per tranche

Force Withdrawals

Role: ROLE_POOL_MANAGER

Function
Priority
Description

batchForceWithdrawals()

Highest LP priority

Creates withdrawal requests that are processed first during the next clearing

forceImmediateWithdrawal()

Immediate

Withdraws LP funds immediately from excess funds, bypassing clearing

Before a force withdrawal, ensure the LP does not have conflicting pending requests. Use forceCancelWithdrawalRequest() or forceCancelDepositRequest() to clear them.

Last updated