Exchange Rate

Each oToken is convertible into an ever increasing quantity of the underlying asset, as interest accrues in the market. The exchange rate between a oToken and the underlying asset is equal to:

exchangeRate = (getCash() + totalBorrows() - totalReserves()) / totalSupply()

OErc20 / OEther

function exchangeRateCurrent() returns (uint)
  • RETURN: The current exchange rate as an unsigned integer, scaled by 1e18.


OErc20 oToken = OToken(0x3FDA...);
uint exchangeRateMantissa = oToken.exchangeRateCurrent();

Web3 1.0

const oToken =;
const exchangeRate = (await oToken.methods.exchangeRateCurrent().call()) / 1e18;

Tip: note the use of call vs. send to invoke the function from off-chain without incurring gas costs.

Last updated