Decentralized stablecoins that operate on decentralized networks are essential for the success of decentralized finance (DeFi) protocols. In this blog post, we deep dive into the most decentralized stablecoin, LUSD. In the previous blog post, “A Comprehensive Deep Dive into Stablecoins,” I mentioned Liquity’s LUSD in the section related to CDP-backed stablecoins. However, LUSD deserves a dedicated discussion about itself, which is why we are here. In this blog post, we will cover these topics:
- What is CDP
- Liquidation through the stability pool
- Redistribution Mechanism
- Recovery Mode
- Redemption Mechanism
- Decentralization — no proxy, no governance
- Fees
- Oracle
- Front-end operations
The Liquity protocol is an interest-free borrowing platform. Essentially, Liquity allows users to borrow a USD-pegged stablecoin, LUSD, in exchange for creating a collateralized debt position (CDP) by providing their ETH. Every CDP is represented by a trove which maintains two balances: one in the asset ETH — the collateral, and the other is a debt denominated in LUSD.
In the previous blog post about stablecoins, we observed the importance of initial arbitrage mechanisms. These mechanisms play a critical role in protecting the price by incentivizing arbitrageurs. For instance, centralized stablecoins hold a reserve that covers the total market cap of the stablecoin, and in the case of a depeg scenario, that reserve provides an arbitrage opportunity. For example, if a centralized stablecoin loses its peg, arbitrageurs can purchase the stablecoin at a price lower than a dollar and redeem it for a dollar. Thus, they help to correct the price by increasing demand while making a profit through buying cheap and selling at a slightly higher price. For more details, don’t forget to read the stablecoin post. CDPs are key for crypto-backed stablecoins by facilitating internal arbitrage opportunities.
A CDP, or Collateralized Debt Position, is a financial instrument that enables users to borrow funds by providing collateral. Liquity’s CDP module is a system that allows users, like Alice, to create a debt position by locking in their collateral and requesting a certain amount of LUSD to borrow. The value of the collateral is determined by an oracle, and the collateralization ratio is calculated by dividing the value of the collateral by the amount of LUSD requested for borrowing. If the collateralization ratio exceeds the liquidation ratio, set at 110% in the Liquity Protocol, Alice’s request will be approved; the requested LUSD will be minted and sent to her. When she repays her debt, the ETH she provided as collateral can be reclaimed. Contrary to many CDP platforms, Liquity does not charge interest fees for borrowers. The protocol imposes a one-time borrowing fee that algorithmically adjusts based on the time since the last redemption. This makes Liquity particularly attractive for long-term borrowing plans. Later, we will delve into the algorithm that determines the fee structure.
One might wonder what occurs if the collateralization ratio drops below the threshold due to a decrease in the collateral asset’s value — in other words, what if the collateral can no longer cover the debt? This situation poses a risk to LUSD’s security since some tokens would lack backing by any asset. To prevent such an occurrence, if the collateralization ratio falls back to the minimum collateralization ratio — also known as the liquidation ratio — then the user’s collateral is sold to mitigate the protocol’s potential losses. Many CDP protocols dispose of liquidated assets through on-chain auctions. However, since auctions take time, they typically set the liquidation ratio above 130% to account for potential price drops during the auction. Liquity offers a novel solution by expediting the liquidation process, which allows for a significantly lower minimum collateralization ratio of 110% compared to other protocols.
Liquity employs a direct method to liquidate assets by selling them to stability providers. These providers are akin to on-chain auction bidders but are constantly ready to purchase liquidated assets. They contribute LUSD to the stability pool, and if a trove’s liquidation is triggered, the smart contract removes LUSD from the pool and burns it. In return, stability providers can claim the collateral from the liquidated pool proportional to their share in the stability pool. This means they receive ETH equivalent to 110% of their LUSD that the contract burned, presenting an opportunity to profit by up to 10% if they sell the collateral promptly. For example, let’s say Alice uses 10 ETH as collateral to take out a 10,000 LUSD loan when the ETH price is $1150. Should the ETH price drop to $1100, her collateral would be liquidated via the stability pool. The borrowed 10,000 LUSD would be removed and burned, and the collateral is then distributed to stability pool contributors. If Bob has a 10% stake in the pool, he effectively receives 1 ETH for 1,000 LUSD, which he could sell at the current price of $1100 for a $100 gain.
Initiating liquidation incurs a gas fee, like all other transactions. For liquidations, the system allocates a reserve of 200 LUSD for these costs. This means if you request 35,000 LUSD, the system actually produces 35,200 LUSD, setting aside 200 LUSD for potential liquidation expenses. This Liquidation Reserve is refundable; it’s returned when you close your Trove by settling your debt. Moreover, it’s considered part of the debt in the Trove’s collateral ratio calculation, marginally raising the actual collateral required.
The efficiency of quick liquidations allows for a lower liquidation ratio, enhancing safety by minimizing the risk of price decline during the process. Yet, this efficiency hinges on the stability pool’s liquidity. What if the pool runs low? Then, the debt and collateral from liquidated CDPs are spread among all remaining CDPs, proportional to each user’s share of system-wide collateral. For instance, if Alice has a 10% share of the system’s total collateral, she would acquire 10% of both the collateral and debt from any liquidated CDP, impacting her assets and liabilities.
However, this kind of redistribution almost never occurs as the LUSD in the stability pool generally exceeds 50% of all LUSD in circulation. The graph below depicts LUSD’s utilization across protocols. For additional insights, you can visit the Dune dashboard of Liquity.
Although it’s unlikely to occur, let’s examine the redistribution mechanism with a concrete example. Suppose 1 ETH is valued at $1000.
Once Daniel’s position is liquidated through redistribution, the updated positions are as follows:
As the charts above show, the redistribution mechanism does not change the total liability of the protocol when liquidating a trove without the stability pool. Through redistribution, every trove holder acts like a stability provider and has the potential to profit by selling the liquidated collateral quickly. However, if they do not act swiftly and the price of ETH falls after the distribution, their increasing debt may be overcompensated, which can cause some loss and decrease their collateralization ratio. Given that the LUSD in the stability pool exceeds half of the total circulation and there are numerous troves, a borrower should not worry about the risks associated with the redistribution method. Nevertheless, the Liquity protocol has a backup plan to ensure robustness — Recovery Mode.
Before delving into Recovery Mode, let’s introduce a new concept: the Total Collateralization Ratio (TCR), calculated by dividing the worth of total collateral in the system by the total debt issued. This ratio is a good indicator of the system’s health. For instance, when the TCR is relatively high — let’s say 270% — there is no need to worry about the system’s overall health. Even if the stability pool is depleted, the system can sustain itself through the redistribution method. However, if the TCR drops, the effectiveness of redistribution may diminish. Consider a TCR of 111%; how could it protect itself if the price falls even slightly?
To maintain the overall health of the system, Liquity activates Recovery Mode when the TCR falls to or below 150%. In Recovery Mode, new LUSD can only be issued by adjusting existing Troves to improve their collateral ratio or by opening a new Trove with a collateral ratio of at least 150%. CDPs with a lower collateralization ratio may be liquidated unless the stability pool is empty. This process prioritizes the riskiest CDP and continues until the TCR is restored to 150%. The goal of Recovery Mode is not to penalize trove holders. Notably, in this type of liquidation, a CDP is not entirely sold off. For example, if Alice has the riskiest position with a collateral ratio of 140% and Recovery Mode is triggered (assuming the Stability Pool can cover her), then 110/140 of her collateral would be liquidated. She could then claim the remaining 30/140 portion. As a result, she effectively loses only 10/140 of her collateral, given she had borrowed LUSD equivalent to 100/140 of her collateral and manages to reclaim 30/140 of it.
A special case arises when the collateralization ratio of a trove drops so rapidly that it falls below 100% before liquidation occurs. In such a scenario, liquidating the collateral through the stability pool would lead to losses for the stability providers. To prevent stability providers from incurring losses, which would deter them from participating, this type of liquidation is also managed through redistribution, rather than imposing costs on the stability providers. Here is a helpful table from the Liquity Docs summarizing the types of liquidations.
Where;
- ICR = Individual Collateral Ratio
- MCR = Minimum Collateral Ratio
- TCR = Total Collateral Ratio
- SP = Stability Pool
Now, let’s turn our attention to another mechanism that contributes to LUSD’s robustness — the redemption mechanism. Redemptions are crucial for reinforcing the LUSD’s price stability. Through this process, users can exchange 1 LUSD for an equivalent value of $1 in ETH, taken from the most vulnerable position, identified by the lowest collateralization ratio. As a result, the debt in these positions is reduced in proportion to the amount of ETH redeemed. Essentially, redeeming LUSD equates to settling the debt of the riskiest position and acquiring its collateral. Since the value of the redeemed ETH is equal to the LUSD debt paid at the moment of redemption, the balance of the most vulnerable trove remains unchanged. For example, imagine the price of ETH is $1000, and Bob’s position is the most vulnerable, having secured a loan of 800 LUSD with 1 ETH as collateral. When Alice redeems 100 LUSD, she’s effectively repaying 100 LUSD of Bob’s debt and, in exchange, she claims ETH worth $100 from his collateral. Post-redemption, Alice holds 0.1 ETH, and Bob’s remaining loan is 700 LUSD against 0.9 ETH. Bob’s balance remains the same after redemption; he still owes $200, and his collateralization ratio increases from 125% to 129%. Thus, the redemption mechanism not only helps maintain the peg but also discourages the creation of risky positions that could cause issues for both the trove owner and the wider system.
Moving on to Liquity’s level of decentralization, many of you are familiar with DAOs that govern protocols through user voting, where the number of tokens dictates voting power. It seems democratic, doesn’t it? However, let’s be honest — many DAOs are dominated by insiders such as protocol developers and investors. With insiders sometimes holding large token amounts (occasionally over 50% of the total supply), these DAOs can resemble puppet regimes. The Liquity team stands against such self-serving governance systems, hence there is no DAO overseeing Liquity. You might wonder if the team then makes unilateral decisions about the platform and its parameters. The answer is a definitive no. Liquity lacks any proxy contract that would allow for updates or an admin key, ensuring the protocol operates without the possibility of censorship or alterations. The system is designed to function autonomously.
All of the logic mentioned above illustrates why LUSD is by far my favorite stablecoin. It operates independently, free from any DAO or team influence, making it the most decentralized option. It’s also the most robust stablecoin, with over half of the LUSD supply poised to instantly liquidate risky positions. Should the LUSD in the stability pool prove insufficient for liquidations, the redistribution system steps in to safeguard the protocol. Additionally, to maintain the efficiency of the redistribution system, the protocol is programmed to keep the Total Collateralization Ratio (TCR) above 150%. The redemption mechanism further strengthens the peg and discourages the creation of precarious positions. It’s a testament to elegance. I recall describing Liquity to a friend as a protocol that’s akin to a poem.
Regarding fees, Liquity does not impose ongoing interest charges. Nevertheless, two types of fees are present. The first is a one-time borrowing fee incurred when creating a trove. The second is a redemption fee, pivotal for fending off potential attacks. Without the redemption fee, attackers could exploit the system through incessant redemptions. This fee mechanism thus renders such attacks unprofitable, effectively deterring unnecessary redemptions.
Both these fees are governed by an algorithm that raises the fees in response to increased redemptions. Both fees derive from a function known as the base rate, denoted by b(t). The base rate functions recursively, meaning it uses its previous value to calculate the current rate. Initially, the base rate was set to 0. The base rate at any given time b(t) is calculated by:
where:
- b(t-1) is the base rate at the time t-1,
- is a constant parameter set to 0.5,
- m is the amount of redeemed LUSD,
- n is the amount of current supply of LUSD.
The formula above calculates the base rate before redemption occurs. If no redemption occurs for a certain period, the base rate gradually decreases, calculated by:
where:
- beta is the decay factor setted as 0.94,
- delta-t is the time elapsed since the last redemption or loan issuance.
The choice of beta=0.94 ensures that the base rate’s half-life is 12 hours. For redemptions, the base rate equals the redemption fee. To understand the redemption fee mechanism, let’s consider an example from the whitepaper.
Assume LUSD currently trades at $0.95 and the current base rate is 1.4%. An arbitrageur redeems 150,000 LUSD from a total supply of 10 million LUSD. The last redemption occurred 2 hours ago, and no loans have been issued since. With an hourly decay factor of 0.94, the system first applies the decay rate to the last base rate:
Then, it increases the base rate according to the redemption amount:
As a result, the redeemer receives ETH worth $147,019.44 for their redeemed 150,000 LUSD. Considering the LUSD is currently valued at $142,500, the arbitrageur gains $4,519.44.
Note that the minimum redemption fee is set at 0.5%.
Now, let’s look at the borrowing fee. The borrowing fee is also calculated through the base rate, but it’s assessed as the base rate plus an additional 0.5%. Using the whitepaper example again, if the base rate is 0.5%, the one-time borrowing fee is 1% (0.5% + 0.5%). In this case, a borrower who deposits 4 ETH and withdraws 4,000 LUSD will encounter a Liquidation Reserve of 200 LUSD and a 1% fee on the withdrawn amount. Thus, the borrower receives 4,000 LUSD but incurs a debt of 4,240 LUSD (accounting for the initial loan, the Liquidation Reserve, and the fee). To reclaim the deposited 4 ETH, the borrower must repay 4,040 LUSD since the Liquidation Reserve is refundable.
Note that the minimum borrowing fee is set at 0.5%, and the maximum is at 5%.
Having an algorithmic fee structure is advantageous, especially during times of negative depeg when redemptions increase, leading to higher borrowing fees as they’re calculated via the base rate. This discourages the creation of new positions. As I’ve mentioned before, the protocol is elegantly designed.
The price of ETH is critical for the system because it directly affects collateralization ratios. For the system to function properly, accurate price information is non-negotiable. Liquity relies primarily on Chainlink’s ETH:USD price feed. However, they also have access to Tellor’s ETH:USD price feed under extreme conditions:
- Chainlink price has not been updated for more than 4 hours,
- Chainlink response call reverts, returns an invalid price, or an invalid timestamp,
- The price change between two consecutive Chainlink price updates is greater than 50%.
By incorporating these measures, they safeguard their price feed to prevent unexpected outcomes.
You might now share the same inspiration I felt when I first read the Liquity documentation. If you decide to use Liquity for borrowing USD-pegged stablecoin and visit their website, you won’t find a “Launch App” button or its equivalent. This is because Liquity does not provide a frontend service. In their commitment to decentralization, they encourage developers to create and operate frontends, enhancing the system’s resistance to censorship. Currently, there are over 15 different frontend options for users to access Liquity. Frontend operators set a kickback rate, which is a fee charged to their users. However, borrowing LUSD and staking LQTY are not subject to the kickback rate. LQTY rewards distributed to stability providers are subject to this rate.
Staking LQTY, the native token of the protocol, is also possible. LQTY is not a governance token, LQTY is designed to incentivize users to act as stability providers, operate frontends, and provide liquidity to the LUSD:ETH Uniswap pool. LQTY staking allows for immediate rewards without any lock-in period, unlike veTokens. Stakers earn a pro-rata share of borrowing and redemption fees in LUSD and ETH.
With this exploration of staking mechanisms, we’ve touched upon the core features of Liquity. There are additional topics worth exploring in depth, such as the math behind chicken bonds, Liquity V2, and the LUSD price fluctuations between $1.01 and $0.99. To maintain readability, I’ll discuss these topics in future blog posts. Thank you for investing your time in this discussion; I sincerely value your interest and am open to any feedback you might offer. Also, feel free to connect with me on Twitter.