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 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

LendAPR=Borrowrate×UtilizationLend_{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)=rT(t)×curve(u(t))r(t)=r_T(t)\times curve(u(t))

Where:

  • r(t)r(t) is the instantaneous spot borrowing rate

  • rT(t)r_T(t) is the rate target — the rate when utilization equals the target

  • curve(u(t))curve(u(t)) shapes how rates respond to utilization deviations

Utilization

Represented as the fraction of supplied liquidity currently borrowed.

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

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

e(u)={uutargetutargetif uutargetuutarget1utargetif u>utargete(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:

rT(t)=rT(t)×exp(kp×e(u)×(tt))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)e(u) symmetrically scales deviations above and below the target utilization utargetu_{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.

curve(u)={(11kd)e(u)+1if uutarget(kd1)e(u)+1if u>utarget\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 kdk_d, the curve steepness parameter.

Rate Bounds

Rates are bounded between rminr_{min} and rmaxr_{max} to prevent extreme values:

r(t)=max ⁣(min ⁣(rT(t)curve(u(t)),  rmax),  rmin)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

utargetu_{target}

Target utilization ratio

kpk_p

Speed of rate target adjustment

kdk_d

Steepness of the utilization curve

rT(0)r_T(0)

Initial rate target at market launch

rminr_{min} , rmaxr_{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

Last updated