Introduction to AAVE
This article assumes that you are familiar with the terms of blockchain, token, blocks or transactions.
What is AAVE ?
Aave is a lending protocol enabling users to lend and borrow a wide range of cryptocurrencies. It was launched in 2017 with the name ETHLend and rebranded itself one year later to Aave.
Aave is part of what we call the DeFi, standing for Decentralized Finance and is one of the biggest and most successful protocol in the field. The protocol is running on the Ethereum blockchain as a network of smart contracts. At the time of writing (13. April 2021) Aave involved an astronomical amount of more than 6.2 billions dollars in lendings and borrowings.
Simply put, it allows any user to deposit some cryptocurrencies like USDC and lend that money to others users. In exchange, the user will regularly obtain interests as a percentage of the amount he deposited. Then, the user can withdraw his deposited cryptocurrency (plus the interests gained from the lending) whenever he wants. On the other side, a user can borrow some money. Obviously, like in a bank, the user has to pay some interests over the borrowed money. However, the difference with a bank here is that a borrower needs to first deposit a collateral with a higher value than the amount he wants to borrow. It ensures the safety for the network, as a borrow which isn’t paying back the money he loaned, will see his deposited collateral lost.
How much do you earn or pay ?
The Annual Percentage Yield (APY), the percentage you gain after depositing your money for one year is varying frequently. It is the same for the Annual Percentage Rate (APR), the percentage you have to pay after borrowing some money for one year. So you can’t expect the APY/APR of today to be the same tomorrow or a week later. The calculation of the APY and the APR is different for each cryptocurrency and will be explained later.
Here is an example of APY and APR numbers as of 13. April 2021:
You can see the numbers in each column varies depending on the asset. In the “Deposit APY” column, we can see that the current USDC APY is 9.71%. The past average APY was 8.75% so we’re a bit higher than usual. It basically means that if you deposit 10,000 USDC for one year you’ll be able to collect an additional 971 USDC. Of course, you don’t have to wait for one year to withdraw your cryptocurrency and your gains, there is no time limit.
When you want to borrow some cryptocurrency you need to watch the 2 columns: “Variable Borrow APR” and “Stable Borrow APR”. Both Deposit APY and Borrow APR percentages values are computed from the supply and demand in the market. As the market size evolves in real time, so does the APY/APR percentage. So the “Variable Borrow APR” is the regular rate directly linked with the market supply and demand. But there is a feature proposed by Aave which is the “Stable Borrow APR” to have a fixed percentage. The stable percentage is usually more expensive than the variable one, but offer a security if the demand skyrockets and the APR goes to 50% for example.
For example, if you made a deposit of 10.000 USDC as a collateral (the amount is arbitrarily chosen) you’ll be able to borrow let’s say 1000 USDC. If you keep the borrowed 1000 USDC for one year, you will have to pay back 1210.5 USDC (21.05% Stable rate) to be able to unlock your deposited collateral. If you want to borrow the money only for one day then the interest is obviously much reduced. As the yearly interest amounts to 210.5 USDC, if we divide it by 365 (days) it gives 0.576 USDC to pay back at the end of the day.
Why is it used ?
The main difference with a bank is that you deposit more than you borrow. Why are people using it? Usually when you borrow some money it’s because you don’t have the money? That’s true for regular banks and regular borrowings to buy a house for example. However, in the crypto world it’s more about finance. The goal is to quickly increase your capital and execute some financial operations. People have a good reason to do it and they are obviously earning more money than they are spending for the borrowing. We wil explain some use cases later.
Overall, the borrowers are mostly asking for stablecoins (USDC, USDT, DAI etc…) and the volatile assets that users are holding like Ethereum are mainly used as collaterals. Hence, the users know what they will have to pay back as the stablecoin won’t change in value. At the same time, they can keep their bags of crypto assets as collateral.
About the AAVE token
Initially, Aave had around 1.3 billions ETHLend tokens. In 2020 the protocol migrated those ETHLend into 13 millions AAVE tokens (100 ETHLend for 1 AAVE). In the migration they also generated 3 millions additional Aave tokens kept in reserve and allocated to the development fund. This makes a maximum supply of 16 millions AAVE tokens. In comparison, Bitcoin has a maximum supply of 21 millions. At the time of writing (15. April 2021) there are 12,5 millions circulating tokens out of 16 millions.
The AAVE token is an ERC20 token like Chainlink. So it means that this token is a token running and implemented in the Ethereum blockchain through a smart contract.
For the moment, the only utility of the AAVE token is based on governance. It means that any AAVE holders can have a voice and vote for some Improvements Proposals of the protocol. They can also choose for example to list a specific cryptocurrency to lend/borrow.
In the Aavenomics article they are also mentionning that the AAVE tokens could be used to reduce some of the fees. Additionnally, some AAVE rewards could be gained from staking AAVE. The staked AAVE can be used to compensate a critical failed liquidated loan.
Risks and liquidity
The assets available in the Aave protocol are studied and validated beforehand. Indeed, this article explains that they evaluate a risk factor for each currency. This factor is based on 3 main criterias:
- Smart Contract risk: Mature and robust smart contract to avoid hacks.
- Counter-party risk: Is the currency over-centralized and could lead to high dependency.
- Market risk: Market size, volatility and fluctuations.
Aave works with overcollateralized loans. It means you have to deposit more than the amount you want to borrow. With Aave, the collateralization ratio typically ranges from 50 to 75%. For example, if you want to borrow between 5 Ether and 7.5 Ether you will first have to deposit around 10 Ether. Borrowers must maintain the collateralization ratio. If they don’t, other users can liquidate them. And they will be incentivized to do so by buying out their undercollateralized position for a discount. Not all assets can be used as collateral, based on their volatility and maturity. Aave also allows users to take out loans in a different cryptocurrency than they deposited.
Moreover, each asset has its own APR progression related to the utilization rate. Depending on the asset type, it prevents the asset to quickly be over-used. Let’s see the APR progression for the USDC stablecoin.
We can see that until 90% of utilization, the APR is progressing slowly way below 25%. However after this threshold we can see it increases tremendously up to 70%.
Now, let’s compare with a more volatile asset like Ethereum.
First, we can see that the “breaking point” is happening before, around 65% of utilization. After this threshold it skyrockets rapidly to more than 100% rate. It means Aave is more flexible with having stable coin being utilized near the maximum capacity. On the contrary, for assets like Ethereum, they prevent the over-utilization by setting heavy rates.
About the AAVE protocol
Similarly to Chainlink, Aave doesn’t have blocks or distributed ledger storing transactions. The Aave protocol concept resides entirely inside the smart contracts. The smart contracts are deployed on the Ethereum blockchain. As we can see in this article all of the features of the protocol are implemented in multiple smart contracts. The main smart contract of the Aave protocol is the LendingPool contract implementing the main actions like deposit, withdraw, borrow etc…
The term Lending pool is important here. Indeed, Aave is an algorithmic money market, meaning loans are obtained from a pool instead of being individually matched to a lender.
In order to retrieve the accurate price of each provided asset, Aave smart contracts are heavily using the Chainlink oracle network.
One of the prime functionality of Aave is to provide users with Flash loans. Flash loans enable users to borrow and repay the debt without any collateral deposit required. The only condition is that the loan is used and paid back within the same Ethereum block, explaining the term “flash”. A new Ethereum block is generated approximately every 14 seconds. If the loan isn’t paid back in the same block, the transaction is simply failed leading to an invalid block which won’t be integrated in the Ethereum blockchain.
Aave charges a 0,09% fee on each flash loan. Let’s see what are 2 main use cases to borrow some cryptocurrency and pay it back almost immediately after.
Use case 1: Arbitrage
If you check the price of Bitcoin or any other cryptocurrency in websites like Uniswap, Balancer or Curve the price is likely to be a little bit different for each. Let’s suppose Uniswap lets you trade 1 USDC for 1 DAI, but Balancer needs only 0.99 USDC to buy 1 DAI. There is a tiny difference, right. The arbitrage process is the following:
- Use Aave and borrow 1,000,000 USDC (with flash loan)
- Go to Balancer and swap your USDC for DAI. You will get 1,010,101 DAI for 1,000,000 USDC (0.99 USDC= 1 DAI)
- Go to Uniswap and swap your DAI for USDC. You will get 1,010,101 USDC (1 USDC= 1 DAI)
- Pay back your 1,000,900 USDC (1,000,000 + 0.09% fee) you borrowed with Aave.
- You just earned 9 201 USDC in profit.
Of course, the arbitrage process is not that easy and there are much more factors to take into considerations. The profit will usually be lower because of network fees, price slippage and competition.
Use case 2: Collateral swapping
This use case allows you to swap you collateral to another cryptocurrency with very little fees. Let’s say you borrowed USDC using Aave with ETH as collateral. The collateral swapping process is the following:
- Use Aave and borrow USDC (to pay back your initial loan) using a flash loan
- Pay back your initial USDC loan with the USDC you just borrowed from the flash loan.
- Withdraw your ETH that were used as collateral. As you refunded the loan you can get the ETH back.
- Go to Uniswap and swap your ETH for LTC
- Then, go to Aave and deposit your LTC as collateral
- Go to Aave and borrow USDC (using your LTC collateral)
- Pay back the USDC flash loan on Aave ( +0.09% fee)
- You just swapped your ETH collateral to LTC collateral for approximately 0.09% fee. You still need to pay back your initial loan but the flash loan is completed and refunded.
There are many different use cases which can be applied to the flash loan but those 2 give concrete examples of how flash loans can be used. The flash loans are usually done by experimented developers as it needs some technical backgrounds. However, there are some tools helping and creating the flash loans for you.
To sum up Aave is a protocol providing cryptocurrency lending and borrowing services. One user can lend some of its assets and earn interests on it. Another user could borrow some cryptocurrency, provided that he has deposited a sufficient collateral, greater than the loan. Each cryptocurrency asset has its own APR and APY evolving with the utilization ratio and is defined by the Aave team. One of the main feature of Aave is the flash loan functionality. It allows a user to do a loan without any collateral deposit, as long as the loan is paid back in the same Ethereum block.
The AAVE token is used as a governance token to vote on proposals around the Aave ecosystem. It is an ERC20 token and has a maximum supply of 16 millions tokens. At the time of writing there are more than 12.5 millions circulating tokens.
White paper: https://github.com/aave/protocol-v2/blob/master/aave-v2-whitepaper.pdf
Aave Medium blog: https://medium.com/aave
Aave risk documentation: https://docs.aave.com/risk/
Developers documentation: https://docs.aave.com/developers/
Compare Aave APR/APY with other Defi protocols: https://defirate.com/lend/
Retrieve data about Aave: https://medium.com/aave/decentralized-data-queries-how-aave-uses-the-graph-998a55027e1d