Interest Rates: The Jump Rate Model
No committee sets Peridot's rates. Every market prices itself from a single input, utilization (the share of the pool currently lent out), through a curve called the jump rate model. This page walks through the exact math the contracts run on every block.
Utilization#
utilization = totalBorrows / (cash + totalBorrows)
Utilization is the market's supply-and-demand gauge. Low utilization means idle liquidity: rates fall to attract borrowers. High utilization means the pool is nearly drained: rates rise sharply to attract deposits and encourage repayment, protecting withdrawals.
The jump rate model#
The borrow rate follows utilization along two straight lines that meet at the kink (typically 80%). Below the kink, rates climb gently; above it, the slope jumps steeply, and that jump is the pool's self-defense against running out of liquidity:
u ≤ kink: borrowRate = base + u × multiplier
u > kink: borrowRate = base + kink × multiplier
+ (u − kink) × jumpMultiplierSuppliers earn the borrow rate scaled by two factors: only the utilized share of the pool earns interest, and a slice (the reserve factor) accrues to protocol reserves as an insurance buffer:
supplyRate = borrowRate × utilization × (1 − reserveFactor)
Rate-curve explorer
Drag utilization along the curve (and reshape the curve itself) to see how both rates respond.
Utilization
65%
Borrow APR
3.25%
Supply APR
1.90%
Two curves, two asset classes#
- Stablecoin markets (USDC, EURC) use a flatter curve: demand for dollar liquidity is steady, so rates stay in a narrow, predictable band below the kink.
- Volatile markets (XLM) use a steeper curve with a harsher jump: when a volatile asset's pool drains fast, the model reacts fast.
From per-block rate to APY#
On-chain, the model quotes a rate per block (per ledger on Stellar). The app annualizes it, and the compounding of the exchange rate turns the annual rate (APR) into the slightly higher APY you see displayed:
APR = ratePerBlock × blocksPerYear APY ≈ (1 + APR/n)ⁿ − 1 for n compounding periods
Rates are variable by design
Your APY changes whenever anyone deposits, withdraws, borrows, or repays; that's the mechanism working, not a malfunction. Large moves in either direction pull the rate back toward equilibrium: high rates attract deposits, which lowers utilization, which lowers rates.Read next#
APY & rewards
How displayed APY combines base yield, boosts and rewards.
Health factor & liquidation
The other side of borrowing: what keeps loans solvent.
Common questions
Why did my APY change without me doing anything?
Because rates track utilization, and utilization changes whenever anyone else deposits, withdraws, borrows or repays in the same pool. That is the mechanism working, not a fault.
What is the kink in the jump rate model?
The utilization level, typically 80%, where the rate curve changes slope. Below it rates climb gently; above it they climb steeply, which is the pool's defence against running out of withdrawable liquidity.
What is the difference between APR and APY here?
APR is the simple annualized rate the contract quotes. APY includes compounding, which on Peridot happens automatically through the exchange rate, so APY is the number your balance actually tracks.
What is the reserve factor?
The share of borrower interest that accrues to protocol reserves as an insurance buffer instead of to suppliers. It is why the supply rate is always below the borrow rate.
Last reviewed on .