At the office, we’ve been watching and listening to people all over the world get very excited about a concept called Decentralized Finance or “DeFi”.
Finance is the connecting point between those with surplus capital and those that demand capital. Historically, people or institutions came in between these two groups providing trust, efficiency, standardization, and expertise to the sensitive process of renting out financial resources over space and time. Mediating this process and managing these resources is a tough job for anyone. The end goal of DeFi would be to automate many of those processes with code represented by a series of smart contracts a third party would be unable to corrupt and a very loose group of stakeholders could manage.
Although DeFi is in its nascent stages, technologists, entrepreneurs, and enthusiasts have been dreaming of this possibility since Bitcoin decentralized money and other projects extended the capabilities of digital value transfer networks. DeFi’s emergence is the natural result of contemplating possibilities given the new set of tools available and executing on those possibilities.
We are a long way away from this reality but we’re beginning to see the possibilities sprouting up out of the fertile development environment created by new value transfer platforms like Ethereum.
A DeFi platform that has particularly caught our attention is Compound.
The Compound team has built a web of digital programs when put together correctly have the potential to function as a decentralized money market on the Ethereum network. Ethereum asset holders will be able to supply their Ethereum assets to the Compound protocol, earn interest on them and borrow assets from the protocol.
Holders of ETH, DAI, REP, WBTC, 0x, USDC, & BAT can earn interest by depositing them in the Compound protocol. In return the user will take possession of an asset called a “cToken” which represents a user’s claim on the pool’s assets. If a user deposits Ether they will receive “cEther”, if a user deposits Dai they will receive “cDai”.
The cTokens are standard ERC-20 contracts who function as interest bearing assets much like a savings account. As a specific asset’s market accrues interest overtime, the underlying pool of those assets increases giving your portion of cTokens more buying power of the asset you put in.
- Imagine you deposit 1 Ether(ETH) in the ETH market on Compound for the annual interest rate of 1%.
- You instantly receive 50 cETH in return at an exchange rate of .02 cETH/ETH. The cETH you hold represents your proportional claim on the ETH pool’s assets.
You start earning interest every Ethereum block or every 15 seconds at a rate of 1% a year. But keep in mind in Compound, the interest rate dynamically updates every time the interest rate changes in Compound’s ETH market which are triggered by the minting of cETH, the redemption of cETH, the borrowing of ETH, the repaying of ETH, or the liquidation of ETH.
All of these actions affect the state of the pool and the updated interest rates incentivize market participants to engage in certain activities to keep asset markets healthy. If a market needs more assets it will broadcast a higher interest rate, thus attracting capital. If a market has plenty of supply and demand for the asset goes down the market will broadcast a lower interest rate thereby reducing the incentive to lend.
Back to our example. The amount of underlying ETH that can be redeemed by your 50 cETH depends on the current exchange rate of cETH to ETH.
A price oracle provides the current exchange rate of each supported asset so that the Compound protocol can calculate the appropriate exchange rate between an asset market and its corresponding cTokens. Currently the Compound team pools prices from the top 10 exchanges to determine the appropriate exchange rates but have recently announced the release of an open oracle system on the Ethereum testnet which removes the Compound team as a single point of failure for these price feeds.
The exchange rate between each market and its corresponding cToken reflects the interest earned overtime by that market, beginning when you minted the cTokens and ending when you redeem it for your principal plus the interest owed. As the pool gains assets through interest earned from borrowers, each cToken has claim to a greater amount of those assets or, said another way, your cETH will have a higher exchange rate relative to ETH than when you first took possession of your cETH.
Let’s assume after a year of holding your cETH you want to redeem your 50 cETH for ETH. After a year of holding cETH you should be able to receive the 1 ETH you supplied the pool plus the proportional interest you are owed. The interest earned will be absorbed in the exchange rate of cETH/ETH which is a reflection of the interest earned by Compound’s ETH market over your holding period.
Series of Events:
- Deposit 1 ETH on January 1 2020 at an exchange rate of 0.0200 cETH/ETH
- Receive 50 cETH on January 1 2020
Hold for 1 year
- Redeem 50 cETH on January 1 2021 at a hypothetical exchange rate of 0.0204 cETH/ETH
- Receive 1.02 ETH on January 1 2021
Interest Earned: 0.02 ETH or 2% APR
In this hypothetical, you supplied 1 ETH to the Compound protocol on Jan 1 2020 and redeemed your cETH for 1.02 ETH on Jan 1 2021. You gained .02 ETH by renting out your ETH for the year!
The interest earned will probably not be the interest you were initially quoted. It could end up being equivalent but the interest rate adjusts with market activity. The actual interest earned will reflect the accumulation of these changes over time which could come out to more or less than the original rate you were quoted.
In Compound, a user can be a lender only, a lender and borrower simultaneously, but never just a borrower.
The lending done on Compound is collateral based lending meaning assets must be supplied to the protocol to gain the right to borrow from the protocol. Reputation or promises won’t cut it. To borrow you must lend assets to the protocol for possible liquidation. In addition, the amount and the quality of the assets being deposited as collateral determines the amount a user can potentially borrow.
In our previous example, you supplied the protocol with 1 ETH. Compound gives the user the right to borrow against some portion of that 1 ETH. Compound assigns each asset a “Collateral Factor” that determines how much a user can borrow.
In our example, let’s assume the collateral factor for ETH is 0.75 or 75%. That means you can borrow up to 75% of the value of your deposit. If my deposit is worth $100, at market rates, you would be able to borrow up to $75 of another asset supported by the protocol.
Borrowed assets are charged interest every block just as lent assets accumulate interest every block. Most of the interest paid goes back to the asset pool but a small portion of the interest paid is set aside as reserves for the protocol. The reserves act as a cushion and safety mechanism in case of negative events like large defaults, bugs, and oracle failures. The collateral factor plus these reserves gives the protocol a big cushion so that it can always make good on interest owed to lenders. The amount of supplied assets should always be greater than the amount of borrowed assets.
Compound borrowers can pay back what they owe at any time with a caveat: If the value of their total borrows exceeds their borrowing capacity, their collateral can be liquidated. This can happen if the amount of accumulated interest becomes too large or rapid moves in relative pricing of the underlying assets being lent and borrowed put the pool at risk.
When you owe more than what you’re allowed to borrow you put the pool at risk and make it difficult for the protocol to make good on the interest owed to the suppliers of that asset. In the protocol’s eyes, the user has become a credit risk.
To mitigate this threat, Compound allows other users to pay for a portion of the borrower’s collateral at a discount. This gives incentive for users within the protocol to remove credit risks from the protocol. Arbitrageurs can make a profit by paying for defaulter’s assets at a discount and reselling them for the market price. This action brings asset markets back into a healthy balance and shifts assets away from borrowers who can’t make good on their debts in a timely manner to those who have capital and the discipline to manage their obligations.
Who is Borrowing?
It’s easy to understand why someone would want to earn interest but why would someone borrow from these pools?
We imagine borrowers on Compound would have relatively large balances of Ethereum based assets and want to leverage them to speculate on the assets in the pools. A borrower might be borrowing from a pool to “go short” that asset or to be leveraged long on that asset.
Alternatively, they might borrow an asset to use it on a particular application in Ethereum. We would guess that most borrowing is done to speculate long or short since the use of tokens to access applications or resources on the Ethereum network is extremely immature but theoretically it can be done.
Speculating using Compound is a pretty round about way to speculate short or long but could be attractive to a large holder of these assets for a few reasons:
- Avoid KYC on centralized exchanges
- Avoid selling an asset to avoid tax costs
- Avoid selling too much of an asset fearing it might hurt the price or losing governing rights
As of this writing over 158 million USD worth of Ethereum assets are earning interest in the Compound protocol and 42 million USD worth of those assets are currently being borrowed. That’s an incredible amount of assets being supplied to a fairly new, complex product. Major kudos to the Compound team for such a great start.
Compound is an extremely interesting project with incredible traction and a lot of promise. Users that are interested in checking them out should know the Compound protocol has many components that are currently managed by the Compound Team. These components include the ability to change the interest rate model on each market as well as the ability to withdraw reserves but the Compound team plans to distribute more decision making functions so that the protocol can run fluidly without the management of a small, central organization and instead important decisions can be delegated to a greater group of stakeholders in the protocol.
We look forward to the continued development of this protocol and look forward to making it easy for our users to earn interest on their Ethereum assets. Stay tuned!