> For the complete documentation index, see [llms.txt](https://docs.surflending.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.surflending.org/public-testnet-resources/editor/testnet-interest-rate-model.md).

# Testnet Interest Rate Model

### Interest Rate Model

We use a **jump rate model** to determine interest rates based on pool utilization. This model adjusts borrow and supply rates depending on how much of the available liquidity is being used.

#### Utilization

Utilization is calculated as:

```
utilization = total_borrowed / (total_supplied + total_borrowed)
```

* When utilization is low, borrow rates are low.
* As utilization increases, borrow rates rise to incentivize more supply and limit excessive borrowing.

***

### Borrow Rate

The borrow rate increases linearly up to a kink point (80% utilization). Beyond the kink, the rate increases more steeply.

Parameters used on testnet:

* `baseRate`: 10%
* `slopeLow`: 10%
* `slopeHigh`: 50%
* `kink`: 80%

Borrow rate formula:

```
if utilization <= kink:
    borrow_rate = baseRate + slopeLow * utilization
else:
    borrow_rate = baseRate + slopeLow * kink + slopeHigh * (utilization - kink)
```

***

### Supply Rate

Suppliers earn a portion of the interest paid by borrowers. A small cut is kept by the protocol via the reserve factor.

* `reserveFactor`: 10%

Supply rate formula:

```
supply_rate = utilization * borrow_rate * (1 - reserveFactor)
```

***

### Interest Rate vs Utilization graph

<figure><img src="https://4207308717-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CbiEzg1EDUoh0ARtsa4%2Fuploads%2FcHtpEi31aOUT5g3jGrTV%2Fimage.png?alt=media&amp;token=f91000e8-f778-4ac4-adb0-86aa914ff586" alt=""><figcaption></figcaption></figure>

### Configurability

These parameters are **configurable per pool**. What’s shown above reflects the initial values used on the testnet and are **not final**. Final parameters for each pool will be determined prior to mainnet launch based on testing, risk, and market conditions.

***

### Examples

#### Utilization = 54%

* Borrow rate:

  ```
  0.10 + 0.10 * 0.54 = 0.154 → 15.4%
  ```
* Supply rate:

  ```
  0.54 * 0.154 * 0.9 = 0.0749 → 7.49%
  ```

#### Utilization = 90%

* Borrow rate:

  ```
  0.10 + 0.10 * 0.8 + 0.50 * (0.90 - 0.8) = 0.18 → 18%
  ```
* Supply rate:

  ```
  0.90 * 0.18 * 0.9 = 0.1458 → 14.58%
  ```

***

This setup provides predictable rates under normal conditions, reacts quickly to high utilization, and keeps pools healthy while rewarding both borrowers and suppliers.
