Fees
Transparent fee structure
Overview
Fees in OctoLend are designed to balance incentives between liquidity providers, curators, borrowers, and the protocol.
Each component — Lending Market, Collateral Vault, and Interest Rate Model — implements its own fee logic in a modular and isolated way.
Together, they form a transparent, on-chain flow of value from borrowers to lenders, delegators, and designated beneficiaries.
Fee Architecture
OctoLend’s fee model has four components:
| Fee Type | Module | Payer | Recipient | Description | Purpose |
|---|---|---|---|---|---|
| Borrow Interest | IRM / Lending Market | Borrowers | Market LPs | Continuous interest accrual on debt balances, reflected via debt token price. | Compensates liquidity providers |
| Delegation Fee | Collateral Vault | Borrowers using delegation | Collateral Vault (fee pool) | Time-based fee on allocated delegated collateral. | Rewards delegated, first-loss capital |
| Market Fee | Lending Market | Borrowers (via interest) | Fee Beneficiary | Portion of accrued interest minted as additional vault shares. | Protocol / curator revenue |
| Liquidation Bonus | Lending Market | Defaulted Borrowers | Liquidators | Extra collateral paid on liquidation. | Incentivizes risk resolution |
All fees are enforced on-chain, isolated per market or vault, and queryable via public getters.
Borrow Interest (Lending Market)
Accrual Mechanism
Borrow interest is governed by the Interest Rate Model (IRM).
Interest accrues continuously on outstanding debt and is reflected in the debt token price, rather than through discrete balance updates.
On each accrual-triggering action (borrow, repay, deposit, withdraw, liquidation), the market:
- Compounds interest via
compound_interest(). - Updates total debt assets in storage.
- Updates the debt token price used for all accounting.
Formula
Debt growth is exponential over time:
where
and x is derived from utilization, model parameters, and elapsed time.
Interest Model Types
- Fixed rate: Constant baseline.
- Dynamic (PI-controlled): Stabilizes around optimal utilization.
- Dynamic with stress penalty: Escalates rates above critical utilization.
Interest is not transferred explicitly; it is realized implicitly through vault share price appreciation.
Market Fee (Lending Market)
Fee Model
Each Lending Market may define a market fee in basis points (fee_bps).
This fee represents a portion of interest growth that is captured by minting additional vault shares to a designated fee beneficiary.
Accrual and Settlement
- Fees accrue as part of total asset growth.
- On accrual, the market calculates the fee portion attributable to asset growth since the last accrual.
- New vault shares are minted to the fee beneficiary, diluting existing LPs proportionally.
This mechanism avoids explicit transfers and preserves accounting consistency.
Key Properties
- Fees are denominated in vault shares, not raw assets.
- Fee parameters and beneficiaries are set once and can be updated only by market admin.
- Fees compound automatically as long as the market is active.
Delegation Fee (Collateral Vault)
Fee Model
When collateral is delegated and allocated to a borrower, a delegation fee is charged on the allocated amount.
The fee rate is defined per borrower via delegation_fee_bps in the receiver configuration.
Fees accrue linearly over time:
Accrual Characteristics
- Fees accrue off-balance-sheet and do not reduce delegated collateral, collateral value, or vault share price.
- Accrued fees are tracked per allocation as
accrued_fee. - Accrual is updated whenever allocations change or are reconciled.
Payment and Forfeiture
- Borrowers may settle accrued fees by calling
pay_delegation_fee(). - On liquidation of delegated collateral, any unpaid fees are forfeited via
forfeit_fees().
Delegation fees accumulate in the vault’s internal fee accounting and can be distributed according to vault policy.
Liquidation Bonus
While not a fee in the strict sense, liquidations include an incentive paid to liquidators:
This bonus is paid in collateral at oracle price and is funded entirely by the borrower’s collateral position.
It compensates liquidators for execution risk and timing uncertainty.
Transparency
All fee parameters, accruals, and balances are on-chain and publicly queryable:
| Function | Module | Description |
|---|---|---|
get_total_fees_accrued() | Collateral Vault | Total delegation fees accrued |
get_fee_percent_bps() | Lending Market | Market fee rate (bps) |
get_fee_beneficiary() | Lending Market | Recipient of market fee shares |
get_total_debt_assets() | Lending Market | Debt principal plus accrued interest |
get_price() | Interest Rate Model | Current debt token price |
This ensures full auditability of value flows between borrowers, lenders, delegators, and protocol beneficiaries.
Summary
- Borrow interest accrues continuously via the IRM and is reflected in debt token price.
- Market fees are implemented via share minting, not asset transfers.
- Delegation fees accrue separately and do not affect collateral value or share pricing until settled or forfeited.
- All fees are isolated per market or vault, immutable in structure, and fully transparent on-chain.
This design ensures predictable economics, clean accounting, and institutional-grade clarity across the OctoLend protocol.