Interest Rate Models (IRMs)
Learn about Lotus IRM types including Adaptive Linear Kink, Base Linear Kink, Managed Linear Kink, and Fixed Rate models with configuration and guardrails.
Lotus is IRM-agnostic. An interest rate model (IRM) defines how each tranche's borrow rate is computed from that tranche's utilization. IRMs expose an initialization hook and a tranche borrow-rate function. Markets select an IRM and pass per-market parameters at creation.
Enabling IRMs
The Lotus admin enables IRMs on the protocol. Once enabled, any new market can use them. Enabled IRMs cannot be disabled.
Selecting an IRM for a market
A market chooses its IRM via MarketParams.irm. Market-specific IRM parameters are passed during createMarket() as irmParams.
Approved IRMs
The Adaptive Linear Kink IRM is actively used in Lotus markets.
What it is
The Adaptive Linear Kink IRM is a piecewise linear "kink" model whose parameters update automatically during borrow-rate queries, keeping rates responsive to utilization without manual maintenance. Rate follows a kink curve (linear up to targetUtilization, steeper after), with the "rate at target" adapting over time. Guardrails constrain how quickly parameters can change.
Config and state
Adaptive behavior is controlled by AdaptiveConfig:
AdaptiveConfig controls target utilization, rate bounds, adaptation speed, curve steepness, grace period, minimum update interval, and max per-update rate change. Per-market/tranche AdaptiveState stores the current rate at target, last utilization, last update time, creation time, and an interaction counter for seeding protection.
How borrow rates are computed
On each borrow rate query, the IRM updates its adaptive state (unless paused) and computes the rate from the current kink parameters.
Features and Guardrails
Guardrails limit unexpected jumps and early-market manipulation:
gracePeriod: dampens behavior for new markets
minUpdateInterval: prevents rapid-fire updates
maxRateChange: bounds how much the rate can change per update
interactionCount: optional seeding protection before the model “trusts” observations
The Base Linear Kink IRM is approved, but not active in any markets.
What it is
The Base Linear Kink IRM is a deterministic piecewise linear curve:
From
0utilization up totargetUtilization, the rate increases linearly frombaseBorrowRatewith slopegentleSlope.Above
targetUtilization, the rate increases fromtargetBorrowRatewith slopesteepSlope.
Parameters: target utilization, base borrow rate, gentle slope (below target), target rate, steep slope (above target).
The Managed Linear Kink IRM is approved, but not active in any markets.
What it is
The Managed Linear Kink IRM uses the same underlying curve as the Base Linear Kink, but the hyperparameters are actively managed by an IRM operator, which can be an EOA, a multi-sig, or a smart contract.
This suits markets where rate policy is intentionally managed — curated credit desks, strategy-managed liquidity, or markets where an external signal (e.g., a collateral's onchain yield or funding rates) makes rates more efficient than utilization alone.
Operator updates
Only the designated operator can update IRM parameters (subject to governance controls and bounds).
This adds operator risk (rate policy can change) and therefore needs clear governance/timelock/bounds disclosure wherever it is used.
The Fixed Rate IRM is approved, but not active in any markets.
What it is
The Fixed Rate IRM sets a borrow rate per tranche that does not depend on utilization. The rate is configured and maintained by an operator (EOA, multisig, or smart contract).
This suits markets with a mechanically simple rate rule — offchain underwriting, negotiated credit lines, or a targeted cost of capital. It can also serve as a building block for structured rate policies (e.g., fixed for an initial period, then transitioned to a utilization-based model).
Last updated

