Idle allows you to lend different underlying assets (eg. DAI, USDC ...) through the use of IdleTokens. So for each underlying asset supported there is a corresponding IdleToken (eg. IdleDAI, IdleUSDC ...) implemented as an IdleToken instance.

The available methods are:

  • mintIdleToken : lend asset in Idle and receive IdleTokens back

  • redeemIdleToken : redeem your assets + interests and burn IdleTokens

  • redeemInterestBearingTokens : redeem interest-bearing assets and burn IdleTokens

  • rebalance : read allocations from IdleRebalancer and change IdleToken pool allocations if needed

  • tokenPrice : get current IdleToken price without fees

  • getAPRs : get APRs from all implemented protocols

  • getAvgApr : get current IdleToken average APR

  • userAvgPrices: get avg price per IdleToken paid by a user (used to calculate earnings)

  • getGovTokensAmounts: get number of redeemable governance tokens a user can withdraw

  • flashLoanFee: get flash loan for the entire protocol (eg '90' -> 0.09%)

  • flashFee: get flash loan fee, in underlying, for a specific amount requested

  • maxFlashLoan: max amount available for flash loans

  • flashLoan: execute flash loans

  • getAllocations: get an array with last allocations

  • getGovTokens: get an array with all gov token addresses distributed

  • getAllAvailableTokens: get an array with all interest bearing token addresses supported

  • getProtocolTokenToGov: get a the gov token associated with a specific interest bearing token, if any

  • tokenPriceWithFee: get current IdleToken price for a specific user, counting fees