In this article about stablecoins, we shed light on interest rates, a critical factor behind their stability. We explore governance-driven, algorithmic, and game-theoretic models for setting these rates, showing how issuers balance decentralization, risk, and market efficiency.
Crypto markets are notoriously volatile, but there is an industry in which cryptocurrencies are issued to replicate the price of already existing currencies. Assets that replicate existing currencies are called stablecoins.
Stablecoins are synthetic replicas of existing currencies on the blockchain. They can be redeemed and converted at a 1:1 ratio with their associated currency, and they can be used in decentralized finance (DeFi). The most used stablecoins in crypto as a whole are USD-pegged stablecoins, like USDC or USDT.
The problem is that USDC and USDT are issued by private companies, namely Circle and Tether. And these companies take advantage of their private status to do as they please:
Companies issuing stablecoins are experiencing the same problems as the banking system in general. Therefore, developers wanted to avoid recreating a trusted third party, and started to create onchain stablecoin issuers.
Main feature of onchain stablecoin issuers is that they only use crypto assets to guarantee their value. Instead of guaranteeing USD-pegged tokens with cash or T-bills, their value is guaranteed by BTC, or ETH.
The thing is, we have to pay interest for having the right to create stablecoins. We're borrowing assets that don't belong to us, so we have to pay an interest rate for our risk-taking.
Interest rates are an underdiscussed feature that differentiate stablecoins, yet they are necessary for onchain stablecoin issuers, and in finance in general.
The interest rate of a real-world currency depends on the monetary policy of the country that issues it. For example, the Federal Reserve defines the interest rates for the US Dollar.
The interest rate quantifies this difference in value on an asset over time, but we can’t just copy-paste interest rates on a blockchain, as blockchains can only process on-chain data; and decentralized finance has its own market dynamics:
At the end, we hope readers have a clear understanding of the topic and can better appreciate the nuances in stablecoin designs and make more informed decisions about stablecoin protocols.
In this model, the protocol’s governance chooses how stablecoin works by defining various parameters :
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 its token holders as its governors. Here are some examples:
In MakerDAO/SKY, those who own MKR tokens have voting power to decide the DAI/USDS 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 (12,78%/year currently)
In practice, Aave's GHO works globally in the same way as MakerDAO/Sky. The governance decides which interest rates apply to mint GHO (9.42%/year currently).
There is one difference from MakerDAO/Sky: interest rates can be lowered depending on the amount of stkAAVE (Staked AAVE tokens) users hold
For now, 1 stkAAVE = 100 discounted GHO (6.59%/year). But this system is about to change with Umbrella and AAVEnomics updates.
TL;DR:
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 a period of time.
In Inverse Finance, the arcade token 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.14, so the interest rate for borrowing DOLA is 14%/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" the 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.
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:
In DeFi, we can create new onchain data in two different ways:
In the possibility that oracles represent too great a risk of centralization, we can still rely on 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’ve both been operational for several years.
If we can build a solid algorithm to determine asset prices, 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 be 0 when :
The interest rates skyrocket when :
Monte Carlo GHO is a project carried out during the LFGHO hackathon. This is not in production but is still interesting to study.
In one sentence, GHO interest rates are set with a PID controller. The DeFi ecosystem already uses PID controllers to have autonomous price action, those are used by RAI tokens (and more recently HAI with letsgethai). Now the goal is to use the PID controller for interest rates.
To explain what a PID controller is, let's take a car's cruise control (which is also a PID controller) as an example. A cruise control monitors two values:
When the target speed is higher than the current speed, the controller automatically acts on the gas pedal to accelerate to reach the target speed. If not, the controller automatically brakes to slow down.
PID controllers rule lots of things in our lives: cars, heating systems, autopilots...And now they're coming in DeFi. With appropriate settings, it can automate interest rate management and free up bandwidth for governance if the protocol has one.
Algorithms are a relevant way to set interest rates. With the right parameters, we can have trustless, automated, and adaptative management.
But even though we remove trust risks, we replace them with technical risks. Algorithms can be exploited to steal money from other users, and wrong parameters are detrimental to the protocol.
The perfect algorithm doesn't exist for interest rate management (actually, the perfect algorithm doesn't exist at all). But there are use cases for algorithms nonetheless:
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 the very first stablecoin issuer to rely solely on Game Theory, and Liquity V2 will introduce user-set interest rates :
Like every stablecoin issuer, users deposit collateral to mint BOLD stablecoins. But Liquity V2 introduces 2 major differences :
When BOLD is below the 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.
This is literally peer-to-peer interest rate management. Users are incentivized to follow the average interest rate, because they don't want to pay too much for borrowing stablecoins, and they don't want to pay not enough for the sake of their borrows.
Game Theory can be considered as an organic algorithm: trustless, automated, and adaptative management without any intermediary...As long as the game rules encourage users to act in this way.
In other words: Game Theory is a double-edged sword because game rules can be our best friend, as they can be our worst enemy.
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.
To make the most of Game Theory, the protocol must be as simple as possible. Simple rules make it easier to have a healthy meta, while complex rules make it easier to have a toxic meta
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 it wants, 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:
Carry Trade: an operation that consists of borrowing on a low-interest-rate asset and placing the borrowed funds on another asset with a higher interest rate. The goal is to profit from the difference in interest rates.
As a stablecoin issuer, this is tempting to attract users with low interest rates, but there are some examples to illustrate the risks of doing it 👇
https://x.com/yeak__/status/1695133245094977938/analytics
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.
Liquity V1 is still considered the most resilient stablecoin in DeFi, but V1 has three features that prevented it from being massively adopted:
As soon as the market rates got >5%/year, 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 didn’t want to be redeemed.
Nowadays, we need a 650% collateral ratio to be safe when minting LUSD and lots of users left Liquity v1 seeking better capital efficiency.
Liquity V1 works well in low-interest rate environments, but V2 is designed to work regardless of the market rate.
As we can see, interest rates are just one parameter but there is already so much to say about it. Furthermore, we stayed within the stablecoin category because interest rates for borrowing other tokens follow another logic that would need other articles.
The optimal way to determine stablecoin interest rates in DeFi has not yet been found (assuming it exists), but we can imagine some ideas about future interest rate management for stablecoins:
We've just looked at Collateral Debt Position (CDP) stablecoin issuers, but we must keep in mind that other kinds of stablecoins exist, like reserve-backed stablecoins just like f(x) Protocol does, and we hope there will be more experiments in the future.
Thanks for reading!
A version of this article was originally published here.