Skip to main content

Interest rates

Sward's rates aren't set by anyone. Each reserve prices borrowing from a single input, its utilization: the share of supplied liquidity currently lent out.

The kinked curve​

The borrow rate follows two straight lines that meet at the reserve's optimal utilization:

u ≤ optimal: rate = base + slope1 × (u / optimal)
u > optimal: rate = base + slope1 + slope2 × (u − optimal) / (1 − optimal)

Below the kink, rates rise gently as demand grows. Past it, slope2 takes over and rates climb steeply. That steep section is deliberate: expensive borrowing near full utilization encourages repayments and attracts suppliers, keeping some liquidity available for withdrawals.

Suppliers earn the borrow interest, scaled by utilization and reduced by the reserve factor:

supplyRate = borrowRate × u × (1 − reserveFactor)

Feel it, don't just read it​

Try the rate model

Borrow APY
3.56%
Supply APY
2.23%
Kept by treasury
10%

Past the optimal point the second slope takes over and borrowing gets expensive fast. That price pressure is what pulls utilization back toward the target.

APY, not APR​

Interest on Sward accrues every second and compounds. All rates in the app and in these docs are quoted as APY, the annualised result of that compounding. A simple APR would understate a borrower's true yearly cost, so we don't use it anywhere.

Where the parameters live​

Each reserve's base rate, slopes, optimal point, and reserve factor are on-chain and readable via the data provider. The app's reserve pages draw the live curve with a marker at current utilization, and every supply and borrow drawer previews how your own transaction will move the rate.