# Interest Rate Model

#### Overview

Segment Finance 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. Moreover, some markets feature a stable rate.

**Jump Rate Model**

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

For Borrow rate:

**borrow_rate(u)=b+a1⋅kink+a1⋅min(0,u−kink)+a2⋅max(0,u−kink)**

And, for Supply rate:

**supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)**

Where,

**us=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)=a1⋅u+b**

If `u > kink`

:

**borrow_rate(u)=a 1 ⋅kink+a 2 ⋅(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_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)=a⋅u+b**

For Supply rate:

**supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)**

Where,

**us=borrows/(cash+borrows−reserves+badDebt)**

Last updated