Interest Rate Model

Dualis Finance uses a Jump Rate Model to dynamically price borrowing costs based on pool utilization. This model incentivizes optimal capital allocation by keeping rates low during normal usage and sharply increasing them when liquidity is scarce. Credit tier adjustments further differentiate rates for institutional borrowers.

Jump Rate Formula

The borrow rate is a piecewise linear function of utilization, with a “kink” point that triggers a steeper rate curve:

jump-rate-model.ts
// Utilization ratio
const utilization = totalBorrows / (totalCash + totalBorrows - totalReserves);

// Borrow rate (per-year)
let borrowRate: number;
if (utilization <= kink) {
  // Below kink: gentle linear increase
  borrowRate = baseRate + (utilization * multiplier);
} else {
  // Above kink: steep jump multiplier kicks in
  const normalRate = baseRate + (kink * multiplier);
  const excessUtilization = utilization - kink;
  borrowRate = normalRate + (excessUtilization * jumpMultiplier);
}

// Supply rate (what lenders earn)
const supplyRate = borrowRate * utilization * (1 - reserveFactor);

Rate Curve Behavior

The model creates two distinct regimes:

  • Below the kink: Rates increase linearly and gradually. This region represents normal market conditions where sufficient liquidity exists. The gentle slope encourages borrowing while providing reasonable returns to suppliers.
  • Above the kink: Rates increase steeply via the jump multiplier. This serves as a market-driven mechanism to attract new capital and discourage excessive borrowing when liquidity is thin. The sharp increase creates a natural equilibrium that pulls utilization back toward the target kink rate.
Kink as Target Utilization
The kink point represents the protocol's target utilization for each asset. For stablecoins like USDC (kink at 80%), the protocol tolerates higher utilization because of their price stability. For volatile assets like wBTC (kink at 65%), the kink is set lower to maintain larger liquidity buffers.

Per-Asset Rate Parameters

Each asset pool is configured with its own rate model parameters, calibrated to its volatility, liquidity depth, and institutional demand profile:

AssetBase RateMultiplierKinkJump MultiplierReserve Factor
USDC2%7%80%30%10%
wBTC1%4%65%50%15%
wETH1%4%65%50%15%
CC (Canton Coin)3%10%60%80%20%
T-BILL4%3%90%15%5%

Parameter Rationale

  • USDC: As a stablecoin with deep liquidity, USDC has a moderate base rate (2%), a high kink (80%) allowing strong utilization, and a moderate jump multiplier (30%) to discourage complete pool drainage.
  • wBTC / wETH: Major crypto assets share a conservative profile with a low base rate (1%) to attract borrowing, a lower kink (65%) to maintain liquidity buffers, and a high jump multiplier (50%) for volatility protection.
  • CC (Canton Coin): The network's native asset carries the most aggressive parameters: a 3% base rate, 10% multiplier, low kink (60%), and an 80% jump multiplier. The 20% reserve factor ensures protocol sustainability given the asset's higher volatility.
  • T-BILL: Treasury-backed tokens have a higher base rate (4%) reflecting their yield floor, a very high kink (90%) due to price stability, and the lowest jump multiplier (15%) since extreme utilization is less risky for a stable asset. The 5% reserve factor keeps protocol overhead minimal.

Credit Tier Rate Adjustments

Borrowers with higher credit tiers receive discounted rates as a reward for their established creditworthiness. The discount is applied as a percentage reduction to the base borrow rate:

Credit TierRate DiscountEffective MultiplierTypical Borrower
Diamond-25%0.75xTop-tier institutions with pristine credit history
Gold-15%0.85xEstablished institutions with strong credit
Silver-8%0.92xVerified institutions with good standing
Bronze0%1.00xNewly onboarded institutions
Unrated0%1.00xRetail users without credit assessment

For example, a Diamond-tier borrower in the USDC pool at 50% utilization would pay:

example-calculation
Base borrow rate at 50% utilization:
  rate = 2% + (50% * 7%) = 5.5%

Diamond tier discount (-25%):
  effective rate = 5.5% * 0.75 = 4.125%

Compared to an Unrated borrower:
  effective rate = 5.5% * 1.00 = 5.5%

Savings: 1.375 percentage points
APR vs. APY
The rates shown above are Annual Percentage Rates (APR). The protocol also displays Annual Percentage Yield (APY), which accounts for the compounding effect of continuous interest accrual. APY is always slightly higher than APR: APY = (1 + APR/n)^n - 1, where n is the number of compounding periods per year.

Reserve Factor

A portion of all interest paid by borrowers is diverted to the protocol reserve. The reserve factor determines this split: with a 10% reserve factor (USDC), 90% of interest goes to suppliers and 10% accrues to the protocol treasury. Reserves serve as a first-loss buffer against bad debt and fund protocol operations through governance-directed allocation.