Defining interest rates for stablecoins
The interest of a real world currency depends on the monetary policy, but how to define monetary policies on a blockchain ?
When creating a stablecoin, how are interest rates defined ?
The interest of a real world currency depends on the monetary policy of the country that issues the currency. For example, the Federal Reserve defines the interest rates for the US Dollar.
The problem is that it's not possible to simply copy this interest rate for USD stablecoins in a blockchain :
- Blockchains can only process on-chain data. We need intermediaries (e.g. oracles like Chainlink) to bring in data from the outside world, but this entails a centralization risk.
- Decentralized Finance has its own market dynamics. We need to find mechanisms to adjust interest rates according to DeFi market conditions.
Many projects have studied the problem and come up with their own solutions.
Currently, there are 3 main ways of setting interest rates in DeFi :
- Governance (DAI, GHO, DOLA…)
- Algorithm (crvUSD)
- Game Theory (BOLD)
Governance-driven interest rates
In this model, the protocol’s governance chooses how stablecoin works by defining various parameters :
- Enabled assets as collateral
- Loan-to-Value (LTV) Ratio
- Liquidation Threshold (LT)
- Or, of course, interest rates
These parameters are modified through governance proposals voted on by token holders.
In a way, we can see the protocol as a central bank and protocol’s token holders as its governors. Here are some examples :
MakerDAO (DAI)
In MakerDAO, those who own MKR tokens have voting power to decide the DAI interest rate.
Before Spark, the interest rate depended on the collateral used, and the borrowing capacity (A = less capacity but less fees, C = more capacity but more fees). Governance had to choose an interest rate for each
Since Spark, whatever the collateral and whatever you wish to borrow, interest rates are the same (11%/year currently)
Aave (GHO)
In practice, Aave's GHO works glabally the same way as MakerDAO. The governance decides which interest rates apply to mint GHO (13.88%/year currently).
There is one difference from MakerDAO : interest rates can be lowered depending on the amount of stkAAVE (AAVE tokens in the Safety Module) users hold
1 stkAAVE = 100 discounted GHO (9.72%/year)
Inverse Finance (DOLA)
As in the previous examples, governance decides which interest rates to charge. However, the way we pay interest is very different.
Rather than paying interest to borrow a stablecoin, the borrower can pay for the right to borrow it.
The principle is similar to arcade tokens : you don't own the machine, but you can use it for some time.
In Inverse Finance, the arcade chip is DBR (for “DOLA Borrowing Rights”), which is an ERC-20 token.
Each DBR allows the holder to issue 1 DOLA for a maximum period of one year.
It can be shortened to borrow more DOLA, like 12 DOLA for 1 month.
Currently, 1 DBR = $0.154, so the interest rate for borrowing DOLA is 15.4%/year.
So the user must own DBR tokens to mint DOLA stablecoins. When DOLAs are minted, the DBR balance decreases over time, as the user "consumes" his borrowing right.
The thing is, the user’s DBR balance can be negative. If it happens, another user can top up the balance at a higher price than the market, and the top up is added to the debt.
If the debt becomes too high compared to the collateral, the user is liquidated.
What to think about Governance
Governance is the most battle-tested model so far to define stablecoins interest rates. But if we use it, we face a dilemma between decentralization and interest rate controllability :
- A truly decentralized governance implies a slow governance process, so interest rate management is less optimal
- A governance with an optimal interest rate management must bypass its own process, which is risky.
Algorithmic Interest rates
In DeFi, we can create new on-chain data in two different ways :
- Using an algorithm
- Using an oracle
As said in the introduction, we'd like to avoid oracles as much as possible, so we still have algorithms.
Good news : there are already algorithms that work well. x*y=k from Uniswap is an algorithm, Stableswap from Curve is also an algorithm and they’re both operational since several years.
If we can build a solid algorithm to determine assets price, we can also build a solid algorithm to determine interest rates for stablecoins, and that’s what crvUSD is about.
For crvUSD, interest rates depend on "PegKeepers", smart contracts designed to keep the price of crvUSD around $1 :
When crvUSD > $1, PegKeeper can mint new crvUSD without collateral and deposit it into a Curve liquidity pool to increase the supply of crvUSD in the market, and therefore reduce the price
When crvUSD < $1, PegKeeper will start withdrawing previously minted crvUSD from the Curve Liquidity Pool and burn them to reduce the supply, and therefore increase the price.
We have 4 PegKeepers, each assigned to a Curve Pool : USDC, USDT, USDP and TUSD.
Interest rates are calculated as follows :
To put it simply, the interest rates tend to 0 when :
- crvUSD > $1
- PegKeepers hold lots of crvUSD
The interest rates skyrocket when :
- crvUSD < $1
- PegKeepers hold no more crvUSD
What to think about algorithms
Algorithms are a relevant way to set trustless interest rates.
But even though we remove trust risks, we replace them by technical risks, as algorithms can be manipulated/exploited to steal money from other users.
Game theory
If oracles, governance and algorithms can’t be trusted enough to define interest rates for stablecoins, we still have Game Theory.
As such, Liquity is very first stablecoin issuer to rely solely on Game Theory, and Liquity V2 will introduce user-set interests rates :
Like every stablecoin issuer, users deposit collateral to mint BOLD stablecoins. But Liquity V2 introduces 2 major differences :
- Users must choose the interest rates they pay to issue BOLD
- The peg protection system looks like a "ticking bomb" circulating between all users who have issued BOLD.
When BOLD is below peg, the users with the lowest interest rates are holding the bomb, and it explodes when someone redeems BOLD to get his collateral back.
The affected borrowers see their collateral and debt go down by the same value, implying no net loss but a reduced exposure to ETH.
What to think about Game Theory
Game Theory is a double-edged sword.
With a well balanced game, a protocol like Liquity V2 can establish a robust reference for interest rates.
On the other hand, an unbalanced game could create a system worse than any other mechanism described above.
In any case, the perfect balanced game doesn't exist in finance.
Interest rate is a soft tyranny
Interest rate is a soft tyranny because a stablecoin must follow the average market rate to thrive.
“Soft” because a stablecoin issuer can select any interest rate, and “Tyranny” because not following the average market rate implies negative consequences for the stablecoin
We’ve seen above the main ways to set interest rates for stablecoins, and there will probably be others in the future. That said, no matter what we create, it's imperative that stablecoin interest rates can adapt to the market average :
- If a stablecoin's interest rate is too high, the protocol need to find users who will accept to pay the difference, and they aren't many of them
- If it’s too low, users will make carry trades which undermine the peg.
As a stablecoin issuer, this is tempting to attract users with low interest rates, but there are two examples to illustrate the risks of doing it 👇
The GHO Depeg
We saw this when the GHO stablecoin was launched : interest rates were at 2% (without discount), and users massively sold GHO to get sDAI, which offered a 5% annual yield at the time.
GHO was so heavily sold that its value dropped to $0.97, and one of the main measures adopted to repeg was to raise interest rates.
The LUSD Massive redemptions
Liquity V1, like its successor, is based on Game Theory only, but the redemption mechanism depends on collateralization ratio, where the least collateralized users are redeemed first.
Liquity V1 is still considered the most resilient stablecoin in DeFi, but Liquity V1 had two features that prevented it from being massively adopted:
- When LUSD is below peg, redeeming users take money from the least collateralized troves
- Borrowing fee ranged from 0.5% to 5%.
As soon as the market rates got >5%, users started to make carry trades, resulting in excessive selling pressure.
To protect the peg, there were lots of redemptions forcing the remaining users to drastically increase their collateral ratio, if they don’t want to be redeemed against.
Nowadays, we need 590% collateral ratio to open a safe trove, and lots of users left Liquity v1 seeking for better capital efficiency.
Liquity V1 works extremely well in low interest rate environments, but V2 is designed to work regardless the market rate.
The research is only beginning
The optimal way to determine stablecoin interest rates in DeFi has not yet been found (assuming it exists), but there will surely be innovations in the years to come.
We've just looked at Collateral Debt Position (CDP) stablecoin issuers, but we must keep in mind that other kind of stablecoins exist, like reserve-backed stablecoins, and maybe undercollateralized stablecoins
Furthermore, calculation methods for interest rates are kept simple, as the gas cost of the protocols should not be too high for users.
In a future world where gas costs much less than it does today, we could hope for a more complex, and therefore more optimal, rate calculation.
Interest rates for stablecoins is just one parameter, but is already a area of research all by itself