INSIDE $CRVUSD STABILIZATION METHODS – HOW CAN STABLECOIN REMAIN “STABLE”
Ahead of the Llamalend V2 launch, understanding how $crvUSD maintains its stability has become increasingly important.
INTRODUCTION
With the upcoming Llamalend V2 release, Curve’s native decentralized stablecoin ($crvUSD)’s role become more important in Curve ecosystem. At its core, every stablecoin faces the same question: What truly keeps its price stable? How does the peg really hold? and What forces stop it from breaking?
This article dives into that question and breaks down the mechanisms that allow $crvUSD to hold its value with remarkable consistency.
KEY TAKEAWAYS
In this article, we explore and deep dive into three main mechanism used to keep $crvUSD peg 1:1 with USD:
+ Overcollateralization and liquidation
+ PegKeeper contract
+ Adjust borrow rate to control supply and demand of tokens (Monetary Policy contract)
PROBLEMS: STABLECOIN DEPEGGING AND THE IMPORTANCE OF PEG KEEPING
For a stablecoin, the biggest and most frightening risk is a depeg, the moment it can no longer maintain the stable value it is supposed to hold.
Crypto-backed stablecoin depeg risks
The value of any fully backed stablecoin depends entirely on the market’s confidence that each token is truly backed by one real USD or an equivalent asset. Therefore, even with massive market caps and full reserves, stablecoins are never immune to depeg risks. Confidence can waver, markets can panic, and even the most established stablecoins can momentarily slip from their peg.
For example, in 2023, Circle, the company behind USDC revealed that it held $3.3 billion of its cash reserves at Silicon Valley Bank (SVB). When SVB was shut down in one of the largest U.S. bank failures since the 2008 financial crisis, USDC briefly lost its (1:1) peg with USD, shaking confidence in the stablecoin market
Synthetic dollar stablecoins depeg risks
For synthetic dollar stablecoins, tokens designed to track the USD 1:1 through on-chain collateral or complex DeFi mechanisms like delta-neutral hedging rather than traditional cash reserves, the risk of depegging remains a major concern.
For example: USDe, Ethena’s synthetic dollar stablecoin, relies on Ethena opening corresponding short positions on perpetual markets, offsetting the price movements of the volatile crypto collateral the protocol holds. This allows the system to stay “delta-neutral” regardless of whether the underlying assets rise or fall.
However, this very dependence on perp exchanges to maintain its backing introduces a significant depeg risk of its own.
On October 10 Black Swan event, during a massive $19 billion market liquidation, Ethena’s stablecoin USDe briefly dropped to $0.65 on Binance, far below its intended $1 peg. The shock also caused ENA, its governance token, to fall 40% within the day.
This happened just minutes after President Trump announced a new 100% tariff on Chinese exports, sparking panic and sending traders rushing into safe assets like gold and Treasuries.
USDe dropped as people pulled out of riskier assets.
The key problem is: Binance oracle priced from its own order book.
After the selling wave, USDe liquidity on Binance was extremely thin, the price instantly dropped 35%. The oracle picked up that price, making entire collateral pool was valued lower. Accounts holding a lot of USDe suddenly slipped below the 110% maintenance margin. That triggered forced liquidations — and the cascade began.
Algorithms Stablecoin depeg risk
This type of stablecoin uses algorithms and smart contracts to keep its price steady.
When the price drops, the protocol reduces (burns) the number of coins in circulation. When the price rises, it creates (mint) more coins.
For example: $UST (an algorithms stablecoin of Terra) and $LUNA were tied together by one rule: 1 UST could always be exchanged for $1 worth of LUNA.
When you swapped between them, the system burned the token you sold and created the token you bought.
For example: If UST falls to $0.90, traders buy it cheap, trade it for $1 of LUNA, then sell the LUNA for a profit.
This process removes UST from the market until its price goes back to $1.
On May 7, 2022, UST faced trouble when about 285 million UST were sold on Curve and Binance. In the following days, things got worse. Even though the Luna Foundation Guard raised $1.5 billion to support UST’s peg, the stablecoin kept falling, its market cap dropped to $1 billion by May 18, and trading on Binance was eventually halted. UST and LUNA lost over 10,000 times in value within just a few days.
This is where $crvUSD peg keeping enters the story. Instead of promising perfect stability, it takes a more realistic approach: because volatility can’t be eliminated, it is designed to be managed intelligently. $crvUSD is built with a set of mechanisms specifically designed to protect its peg from the three biggest forces that typically cause stablecoins to depeg:
+ Collateral price volatility
+ Supply–Demand imbalances
+ Shifts in market confidence
In this article, we’ll look at three specific solutions Curve uses to handle these pressures, which is usually called “$crvUSD stablization methods”:
Overcollateralization & liquidation, which keeps the system safe when collateral prices move.
Dynamic interest rates, which adjust borrowing costs based on supply and demand to pull the price back toward $1.
PegKeeper contracts, which help keep $crvUSD aligned with other major stablecoins across the market.
These three mechanisms form the foundation of how $crvUSD maintains stability without relying on unrealistic promises.
SECTION 1: OVERCOLLATERALIZATION AND LIQUIDATION
1/ Overcollateralization
$crvUSD is a decentralized stablecoins using crypto assets as collateral, different from centralized stablecoins (USDC, USDT), that are backed by real-world money (like USD) and depend on banks to keep collateral safe.
For example, $crvUSD can be minted against the following collateral types:
Crypto-backed stablecoins use volatile assets as collateral, so the system needs extra protection. That’s why users must lock up more crypto value than the amount of stablecoins they mint; or in other words, it’s called “Overcollaterization”
The logic is straightforward: when the collateral is worth more than the loan, the system is much safer. Even if the borrower fails to repay or the market moves suddenly, the protocol can sell the collateral and still recover more than enough to cover the stablecoins in circulation.
This overcollateralization model works like normal lending and borrowing in DeFi.
For example: Providing 10 ETH as collateral (worth $44,470 at the time of writing), with default number of bands (for liquidation, this will be discussed later), user can borrow (mint) up to $37,972 $crvUSD.
In other words, the user must supply at least 115% of the value of the stablecoins they mint as collateral.
This 15% extra buffer is what protects the stablecoin from price swings and keeps it stable.
Each loan opened on the $crvUSD minting or lending market has a maximum Loan-to-Value (LTV), meaning you can never borrow the full value of the collateral you deposit. If the collateral price drops and the loan’s LTV exceeds the allowed threshold, the liquidation process is triggered to prevent the position from slipping into bad debt.
2/ Liquidation process
Curve’s LLAMMA liquidation mechanism is both impressive and highly flexible. In this part, we explore how this system helps $crvUSD maintain its peg: by preventing bad debt early, protecting users as much as possible, and preserving their positions for longer during volatile markets.
(For readers who want a deeper dive, we also have a dedicated article explaining LLAMMA’s liquidation flow and the AMM design behind it)
Hard liquidations often trigger cascading sell-offs, while partial liquidations still cause permanent loss. LLAMMA offers a different approach: it breaks the collateral’s price range into multiple bands (4–50), and a loan’s liquidation range is simply a set of these bands chosen when the position is created.
Liquidation range created from band
s
In LLAMMA, bands work much like Uniswap V3’s concentrated liquidity “ticks”: Each band represents a price interval where liquidity is placed. When a user opens a loan, their collateral is spread evenly across a chosen number of bands (from 4 up to 50).
Together, these bands form a fixed price grid that defines the liquidation range of the loan.
This feature has been simplified by Curve as the example below
For example: Alice uses 1 ETH as collateral to mint $crvUSD and chooses 4 brands to form liquidation range, her 1 ETH is distributed: 0.25 to band 2, 0.25 ETH to band 1, 0.25 ETH to band 0 and 0.25 to band -1.
Therefore, Alice’s loan liquidation range will be $600 to $1000, which means Alice’s loan enters the liquidation range when the collateral price drops into this range.
Soft liquidation: liquidating gradually
Another important feature is that Curve uses soft liquidation rather than the harsh, one-way liquidations seen in most lending protocols. In LLAMMA, collateral is continuously rebalanced whenever its price falls within the liquidation range: when the collateral price drops, the position is partially liquidated to keep it safe; but if the price recovers, the system automatically restores the position back toward its original state.
+ Partial liquidation: When the collateral price drops, LLAMMA sells part of the collateral (any ERC-20, for example, here is ETH) for the borrowed asset ($crvUSD), so the loan becomes backed by a mix of ETH and $crvUSD.
+ De-liquidation: When the price later rises within that same range, the process is reversed: LLAMMA uses the $crvUSD to buy back ETH, restoring exposure to the collateral.
This approach not only protects the protocol from undercollateralization and depeg risk, but also shields users from the heavy losses typically associated with hard liquidations. In essence, $crvUSD’s soft liquidation serves as a buffer on both sides, stabilizing the system while reducing liquidation pain for borrowers.
SECTION 2: PEG STABILIZATION RESERVE (PEGKEEPER CONTRACT)
The second mechanism to keep $crvUSD peg (1:1) with USD is Peg Keepers contracts, which is uniquely enabled to mint and absorb debt in $crvUSD for the purposes of trading near the peg.
PegKeeper contract is used to keep the price of $crvUSD stable at 1:1 with USD, it makes sure $crvUSD works as a real stablecoin, unlike normal tokens that can change in price.
Each PegKeeper links to a specific stablepool including $crvUSD and another stablecoin.
If the price of $crvUSD goes above $1, the PegKeeper deposits $crvUSD into the pool, increasing supply and bringing the price down.
If the price falls below $1, it withdraws $crvUSD (by burning LP tokens it earned earlier), reducing supply and pushing the price back up.
Each PegKeeper is linked to one Curve pool that trades $crvUSD against a major stablecoin. Each stable pool has its own PegKeeper contract
The core of PegKeepers is a fixed supply of $crvUSD that is set aside to keep the price stable. They can only do two things: deposit (provide) $crvUSD into a liquidity pool or withdraw it (until deposited, their tokens are considered out of circulation).
If the price of $crvUSD goes above $1, the PegKeeper deposits $crvUSD into the pool, increasing supply and bringing the price down.
If the price falls below $1, it withdraws $crvUSD (by burning LP tokens it earned earlier), reducing supply and pushing the price back up.
By adjusting the amount of $crvUSD in each pool, PegKeepers help keep $crvUSD close to its $1 peg in all markets.
The basis of PegKeeper is actually an arbitrageur. Its actions not only help keep $crvUSD pegged to $1, but also generate profit.
When $crvUSD trades above $1, PegKeeper supplies $crvUSD into the pool and receives other stablecoins of higher relative value.
When $crvUSD trades below $1, PegKeeper withdraws $crvUSD from the pool at a cheaper rate than the cost of LP tokens burned.
PegKeeper doesn’t run automatically, it needs someone to call the update function:
This function can be called by any external account (like user’s wallet) or any smart contract. To encourage external engagement, callers are rewarded with a caller share as an incentive.
Callers’ incentive is calculated based on caller_share variable, which refers to the percentage of profit (comes from deposit/withdraw operation) given to whoever calls the PegKeeper’s update function.
Caller’s profit is estimated when calling update function, and can be calculated
:
To be simple, this formula can be written as:
In the PegKeeper contract, profit represents the net amount of $crvUSD gained by the PegKeeper from maintaining the peg (balancing supply and demand between Curve pools and the PegKeeper’s internal reserves).
Every time someone calls the update() function, the PegKeeper checks how much profit it has generated since the last update.
You can think of PegKeeper profit as the earned balance difference from stabilizing the peg between $crvUSD and other stablecoins.
Each time profit increases, part of it goes to the caller as a small automatic reward.
PegKeepers do not only play a key role in keeping $crvUSD peg (1:1) with other stable assets, but also shaping the interest rate of $crvUSD markets. The rate is determined by several factors, one of which is the overall DebtFraction across all PegKeepers. When PegKeepers accumulate more debt, the DebtFraction rises, which puts downward pressure on the interest rate.
SECTION 3: BORROW RATE ADJUSTMENT (MONETARY POLICY CONTRACT)
The borrow rate is the interest you pay when you borrow $crvUSD. It increases your debt slowly over time (charged every second).
The $crvUSD borrow rate is the primary tool Curve uses to help maintain the stablecoin’s peg. When borrowing is too cheap, people can mint $crvUSD easily and sell it, which pushes the price below $1. When borrowing is too expensive, fewer people take loans, $crvUSD becomes less used, and the system loses competitiveness.
The simple logic of adjustment is:
(1) If $crvUSD is above $1:
The system lowers the borrow rate.
This makes borrowing cheaper, so more people borrow $crvUSD and sell it.
Selling increases supply and helps bring the price back down toward $1.
(2) If $crvUSD is below $1:
The system raises the borrow rate.
Borrowing becomes expensive, so users are more likely to buy $crvUSD and repay their loans.
This buying pressure pushes the price back up toward $1.
Lending markets use Monetary policies to determine interest rates. Each market has its own policy contract.
To understand this section, you need to know that a pair of token on Curve LLAMMALend has two markets where interest rates are generated:
Mint Market: This is where $crvUSD is created (minted).
Lend Market: This is where users borrow already-existing $crvUSD from other users.
Therefore, there are two different kinds of policy contracts in use:
AggMonetaryPolicy (for Mint Market): Monetary policy for minting $crvUSD
Semilog Monetary Policy (for Lend Market): calculating interest rate based on the Utilization Rate of lending markets
Secondary Monetary Policy (for Lend Market): calculating interest rate by combining both the Minting Rate and the Utilization Rate.
(1) Aggregated Monetary Policy (AggMonetaryPolicy)
AggMonetaryPolicy is the system-level monetary authority for crvUSD.
$crvUSD’s borrow rate (r) is set by the following monetary policy formula:
With:
rate0: the baseline rate, applicable when PegKeepers are debt-free and the $crvUSD price equals 1.
\(power = \frac{price_{peg} - price_{crvusd}}{\sigma} - \frac{DebtFraction}{TargetFraction}\)
The interest rate ultimately depends on the value of power, which is the key variable driving the formula. power captures the combined impact of two main forces:
+ $crvUSD’s price deviation from the peg ( )
$crvUSD’s price comes from an aggregated oracle that pulls data from multiple Curve StableSwap pools. When the crvUSD price moves away from $1, the system adjusts interest rates to help restore balance.
measures the deviation of the actual crvUSD price (pricecrvUSD) from its target price (pricepeg = $1).
If $crvUSD < $1, the numerator ) is positive, causing power to rise → interest rate r increases, encouraging borrowing more $crvUSD, helping the price return to $1.
If crvUSD > $1, the numerator ) is negative, causing power to fall → interest rate r decreases, reducing the incentive for borrowing $crvUSD, allowing downward pressure to bring the price back toward $1.
+ The behavior of the PegKeeper system ( )
DebtFraction connects PegKeepers to $crvUSD’s monetary policy, it measures how much of the total $crvUSD debt comes from PegKeepers:
If DebtFraction goes up, meaning it had to provide a large amount of $crvUSD to the pool (PegKeepersDebt ↓) or there are too much $crvUSD in circulation (TotalDebt ↑), the system will lower the borrowing interest rate, encouraging more users to borrow $crvUSD, increasing demand and helping bring the peg back to $1.
If DebtFraction goes down, meaning PegKeepers hold less debt, fewer $crvUSD were needed for stabilization (PegKeepersDebt ↑) or there is less $crvUSD in circulation (TotalDebt ↓), the system will raise the borrowing interest rate, making borrowing more expensive, slows down demand, and helps reduce excess upward pressure on the peg.
Because this term is subtracted in the formula, even small fluctuations can cause high volatility in the interest rate, regardless of price stability. This instability made borrowing less predictable for users and reduced the competitiveness of mint markets.
Aheading Llamalend V2 proposes several improvements to address this issue
Adjusting key monetary policy parameters, such as increasing the TargetFraction to make the borrow rate less sensitive to short-term movements and reduce excessive volatility.
Lowering the baseline rate (rate0), making borrowing cheaper and encouraging higher system-wide debt levels, which naturally stabilizes the PegKeeper debt ratio.
Improving EMA-based smoothing, a more advanced mechanism currently under evaluation, which would apply a multi-week exponential moving average to the PegKeeperDebt/TotalDebt ratio. This approach is designed to dampen sudden spikes while preserving responsiveness to meaningful changes in $crvUSD demand
(2) Semilog Monetary Policy for lending markets (no new $crvUSD minted
The borrow rate in the semi-logarithmic MonetaryPolicy contract is directly tied to how much of the lending pool is being used. This is measured by the utilization ratio, which goes from 0 to 1.
If utilization is 0 (meaning no one is borrowing): the interest rate stays at the minimum.
If utilization is 1 (meaning everything in the pool has been borrowed): the interest rate jumps to the maximum.
In simple terms, the more people borrow, the higher the interest rate goes; the less people borrow, the cheaper it becomes. This system helps keep supply and demand balanced automatically.
The function for the rate is
The main point of the semi-log model is that it makes interest rates increase slowly at first, then much more sharply at the end:
At low utilization levels, the rate increases very slowly, almost flat, like walking on level ground. But as utilization gets closer to 1 (100%), the rate shoots up sharply, rising almost vertically.
The “secret” lies in the utilization variable being placed in the exponent. This makes the curve behave very differently compared to a normal linear model.
To understand it mathematically, let’s look at the formula:
especially the proportion:
Suppose: ratemin = 1%; ratemax = 100%. We have:
So the formula turns into:
Now see what happens as utilization increases:

From 0% → 10% utilization, the rate just increases from 1% to 1.58%
From 40% → 50%, the rate increases at a higher speed: from 6,31% to 10%
From 90% → 100%, it jumps from 63% to 100%
The utilization moves by the same 10%, but when it’s already high, that change pushes the rate up much more.
(3) Secondary Monetary Policy
SecondaryMonetaryPolicy is used in lending markets, combining interest rate from both utilization and minting rate from AggMonetary Policy.
The rate can be calculated as:
The borrow rate for each lending market is determined by taking the system-wide base rate (rateAMM from AggMonetaryPolicy) and adjusting it according to how much liquidity is currently being used.
Let’s take a deeper look on the formula of rate, we have:
rateAMM is the base variable, meaning if the main system raises rates to protect the $crvUSD peg, your borrow rate goes up automatically, regardless of how popular your specific lending pool is.
is a multiplier that scales the base cost up or down based on how scarce money is in the pool.
The parameter handling inside this multiplier is fairly complex and highly technical, so we will break it down in a separate dedicated article.
shift moves the entire rate curve up or down without changing its shape. (It’s rarely used but allows for quick manual corrections if needed).
In short, the formula calculates your rate by taking the system’s base cost (rateAMM), multiplying it by a Scarcity Factor (based on utilization), and adding a small adjustment (shift) if necessary.
Convert the ‘rate’ value in the smart contract into APR
In all the formulas above, the values of rate (or the interest rate) are calculated per second and uses as its base unit.
To calculate the Borrow APR from the rate of smart contract, we have the formula:
86400: number of seconds in a day
365: number of days in a year
For example: Calculating APR of a lending market using Semi-log Monetary Policy
ratemin = 9774 (rate in smart contract), applied when no one is borrowing (0% utlization)
ratemax = 25111968766 (rate in smart contract), applied when the pool is fully borrowed (100% utilization).
Says current utilization = 85,6%, meaning 85,6% of the available liquidity is currently borrowed.
Therefore:
2998253497
Therefore, Borrow APR = = 9,5%
CONCLUSION
In summary, $crvUSD’s stability comes from a design that actively manages risk, protects users, and responds smoothly to market volatility. By combining thoughtful mechanisms with efficient market incentives, Curve has built a stablecoin that can hold its value reliably while remaining fully decentralized.
DISCLAIMER
In this article, we focus on examining the stabilization mechanisms behind $crvUSD, Curve’s native decentralized stablecoin. Rather than evaluating price performance or making comparisons between stablecoins, our objective is to break down the core design choices and on-chain mechanisms that allow $crvUSD to maintain its 1:1 peg with the US dollar. Specifically, we analyze three key components of the system: overcollateralization and liquidation, PegKeeper contracts, and the monetary policy framework that dynamically adjusts borrowing costs.
Throughout the article, we do not avoid discussing technical concepts, smart contract logic, or mathematical formulas that may initially appear complex. However, all models, examples, and calculations are intentionally simplified and explained step by step, with the goal of making the mechanics behind $crvUSD’s stability clear, intuitive, and accessible to readers with varying levels of DeFi experience.




































