CRV-long LlamaLend market recovery

Summary

As you probably know, CRV-long LlamaLend market has acquired a bad debt on October 10, 2025. As a result, vault assets there are around $700k underbacked.

Based on the internal mechanics of LlamaLend, I propose a free-market based method of recovery with option-like payoff, working as an investment for everyone who wants to participate in the effort (Curve DAO is invited but not required), by simply opening a possibility to exchange vault tokens via a special pool with crvUSD and Vault LP token.

The method is fully permissionless and does not require any behind-the-scene handshake agreements.

If successful, I propose to use it for similar cases on Curve if they ever happen, and also for other protocols (however only Curve’s liquidation protection sets up a favourble payoff mechanism).

Current situation

Stablecoin crvUSD has mint markets where crvUSD itself is exposed to the state of the markets, and lend markets where crvUSD is not exposed to them by itself, but third-party depositors are. CRV-long market is a lend market. During events of October 10, 2025, the providers of borrowable liquidity in this market were exposed to losses during liquidation protection, so they got a bad debt and cannot withdraw their positions which are, in principle, currently around 70% backed, amounting for around $700k loss.

Positions of all affected users already represented as a tokenized vault.

If CRV price grows up - positions with bad debt will deliquidate (convert crvUSD in collateral to CRV) and eventually be hard-liquidated cleaning the possibility to withdraw for affected depositors. If, however, CRV goes down - collateral is already converted to crvUSD, so the vault deposits will not be less backed.

Solution and analysis

In LlamaLend, collateral above the current price is already converted to crvUSD, and below the current price is in CRV. The bad debt of the market is sitting in positions corresponding to the already-converted collateral:

If CRV price will go down - the lower distribution gets converted to crvUSD and/or experience hard liquidations. If it goes up - the zone marked with red will convert crvUSD to CRV, and that CRV starts backing the debts.

I analyzed the backing of the vault tokens looking at both fair price (dashed green line) and the price immediately accessible by liquidators (establishing a price floor for the vault token) (solid black line). Density of yellow color corresponds to the fraction of bad debt which is economically feasible to liquidate via arbitrage if vault token was bought at prices below the fair price at value which is on the vertical axis.

One can see that the vault assets has an interesting option-like property: its fair price and price floor go up if CRV price goes up, and does not go down if CRV price goes down. Bad debt in traditional lending does not have this nice property: it’d instead either stay horizontal (if was liquidated at a loss) or go to zero with the asset (if it was not ever liquidated at all).

This implies that actually the vault token with bad debt is an already investable asset depending on which price it was bought at. To realize that, I established a Curve stableswap pool with very low A=2 and concentrated liquidity centered around 71% solvency (rather than a typical vault token value) with a relatively high exchange fee of 1%. Part of admin fee for the exchanges is already in Vault token, and this should go to Curve DAO treasury unconverted, equivalent to Curve DAO using swap fees to buy off the bad debt from the market (no permission needed).

Apart from buying and selling the LP token, liquidity providers can put liquidity in the pool. They would be able to earn exchange fees and some CRV emissions if Curve governance votes for those. The base price of LP (without CRV emissions and exchange fees) is shown below for reference of LPs depending on the vault LP price in the pool (plotting script is here):

Since the vault token price flattens out depending on CRV price - the LP token price of the pool also has a bottom limit.

Payoff function not counting earned fees and incentives for Stableswap pool LPs look as following:

There are still adjustments to this mechanics not discussed in details:

  • If short-term market movements allow liquidators to clean some bad debt before CRV price of $0.957 - the curves change;
  • There are losses of deliquidation process in the range of CRV prices from $0.47 up to $0.84 - they also change curves depending on volatility in that range;
  • Real prices would be higher than the floor if long-term buyers of the vault token exist.

These adjustments aren’t expected to change the analysis significantly.

Recipe for arbitrage traders / liquidators

If the price in the pool dipped low enough, the algorithm of liquidating in one transaction is the following:

  • Flash-borrow crvUSD in Curve’s FlashLender;
  • With a part of these - buy the vault token in Curve pool;
  • With another part of these crvUSD - perform a partial liquidation of on of users_to_liquidate using liquidate_extended method in the Controller;
  • Amount of crvUSD which the purchased vault tokens is redeemable to will be less than the amount spent on the partial liquidation because you will have part of collateral converted already to crvUSD (and you receive another part in CRV if any) (but verify this yourself!);
  • Now redeem all the vault tokens you purchased to crvUSD;
  • If you purchased cheap enough the combined value of crvUSD and CRV which will be left in your wallet will be higher than what needs to be returned to the FlashLender. That is your profit.

Requests for Curve DAO

  • Vote to approve gauge for the pool used to exchange the vault token;
  • Do not convert admin fees obtained in a form of the LlamaLend vault token from this pool. Keep it as an investment of the DAO in treasury, speeding the recovery for users at the same time;
  • When the earnings permit - consider buying this vault token from the free market.

Conclusion

I proposed a recovery mechanism of bad debt which is not a donation but an investment vehicle for everyone who participates. All the necessary tools are already set up. If this proves to be a successful pilot study - apply it in similar diffucult situations for either Curve, or other protocols.

9 Likes

The reality is that no one will buy the affected positions, because they generate no yield.

2 Likes

@mo957qx8

The reality is that no one will buy the affected positions, because they generate no yield.

There is yield, however it depends on the on the underlying collateral, e.g. CRV in this case.

An affected user in this case has essentially 3 options:

  1. do nothing and hope CRV goes back above $1.24 and the bad debt is cleared by itself, getting their full position back.
  2. sell their underlying supplied crvUSD at the current discount ($0.71 for every 1 crvUSD) by doing the flash loan/liquidator trick, or in the new CRV LlamaLend Recovery pool if the value is greater
  3. become a liquidity provider in the new CRV LlamaLend Recovery pool and earn fees until/if the CRV price recovers above $1.24

The DAO and other participants have a choice to buy positions from the pool because you can earn 40% yield ($0.29 for every $0.71 invested) if the CRV price goes above $1.24, but you can always manually reclaim $0.71 manually, it’s a perpetual option with limited downside. So position values should probably go above $0.71 fairly quickly.

It’s an elegant design, however I guess it all relies on trapped users being willing to sell their supplied crvUSD at a loss?

Sounds like an interesting idea, but I think I miss something: I was too lazy to do it myself, so I asked Claude what would be the price of a 1Y bull call spread on CRV with strikes 0.70 and 0.95. It told me $0.009. If this price is correct, then that means that:
1/ if I want to buy the vault token and sell the call spread to get yield, I would make 1.26% APR
2/ in other words, I can reproduce the position by just buying a call spread, which would cost me $0.009, instead of mobilising any capital, which is a better option if my cost of capital is more than 1.26% (current cost of capital is quite higher in defi those days).

For this to work, you need sophisticated actors to play the game, and they won’t if it is not profitable, so you might just subsidise the LP massively with CRV to entertain the illusion of use by people, but nobody will actually buy the vault token…

2 Likes

Well keep in mind that price of it can go lower than the “fair price”, so you could get with a discount.

Besides, you may want to buy Curve stableswap pool LP (which has a different payout function) instead of the vault LP - likely that’s a better way.

Curve LP is basically between 1.01 (min) (at current CRV prices and below) and 1.163 (max) (around CRV ~ $1)

1 Like

Ok, but my understanding of what you wrote was that there was a price floor around 0.71 that is were liquidators can arbitrate, did I misunderstand?

“price of it can go lower than the “fair price””
means
lender lose more money

Price of Vault token yes. In my response to you I meant price of Stableswap LP

Posting on behalf of affected lenders in the CRV-long market. Three questions, with the liquidity one as the most pressing.

1. Pathway from current pool depth to a depth that’s actually exit-capable

For a lender holding cvcrvUSD today, the pool is the only on-chain exit other than waiting on CRV price recovery. On-chain state as of 2026-04-27:

  • Pool total depth ≈ $198 (≈110 crvUSD + ≈88 cvcrvUSD-equivalent)
  • 2 LP holders — 76% concentrated in one wallet associated with the pool deployment, the other 24% in a single tester
  • ~8 swaps lifetime
  • Vote #1400 is what registers the gauge 0xF429AeC1…CBA3 in the GaugeController; it goes in at weight=0, so no CRV emissions to attract LPs even after the vote passes
  • Aggregate underbacking per the OP ≈ $700K across 38 underwater positions (22 non-dust per the chart)

That’s roughly a 3500× gap between the current depth and the size of the problem this pool is meant to absorb. Hubert’s Apr-26 reply made the LP economics explicit (1Y CRV 0.70/0.95 call spread ≈ $0.009 → ~1.26% APR floor before fees), and saintrat noted the mechanism relies on “trapped users willing to sell at a loss”. From a lender’s standpoint the practical questions are:

  • What’s the design’s expectation of how the depth gap closes — sponsor commitment, DAO-funded seed, organic discovery, or a follow-on weight-vote that lets vlCVX / Convex incentives draw LPs?
  • The OP also mentions keeping admin fees from this pool in cvcrvUSD form rather than auto-converting — effectively the DAO buying back lenders’ bad debt out of swap revenue. Is this intended as a separate Curve DAO proposal (parameter change to FeeCollector / RewardsHandler), or does the existing fee infrastructure already accommodate it passively? At what timeline would lenders see retained-fee flow start to materially affect recovery?
  • Without one of those mechanisms activating, what’s the realistic time-to-depth assumed by the design, and what fills the counterparty role in the meantime?

2. Relationship to LlamaRisk’s announced Step 4

LlamaRisk’s post #1 in the next-steps thread (Apr 17) committed to a “Step 4 — repayment plan” for affected lenders. How does this pool exit mechanism interact with that work — substitute, parallel track, or first stage of a coordinated sequence? The two paths read as economically distinct (secondary-market exit at deep discount vs. structured repayment), and lenders would benefit from clarity on which one is the operating plan.

3. Bridge for affected lenders during pool ramp-up

For positions that today read maxWithdraw=0, what is the proposed intermediate step for the period the pool is still building counterparty depth? From a lender’s standpoint hold-and-wait is the implicit fallback — is that the assumption, or is something else expected to fill the gap?

Happy to be pointed elsewhere if any of these are addressed in other posts.

2 Likes

The way im reading this is its a permissionless, onchain, way for lenders to take a haircut for liquid state. and investors to buy that time

From the situation in the past few days, without DAO’s involvement, this proposal is meaningless

What situation do you mean and who represents DAO here?

Dear Mich I’ll give you my 2 cents as a long-standing investor and lender in your platform:

  1. October 25 - bed debt triggers due to so called “soft” liquidation
  2. Oct 25 to Apr 26 - investors lend money into this vault, without knowing of the bad debt accumulated
  3. a big (insider?) lender withdrawal of 700k straight few days ago
  4. vault got deprecated and no other lender can withdraw at all
  5. borrow rate set at 0% indefinitely
  6. vault solvency at 76,8% , pool created with a floor value of 72%
  7. token now quotes at 67,75% of the value
  8. LLAMA launches discussion to create a V2 pool.. without addressing V1 bad debt or issues that caused it to happen

You have to acknowledge that this failure is not only driven by market dynamics; it is partly due to questionable risk management, poor transparency and lack of proactiveness.

As a lender I take my share of the risk, but all parties involved need take their share of the liabilities: lenders, borrowers, risk manager, DAO.

I am supportive of the solution you envisage i.e. special pool, however at present is heavily unbalanced towards lender effort, which are basically going to take 3 haircuts:

  1. 100% to 76,8% - to bad debt discount
  2. 76,9% to 72% - to fund creation of the pool (?)
  3. 72% to 67,75% - bid ask spread as of today on curve swap

With the only upside being:

  • a passive bet on CRV reaching levels close to 1$ (which is over 400% increase from today’s value)
  • proposal of pool fees reverted to the pool.

In the meantime, pool liquidity has not been addressed, and I don’t see from a technical standpoint how can borrower repay in a deprecated vault - nor how those proceeds can be equally allocated among affected lenders.

My view, to make things fairer for lenders:

  • set base price at 76,8% or above, with funding gap to get to 76,8% of value or above to be funded by LLAMARISK
  • force-close all borrow positions at no penalty, use proceedings to fund the pool
  • pool “bridge financing” provided by CRV DAO if necessary

Anything below this, equals to further degrading lenders’ positions. Thank you in advance for your response.

4 Likes

man, i didnt know it was in this situation. “Oct 25 to Apr 26 - investors lend money into this vault, without knowing of the bad debt accumulated”

2 Likes

Lender should bear some loses, not all.
soft liquidation should bear the remaining responsibility.
The other side of the coin is “soft liquidation” protected the price of CRV.

1 Like

Curve has compensated its lenders for protocol-level losses before — at least twice.

The first was Vote #521 (executed Dec 21 2023, 88.73% YES of cast veCRV) — 71.77M CRV (~$44.5M at vote-time CRV spot) distributed to LPs affected by the Vyper compiler exploit. Mechanism
was a VestSplitter contract with 365-day vesting and pro-rata claims, code already in the curvefi org and fully reusable. A sibling Vote #593 followed in Feb 2024, adding another 4.6M CRV.

Forum: https://gov.curve.fi/t/proposal-to-recompensate-lps-affected-by-curve-pool-exploit/9825
Sibling: https://gov.curve.fi/t/9877
VestSplitter code: GitHub - curvefi/vest-split: Split VestingEscrow for multiple users · GitHub

The second was the June 2024 crvUSD depeg compensation — 112,637 CRV (~$31K) to affected users. Smaller in scale, but the principle is the same: protocol-level losses don’t fall entirely on the user side.

Forum: Curve Grant compensation for affected users of the June 12th crvUSD de-peg incident

So the question for this thread isn’t whether the DAO has authority to share protocol-level losses with lenders — that’s settled precedent. The question is which structure fits this case.

Three templates that have already worked in DeFi:

  1. The most recent passing template at Curve is Vote #1297 (executed Dec 29 2025) — 99.50% of cast votes, 80.82% of supply. Structured with explicit vesting parameters and
    proportionality framing. Curve.finance

  2. Inverse Finance DOLA Repayment Program — running since September 2022 (~3.5 years), structured around protocol revenue rather than a one-time grant. Mills #305 (July 2025) eliminated
    $2.6M via an INV strategic-mint swap; Mills #345 (February 2026) removed the minimum-repay floor. Funding mix: DBR yield + INV swaps + veNFT-collateralized loans. No new token mint, no
    holder dilution. Inverse Finance - Proposal DetailsInverse Finance - Proposal Details

  3. YIP-86, Yearn → Resupply Loan — passed July 2025. $1.13M crvUSD principal at 6% APR, with 100% of Yearn + Convex permastaker revenue (~$31.5K/week = 34.6% of Resupply protocol
    revenue) committed to repayment until the loan is closed. 4-month off-track trip-wire. Loan disbursed and currently servicing.
    YIP-86: Resupply Bad Debt Repayment Loan - Finance - yearn

The point of listing these isn’t to prescribe a specific outcome — it’s that the lender-bears-100% framing skips a class of solutions adjacent DAOs (and Curve itself) have run successfully.

There’s also a separate dimension here — independent of the liquidation-mechanism debate.

The bad-debt accumulation timeline (October 2025 → April 2026) ran for six months without a front-end disclosure on the deposit page. New lenders deposited capital during that window
into a vault with structural impairment already on the books. Lenders accept liquidation-gap risk as part of the lending model — that’s understood and priced in. What’s harder to defend
is silent six-month accumulation of impairment without surfacing it where new capital could see it.

Scale check: full-protocol Curve DAO revenue runs around $8.6M/yr (DefiLlama 6-month trailing — https://defillama.com/protocol/curve-finance). A revenue-linked program at the YIP-86
cadence sits comfortably inside the precedent envelope. The Treasury accumulator at 0x6508eF65b0Bd57eaBD0f1D52685A70433B2d290B (owned by the Ownership Agent) supports the same Agent.execute(retrieveTokenExact(…)) primitive that already ran in Vote #1381 — no new infrastructure required.

Happy to share calldata templates and live Treasury balance reads if useful for whoever wants to draft the technical side.

4 Likes

We think this is a novel and constructive recovery mechanism, and we are broadly supportive of trying it as an experiment. Our main request would be to make the required economic assumptions and possible edge cases explicit, because the mechanism depends on several actors coordinating correctly.

1. Summary of the Idea

The proposal turns the impaired CRV-long LlamaLend vault shares into a tradable recovery claim.

The technical structure can be summarized as follows:

In this structure, the impaired vault holds the affected lender claims, the LLAMMA controller manages the open borrower positions, and the proposed recovery pool creates a secondary market for the vault token. Affected lenders can sell their impaired vault shares into the recovery pool, liquidity providers can support trading depth, and speculators can buy the claim if they believe the market price is below the expected recovery value. It is very likely that there will be an overlap in roles (i.e., LP may be affected, Lenders).

The most important intended flow is the arbitrageur / liquidator loop. If vault shares trade at a sufficient discount, an arbitrageur can buy discounted shares, use crvUSD to repay or liquidate impaired positions through the controller, improve vault backing, and then redeem vault shares against the improved vault state. In the productive case, this turns external capital and liquidation incentives into actual bad-debt reduction.

The attractive feature is that the vault token has state-dependent recovery value. If CRV recovers, some open positions may become more economically recoverable or liquidatable, increasing effective vault backing. If CRV falls further, much of the impaired collateral has already been converted into crvUSD, so downside may be more limited than in a standard collateral-driven bad-debt case.

2. Concerns

2.1. Asymmetric Information of Borrowers

One concern is the interaction between discounted vault shares and open borrower positions. Borrowers hold information asymmetry in this market.

If vault shares trade at a discount, an open borrower may be able to:

  1. buy discounted vault shares;
  2. repay or partially repay their position, injecting crvUSD liquidity into the vault/controller;
  3. redeem vault shares against that newly available liquidity;
  4. capture the spread between the discounted purchase price and realized redemption value.

This is not guaranteed profit. It depends on redemption mechanics, available liquidity, execution ordering, fees, slippage, MEV, and CRV price path. It is also not limited to currently healthy borrowers. As CRV recovers, previously unhealthy or partially recoverable borrowers may become able to repay, especially if vault shares remain sufficiently discounted.

The net effect is that vault bad debt is reduced, yet it creates a dynamic that is favouring the borrower, and market participants should be aware of this.

2.2. Ecosystem Participation

The second concern is whether the required participants will actually show up.

This mechanism needs several actor types:

  • affected lenders willing to sell at a discount;
  • speculators willing to buy vault-token upside;
  • LPs willing to provide liquidity;
  • arbitrageurs able to execute the liquidation/redemption loop for potentially non-recreated experiment;

The proposal relies on sophisticated actors recognizing and executing the option-like payoff. That may happen, but it should not be assumed. For that reason, we would support a clearly time-bounded pilot with monitoring rather than an open-ended incentive commitment.

3. Suggested safeguards

We would suggest:

  • monitoring discounted vault-share purchases followed by borrower repayment and redemption;
  • publishing a dashboard or frontend with pool price, estimated backing, liquidation floor, bad debt cleared, and pool depth to support information discovery and participation;
  • making any gauge support conditional on actual recovery progress.

Conclusion

We support the proposal as a market-based recovery experiment. It is preferable to leave the market stuck, which may reduce bad debt. Any DAO repayment should be understood as discretionary, not obligatory. v1 market creation was permissionless: anyone could deploy a market, and bad debt does not automatically imply DAO responsibility. We therefore view this as a pragmatic recovery mechanism that may apply to future bad-debt situations, but not as a precedent for unconditional DAO backstops.

Thanks @LlamaRisk for taking the time on this. The actor diagram and the asymmetric-information concern are useful additions, and the safeguards make sense.

A couple of points from a lenders’ standpoint, where the proposal as it stands still leaves the hardest question unanswered.

On the framing in the conclusion

“Permissionless deployment, therefore not a DAO matter” reads cleaner than it actually is for this market. CRV-long had a live gauge in the GaugeController and was receiving CRV emissions through DAO weight-votes for a long stretch — that is endorsement, not silence. The wind-down itself was direct DAO action through Vote #1391 (https://prices.curve.finance/v1/dao/proposals/details/ownership/1391). The DAO has a precedent for treating endorsement-via-gauge as inside the responsibility line — Vyper #521 dealt with permissionlessly-deployed pools and the DAO still acted (https://gov.curve.fi/t/proposal-to-recompensate-lps-affected-by-curve-pool-exploit/9825).

The point isn’t to relitigate that classification. It’s that “permissionless” by itself isn’t doing the work the conclusion is asking it to do.

On the part the current proposal doesn’t solve

The mechanism is elegant in shape, but it depends on counterparty depth showing up. Today the pool is essentially empty. Without depth, “exit at the floor” exists on paper but not in practice — and the borrower-arbitrage concern you raised becomes moot in the same way, because nothing can actually be arbitraged at this size.

The follow-up question is what closes that gap, and it is the question affected lenders care about most.

One option that fits the “discretionary, not obligatory” framing cleanly: the DAO itself provides liquidity to the recovery pool. Not as a backstop, not as a grant. As an LP. Sized flexibly, scaled in stages, conditional on observed recovery progress, parked alongside the admin-fee accrual the OP already proposes. The Treasury and execution primitives for this are already in place — Vote #1381 used the same calldata pattern earlier this month.

This is the structural answer the design needs, and it doesn’t ask the DAO to take on a permanent obligation. It is treasury allocation against an investment with a defined payoff envelope, and it can be wound down at any time.

Why this matters for the thread

The risk of leaving the depth question implicit is that lender exits become contingent on counterparties that may simply not arrive. From a lenders’ perspective the worst outcome is not a discount — it’s a recovery mechanism that exists in design but never reaches working scale, and the bad debt becomes a quiet permanent line item.

Happy to help draft the technical side of a DAO-LP proposal — sizing model, calldata, gauge weight ask — if there is interest in moving that direction.

3 Likes

We did decide to show this information now. Beforehand it was on third-party websites like curvemonitor, but we realized that many people are still unaware. So it should indeed be more transparent, cannot expect users to be as sofisiticated as in 2020 anymore.

Thank you @LlamaRisk for the additional information on the proposed recovery plan.

The issue I see, is that the proposal not only turns impaired CRV-long LlamaLend vault shares into a tradable recovery claim, it also turns unimpaired ones into potentially illiquid recovery claims.

At present, solvency is deemed to be at 76.8%, a fair solution could then be:

  • reinstate vault normal operations for 76.8% vault tokens and corresponding healthy borrow positions
  • Turn only the remaining 23.2% impaired vault tokens in the tradable token you propose, perhaps with a value of 0.001$ at inception and with upside linked to crv price increase and fees earned.

Whilst this may not be technically feasible, to ensure no further detriment to lenders, two points need thorough assessment to turn your proposal into a minimum workable solution:

  • Liquidity - pool is “centrally” created, not demand- or supply- driven. So it needs DAO to provide LPs to kickstart

  • Borrow - clear plan to close open borrow positions (timing, execution) then use proceedings to buy back LPs provided by DAO

1 Like