[ARC] Repay excess debt in CRV market for Aave V2 ETH

Title: [ARC] Repay excess debt in CRV market for Aave V2 ETH
Status: Proposed
Author: @llamaxyz and Gauntlet
Dated: 2022-11-23

Simple Summary

Decide on a path forward to repay the excess debt in the CRV market (currently ~$1.6M USD, dependent on CRV’s token price).

Llama and Gauntlet propose using Gauntlet’s insolvency refund and Aave’s Treasury to cover the excess debt.


Over this past week, the user 0x57e04786e231af3343562c062e0d058f25dace9e opened a short position on CRV using USDC as collateral. At its peak, the user was shorting ~92M units of CRV (roughly $60M USD at today’s prices). The attempt to short CRV on Aave has been unsuccessful, and the user lost ~$10M USD from the liquidations. The user has been fully liquidated, but despite this, Aave has accrued a much smaller (~$1.6M USD) bad debt position as of today’s CRV price.

This excess debt is isolated only to the CRV market. While this is a small amount relative to the total debt of Aave, and well within the limits of Aave’s Safety Module, it is best practice to recapitalize the system to make whole the CRV market.


As mentioned in Gauntlet’s forum posts, there is VaR (Value at Risk) from market stress events and the CRV asset broadly posed a potential risk. While this realized insolvency event was well within the bounds of projected VaR, it is best practice to recapitalize the protocol. In a later post, Gauntlet will follow up with more market risk analysis on the events that occurred to provide the community with more context that can translate into improved community practices.

Regardless, Gauntlet’s insolvency refund will be honored and triggered. The fund holds ~$280,000 worth of stkAAVE. Gauntlet will follow up with the next steps in the forum regarding logistics but wanted to first signify this commitment.

For the rest of the excess CRV debt to be covered, Llama proposes using the Aave Treasury (reserves). There are two clear options for covering the remaining excess debt. Using either the Safety Module, or the Aave Treasury (v2 Collector Contract). Given the relatively minimal amount of excess debt, we do not believe it would be efficient to use the safety module. Instead, using the Aave Treasury provides a diversity of assets to cover the shortfall, shows the DAOs alignment with users of the Protocol and provides a far lower technical barrier and a quicker solution. This could also be used as an opportunity to clear up the DAOs treasury, which contains a large number of low value long tail assets. The Safety Module should be saved for larger events.We will follow up in the forums with more details regarding logistics (the assets which will be used, etc.), but we wanted first to suggest using the funds in the Collector Contract and not the Safety Module.


  • Use Gauntlet’s insolvency refund and the Aave Collector Contract to cover the excess debt in CRV market.

Next Steps

  • Welcome community feedback on the proposed specification above.
  • If the community signals support, Gauntlet and Llama will follow up with implementation details.

At a later point, the community may want to revisit the risk/reward tradeoffs of allowing users to short certain assets. Because LTVs/LTs are delineated only by collateral asset rather than on the asset being borrowed, meaningful tradeoffs must be made here (if protocol mechanism design changes are not made). For example, reducing the likelihood of insolvency from users shorting assets would mean significantly reducing capital efficiency on blue chip collateral assets like USDC in a way that may make the protocol for use. Functionality that exists on V3 but not on V2 (such as borrow caps) mitigates these risks.

In addition, the community may like to revisit the prioritization towards migrating from V2 to V3.


This is a good gesture - and we are appreciative of @Gauntlet’s commitment to the insolvency refund.

I notice there is additionally USDC in this fund. Did this come from Aave engagements or Compound?


Twitter brought me here.

Seeing that Michael is the biggest depositor of CRV on the Aave V2 protocol (DeBank | Your DeFi wallet). He supplies 86% of all deposited CRV in the pool ($75m).

This bad debt is a cost that Michael can easily absorb if he is unable to withdraw his CRV.

I believe that no bad debts should be repaid as the user impacted is already worth $240m. Why should the Aave community bail out the rich?

The dealer believes this is a no-deal.

Thanks @Llamaxyz and @Gauntlet for putting this forward.

This seems like a reasonable compensation plan and we appreciate Gauntlet using their insolvency fund. In regard to the implementation, which assets do you propose to liquidate from the v2 Collector Contract?


Hello and thx @Llamaxyz for this proposal.

Considering the size of the excess debt, I also agree that mobilizing the Aave DAO treasury is a more straightforward solution. At the current CRV price, the protocol will recover that budget in roughly a bit more than a month.

For the assets mobilized to buy CRV, I would suggest a mix of long-tail assets and stablecoins such as USDC.

Aave has treasury contracts with large funds outside of ETH L1 but the ETH treasury has largely enough to cover excess debt so seems more efficient to concentrate everything on the ETH contract.

for the process of actually buying the CRV, I think a bonding curve with a small market premium of CRV market price to attract MM is the most efficient path. Imho, this premium doesn’t need to be large to work a 50-100 bps (higher for long tail assets, lower for stablecoins) might be considered attractive enough.


Hi, thanks a lot for the proposal @Llamaxyz.

The good thing is that the size of bad debt is addressable.

I believe insolvency fund (used in full) + AAVE DAO treasury (used in partial) should fund the protocol bad debt.

I strongly suggest creating a framework to address such bad debt issues in future.

1 Like

We can deal with this CRV event in this way, but the key is how to formulate a mechanism to prevent similar events from happening again. AAVE currently has many virtual currencies that can be shorted in similar ways. Another 70 similar events will require a compensation of 100 million dollars

1 Like

@DTBAEE the main discussion for this is here :

please let’s keep the discussion in this thread on repaying excess debt.

Thanks to @Llamaxyz for putting the following proposal together.

Is there a timeline for finalizing the approach to paying off the bad debt?

A few thoughts:

  • Great that Gauntlet’s insolvency fund covers some of the bad debts. How would this look in practice? Do Gauntlet send the stkAAVE to the Aave treasury/ecosystem reserve in return for USDC? (a form of OTC) or would Gauntlet unstake the stkAAVE and sell the AAVE on the secondary market for CRV? I would be in favour of the first option to avoid selling AAVE.
  • The treasury makes sense and I look forward to seeing the breakdown of the assets to be used.

@llamaxyz would like to present the following pathway forward for addressing the Bad Debt within the CRV Reserve.


A summary of the key actions:

  • Acquire CRV to repay 100% of Bad Debt, $1,877,777.89
  • Gauntlet to transfer the insolvency fund to the DAO, $308,118.89
  • Consolidate Assets held in v2 Collector Contract, $434,299.61
  • DAO retains existing aCRV & AAVE Holding, $339,328.88, $308,118.89 respectively

Note: Values are subject to change with asset price movements within the market.

The DAO is to purchase the full amount of the bad debt within the CRV Reserve via a Bonding Curve with a 2% premium to the Chainlink Oracle price, CRV/USD.

The quantity to be purchased is equal to the variableDebtCRV position in the below wallet:

Wallet: 0x57e04786e231af3343562c062e0d058f25dace9e
Quantity: 2,651,906.53507042958070438 CRV
USD Value: 1,877,777.89 @ $0.708106/CRV
CRV: 0xD533a949740bb3306d119CC777fa900bA034cd52
CRV/USD Oracle: 0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f

Gauntlet is to redeem the stkAAVE and transfer the AAVE to the Ecosystem Reserve Contract once the funds have been withdrawn from the Safety Module.

Gauntlet Wallet: 0x7667095Caa12b79fCa489ff6E2198Ca01fDAe057
Quantity stkAAVE: 4,923.6
Value stkAAVE: $308,118.89 @ 62.5800
Ecosystem Reserve: 0x25f2226b597e8f9514b3f68f00f494cf4f286491

The following tokens in the v2 Collector Contract are to be Redeemed and exchanged for USDC via a series of Bonding Curves:


To repay the bad debt:

pool.repay(crv, total bad debt, variableInterest, Address)

Total Bad Debt: 2,651,906.53507042958070438
Address: 0x57e04786e231af3343562c062e0d058f25dace9e


Llama believes the CRV position held by the DAO can be considered a strategic asset with the intention of it being converted to veCRV and potentially used to either generate revenues, bootstrap GHO on Curve or direct CRV rewards towards new aToken gauges. At this point in time, we believe the DAO can acquire CRV with USDC, and avoid using the existing CRV holding.

The above proposal enables the DAO to continue to maintain its current CRV position. The DAO is one of the largest Liquidity Providers of CRV on the v2 Ethereum deployment and this liquidity when transferred to v3 will continue to generate revenue as CRV is one of the most sought after governance tokens listed on the protocol.

In addition, @Llamaxyz seeks to Redeem the aTokens shown in the image and then convert these holdings to USDC by deploying a series of bonding curves. The amount of tokens, price, value of each holding and the premium to the Chainlink Oracle applied on the Bonding Curve is shown above. This is intended to consolidate the assets held within the v2 Collector Contract and also partially offset the USDC outflows.


This seems like three separate proposals in one:

  1. use Gauntlet’s insolvency refund

  2. acquire 2,651,906 CRV at a market value of $1,877,777

  3. redeem the v2 Collector Contract for a total value of $434,299

Now that these are more explicit - I’d like to drill into #2:

We are supportive of using the insolvency refund and think that is a no-brainer. For the Curve acquisition, it seems a bit soon and aggressive to acquire more than needed.

To encourage full transparency, we believe this decision to acquire a surplus of CRV would be best lived in a separate discussion.

It feels like a better, more simple course of action would be the following:

  • redeem the insolvency refund (~$300,000)

  • redeem and use v2 collector contract (~$430,000)

  • acquire CRV to pay the difference of bad debt (~$1,477,000)

I am not convinced of the need to focus on future, undiscussed DAO partnerships while patching a hole.

It’s like building a new marble kitchen while your basement is flooding…

Hi @fig,

In general, I see the logic of three proposals. However, the way we thought about this was, what is the fastest and simplest way to repay the debt whilst achieving the same outcome. We need to acquire sufficient CRV to repay the debt, this is a requirement of the implementation and therefore we have a choice of two options:

  1. Utilise the existing aCRV holding and acquire the balance
  2. Acquire 100% of the CRV bad debt and the DAO retains the aCRV holding.

CRV is one of the best earning revenue streams outside of stables. Having a good deposit in the v3 CRV Reserve will generate revenue for the DAO. After @AaveCompanies spent the time and effort developing the new aToken collateral, @Llamaxyz wanted to be able to maximise that opportunity of having a veCRV holding (assumes the DAO converts aCRV to veCRV).

If the DAO continues to hold the aCRV holding, then the bad debt is essentially recovered through interest earned by the DAO. The period of time for the DAO to earn enough aCRV from interest payments on its aCRV holding was around 80 days a week ago, it is now 225 days and with v3 + normal borrowing conditions enabled, we expect it will probably come down from 225 days.

Due to the factors mentioned above we opted to acquire CRV to repay the bad debt knowing the DAO will earn aCRV from the existing aCRV holding over time. This directs us towards Option 2.

The easiest and simplest means of achieving option 2, is to covert a single holding to CRV. A dominant asset holding, ie: USDC, is the most logical choice. Looking at the v2 Collector Contract, ideally we would keep the USDC, plus other dominant holdings, and instead utilise other assets. The table in the earlier post outlines our thoughts around which assets to utilise. If we swap these assets for CRV directly, it may take longer and it does introduce complexity. Swapping the assets in the table to CRV risks some of the smaller holdings not being arbitraged in a timely manner and delaying the repayment. Therefore, we opted to go for the same net outcome, whilst decoupling the tasks. However, this one initiative and can be deployed in a single AIP.

I do want to thank you for asking these questions, I am happy to explain the logic. If the DAO choose to reduce its aCRV holding exposure, then we can pivot that way. :slight_smile:


I don’t have a problem with three proposals. It’s more the update in the comments.

Feels like it would be better conveyed to the community - and gain more visibility - if outside of a thread.

Generally, we will vote for reduced aCRV holdings at this time.

Keep it simple.

1 Like

Thanks for the update @Llamaxyz.

I am in support of the outline proposal.

Does the following fall within the scope of the Llama contract with the DAO? Or will Llama request additional payment via the Aave Grants DAO or from the DAO itself?


Hi @G-Blockchain,

Thank you for you asking the question as others could also be wondering this too.

Over the last week, Llama has submitted two AIPs adjusting risk parameters in partnership with Chaos Labs. Although the nature of this work falls outside of the scope defined in the AIP, we are glad to support the community during a busy period.

With respect to this specific proposal, aspects of it do fall within Llama work scope, as it relates to the funds held by the DAO and how said funds are managed. Whether or not the DAO addresses the bad debt is a community decision and we are pleased to be involved in presenting a potential way forward to the community.

Llama does not intend to seek any additional funding for any of the three mentioned proposals. We enjoy working with other service providers and are here to support the Aave community.


This is an important proposal that I believe should be addressed promptly. Considering the change in prices could affect the numbers at the time of writing this.

However I think that the proposal might be too broad, breaking this down into separate proposals with the most important action items being the first would be a better way to approach this.
Separate discussions for the each of the action items would allow more discourse on each action item and possibly more community feedback and visibility.

After utilizing the insolvency fund and the v2 collectors contract to satisfy the bad debt, then a separate discussion can be started on the acquisition of more CRV, we would have more time to breakdown the justification for such an acquisition without the bad debt hanging over our heads.

Hi @Kene_StableNode,

Llama is proposing to acquire the CRV needed to repay 100% of the bad debt from tokens held in the v2 Collector Contract on Ethereum. The bad debt is nominated in CRV and thus must be repaid in CRV, which means we must acquire CRV to pay back the full amount of bad debt. Llama is not proposing to redeem the aCRV holding to partially fund the bad debt repayment. Instead Llama prefers a different approach.

Gauntlet has put forward funds, that partially fund paying down the bad debt. Llama proposing using the assets in the table to partially fund this, just indirectly. The balance is to then be funded from the USDC holdings. Rather than swap many assets to CRV, Llama is proposing swap many assets to USDC and swap USDC to CRV. Rather than two steps in series, we are performing two steps in parallel. This reduces the dependencies and is likely to accelerate the overall schedule for paying down the bad debt.

Is there any aspect of this proposal that is not supported or isn’t clear which we can expand on.

To repay the bad debt the function requires CRV as an input. Which means paying back 100% of the bad debt requires CRV to be acquired. There is no other way.

pool.repay(crv, total bad debt, variableInterest, Address)

Total Bad Debt: 2,651,906.53507042958070438
Address: 0x57e04786e231af3343562c062e0d058f25dace9e

1 Like

oh @MatthewGraham

there is no other way.

there are so many ways // there is always a way, matthewG

how about the aCRV you mention

annoyed, watching.

@MatthewGraham I empathize with some of the frustration expressed by the community. While using the treasury is best, it feels important to maintain the integrity of a process and allow more voices.

This debt may be nominal in dollar amounts but the proposed repayment represents different strategies; 1) preserving Gov tokens on our balance sheet vs 2) reedem aCRV - discussing surplus later

I understand it needs to be repaid in CRV - as do I believe @Kene_StableNode does too

But there are very different ways of doing it as such.

I will continue with my crappy analogies as if they do anything:

This feels like you’re are fixing an old coat you love - its got a big ole’ hole in the elbow. You have good leather at home, which may take a bit of work - it may be a bit discolored, but it would definitely fix it.

Why do we need to go get more, new leather? We already have some.

I apologize for the impassioned discussion here as I maintain my focus on letting the community be as informed as possible, and creating a predictable, consistent process.

Thanks for letting me air it out :v: