Deployed Contracts

The Aave protocol is an ecosystem of multiple markets, with the first market being the main Aave Market.

Mainnet
Kovan
Mainnet

Contracts

Code

Address

​LendingPoolAddressesProvider​

​Github​

​0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5​

​LendingPoolAddressesProviderRegistry​

​Github​

​0x52D306e36E3B6B02c153d0266ff0f85d18BCD413​

​LendingPool​

​Github​

​0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9​

​LendingPoolCollateralManager​

​Github​

​0xbd4765210d4167CE2A5b87280D9E8Ee316D5EC7C​

​LendingPoolConfigurator​

​Github​

​0x311Bb771e4F8952E6Da169b425E7e92d6Ac45756​

​LendingRateOracle​

-

​0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D​

​Price Oracle​

-

​0xA50ba011c48153De246E5192C8f9258A2ba79Ca9​

​Pool Admin​

-

​0xB9062896ec3A615a4e4444DF183F0531a77218AE​

​Emergency Admin​

-

​0xB9062896ec3A615a4e4444DF183F0531a77218AE​

​ProtocolDataProvider​

​Github​

​0x057835Ad21a177dbdd3090bB1CAE03EaCF78Fc6d​

​WETHGateway​

​Github​

​0xDcD33426BA191383f1c9B431A342498fdac73488​

​Collector contract​

​

​0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c​

Kovan

Always ensure you are using the latest LendingPool address, since Kovan may be updated from time to time. You retrieve this by getting the latest LendingPoolAddressesProvider, then getting the latest LendingPool address.

Contracts

Code

Address

​LendingPoolAddressesProvider​

​Github​

​0x88757f2f99175387ab4c6a4b3067c77a695b0349​

​LendingPoolAddressesProviderRegistry​

​Github​

​0x1E40B561EC587036f9789aF83236f057D1ed2A90​

​LendingPool​

​Github​

​0xE0fBa4Fc209b4948668006B2bE61711b7f465bAe​

​LendingPoolCollateralManager​

​Github​

​0x9269b6453d0d75370c4c85e5a42977a53efdb72a​

​LendingPoolConfigurator​

​Github​

​0x25d0106aab3f906f00c1e59716bb5f749db12cce​

​LendingRateOracle​

-

​0xdcde9bb6a49e37fa433990832ab541ae2d4feb4a​

​Price Oracle​

-

​0xb8be51e6563bb312cbb2aa26e352516c25c26ac1​

​Pool Admin​

-

​0x85e4a467343c0dc4adab74af84448d9c45d8ae6f​

​Emergency Admin​

-

​0xc6cfb8bca4691f661773facc64e47a4ebaed712f​

​ProtocolDataProvider​

​Github​

​0x3c73A5E5785cAC854D468F727c606C07488a29D6​

WETHGateway

​Github​

​0xf8aC10E65F2073460aAD5f28E1EABE807DC287CF​

For governance related contracts, see the Voting & Governance section.

The below information can also be programatically fetched by calling getReserveTokensAddresses().

All tokens use 18 decimals, unless indicated otherwise.

Mainnet
Kovan
Mainnet

Asset

Token Addresses

​AAVE

​aToken, stable debt, variable debt, staked AAVE​

​BAL​

​aToken, variable debt​

​BAT​

​aToken, stable debt, variable debt​

​BUSD​

​aToken, stable debt, variable debt​

​CRV​

​aToken, stable debt, variable debt​

​DAI​

​aToken, stable debt, variable debt​

​ENJ​

​aToken, stable debt, variable debt​

ETH

Refer to WETH below or WETH Gateway.

​GUSD*

​aToken, stable debt, variable debt​

​KNC​

​aToken, stable debt, variable debt​

​LINK​

​aToken, stable debt, variable debt​

​MANA​

​aToken, stable debt, variable debt​

​MKR​

​aToken, stable debt, variable debt​

​REN​

​aToken, stable debt, variable debt​

​SNX​

​aToken, stable debt, variable debt​

​SUSD​

​aToken, stable debt, variable debt​

​TUSD​

​aToken, stable debt, variable debt​

​UNI​

​aToken, stable debt, variable debt​

​USDC**

​aToken, stable debt, variable debt​

​USDT**

​aToken, stable debt, variable debt​

​WBTC***

​aToken, stable debt, variable debt​

​WETH​

​aToken, stable debt, variable debt​

​XSUSHI​

​aToken, variable debt​

​YFI​

​aToken, stable debt, variable debt​

​ZRX​

​aToken, stable debt, variable debt​

*: 2 decimals **: 6 decimals ***: 8 decimals

Kovan

For assets on testnets, we use different versions of the token (e.g. testnet Dai). This is to ensure enough liquidity for our reserves and to easily mint more tokens when needed.

If you are developing on a testnet and require tokens, go to https://testnet.aave.com/faucet, making sure that your wallet is set to the relevant testnet.

As testnet assets may change frequently, ensure you are using the right asset by minting from our testnet faucet (as mentioned above) and use the ProtocolDataProvider to fetch all the relevant assets using getReserveTokensAddresses.