InterestRateModels
Each BNB Core market stores its own interest-rate-model address. Model families and annualization constants have changed over time, so the market address and block determine the applicable implementation.
Model selection
Section titled “Model selection”- Read
interestRateModel()from the vToken. - Identify whether the returned address is a model or a
CheckpointViewwrapper. - For a wrapper, resolve the active target at the relevant checkpoint.
- Read
blocksPerYearorBLOCKS_PER_YEARfrom the effective model before annualizing a per-block rate. - Use the exact deployed ABI and parameters; do not infer them from the model family name.
At BNB Chain block 118,364,540, the active vUSDC and vUSDT markets both pointed to CheckpointView 0x2CF0e211c99dFd28892cf80D142aA27a9042Dbf4, whose active TwoKinks target exposed BLOCKS_PER_YEAR = 70,080,000.
Model families
Section titled “Model families”- JumpRateModel — one kink and a jump slope.
- TwoKinksInterestRateModel — three curve segments separated by two kinks.
- WhitePaperInterestRateModel — older linear model; some unlisted markets retain balances or debt, so its legacy reference must remain available.
The previously published InterestRateModelLens page has no resolved canonical source or deployment and must not be treated as a supported integration address.
Current market addresses are listed in Deployed Markets. For interest, exchange-rate, and APR/APY equations, see Protocol Math.