Skip to content

How It Works

Interest Exchange adds a fixed-rate accounting layer to an existing variable-rate loan. Borrowers hold FRT notional; backers hold VRT shares backed by loan-token assets in the same series.

Pools and Series

A pool represents a supported lending market and its fixed-rate risk settings, including the variable-rate cap, minimum position size, available rate steps, and settlement coverage rules.

Each pool can contain many series. A series is simply one maturity and one fixed rate. The app handles its internal identifier automatically, while each series keeps its reserve, positions, fees, and prepaid accounting separate.

RFQ Matching and Opening

The quote service runs short request-for-quote auctions. Connected backers respond with signed quotes for a particular market, maturity, rate, exact notional, and reserve amount. Each quote is one-shot, has a deadline, and may be restricted to the requesting wallet. Current quotes do not support partial fills.

Before acceptance, previewTakeQuote validates the signature and nonce, then returns the origination bond, fee, initial prepaid, total borrower cost, capacity status, and operator status. The wallet submits takeQuote through Bundler3 so QuoteMarket can recover the original initiator. The fill:

  1. pulls vrtAmount of the loan token from the maker;
  2. deposits it as VRT assets for the maker;
  3. settles the taker's position state;
  4. pulls no more than the taker's transaction maxCost; and
  5. mints the exact FRT notional to the taker.

Settlement

settle(poolId, seriesKey, recipient) advances a series to the current time or its expiry, whichever comes first. It reads the adapter's debt index, ignores downward index moves, caps the variable factor at the pool cap, and accumulates:

text
spread delta = fixed factor - capped variable factor

A positive delta means the borrower owes the VRT side; a negative delta means the VRT side owes the borrower. Borrower-specific actions call settlePosition or the internal touch path to realize that delta between prepaidPool and VRT assets.

Prepaid Coverage and Sweeps

Each FRT position has a prepaid coverage boundary represented by a liquidation tick. When cumulative spread reaches beyond a funded tick, settlement sweeps the tick: it consumes available prepaid, removes the affected FRT notional from active series accounting, forfeits its origination bond to VRT assets, and may pay the settle recipient a bounded sweep incentive.

There is no separate public liquidate function. A later touch detects the tick-ID change and clears the stale borrower slot. This is liquidation of the Interest Exchange overlay, not liquidation of collateral in the underlying lending protocol.

Exiting and Rolling

  • burnFRT reduces or closes borrower notional and returns eligible prepaid plus the vested portion of the origination bond. The bond is fully refundable at or after expiry; before expiry it follows the series vesting schedule.
  • withdrawVRT burns VRT shares at effective asset value, subject to freeAssets so open FRT and accrued borrower claims remain backed.
  • rollFRT moves notional between active series and settles the bond delta.
  • QuoteMarket.takeRollQuote atomically adds maker reserve to the destination series and rolls the taker's FRT.

Optional Keeper Automation

Borrowers can configure KeeperBundler per series. With the required operator and adapter permissions, keepers can top up prepaid, use surplus prepaid to repay underlying debt, or roll within a borrower-defined expiry/rate band.

Interest Exchange Protocol