Interest Rate Model

Overview

Venus Protocol offers variable interest rates for markets using two different models: the Jump Rate Model and the Whitepaper Rate Model. Each market operates under one of these models with specifically set risk parameters at the market's inception. Notably, the community can update these parameters through the Governance process. Moreover, some markets feature a stable rate, introduced in Venus V4.

Jump Rate Model

The Jump Rate Model uses the following formulas to calculate the interest:

For Borrow rate:

borrow_rate(u)=b+a1kink+a1min(0,ukink)+a2max(0,ukink)borrow\_rate (u) = b + a_1 \cdot kink + a_1 \cdot \min(0, u-kink) + a_2 \cdot \max(0,u-kink)

And, for Supply rate:

supply_rate(u)=borrow_rate(u)us(1reserve_factor)supply\_rate(u) = borrow\_rate(u) \cdot us \cdot (1 - reserve\_factor)

Where,

us=borrowscash+borrowsreserves+badDebtus = \frac{borrows}{cash + borrows - reserves + badDebt}

The borrow rate employs different formulas when the utilization rate falls into two distinct ranges:

If u < kink:

borrow_rate(u)=a1u+bborrow\_rate(u) = a_1 \cdot u + b

If u > kink:

borrow_rate(u)=a1kink+a2(ukink)+bborrow\_rate(u) = a_1 \cdot kink + a_2 \cdot (u-kink) + b

Model Parameters

  • a1: Variable interest rate slope1.

  • a2: Variable interest rate slope2.

  • b: Base rate per block (baseRatePerYear / blocksPerYear).

  • kink: Optimal utilization rate, at which the variable interest rate slope shifts from slope1 to slope2.

  • reserve_factor: Part of interest income withdrawn from the protocol, i.e., not distributed to suppliers.

The utilization rate (u) is defined as:

utilization_rate=(borrows+bad_debt)(cash+borrows+bad_debtreserves)utilization\_rate = \frac{(borrows + bad\_debt)}{(cash + borrows + bad\_debt - reserves)}

Where:

  • borrows: Amount of borrows in the market, in terms of the underlying asset, excluding bad debt.

  • cash: Total amount of the underlying asset owned by the market at a specific time.

  • reserves: Amount of the underlying asset owned by the market but unavailable for borrowers or suppliers, reserved for various uses defined by the protocol's tokenomics.

  • bad_debt: After liquidators repay as much debt as possible, reducing collateral to a minimal amount, the remaining debt is tagged as bad debt. Bad debt doesn’t accrue interest.

Whitepaper Rate Model

The Whitepaper Rate Model is simpler, where the borrow rate depends linearly on the utilization:

For Borrow rate:

borrow_rate(u)=au+bborrow\_rate (u) = a \cdot u + b

For Supply rate:

supply_rate(u)=borrow_rate(u)us(1reserve_factor)supply\_rate(u) = borrow\_rate(u) \cdot us \cdot (1 - reserve\_factor)

Where,

us=borrowscash+borrowsreserves+badDebtus = \frac{borrows}{cash + borrows - reserves + badDebt}

Last updated