Discussion: Mitigating collateral auction pressure

What ideas exist out there around how we can cushion the system from being forced to sell assets into over-stressed markets during crashes when mass liquidation is taking place?

This is an often glossed over risk factor and inefficiency that we are confronted with. I want to begin discussing good alternatives to take some of that pressure off. It makes little sense to sell forcefully and blindly into downturns but I do understand why we do it. There has to be some better ways out there to at the very least reduce the degree in which we subject the MCD system to this though.

I see a bright future for MCD where there are many, many diverse collateral types and uncorrelated or even inversely correlated vault types. In that future the system has either insured or sold some of the assets of every collateral type in preparation for a major liquidity crunch. In that future MakerDao is more proactive in the attempts it makes to cushion this type of impact to the system and less reactive than it is currently structured. Help discuss here how we might best bridge that gap. Or, if you prefer, share your own perspective on things.

There was this solution proposed by cornell university that seems interesting. Would love to hear people’s thoughts on it.

It was mentioned briefly by @cyrus in rocketchat https://chat.makerdao.com/channel/governance-and-risk?msg=TdrmXRJ8wtTqEXPHq.

From Cyrus’ summary basically we would create…

a ‘special’ optional separate DSR contract that allows speculators to purchase the Dai from the user at any time for a pre-specified premium. suppose its 5%. that would bound the dai price on the upside in times of crisis by 5%, up to the amount of dai locked in the DSR

1 Like

And before any of those other mentions, there was Forced DAI sale from DSR

We can also consider reducing the pressure by spreading out the auctions (so they aren’t all initiated at the same moment).


There was also this idea that was proposed a while back.

I know the keeper pool idea had a bit of traction. There was a working group and I believe a few virtual meetings were held to discuss the idea but IDK what the current status of that project is.

On this note. I would think you would be better off going with separate contracts for different investors with different risk tolerances. That is, some people might be turned off by the idea of selling their dai out from under them so they might not use the DSR if it the terms of that contract were changed in the manor described.


I read this paper and the increased liquidity offered by having a DSR that allows for the Dai inside to be bought by vault holders is something I support. I side with it being a separate DSR contract though because in a major crash when this type of liquidity is needed the price is falling rapidly and as a Dai holder using the DSR you might prefer a payout in a stable alternative (so that you don’t receive ETH back only to have it immediately fall another 10% on you). Most of the options available to do so require trust from some centralized entity at the present time. This being the case, I like the option to opt into this type of DSR rather than a take it or leave it approach.

On a side note: What do you think about imposing the limitation that vault owners who buy the Dai from the DSR have to use the Dai to automatically repay on whichever vault they choose. This ensures that the Dai being sold is used exclusively by vault owners. Something that came into mind to guide the path of the liquidity we are unlocking.

There has been a few good responses. I am hopeful that these will help. Does anyone have an idea related to further reducing or dampening the collateral sales that we expect to take place?

I know the idea with the Dai liquidity is that the vault owners will deal with this themselves in order to avoid the liquidation penalty so they just need liquidity in the Dai market to do so. I agree, and would like to also add more ways to relieve the sell pressure by finding ways we can prepare for such events happening in each class of vaults. A way that in addition to reducing the events themselves will ensure the remaining sales are less impactful. Something spread over more time while the markets are generally stable feels much more in line with our aims.

It is difficult to really noodle on this because I am entirely unsure what is practially accomplishable.

Do we just noodle on improving system as designed or is re-designing the liquidation system an option.

If we are talking about improving the system as designed.

  1. Toss out auctions at different standard lot sizes to start gathering data on what the auctioners can handle and what lot sizes get most bids best collateral return
  2. Create a way to throttle auctions so that we only try to raise X% total liquidity per hour.
  3. Consider a circuit breaker where auctions further throttle rate or won’t even deal unless the collateral deal price is within some large percentage to the OSM (eg > 66% for LR of 150) percentage.

All of these require contract changes.

Any other ideas I have require contract changes. When I look at this issue generally I am thinking we just need to change how the auction system works. Someone was telling me of another system where if there was collateral to be auctioned all of it would accumulate in a price discovery phase. In effect the collateral to be liquidated would be tossed in a ‘accumulating heap’ where the price would be decreasing each block or every so many blocks. During the time period between price changes anyone could claim any amount of the total collateral being offered up to the entire total on a first come first tx basis. Once the all of the collateral was claimed I believe the auction price would reset high and the heaping price discovery process would repeat until all the collateral up for auction was cleared.

This kind of auction gives everyone a fair chance at the collateral at a fixed price which is systematically decreasing and then it is just a smart contract mechanics of parsing out the collateral when tx’s wanting it at the offered price exceed the remaining total.

That is about all I have other than my DSR-L idea which also requires contract changes.

1 Like

Is MakerDAO considering starting work on v3 DAI contracts?

I’m aware that the current contracts are less that 1y old, and testing all of its capabilities on mainnet could take another year or two but the current contracts showed some weaknesses and the crypto space is changing rapidly - maybe it’s time to change the contracts sooner knowing that the competition is receiving funding and working on solutions based on latest DAI usage data and research.

Auction throttling and a circuit breaker are both interesting. I am curious as to how this would best be implemented and whether or not it would require a major code change or just some minor tweaking around the edges. Thank you for sharing your thoughts. Anything else I suppose we would discuss later if a 3rd version gets approval in the future.

I do have some other further out there ideas but practical implementations are somewhat more complex and involve using other deposit facilities to provide funds or fees for a kind of liquidation insurance.

The point here is to pay other people depositing DAI into another facility an additional rate/fee to use their DAI to either backstop auction liquidity (DSR-L which I have not posted yet) or as a kind of backstop insurance mechanism that gives a buffer between 150-120 LR or some such.

The point here is that there are two options to backstop auctions:

  1. Reduce liquidations or provide a means whereby CR can be lowered using another DAI fund to provide the backing.
  2. Use another DAI fund to soak up the auction liquidity under certain conditions (OSM-deal price disjointed percentage) by buying more of the auctioned liquidity at auction prices and then allowing the collateral purchased by the fund to be liquidated periodically (say X Lots of N/hr) by keepers with the deal only going off if the price is some N% above the avg collateral price in DAI in the liquidity fund. Taking 1/2 of the profits here to pay the DAI fund and 1/2 to go to the Surplus.

(2) is basically my DSR-L idea in a nutself minus the details action mechanics. (1) is just an idea I have been tossing around to provide a facility where the user can pay extra to have an additional LR buffer as insurance.

Consider using average 48 hour price of asset to avoid instant liquidations.