Pools & Tranches
Lending pools are the core unit of the Kasu system. Each pool accepts USDC deposits from KYC'd Liquidity Providers, deploys capital to off-chain borrowers via a Pool Funds Manager, and processes repayments and withdrawals through epoch-based clearing.
Lending Pool
A lending pool is both a ledger and an ERC-20 token. The pool's token supply represents its total balance relative to USDC. The pool balance equals:
Pool Balance = Sum of all tranche balances + First Loss Capital
Liquidity Providers do not interact with the lending pool directly. All interactions go through the LendingPoolManager contract, which routes deposits to the corresponding Pending Pool and manages clearing.
Pending Pool
Each lending pool has a Pending Pool (ERC-721 contract) that holds deposit and withdrawal requests. When a Liquidity Provider submits a request:
Deposit: The Pending Pool receives the USDC and mints a non-transferable D-NFT as receipt
Withdrawal: The Pending Pool receives tranche shares and mints a non-transferable W-NFT as receipt
Requests accumulate during the epoch and are processed during the clearing period. D-NFTs and W-NFTs are burned when requests are fully accepted. Partially accepted requests update the NFT with the remaining amount.
If a Liquidity Provider submits another deposit request in the same epoch, the existing D-NFT is reused and the amount is increased.
Tranches
Each lending pool can have 1 to 3 tranches, representing different risk-return profiles:
Junior
Highest
Highest
First to absorb losses (after First Loss Capital)
Mezzanine
Medium
Medium
Second to absorb losses
Senior
Lowest
Lowest
Last to absorb losses
Tranches are ERC-4626 vaults. When a deposit is accepted during clearing, the tranche mints non-transferable tranche shares 1:1 with USDC deposited. USDC-IOUs are minted within the tranche to track the accounting value (principal + interest).
Pools with a single tranche do not use the "tranche" terminology in the UI — the pool itself represents the single investment offer.
Tranche Allocation & Overflow
At clearing time, if a tranche is oversubscribed, excess deposits overflow to the next tranche with lower risk:
Fill Junior tranche to capacity
Overflow to Mezzanine (if exists)
Overflow to Senior (if exists)
Reject remaining deposits
Within each tranche, deposits are processed by loyalty level (highest first). Overflow deposits retain their loyalty level priority in the next tranche.
Excess funds accepted into the lending pool (above the draw amount) are allocated to the Senior tranche.
Example
Junior
$20,000
$70,000
$20,000
Mezzanine
$30,000
$20,000
$30,000 (including $10K overflow from Junior)
Senior
$50,000
$40,000
$50,000 (including overflow)
Remaining $30,000 in deposit requests are rejected and returned to Liquidity Providers.
Last updated