Rho Markets
  • 🙌Welcome to Rho Markets
  • 🗿Rho Loyalty Rewards Program & Rho Pets
  • 😇User Guide
    • Get Start
    • Lend
    • Borrow
  • 🔆Protocol
    • Yielding Structure
    • Credit Limit & Liquidation
    • Interest Rate Model
    • Collateral and Reserves
    • Rho Markets Contract Overview
  • 🏁Rho World
    • Rho World Intro
    • Referral
    • Pets and Rho Royalty Points(RXP)
    • Rho World
      • Lido - Astra
      • ETH - Nebo
      • StakeStone - Rocko
    • "Lucky" Big Wheel (Coming soon)
    • QA
  • 🪙Tokenomics
    • $RATE
  • 📖Other Info
    • Security
    • Media Kit
    • Legal Disclaimer
Powered by GitBook
On this page
  • Introduction
  • Core Contracts
  • Comptroller
  • RToken
  • InterestRateModel
  • PriceOracle
  • Token Contract Addresses

Was this helpful?

  1. Protocol

Rho Markets Contract Overview

Introduction

Rho Markets is a decentralized lending protocol that allows users to borrow and supply crypto assets. The core mechanisms include supply, borrowing, liquidation, and governance. Users earn interest by supplying assets or pay interest when borrowing assets.

Core Contracts

Comptroller

  • The Comptroller is the main management contract in Rho Markets, responsible for:

  • Managing the addition and removal of markets

  • Setting borrowing and liquidation parameters

  • Calculating user liquidity and health factor

  • Distributing RATE token rewards

    • [WIP]

Global Factors

Global factors are common parameters that apply to the entire Rho Markets protocol. These are usually set at the governance level and affect all assets. The main global factors include:

  • Reserve Factor:

    • Determines the portion of each interest payment that is reserved into the protocol’s reserves.

    • For example, if the reserve factor is 10%, then 10% of each interest payment is reserved, and the remaining 90% is distributed to suppliers.

  • Close Factor:

    • Determines the maximum portion of a borrower’s debt that can be repaid during liquidation.

    • For example, if the close factor is 50%, then liquidators can repay up to 50% of the borrower’s debt.

  • Collateral Factor:

    • Determines the proportion of an asset’s value that can be borrowed.

    • For example, if the collateral factor is 75%, an asset worth $100 can be used to borrow up to $75 of other assets.

  • Liquidation Incentive:

    • Determines the reward given to liquidators during liquidation.

    • For example, if a token has a liquidation incentive of 110%, liquidators can buy collateral at a 10% discount during liquidation.

Factor Type

Reserve Factor

Close Factor

Collateral Factor

Liquidation Incentive

Global Factor

0.02

0.02

1.5

1.1

Precision of FactorsIn smart contract programming, using fixed precision is a common practice to ensure the accuracy of numerical operations.All factor values are specified with a precision of 1e18. This means that the factor values are multiplied by 1e18 to avoid precision issues that arise from floating-point arithmetic in smart contracts. For example, if the reserve factor is 10%, the value set in the contract would be 0.1 * 1e18 = 1e17

RToken

RToken contracts represent the lending markets for each asset, such as rETH, rUSDC, etc. Key functions include:

  1. mint: Supply underlying assets to the protocol and receive rTokens

  2. redeem: Redeem underlying assets

  3. borrow: Borrow underlying assets

  4. repayBorrow: Repay borrowed assets

Asset

Per-Token Factors

Each token has its own unique factor settings, which determine the behavior and risk parameters of that specific token within the protocol.

Reserve Factor

Each token can have its own reserve factor, determining the portion of its interest payments that go into the reserves.

Collateral Factor

  • Determines the proportion of that specific token's value that can be borrowed.

  • High-risk assets typically have lower collateral factors, while low-risk assets have higher collateral factors.

Seize Share:

  • Determines the portion of seized collateral that is distributed to liquidators during the liquidation process.

  • For example, if the seize share is 2.8%, it means that liquidators receive 2.8% of the seized collateral as a reward.

Borrow And Supply Caps

Borrow and supply caps are limits set on the amount of a specific asset that can be borrowed or supplied within the protocol. These caps help manage risk by preventing excessive borrowing or supplying of a particular asset, which can lead to liquidity or volatility issues.

Assets

Reserve Factor

Collateral Factor

Supply Caps

Borrow Caps

Seize Share

rETH

0.075

0.7

4500e18

3500e18

0.028

rSTONE

0.075

0.7

5000e18

100e18

0.028

rUSDC

0.075

0.7

10000000e6

5000000e6

0.028

rUSDT

0.075

0.7

10000000e6

5000000e6

0.028

rwstETH

0.075

0.7

4000e18

2000e18

0.028

rsolvBTC

0.075

0.7

300e18

0

0.028

rweETH

0.075

0.7

1000e18

300e18

0.028

rwrsETH

0.075

0.7

1500e18

100e18

0.028

rUSDe

0.075

0.7

10000000e18

100e18

0.028

InterestRateModel

The InterestRateModel contract defines the interest rate model for each market. Rates adjust dynamically based on the utilization rate of the market to balance supply and demand.Note: For deployments on the Scroll network, the blocksPerYear parameter should be adjusted to account for Scroll's faster block times, which are four times faster than Ethereum. Therefore, the blocksPerYear should be set to 9556363

JumpRateModel

The JumpRateModel is a specific type of interest rate model used in some Rho markets. It features a "jump" in the interest rate at a certain utilization point, which helps maintain liquidity. This model has three key parameters:

  • Base Rate: The interest rate when the utilization is 0%.

  • Multiplier: Determines the increase in the interest rate as utilization increases.

  • Jump Multiplier: A higher rate that applies once utilization surpasses a certain threshold, incentivizing more liquidity supply.

  • Kink: The utilization point at which the jump multiplier is applied

Assets

BaseRatePerYear

MultiplierPerYear

JumpMultiplierPerYear

kink

address

rETH

0.02

0.02

1.5

0.9

rSTONE

0.02

0.03

3.5

0.7

rUSDC

0.02

0.03

1.5

0.9

rUSDT

0.02

0.03

1.5

0.9

rwstETH

0.02

0.03

3.5

0.7

rsolvBTC

0.02

0.03

3.5

0.7

rweETH

0.02

0.03

3.5

0.7

rwrsETH

0.02

0.03

1.5

0.9

rUSDe

0.02

0.03

3.5

0.7

PriceOracle

The PriceOracle contract provides price information for market assets, used to calculate borrowing and liquidation eligibility.

  • getGracePeriodTime: Returns the grace period time set for price feeds.

  • getFreshCheck: Returns the threshold time for considering a price feed as “fresh”.

  • getSequencerUptimeFeed: Returns the address of the sequencer uptime feed used to check if the sequencer is up

  • getChainlinkPriceFeed: Returns the Chainlink price feed address for a given RToken

  • getChainlinkPrice: Fetches the latest Chainlink price for a given RToken

  • getPrice(RToken rToken): Returns the current price for the specified RToken using the highest priority oracle

  • getUnderlyingPrice: Returns the underlying asset’s price for the specified RToken

Token Contract Addresses

Contract

Address

Comptroller

Rho Markets rETH

Rho Markets rSTONE

Rho Markets rUSDC

Rho Markets rUSDT

Rho Markets rwstETH

Rho Markets rsolvBTC

Rho Markets rweETH

Rho Markets rwrsETH

Rho Markets rUSDe

Price Oracle

PreviousCollateral and ReservesNextRho World Intro

Last updated 8 months ago

Was this helpful?

🔆
0x246bFFD3c58688EAA915de0A59d0c04424f9aafC
0x98e90a584B99AC437D8535E3B265c54E6DD2eCcb
0xfb2cb244c950681ED8CF8AdB2ddF69423486Bb98
0xfb2cb244c950681ED8CF8AdB2ddF69423486Bb98
0xfb2cb244c950681ED8CF8AdB2ddF69423486Bb98
0x98e90a584B99AC437D8535E3B265c54E6DD2eCcb
0x98e90a584B99AC437D8535E3B265c54E6DD2eCcb
0x98e90a584B99AC437D8535E3B265c54E6DD2eCcb
0x98e90a584B99AC437D8535E3B265c54E6DD2eCcb
0x8a67AB98A291d1AEA2E1eB0a79ae4ab7f2D76041
0x639355f34Ca9935E0004e30bD77b9cE2ADA0E692
0xAD3d07d431B85B525D81372802504Fa18DBd554c
0xAE1846110F72f2DaaBC75B7cEEe96558289EDfc5
0x855CEA8626Fa7b42c13e7A688b179bf61e6c1e81
0xe4FC4C444efFB5ECa80274c021f652980794Eae6
0x8966993138b95b48142f6ecB590427eb7e18a719
0x65a5dBEf0D1Bff772822E4652Aed2829718DC43F
0x52Fef2B9040BA81e40421660335655D70Fe8Cf03
0x5fF1926507f6e71bFbd5f9897fBaeF021E2F77CA
0x653C2D3A1E4Ac5330De3c9927bb9BDC51008f9d5