Pool Configuration

The pool settings a Pool Manager changes between clearings: tranche ratios, interest rates, draw amount and recipient, excess liquidity, limits and forcing.

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%):

ValueRate
10000000000000000010% per epoch
100000000000000001% per epoch
10000000000000000.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

FunctionPurpose
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):

ValuePercentage
100.1%
1001%
100010%

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

FunctionPurpose
updateMinimumDepositAmount()Minimum USDC per deposit request per tranche
updateMaximumDepositAmount()Maximum USDC per deposit request per tranche

Force Withdrawals#

Role: ROLE_POOL_MANAGER

FunctionPriorityDescription
batchForceWithdrawals()Highest LP priorityCreates withdrawal requests that are processed first during the next clearing
forceImmediateWithdrawal()ImmediateWithdraws 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.