Skip to main content
One dollar pool lends to many books. Each book has its own rate curve, and suppliers earn the blend.One dollar pool lends to many books. Each book has its own rate curve, and suppliers earn the blend.
Borrow rates follow a kinked curve per book. One dollar pool lends to every book, and suppliers earn the blend. Rate today is 6.81%. InterestRateModel is a library, not a deployed contract. Stockline calls it when interest accrues.
A crypto protocol often ships one curve for a pool. Stockline stores IRM params per book so a high-beta name can be more expensive than an index book without splitting the dollar pool.
Aave-style params, already per-second WAD. kink is utilization in WAD. Division rounds up so debt never accrues slower than the curve.
The app mock uses 5.4 + 3.0 * u² in app/lib/risk.ts. That formula is display-only. Integrators must use this library, not the mock. Utilization is borrowed / supplied in WAD. Full utilization is expensive on purpose so unused dollars return for withdrawals. Suppliers earn the weighted borrow interest of all books, net of the 15% reserve factor. sUSDG is ERC-4626. The exchange rate rises as interest is paid. Creator-fee donations increase totalAssets without minting shares. A rate is a reading at build, labeled today. It is not a forecast. The kink at 90 percent is the point where the slope steepens. That is why Move to Cash can be instant on a quiet day and delayed when the pool is lent out. Per-book debt uses that book’s borrow index, so a rate change on one book never touches another book’s accrued interest. Do not quote a future rate. The docs and the app both say rate today. The build pulls the demo rate from PARAMETERS.json unless an RPC computes the live curve. Related: Earn, Parameters, Reserve and fees, Books and tiers.