LogoLogo
  • Getting Started
    • Overview
    • Whitepaper V4
    • FAQ
  • What's New?
    • Isolated Pools
    • Reward Distributor
    • Peg Stability Module
    • Automatic Income Allocation
    • Token Converter
    • Venus Prime
    • Stable Rate Borrowing
  • Governance
    • VIPs
    • Tokenomics
    • Community Forum
  • Risk
    • Resilient Price Oracle
    • Interest Rate Model
    • Risk Fund and Shortfall Handling
    • Risk Management
  • Tokens
    • XVS
    • VAI
      • VAIController
      • VAIUnitroller
  • Guides
    • Venus interface
    • Supplying and borrowing
    • Liquidations
    • Governance
      • Submitting a VIP
      • Delegating & Voting
    • Vaults
    • Protocol Math
    • XVS Bridge
    • Borrowing VAI
    • Gasless Transactions on zkSync
  • Technical reference
    • Contracts Overview
    • Technical articles
      • Automatic income allocation
      • Capped Oracles
      • Contributing
      • Diamond Comptroller in the Core pool
      • Native Token Gateway
      • Omnichain Governance
      • Prime tokens
      • Shortfall and auctions
      • Token Converters
      • Two Kinks Interest Rate Curve
      • XVS Bridge
    • Core Pool
      • Comptroller
        • ComptrollerLens
        • Diamond
          • Diamond
          • DiamondConsolidated
          • Facets
            • MarketFacet
            • PolicyFacet
            • RewardFacet
            • SetterFacet
      • VToken
      • Prime
        • Prime token
        • Prime liquidity provider
        • Prime storage
      • Vaults
        • XVS
          • XVSVault
          • XVSVaultProxy
          • XVSStore
          • XVSVaultTreasury
        • VAI
          • VAIVault
          • VAIVaultProxy
      • InterestRateModels
        • JumpModel
        • TwoKinksInterestRateModel
        • WhitePaperModel
        • InterestRateModelLens
      • Liquidator
      • VTreasury
      • VenusLens
      • PSM
      • VBNBAdmin
    • Isolated Pools
      • Comptroller
        • Comptroller
        • ComptrollerStorage
      • VToken
        • VToken
        • VTokenInterfaces
      • NativeTokenGateway
      • Pool Registry
        • PoolRegistry
        • PoolRegistryInterface
      • RewardsDistributor
      • PoolLens
      • Interest Rate Models
        • InterestRateModel
        • BaseJumpRateModelV2
        • JumpRateModelV2
        • TwoKinksInterestRateModel
        • WhitePaperInterestRateModel
      • Risk Fund and Shortfall
        • Shortfall
        • ProtocolShareReserve
        • RiskFund
        • RiskFundStorage
      • Utility
        • MaxLoopsLimitHelper
        • ErrorReporter
        • ExponentialNoError
    • Oracle
      • ResilientOracle
      • BoundValidator
      • Sources
        • ChainlinkOracle
        • SequencerChainlinkOracle
        • BinanceOracle
      • Correlated token oracles
        • AnkrBNBOracle
        • CorrelatedTokenOracle
        • BNBxOracle
        • OneJumpOracle
        • PendleOracle
        • SFraxOracle
        • SFrxETHOracle
        • SlisBNBOracle
        • StkBNBOracle
        • WBETHOracle
        • WeETHOracle
        • WstETHOracle
    • Governance
      • AccessControlManager
      • GovernorBravoDelegate
      • AccessControlledV5
      • GovernorBravoDelegator
      • Timelock
      • GovernorBravoInterfaces
      • AccessControlledV8
      • BaseOmnichainControllerSrc
      • BaseOmnichainControllerDest
      • OmnichainProposalSender
      • OmnichainGovernanceExecutor
      • OmnichainExecutorOwner
    • Token Converter
      • AbstractTokenConverter
      • RiskFundConverter
      • SingleTokenConverter
      • ConverterNetwork
    • XVS Bridge
      • BaseXVSProxyOFT
      • XVSProxyOFTSrc
      • XVSProxyOFTDest
      • XVSBridgeAdmin
      • XVS
      • TokenController
  • Deployed Contracts
    • Markets
    • Funds
    • Oracles
    • Governance
    • XVS Omnichain
    • Token Converters
  • Services
    • API
    • Subgraphs
  • Links
    • Security & Audits
    • Resources
    • Community Resources
    • Brand kit
Powered by GitBook
On this page
Export as PDF
  1. Risk

Interest Rate Model

Overview

Venus Protocol offers variable interest rates for markets using two different models: the Jump Rate Model and the Whitepaper Rate Model. Each market operates under one of these models with specifically set risk parameters at the market's inception. Notably, the community can update these parameters through the Governance process. Moreover, some markets feature a stable rate, introduced in Venus V4.

Jump Rate Model

The Jump Rate Model uses the following formulas to calculate the interest:

For Borrow rate:

borrow_rate(u)=b+a1⋅kink+a1⋅min⁡(0,u−kink)+a2⋅max⁡(0,u−kink)borrow\_rate (u) = b + a_1 \cdot kink + a_1 \cdot \min(0, u-kink) + a_2 \cdot \max(0,u-kink)borrow_rate(u)=b+a1​⋅kink+a1​⋅min(0,u−kink)+a2​⋅max(0,u−kink)

And, for Supply rate:

supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)supply\_rate(u) = borrow\_rate(u) \cdot us \cdot (1 - reserve\_factor)supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)

Where,

us=borrowscash+borrows−reserves+badDebtus = \frac{borrows}{cash + borrows - reserves + badDebt}us=cash+borrows−reserves+badDebtborrows​

The borrow rate employs different formulas when the utilization rate falls into two distinct ranges:

If u < kink:

borrow_rate(u)=a1⋅u+bborrow\_rate(u) = a_1 \cdot u + bborrow_rate(u)=a1​⋅u+b

If u > kink:

borrow_rate(u)=a1⋅kink+a2⋅(u−kink)+bborrow\_rate(u) = a_1 \cdot kink + a_2 \cdot (u-kink) + bborrow_rate(u)=a1​⋅kink+a2​⋅(u−kink)+b

Model Parameters

  • a1: Variable interest rate slope1.

  • a2: Variable interest rate slope2.

  • b: Base rate per block (baseRatePerYear / blocksPerYear).

  • kink: Optimal utilization rate, at which the variable interest rate slope shifts from slope1 to slope2.

  • reserve_factor: Part of interest income withdrawn from the protocol, i.e., not distributed to suppliers.

The utilization rate (u) is defined as:

utilization_rate=(borrows+bad_debt)(cash+borrows+bad_debt−reserves)utilization\_rate = \frac{(borrows + bad\_debt)}{(cash + borrows + bad\_debt - reserves)}utilization_rate=(cash+borrows+bad_debt−reserves)(borrows+bad_debt)​

Where:

  • borrows: Amount of borrows in the market, in terms of the underlying asset, excluding bad debt.

  • cash: Total amount of the underlying asset owned by the market at a specific time.

  • reserves: Amount of the underlying asset owned by the market but unavailable for borrowers or suppliers, reserved for various uses defined by the protocol's tokenomics.

  • bad_debt: After liquidators repay as much debt as possible, reducing collateral to a minimal amount, the remaining debt is tagged as bad debt. Bad debt doesn’t accrue interest.

Whitepaper Rate Model

The Whitepaper Rate Model is simpler, where the borrow rate depends linearly on the utilization:

For Borrow rate:

borrow_rate(u)=a⋅u+bborrow\_rate (u) = a \cdot u + bborrow_rate(u)=a⋅u+b

For Supply rate:

supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)supply\_rate(u) = borrow\_rate(u) \cdot us \cdot (1 - reserve\_factor)supply_rate(u)=borrow_rate(u)⋅us⋅(1−reserve_factor)

Where,

us=borrowscash+borrows−reserves+badDebtus = \frac{borrows}{cash + borrows - reserves + badDebt}us=cash+borrows−reserves+badDebtborrows​

Last updated 1 year ago