Proposal to Recompensate Borrowers Liquidated in the sDOLA-long2 LlamaLend Market

Summary:

Propose that the Curve DAO fully compensate the 27 borrowers who were hard-liquidated in the sDOLA-long2 LlamaLend market on March 2, 2026 due to an oracle manipulation exploit.

Total borrower equity losses: ~822,475 crvUSD. Funding from the DAO treasury / Community Fund. This follows clear precedents (WFRAX bad debt compensation, Vyper LP recompense, DNS hijack users) and builds long-term trust in LlamaLend and crvUSD.

Abstract:

On March 2, 2026 an attacker used a flash-loan + massive exchange + permissionless DolaSavings donation attack to manipulate the sDOLA oracle price by +13.79% in a single block. This triggered improper hard liquidations of all 27 active borrower positions (total debt ~10.91M crvUSD, collateral seized ~11.73M crvUSD). Lenders were completely unaffected and the protocol took no bad debt. The root cause was known design limitations in the (now-deprecated) market’s oracle and LLAMMA setup — not borrower mismanagement.

Curve’s official account has publicly stated the $822k loss is “very feasible to compensate […] subject to discussions and a vote.”

  1. The liquidations were caused by a protocol vulnerability (no EMA smoothing on convertToAssets(), permissionless stake() donation, extreme supply concentration in the AMM, and an immutable oracle). Borrowers acted in good faith.
  2. The attacker profited only ~$245k while borrowers lost ~7% of collateral value in aggregate (top 3 positions = ~80% of losses).
  3. Compensating shows the DAO stands behind its products and protects user confidence in the entire LlamaLend ecosystem.
  4. The amount is tiny relative to DAO resources and matches how we have handled similar edge-case events before.

Incident Summary & References
Full technical details: LlamaRisk Post-Mortem
Curve official statement: “The loss for the borrowers ($822k) is very feasible to compensate by Curve DAO if it approves…”

Specification

  1. Compensate 100% of lost equity for each of the 27 affected positions (exact amounts already calculated in the LlamaRisk post-mortem appendix).
  2. Total requested: 822,475 crvUSD (or equivalent value in CRV at time of execution).
  3. Funding source: DAO treasury / Community Fund (precedent: WFRAX, Vyper recompense).
  4. Distribution: Non-custodial claim contract (or direct transfers via ownership action) to the verified list of 27 addresses. LlamaRisk (or a designated community auditor) will publish the final address + amount table for transparency before the Snapshot vote. No vesting required unless the community prefers it (the amount is small enough for immediate distribution).

Implementation

  1. Forum temperature check (this thread).

  2. Snapshot vote (simple Yes/No or multiple options).

  3. If approved → ownership action or emergency DAO multisig deploys claim contract / executes transfers.

  4. Post-execution transparency report with tx hashes.

Poll (to discuss below?)

  • Yes — Full compensation of ~822k crvUSD to affected borrowers

  • Yes — Partial compensation (e.g. 50–75%)

  • No — Do not compensate

For

  • Protocol oracle exploit (not user error)
  • Tiny cost (~822k crvUSD)
  • Matches WFRAX & past precedent
  • Curve officially said “very feasible to compensate” (subject to vote

Against:

  • Creates moral hazard
  • Spends DAO treasury money
  • Borrowers accepted liquidation risk

Poll:

not yet created

4 Likes

I think partial compensation is strange option as we can’t determine exactly why to compensate for specific number. It is typically used in cases where some of the funds were recovered one way or another, but the amount is insufficient to provide full compensation. I consider full compensation to be the more optimal decision

Also there is sDola post-mortem from LlamaRisk: LlamaLend sDOLA-long2 Post-mortem

3 Likes

Thank you Cri.

I fully agree — full compensation is the cleaner and more optimal choice here. Partial compensation would be difficult to justify fairly, since this was a clear protocol-level oracle issue and not partial recovery.

Regarding the low number of affected users (only 27):
While the direct impact is limited, approving full compensation sends a strong positive signal to the entire user base and the broader DeFi community. It shows that Curve stands behind its products when a genuine protocol vulnerability occurs — especially since Curve’s official account already called the ~822k loss “very feasible to compensate”.

This builds long-term trust in LlamaLend and crvUSD, which benefits everyone far more than the small treasury cost.

What do others think?

3 Likes

Fully agree — full compensation is the fairest and most robust solution here, both for user trust and for long‑term confidence in LlamaLend.

3 Likes

Thank you for your commenting and supporting the proposal!

I believe that in the long run, protocols will increasingly be evaluated on how many incidents occured and more importantly, how effectively they handle them. In this context the currently ongoing discussion on a DeFi protocol rating might help this cause (L2beat for DeFi). eg see here: https://x.com/RyanSAdams/status/2040063790562087125?s=20

1 Like

This proposal seems reasonable and full compensation makes the most sense, since the total amount isn’t that big.

Also as you stated, the exploit happened because of a flaw in contract logic, hence compensation by curve seems appropriate.

Let’s get it to a vote.

2 Likes

Thank your for sharing thoughts. I would like to make the point again that protocols will not only be valued by their risks but also by how they and their token holders treat customers who suffered from a incident. Curve is doing pretty good so far in the risk assessments e.g. see here:

So yes, let’s make a vote!

There are three live bad-debt recovery conversations on this forum right now, each with a different shape:

  • This thread (sDOLA-long2) — direct borrower compensation, oracle-exploit precedent, ~822k crvUSD ask, claim-contract distribution. Closest existing precedents: Vyper #521 (vested CRV grant) and the June 2024 crvUSD depeg comp.
  • /t/11062 (CRV-long lender market) — secondary-market pool exit at AMM-determined discount, no direct comp. ~$700K underbacked, pool depth around $1.76K.
  • /t/11021 (WFRAX market) — protocol-coordinated lend or emissions-direction model on Fraxtal, ~$95K, dormant since March.

Three different cohorts (borrowers / lenders / lenders), three different mechanisms, three different orders of magnitude ($95K / $700K / $822K), three different root causes (oracle exploit / liquidation mechanics / insolvent collateral). And each one is being discussed in isolation.

Adjacent DAOs have run multi-case revenue-linked frameworks for this kind of recurring question — Inverse’s DOLA Repayment Program (~3.5 years now) and YIP-86 (Yearn → Resupply, 34.6% of Resupply revenue) are two templates that fit a cluster of cases more cleanly than three separate treasury draws.

Sharing in case the framing helps — not as a counter-proposal to this thread.

Thanks @strky for your comment.

I agree that a broader long-term framework for bad debt would be valuable in the future. However, I believe we should keep these cases separate.

The sDOLA-long2 incident was a clear oracle manipulation exploit that unfairly liquidated borrowers — fundamentally different from the more classic bad-debt / liquidity / collateral issues in the CRV-long and WFRAX proposals. Curve’s official account even stated publicly that the ~822k loss “is very feasible to compensate”.

For these reasons, a targeted, standalone compensation for the 27 affected borrowers feels like the cleaner and fairer path.

Ultimately it’s up to the DAO voters to decide which incidents deserve compensation.

1 Like

Thanks @midinio for the direct response — appreciate the willingness to engage on the framing question.

Three observations on the cases-must-stay-separate position. Each is anchored in your own follow-up thread or in primary on-chain data, not in the merits of either case in isolation.

First — the funding-source picture has shifted in this thread already. Your March 23 OP proposed DAO treasury / Community Fund as the source, citing the WFRAX and Vyper precedents. The follow-up funding-source proposal from @LlamaRisk on /t/11069, in its own Appendix B, documents the Treasury at ~14,278 crvUSD (post Proposal #1381) and the Community Fund at 0 crvUSD — both insufficient. The four-step uncollected-L2-fees workaround in that proposal exists precisely because those simpler paths are closed. Two months in, the empirical question is no longer whether $822K is “very feasible to compensate” in the abstract. It is whether the one viable source the DAO has identified should fund one LlamaLend market and not another.

Second — the consistency standard cuts both ways. @0xSEM has already raised this on /t/11069. The June 2024 sUSDe compensation proposal, Vote #845, was rejected on-chain 83.17% NO (410.2M veCRV nay vs 83.0M yea, quorum 10.23% against a 30% minimum). His framing applies symmetrically: either the 2024 standard holds, or there is a materially-different basis. The @LlamaRisk post-mortem on the present case documents two of the four enabling factors as Curve-shipped — permissionless exchange() on LLAMMA and the absence of EMA smoothing on convertToAssets() reads in the oracle wrapper. That is the same protocol-design class as the soft-liquidation parameters and bad-debt resolution path in the CRV-long market.

Third — and this is the question I would genuinely like the principled answer to. The 27-borrowers framing is technically accurate. Empirically, the top four addresses in your Appendix A account for ~85% of the $822K loss; the long-tail addresses lost amounts measured in single-digit dollars or cents. If the underlying principle of /t/11069 is restitution-by-protocol-fault, would you support the same uncollected-fees source funding (a) sDOLA-long2 in full and (b) pro-rata recovery for affected depositors of the CRV-long LlamaLend market, where the cause class overlaps and the loss is comparable in USD scale?

If not — what principled basis distinguishes them, given that the previous borrower-comp attempt under the same DAO was rejected and the only viable source today is, by construction, shared revenue?

If anything - my opinion on it is that it should be compensated indeed, but when DAO earns a bit more / or over time. It’s not that much in the budget

1 Like

Fully agree. A potential compensation should not harm the DAO or negatively impact the further development of the protocol. That’s absolutely not in my interest either — I’m still a heavy user.

1 Like