# Methods

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

### Core methods

[`mintIdleToken`](https://docs.idle.finance/developers/best-yield/methods/mintidletoken)**:** lends assets in Idle and receives IdleTokens back.

[`redeemIdleToken`](https://docs.idle.finance/developers/best-yield/methods/redeemidletoken-1)**:** redeems your assets and interests and burns IdleTokens.

[`redeemInterestBearingTokens`](https://docs.idle.finance/developers/best-yield/methods/redeeminterestbearingtokens)**:** redeems interest-bearing assets and burns IdleTokens.

[`rebalance`](https://docs.idle.finance/developers/best-yield/methods/rebalance)**:** reads allocations from IdleRebalancer and changes IdleToken pool allocations if needed.

[`tokenPrice`](https://docs.idle.finance/developers/best-yield/methods/tokenprice)**:** gets current IdleToken price without fees.

[`getAPRs`](https://docs.idle.finance/developers/best-yield/methods/getaprs)**:** gets APRs from all implemented protocols.

[`getAvgApr`](https://docs.idle.finance/developers/best-yield/methods/getavgapr)**:** gets current IdleToken average APR.

[`userAvgPrices`](https://docs.idle.finance/developers/best-yield/methods/useravgprices): gets avg price per IdleToken paid by a user (used to calculate earnings).

[`getGovTokensAmounts`](https://docs.idle.finance/developers/best-yield/methods/getgovtokensamounts): gets the number of redeemable governance tokens a user can withdraw.

[`getAllocations`](https://docs.idle.finance/developers/best-yield/methods/getallocations): gets an array with the last allocations.

[`getGovTokens`](https://docs.idle.finance/developers/best-yield/methods/getgovtokens): gets an array with the governance token addresses distributed.

[`getAllAvailableTokens`](https://docs.idle.finance/developers/best-yield/methods/getallavailabletokens): gets an array with all interest-bearing token addresses supported.

[`getProtocolTokenToGov`](https://docs.idle.finance/developers/best-yield/methods/getprotocoltokentogov): gets the governance token associated with a specific interest bearing token, if any.

[`tokenPriceWithFee`](https://docs.idle.finance/developers/best-yield/methods/tokenpricewithfee): gets the current IdleToken price for a specific user, counting fees
