Increase LBTC Mint Market Debt Ceiling to 20m crvUSD

Summary

Increase the debt ceiling from 10m to 20m crvUSD in the LBTC crvUSD mint market.

Abstract

This vote will increase the debt ceiling of the LBTC mint market 2x, allowing borrowers to mint additional crvUSD from LBTC collateral.

Motivation

The LBTC mint market is a relatively recent addition to crvUSD mint markets and has been deployed with a low debt ceiling compared to other mint markets (by comparison, the tBTC market has a 50m debt ceiling). This is justified, given the properties of LBTC (it is a liquid staking BTC that introduces additional risk compared to other tokenized BTCs) and its shorter market history.

crvUSD mint rates involve a utilization component to assign the borrow rate, and it has been observed that growing mint demand is beginning to impact borrow rates for this market. We suggest to increase the debt ceiling to a level that allows additional debt to open in this market without disrupting its borrow rate. We give a justification for the increase with a quantitative analysis of LBTC suggesting market liquidity can support additional debt.

Note that the following quantitative analysis suggests that the LBTC debt ceiling can support substantially higher debt. However, when view from the perspective of asset maturity, is it advisable to take a gradual approach to debt ceiling expansion and observe evolving borrower behaviors/liquidity trends over time.

LBTC Mint Market Debt Ceiling Analysis

Methodology

The analysis logs used to explain the methodology can be found in the following Analysis Log section.

  1. Step 1: Loading Value-at-Risk (VaR) Drop
  • Our system for assessing asset volatility identified that a standard bad day (VaR99) for LBTC might mean a 7.13% price drop. For this analysis, it’s made even more severe by applying a 1.25x “intensity,” resulting in a simulated price shock of an 8.92% drop.
  • This -8.92% is now the scenario for this risk assessment.
  1. Step 2: Instantiating Curve Market and Asset Object
  • This confirms the system has locked onto the correct Curve market for LBTC and the LBTC token. The “Addr” values are their unique identifiers on the blockchain.
  1. Step 3: Loading Timestamp-Specific Aave Data
  • This step loads a snapshot of Aave’s market conditions: which assets it supports and the details of user loans and collateral at that moment. This is important because an LBTC price drop could also affect Aave.
  • The system loaded data on 44 assets Aave supports and details for 55,884 user positions. This provides context on the broader Aave environment.
  1. Step 4: Calculating Exposure Liquidation Bonus
  • An LB is the bonus that liquidator gets for liquidating. In this step, this bonus is identified for all the participating protocols or markets.
  • For Curve, this is related to a “liquidation discount” (collateral is sold cheaper to encourage liquidation).
  • For Aave, a similar concept (“liquidation bonus”) applies.
  • Curve’s LT of 1.035 implies about a 3.5% upside in collateral compared to the debt liquidated. Aave’s is 1.085, an 8.5% upside.
  1. Step 5: Calculating Liquidatable Collateral Quantities
  • This is a key step. Using the 8.92% price drop (from Step 1), the system estimates how much LBTC collateral would be liquidatable (i.e. asset released in the market) from Curve and Aave.
  • Curve Liquidations: It checks LBTC loans on Curve. “Efficiency: 0.75” means it assumes Curve’s “soft liquidations” are 75% effective.
  • Aave Liquidations: It checks Aave positions using LBTC as collateral (excluding special “E-mode” positions and very small debts).
  • [Curve Liq] Shocked Price, i.e. LBTC’s price after the simulated 8.92% crash: 93882.9800. About 0.52 LBTC is predicted to be liquidated on Curve.
  • The 8.92% drop didn’t trigger Aave liquidations for LBTC. The system then tried a more severe shock (8.92% * 2 = 17.84% drop). Even this much larger drop didn’t cause Aave liquidations for LBTC.
  • The total expected liquidation is 0.52 LBTC from Curve and 0 LBTC from Aave.
  1. Step 6: Generating Liquidity Hashmap
  • The system identifies where the liquidated LBTC could actually be sold (i.e., which trading pairs exist, like LBTC-USDT, LBTC-DAI).
  • Five trading pairs are identified where LBTC is the asset being sold and WETH, USDC, USDT, DAI, crvUSD are the assets being bought.
  1. Step 7: Calculating Scale for Curve Market
  • The goal here is to find the liquidity_ceiling a.k.a scale * liquidatable_debt_curve: the maximum amount of LBTC the market can absorb before its price drops too sharply. The allowable_price_impact is derived from the LTs (Step 4).
  • A weighted LT is calculated using liquidatable collaterals on each venue or markets as weights and liquidation bonuses as a metric to computed weighted average. Since all expected liquidations (0.52 LBTC) are on Curve, Curve’s LT of 1.035 is used. This means the system looks at how much LBTC can be sold before its price slips by about 3.5%.
  • It then checks each trading pair (from Step 6) to find the maximum sustainable trade size that meets this 3.5% price impact limit.
  • This total sustainable trade size is then fragmented (split) based on where liquidations are expected. Since Aave has 0, 100% is attributed to Curve.
  • The Curve Scale is then: (Market's capacity to absorb LBTC sales for Curve) / (Expected LBTC liquidation on Curve).
  • The LBTC-USDT pair can absorb ~69.27 LBTC before the price drops more than 3.5%. This is the highest capacity found.
  • All ~69.27 LBTC of this market absorption capacity is attributed to handling Curve’s potential liquidations.
  • Of the 69.27 (market capacity for Curve) / 0.52 (expected Curve liquidations), the scale of safe allowable debt compared to current debt is ≈ 133.6x.

Interpretation

  • High Curve Scale (133.6): This means the market’s ability to absorb LBTC sales (specifically, up to 69.27 LBTC before a 3.5% price drop) is 133.6 times greater than the actual amount of LBTC expected to be liquidated on Curve (which is only 0.52 LBTC).
  • Aave Shows No Liquidations: Even with a doubled intensity shock (a very significant price drop), no LBTC positions on Aave became liquidatable. This suggests Aave users employing LBTC have strong collateralization and/or primarily utilize LBTC in like-kind leverage loop use cases where liquidation cannot occur.
  • Allocation of Liquidity: Because Aave had no expected liquidations, the system attributes all the identified market absorption capacity (the ~69 LBTC) to Curve.
  • Snapshot Assumption: While the scale produced in this analysis suggests the LBTC debt ceiling can be increased substantially, it uses a snapshot of liquidity and borrower conditions. Trends should be monitored over an extended period to observe both of these dynamics.

The market state at the time of analysis is as follows:

"address": "0x8aca5A776a878Ea1F8967e70a23b8563008f58Ef",
"factory_address": "0xC9332fdCB1C491Dcc683bAe86Fe3cb70360738BC",
"llamma": "0x9a2e6bb3114B1EEB5492D97188A3ECB09E39fac8",
"rate": 0.03214516712501014,
"total_debt": 5687343.722774753,
"total_debt_usd": 5686253.249855558,
"n_loans": 12,
"amm_a": 75,
"debt_ceiling": 10000000.313636843,
"borrowable": 4314292.045055067,
"pending_fees": 1635.454192978271,
"collected_fees": 3245.55635775214,
"collateral_amount": 82.40984597,
"collateral_amount_usd": 8709496.438655637,
"stablecoin_amount": 0,
"stablecoin_amount_usd": 0,
"collateral_token": {
    "symbol": "LBTC",
    "address": "0x8236a87084f8B84306f72007F36F2618A5634494"
    },
"stablecoin_token": {
    "symbol": "crvUSD",
    "address": "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E"
    }

Conclusion

With a scale of ~133x, assuming a price shock of -8.92% (which is 1.5x VaR99 -7.13% price drop) and 75% soft liquidation efficiency:

  • if the hypothetical debt were to be 133 times the current_total_debt, then the liquidatable_collateral will exactly be equal to the liquidity_capacity assuming the overcollateralization patterns (mean and standard deviation) remains the same.
  • if the hypothetical debt were to be 133 times the current_debt_ceiling, then the liquidatable_collateral will exactly be equal to the liquidity_capacity assuming the overcollateralization patterns (mean and standard deviation) remains the same and the market utilization remains the same.

It is always advisable to have a buffer or increase the ceiling only when necessary (high utilizations) and only by a fraction / multiple of the current debt.

Some of the factors that needs to be considered before deriving/determining this factor/multiple:

  • User positions from all the destinations including Curve subjected market can change and vary based on market condition.
  • If the market is bullish and the prices are appreciating, the user positions that were made earlier would get safe (the level of overcollateralization would rise) due to price appreciation. This can also cause the system to not produce any liquidations through out different debt markets/protocols.
  • The liquidity of the collateral asset can also vary. In ranging market, users usually shift their liquidity to lending and borrowing markets to take advantage of price appretiation while earning yield rather than tanking impermanent loss in the liquidity pools. This is true for bullish markets.

Therefore, we recommend scaling the debt ceiling to 2x the current ceiling as the maximum advisable increase at this time and monitor market dynamics for any further ceiling increase.

Analysis Log:

2025-05-17 12:30:19,744 - INFO - --- Starting Initialization: CurveMarketAnalysis for LBTC ---
2025-05-17 12:30:19,744 - INFO - --- Step 1: Loading VaR Drop ---
2025-05-17 12:30:19,745 - INFO - Found VaR99 drop for LBTC: -0.0713, Applied Intensity (1.25x) -> -0.0892
2025-05-17 12:30:19,745 - INFO - Step 1 Complete. VaR99 Drop assigned: -0.08917797734826981
2025-05-17 12:30:19,745 - INFO - --- Step 2: Instantiating Curve Market and Asset Object ---
2025-05-17 12:30:19,934 - INFO - Found market data for LBTC
2025-05-17 12:30:21,989 - INFO - Successfully instantiated CurveMarketDTO (0x8aca5A776a878Ea1F8967e70a23b8563008f58Ef) and Asset TokenDTO (0x8236a87084f8B84306f72007F36F2618A5634494)
2025-05-17 12:30:21,990 - INFO - Step 2 Complete. Market Addr: 0x8aca5A776a878Ea1F8967e70a23b8563008f58Ef, Asset Addr: 0x8236a87084f8B84306f72007F36F2618A5634494
2025-05-17 12:30:21,990 - INFO - --- Step 3: Loading Timestamp-Specific Aave Data ---
2025-05-17 12:30:21,993 - INFO - Successfully loaded CSV 'aave_supported_asset_data.csv' ((44, 30))
2025-05-17 12:30:22,184 - INFO - Successfully loaded CSV 'aave_user_position_data.csv' ((55884, 89))
2025-05-17 12:30:22,185 - INFO - Step 3 Complete. Aave Supported Assets Shape: (44, 30), User Positions Shape: (55884, 89)
2025-05-17 12:30:22,185 - INFO - --- Step 4: Calculating Exposure LTs (Curve Discount + 1, Aave Bonus) ---
2025-05-17 12:30:22,676 - INFO - Step 4 Complete. Exposure LT/LB (Curve, Aave): [1.035, 1.085]
2025-05-17 12:30:22,677 - INFO - --- Step 5: Calculating Liquidatable Collateral Quantities ---
2025-05-17 12:30:22,677 - INFO - + Calculating Curve Liquidations (Efficiency: 0.75) +
2025-05-17 12:30:22,678 - INFO - [Curve Liq] Shocked Price: 93882.9800
2025-05-17 12:30:32,394 - INFO - + Curve Liquidation Calculation Complete. Result: {'LBTC': 0.5184737316569276} +
2025-05-17 12:30:32,395 - INFO - Curve Liquidatable Collateral Result: {'LBTC': 0.5184737316569276}
2025-05-17 12:30:32,395 - INFO - + Calculating Aave Liquidatable Collateral (Min Debt: 1000.0) +
2025-05-17 12:30:32,436 - INFO - [Aave Liq] Filtered 55884 positions to 54043 non-E-mode positions.
2025-05-17 12:30:32,461 - WARNING - [Aave Liq] Initial run (Intensity 1.00) yielded no liquidations. Retrying with doubled intensity.
2025-05-17 12:30:32,522 - INFO - [Aave Liq] Second run (Intensity 2.0) also yielded no liquidations.
2025-05-17 12:30:32,523 - INFO - + Aave Liquidatable Collateral Calculation Complete. Final Result: 0.0000 +
2025-05-17 12:30:32,523 - INFO - Aave Liquidatable Collateral Result: 0.0
2025-05-17 12:30:32,524 - INFO - Step 5 Complete. Assigned Exposure Quantities: [0.5184737316569276, 0.0]
2025-05-17 12:30:32,524 - INFO - --- Step 6: Generating Liquidity Hashmap ---
2025-05-17 12:34:29,401 - INFO - [Helper] Generated specific liquidity hashmap with 5 valid pairs.
2025-05-17 12:34:29,402 - INFO - Step 6 Complete. Generated Liquidity Hashmap with 5 pairs. Keys: ['LBTC-USDC', 'LBTC-USDT', 'LBTC-DAI', 'LBTC-WETH', 'LBTC-crvUSD']
2025-05-17 12:34:29,403 - INFO - --- Initialization Complete: CurveMarketAnalysis for LBTC ---
2025-05-17 12:34:29,403 - INFO - --- Step 7: Calculating Ceiling for Curve ---
2025-05-17 12:34:29,404 - INFO - --- Calculating Liquidity Limit and Fragmentation ---
2025-05-17 12:34:29,406 - INFO - Calculating target weighted LT/LB...
2025-05-17 12:34:29,407 - INFO - Target Weighted LT/LB: 1.0350
2025-05-17 12:34:29,408 - INFO - Allowable Price Impact: 3.50%
2025-05-17 12:34:29,409 - INFO - Checking pairs selling 'LBTC' for max trade size at 3.50% impact...
2025-05-17 12:34:29,409 - INFO - Maximum sustainable trade size (x) found: 69.2681 (from pair LBTC-USDT)
2025-05-17 12:34:29,410 - INFO - Fragmenting total liquidity: 69.27
2025-05-17 12:34:29,410 - INFO - Fragmented Liquidity: [69.2680881296527, 0.0]
2025-05-17 12:34:29,411 - INFO - --- Liquidity Limit Calculation Complete ---
2025-05-17 12:34:29,411 - INFO - Total liquidity limit: 69.2680881296527
2025-05-17 12:34:29,411 - INFO - Curve Scale: 133.59999533300788
2025-05-17 12:34:29,412 - INFO - Step 7 Complete.

LBTC Price Impact

Charts provided for additional reference


Specification

CONTROLLER_FACTORY = "0xC9332fdCB1C491Dcc683bAe86Fe3cb70360738BC"

ACTIONS = [
    (CONTROLLER_FACTORY, "set_debt_ceiling", "0x8aca5A776a878Ea1F8967e70a23b8563008f58Ef", 20000000 * 10**18)
]
1 Like

This vote is live here:

1 Like

We have integrated our Debt Ceiling Methodology V2 for all crvUSD mint markets to our Curve Risk Portal. There you can track our recommendations over time.

Our methodology incorporates market liquidity, borrower behaviors, global leverage, and unique features of the LLAMMA liquidation mechanism as described in the OP post here. These recommendations are being updated weekly right now with plans to increase update frequency.

See here the LBTC debt ceiling recommendation against the current market ceiling and outstanding debt: