Interest Rate Models
Every VToken stores its own interestRateModel() address. Markets on the same network or in the same pool can use different model families and parameters, so never select a model from the network name alone.
The v4.4.0 engine source contains three implementations:
BaseJumpRateModelV2 is not a separate contract in the current source. The old page is retained only to route existing links to JumpRateModelV2.
Units and annualization
The shared interface returns a mantissa-scaled rate per slot. A slot is either a block or one second, according to the deployed model's isTimeBased() value. Read blocksOrSecondsPerYear() from that same model before annualizing.
nominal annual rate = rate per slot × blocksOrSecondsPerYearDo not assume 2,628,000 blocks/year or 31,536,000 seconds/year globally. In particular, the live BNB Chain and opBNB VToken implementations use different block constants; the engine version map records their current values.
Selecting the model for a market
Start from the market's VToken address in the deployed markets registry.
Read
interestRateModel()from the VToken at the block used by your calculation.Identify the model bytecode or verified source, then read its clock mode and parameters.
Preserve the effective block when recording a mutable
JumpRateModelV2parameter set.
The formulas and current ABI below follow the isolated-pools v4.4.0 source.
Last updated

