Skip to content

Contract Overview

InterestRatePool

The central state and accounting contract.

AreaMain functions
DiscoverygetPool, loanToken, seriesKey, borrowerPosition, seriesFees
PreviewpreviewMintFRTFor, previewBurnFRT, previewSupplyPrepaid, freeAssets
CreationcreatePool, createSeries
Settlementsettle, settlePosition, claimSpreadFees
FRTmintFRT, burnFRT, rollFRT, moveFRT, approveFRT
VRTdepositVRT, withdrawVRT, approveVRT
PrepaidsupplyPrepaid, withdrawPrepaid
AuthorizationsetOperator, setOperatorWithSig, isOperator

FRT is stored in packed per-borrower state. VRT uses in-contract ERC-6909-style balances. There is no separate active FRT/VRT token contract.

QuoteMarket

Verifies maker-signed EIP-712 quotes and performs atomic two-sided fills.

  • previewTakeQuote and takeQuote open exact-notional FRT.
  • previewTakeRollQuote and takeRollQuote roll exact notional.
  • cancelQuote invalidates one hash.
  • raiseNonce invalidates all older maker-nonce quotes.

Execution is restricted to the immutable Bundler3. takeQuote uses Bundler3's initiator as the taker and enforces the wallet-provided maxCost.

KeeperBundler

Stores signed or direct KeeperConfig values and executes keepTopUp, keepAutoRepay, and keepRollover. Third-party actions are limited by the user's configured thresholds, bands, and maximum keeper fee (hard-capped at 5%).

Adapters

ICoreAdapter connects settlement and keeper debt operations to a lending market. Pools can only be created with owner-allowlisted adapters, and each pool pins its loan token at creation.

Approval Boundaries

PermissionSpender/operatorPurpose
Maker ERC-20 allowanceQuoteMarketPull vrtAmount when a quote fills
Taker ERC-20 allowanceQuoteMarketPull bond, fee, and initial prepaid up to maxCost
Borrower pool operatorQuoteMarketMint or roll FRT on behalf of the taker
Optional prepaid allowanceInterestRatePoolPull extra prepaid supplied after a fill
Optional keeper operatorKeeperBundlerRun configured maintenance actions

Bundler3 itself does not need a loan-token allowance or pool operator approval.

Interest Exchange Protocol