# Floating-Rate Markets

Floating-rate markets provide variable-rate borrowing and lending without maturity constraints. Rates adjust continuously based on utilization. These markets serve two purposes in Fira: standalone variable-rate lending, and the foundation for [rehypothecation](/protocol/rehypothecation.md) of fixed-rate market reserves.

## How It Works

* Lenders deposit assets into a pool and earn variable yield
* Borrowers post collateral and borrow from the pool, accruing interest continuously
* Both sides can enter and exit at any time — no maturity date
* Rates move with utilization: more borrowing means higher rates

### Lend Rate

$$
Lend\_{APR} = Borrow\_{rate}\times Utilization
$$

Because both rates are volatile, floating-rate markets suit short- to medium-term positions.

## Interest Rate Model (IRM)

The borrow rate is determined by a utilization-based Interest Rate Model. The core formula:

$$
r(t)=r\_T(t)\times curve(u(t))
$$

Where:

* $$r(t)$$ is the instantaneous spot borrowing rate
* $$r\_T(t)$$ is the rate target — the rate when utilization equals the target
* $$curve(u(t))$$ shapes how rates respond to utilization deviations

### Utilization

Represented as the fraction of supplied liquidity currently borrowed.

$$
u(t)=\frac{Borrowed(t)}{Supplied(t)}
$$

Further, using utilization, we compute an abstract value from our utility function $$e(u)$$.

$$
e(u) = \begin{cases} \dfrac{u - u\_{\text{target}}}{u\_{\text{target}}} & \text{if } u \leq u\_{\text{target}} \\\[8pt] \dfrac{u - u\_{\text{target}}}{1 - u\_{\text{target}}} & \text{if } u > u\_{\text{target}} \end{cases}
$$

### Rate Target

The rate target starts at a configured value and evolves dynamically:

$$
r\_T(t) = r\_T(t\*) × exp(k\_p × e(u) × (t-t\*))
$$

When utilization exceeds the target, the rate target increases — making borrowing more expensive and encouraging repayment. When utilization is below target, the rate target decreases — making borrowing cheaper and encouraging demand.

The utility function $$e(u)$$ symmetrically scales deviations above and below the target utilization $$u\_{target}$$.

### Utilization Curve

The curve function adds a second layer of rate responsiveness. Below target utilization, rates decrease gradually. Above target, rates increase sharply — creating natural pressure to keep utilization near the target.

$$
\text{curve}(u) = \begin{cases} \left(1 - \dfrac{1}{k\_d}\right) \cdot e(u) + 1 & \text{if } u \leq u\_{\text{target}} \\\[8pt] (k\_d - 1) \cdot e(u) + 1 & \text{if } u > u\_{\text{target}} \end{cases}
$$

The slope is controlled by $$k\_d$$, the curve steepness parameter.

### Rate Bounds

Rates are bounded between $$r\_{min}$$ and $$r\_{max}$$ to prevent extreme values:

$$
r(t) = \max!\bigl(\min!\bigl(r\_T(t) \cdot \text{curve}(u(t)),; r\_{\max}\bigr),; r\_{\min}\bigr)
$$

## Parameters

All IRM parameters are global across floating-rate markets and governed by the DAO:

| Parameter                   | Description                          |
| --------------------------- | ------------------------------------ |
| $$u\_{target}$$             | Target utilization ratio             |
| $$k\_p$$                    | Speed of rate target adjustment      |
| $$k\_d$$                    | Steepness of the utilization curve   |
| $$r\_T(0)$$                 | Initial rate target at market launch |
| $$r\_{min}$$ , $$r\_{max}$$ | Rate floor and ceiling               |

## Role in Fira's Architecture

Floating-rate markets integrate with the rest of Fira through:

* **Rehypothecation** — Idle reserves from fixed-rate markets (FW tokens) are deployed into floating-rate vaults to earn yield, which flows to CT holders
* **Curation** — Curated vaults can allocate capital across both fixed-rate and floating-rate markets
* **Composability** — The same collateral types and oracle infrastructure serve both market types

## Related

* [Fixed-Rate Markets](/protocol/fixed-rate-markets.md) — Maturity-based borrowing with locked rates
* [Rehypothecation](/protocol/rehypothecation.md) — How fixed-rate reserves earn floating yield
* [Curation Vaults](/protocol/curation-vaults.md) — Multi-layer capital allocation
* [Whitepaper](/resources/whitepaper.md) — Full mathematical treatment


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fira.money/protocol/floating-rate-markets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
