Peg Stabilization Modules: A Pre-MIP Discussion


The Maker community has been intensively discussing how to address the issues surrounding the DAI peg over the last three months. The recent pressure caused by COMP farmers using Dai as their asset of choice has accelerated the need to address this issue more formally.

As of today, the community is moving forward with the response of increasing the USDC debt ceiling, which is important because it means that Maker Governance is showing a willingness to defend the peg, ultimately helping keep confidence in the Maker system.

However, there are some issues with stablecoins as collateral that we must keep in mind. One of the main primary issues being that the liquidations for stablecoins are not currently turned on due to the current auction system not being well suited to handle liquidations of stablecoins.

Another important issue is that adding stablecoins as collateral cannot actually fix the Dai peg, but only make it “less broken.” This means that the people who use Dai in their daily life, for companies that use Dai for business, or DeFi projects that integrate Dai, are still not getting the peg they expect or need.

Recently, the community has proposed alternative solutions that actually go a step further and have the potential to fix the peg immediately. One of the alternative solutions is displayed below:

  • A thread detailing options for responses to the COMP farming risks, by @MakerMan and @Bit. They proposed that the DAO should create an Automated Market Maker that would autonomously trade Dai against USDC at the peg, directly injecting liquidity and stability into the Dai market.

Note that this concept has been proposed in a few different variations several times by community members in the past, for example:

Initial Research and Findings

After some initial research on how to implement the community proposed concept to fix the peg, the Foundation concluded that it could be achieved by reusing a variation of the code that was used to facilitate the Sai to Dai migration bridge during the Multi Collateral Dai upgrade. This solution will be called a Peg Stabilization Module (PSM).

This is great because it means that the solution has already been tested extensively, having been live and battle-tested for six months. Thus, a Peg Stabilization Module can potentially be implemented immediately, quickly giving Maker Governance an option to bring relief to the Dai peg and shift risk away from the stablecoin collateral types that don’t currently support liquidations.

How do Peg Stabilization Modules work?

A Peg Stabilization Module is very similar to using a stablecoin like USDC as collateral for Dai, except it enforces a price of 1 USDC per Dai directly in the market. This ultimately makes Dai significantly more liquid and stable.

Using USDC as an example, Maker Governance would approve a special USDC collateral type with a Peg Stabilization Module adapter. The Peg Stabilization Module adapter would not allow users to join USDC as collateral into the Maker Protocol (the way standard adapters work), but instead would allow two things:

  1. Allow anyone to trade USDC for Dai, given the special collateral type has the available debt ceiling.
  2. Allow anyone to trade Dai for USDC, given the Peg Stabilization Module has the available USDC.

In scenario #1, when a user trades USDC for Dai with the Peg Stabilization Module, it automatically uses the provided USDC to instantly generate the corresponding amount of Dai through the special collateral type adapter.

In scenario #2, when a user trades Dai for USDC with the Peg Stabilization Module, it automatically uses the Dai to pay down its debt and free up the corresponding amount of USDC.

Governance Control of Peg Stabilization Modules

Governance can control Peg Stabilization Modules in the same way that it controls other collateral types in the Maker Protocol. Primarily, the Debt Ceiling risk parameter can be used to control how much exposure the system can have to a particular stablecoin. Diversification can be used to further manage the risk of the system and make sure that all of the exposure isn’t concentrated in a single stablecoin, but is instead spread out across several stablecoins (based on their perceived risk).

Governance will also be able to set a spread on the Peg Stabilization Module, allowing it to charge a small fee on every trade that is sent to the buffer - this way it becomes an income-generating feature and helps to pay MKR holders for the risk they are taking on the stablecoin collateral.

This solution is both very useful for the short term situation that the community finds itself in, with the system out of balance for a prolonged duration, and the mounting pressure from the COMP distribution to Dai holders.

Considerations for Peg Stabilization Modules: Short and Long term Benefits

Creating more Dai utility through a stable peg

The number one objective of the Maker protocol and Maker governance is to maintain the stability of Dai, so that the people, businesses and DeFi protocols that rely on it can trust that their money is protected from volatility. Delivering against this promise will drive continued growth of the project. The Peg Stabilization Module can restore the peg and utility of Dai to users around the world, which makes it a very important change to consider.

Strengthening the collateral portfolio by replacing collateral types that cannot be liquidated

The Maker protocol currently has a lot of Dai generated from the USDC-A collateral type, which has liquidations disabled. This is an undesirable situation, because the Maker Protocol wasn’t designed to support having collateral types with liquidations turned off, and it could potentially result in Vaults with more debt than collateral value that would be abandoned by their owners, yet still remain in the collateral portfolio.

But having liquidations disabled was necessary due to the fact that the current auction system is not well suited for liquidating low-risk assets, so it was done as a short term solution that would be replaced in the future. The Peg Stabilization Module is such a solution that would be able to replace this collateral type. It would allow Maker Governance to altogether remove stablecoin based collateral types from the system in the short run, solving the issue of disabled liquidations entirely, and removing any risk that the system will end up having abandoned, unliquidated Vaults with more debt than collateral value.

Encouraging natural Dai generation from other collateral types through stability and liquidity

A significant advantage of the Peg Stabilization Module is that it helps with stability and liquidity when the price goes above the peg. It also helps to provide liquidity and stability for when there is Dai supply to sell. This means that it helps encourage vault creation and Dai generation from other assets, such as ETH, because it gives vault users a lot of reliable liquidity to sell their Dai to if they are looking to pull fiat currency out from their vault.

Generally, a reliable peg makes Vault holders more willing to generate Dai. In contrast, an uncertain peg makes it riskier to generate Dai, since it is less clear if it will be possible to later unwind the position again without having to buy back Dai at a price different from the peg. Providing a solution to this issue with the Peg Stabilization Module is a significant advantage in the short run to try to get the Protocol back into a natural balance. Still, it will also continue to be a substantial advantage in the long term. It generally improves the user experience and value proposition the system offers to its users, both Dai users and Vault users.

Natural unwinding

During times when the Maker Protocol is out of balance, the Peg Stabilization Module will keep the Dai peg stabilized by building up potentially large amounts of stablecoins as collateral. Since the Peg Stabilization Module encourages natural Dai generation, the built-up stablecoins within the Peg Stabilization Module will be used by new Vault users to exit to fiat if there is a significant buildup (this will only be temporary).

This means that the Peg Stabilization Module naturally unwinds itself as the system goes back into a balanced state. Therefore, the Peg Stabilization Module will not contribute to the long-term buildup of stablecoins as collateral in the system. Instead, it will work against it by helping to bring the system back into balance quickly. This ultimately minimizes the amount of time the Maker Protocol needs to have substantial exposure to stablecoins.

Becoming the trading hub for stablecoin swaps

Another long term advantage that the Peg Stabilization Module offers is the ability to become a hub for trading different stablecoins against each other.

If Maker Governance adds multiple stablecoins to Peg Stabilization Modules and enables low-fee 1:1 trading for each of them (against Dai), it would allow the trading of different stablecoins against each other as a side-effect. As a result, this would ultimately help with overall liquidity in the DeFi ecosystem. At the same time, Maker would be compensated by charging the Peg Stabilization Module spread twice for providing the service.

Creating a reliable on-chain signal for automatic Dai Savings Rate (DSR) and Base Rate adjustments

A planned feature of the Maker Protocol is a system for automatically adjusting the DSR and Base rate in response to changes in the market dynamics of Dai, to help better keep the long term stability of Dai. This would be similar to an earlier described feature of the system known as the TRFM (Target Rate Feedback Mechanism). Because changes in the market dynamics will instantly be reflected in the balance of stablecoins against Dai in the Peg Stabilization Module, this will provide a reliable, on-chain signal that such a system could

The Peg Stabilization Module is a very powerful concept, so it isn’t unlikely that there would be even more long term advantages that will be discovered by the community, once the immediate issue of managing the peg has been dealt with.

Next steps

Overall, this forum post aims to make the community aware that this proposal exists and that it is indeed technically feasible to implement on very short notice since a variation of the code used to facilitate the Sai to Dai migration bridge during the Multi Collateral Dai upgrade can be used.

In terms of the immediate future, the plan is to continue research and development over the course of the weekend to test further the feasibility of implementing a Peg Stabilization Module quickly - So Maker Governance will have the option to use the Peg Stabilization Module to bring immediate relief to the peg as soon as possible.

Initially, due to the time-sensitivity of maintaining the peg, the Peg Stabilization Module would be proposed as a non-Maker Improvement Proposal (MIP) executive vote that could be done on short notice. However, if the proposal is accepted by the community, the Maker Foundation will work with the community to create an official MIP that formalizes the various governance aspects surrounding Peg Stabilization Modules, and allows the community to iterate and build on top of the concept.


I want it noted for the record I would have preferred this module have bi-directioal pricing ability so as not to clamp down to hard on the DAI:USDC spread and then governance would manage the up/down prices and the DC limit for this facility.

I also had an idea that IF this module is updated to have multiple ones with different DCs and up/down spreads.

Example: One facility limited to 10M DAI working outside of the .995 to 1.005 range. Another with 25M working outside of the .99 to 1.01 range and the last with say up to 50M working outside of the .98 and 1.02 ranges.

I was told unfortunately the modules as they exist now do not have this bi-directional pricing. When I think about this I don’t know why we can’t just apply a fixed fee on the trade of some fraction of a percent to elicit this spread. Will leave this up for discussion as these were the only two ideas I had for modifications to this proposal that would make it a lighter hammer but still achieve the same results vs. doing 1:1 straight up.

Direct injection of DAI to markets to manage the PEG via a Maker facility that anyone can use to now actually arb the PEG prices directly.


Michael from Curve here.

This works very well in principle, and long due, but price discovery is needed. Without it, it’ll be a “socialist system” - 1:1 price causes “empty shelves”.

It would work really well if combined with Curve. E.g. if the price > 1.0 - allow a special contract to mint DAI (with a certain rate) and dump on Curve for USDC. If < 1.0 - allow any caller to buy cheap DAI and burn (with a certain rate, too).

As a result, the contract will have a net profit, and the price will be more stable.


This makes a lot of sense vs. having USDC vaults (better stability for same custodial risk). Have you considered the alternative way I describe here of getting similar (though lesser) benefits w/o introducing custodial risk into the protocol?


This sounds fantastic!


  • It seems like base rate will always be 0 unless the peg is < 1 and the USDC reserve is drained.
  • Value accrual for MKR token would predominantly be Risk Premiums + stability arbitrager fees


  • One force to combat a high peg was to increase the debt ceiling. Since the peg should be more stable, how will we gauge when to increase the ceiling?

  • Is there a universe where the protocol is backing a significant amount of DAI with USDC reserves? What if there isn’t a need to unwind this? Would the protocol need to do anything with this to mitigate risk?


I’m trying to think about the differences between this Peg Stabilization Module (PSM) and current USDC vaults:

  • PSM offers infinite leverage up to some debt ceiling. You need 1 USDC to generate 1 DAI, but you can sell that DAI for USDC on the market and generate more DAI, etc until the trade is unprofitable vs vaults where you can only generate some finite amount of DAI per USDC
  • PSM is unaffected by the risk premium and base rate. There is no stability fee. Instead, risk is charged as a small exchange fee.

We already have good tools to address the DAI/USDC < 1 situation: increase base rate and DAI savings rate until the peg is restored. Therefore, let’s focus on the problem of DAI/USDC > 1,

  • USDC vaults can generate DAI and dump it on the market for >1 hoping to profit when DAI/USDC dips to <1. However, good market timing is required because the stability fee erodes the profit and can turn the trade into a loss.
  • For PEM, holders of USDC can generate DAI 1:1 for a small fee. This DAI can be sold on the market for >1 DAI/USDC with the intent to reverse the trade when DAI/USDC <1. No special market timing is required because the exchange fee is fixed. The USDC obtained from selling DAI can be recycled again to sell more DAI with infinite leverage up to some debt ceiling.

The original post seemed to suggest that PEM can provide everything that vaults provide and more; stablecoin vaults can be retired once PEM is introduced. I guess we still want to keep the USDC-B vault type around to provide emergency liquidity for auctions.


The PSM mechanic can work because the DAI savings rate is at zero. How do we enforce draining the PSM if we want to increase the DAI savings rate? Consider a scenario,

  • DAI/USDC > 1 and DAI savings rate is zero so we open the PSM with a high debt ceiling. 100M DAI are created with 10k USD using infinite leverage. This is no problem because DAI savings rate is zero so we don’t pay any interest on these DAI.
  • Market conditions change and DAI/USDC < 1. We want to raise the base rate and DAI savings rate, but irrational market participants stubbornly hold onto the 100M DAI and refuse to reverse the trade through the PEM. As DAI/USDC goes lower, the incentive increases to profitably destroy the 100M DAI, but the trader is asleep or the keypair is lost. We can’t increase the DAI savings rate because we would be paying out too much interest vs the stability fees that we can’t collect from PEM.

Now what?


Just want to make sure that we’re talking about the same thing here: there is no owner of the USDC in the system. Anyone can come in and make that reverse trade.

So the only restriction is liquidity. And if liquidity is restricted, then maybe it’s a little early to drain the buffer.

Nevertheless, to make this process faster, it’s one of the few situations where I think an asymmetrical fee may come in handy. Especially if you want to drain one vault in favor of another.


what do you think about my suggestion of offering lending for the USDC locked in PSM?

let’s say we have 20 m USDC locked in the PSM

we can create a lending platform (a competitor to Compound and aave)

and set the lending value for each centralized stable coin to 1$

that means if usdc lose 50% of its value for any reason, the borrowers will have to pay back 2 times the original usdc amount

this will offer protection against most centralized stable coins risks and offer a new revenue stream for the protocol

1 Like

Just to be clear. If we introduce this change we would be looking replace the current USDC-A, USDC-B, TUSD, etc vault types? I.E get everyone to pay back the DAI they owe there and set the debt ceiling to 0.

If so, What is the current proposal for doing that? With liquidations turned off it doesn’t seem like we would just be able to increase risk premium for those vault types as it seems the vaults would just be abandoned if the total debt > collateral offered.

If not what is our forward facing vision for those vault types?


Interested idea, but I don’t think lending the USDC in locked in PSM would be a good idea at the early stages of this program with say 20M locked in PSM. Maybe when the locked amount surpasses 200M+ ?? – perhaps then, a reasonable percentage of it can be used as you suggested IMO


also for technical and security reasons I think PSM should start as simple as possible and we can add more complexity in the future


Remember something about these stablecoins - there is an issuer who will give $1 USD for example for the 1 USDC - Coinbase. So while these market prices can move around (USDT frequently sits a little off $1) usually the issuer itself can either sop up liquidity if the stablecoin they issue drops below $1, they can also provide liquidity if the price is > $1. In both cases they make the difference as profit and simply use their own USD on account against their stablecoin to keep backing intact while still making profit off PEG deviations in various markets.

I am not entirely sure this is done - but it can be done provided the issuer uses their own USD to back the minting of their own stablecoin to manage external market prices and liquidity issues in relation to market price deviations away from their PEG.

The point of not clamping this strictly to 1:1 and having multiple facilities with different DC’s and active up/down prices means when one facility is drained and the PEG rises or falls we get a pretty accurate measure of the strains on the market in terms of liquidity vs. pricing with regards to rate adjustments required to bring the PEG back in line. In my post I picked fixed DAI values for the different DC’s but really these should be a % of the total DAI outstanding. PSM line 1 drawn say at .995 and 1.005 funded with 5% of the outstanding DAI at the time, .99 to 1.01 with 10% and .98 to 1.02 with 25% etc.

Last and most important point:

This way these PSM act as kind of automatic PEG circuit breakers with limited liquidity and when drained and the next PSM active we get rough measures from the market about what to do with fees to drive the PEG back into line and drain the PSMs back to normal. I think the hazard here is if for some reason USDC drops in value relative to USD too much. Should we have a circuit breaker on the PSM to deactivate it in case something goes whacky in the markets here. We are NOT going to want to wait the GSM to deactivate a PSM that in effect is losing value for some reason. Just a small thought here I am still wondering if it is a real concern or not.


This was the prime reason to use a up/down pricing spread on these as the spread price is an instant fee vs. a SF on the vaults that may have an effectively lower fee to the user. Not clamping the facility to 1:1 bidirectional still means people can use vaults.

Whether to turn liquidations on on these. I think with the vaults and the PSM we have to ask a basic question what do we do if the USDC:USD oracle value is < 1 significantly and this is why the DAI:USDC PEG is off while the DAI:USD PEG right on.? What is the real condition for operation of the PSM DAI:USDC price or DAI:USD price. My understanding is that we want these all to operate on the DAI:USD price not the DAI:USDC price.

Notice in the compound protocol DAI basically has a DAI:USD oracle price used that can go up or down depending on the current PEG state to determine if a vault is undercollateralized and hence should be liquidated.

Does this whole thing require a kind of stablecoin:USD oracle against the DAI:USD oracle to use to determine price metric and hence the up/down stablecoin prices the PSM will offer or is this redundant?

1 Like

In effect if the PSM is not drained of USDC when the DAI:USDC trade is < 1 basically one could just opt to reverse auction the USDC to DAI on the open market thereby soaking up liquidity. So we may want an auction mechanism for the PSM if the DAI:USDC rate is low and no-one is clearing the PSM. I don’t think this would happen because if people can cycle the trade through 10K DAI would come back and do the reverse levering to unwind that 100M because they would net some profit draining the PSM at .995 if the price is .991.

The question is what if the DAI USDC price is between .995 and 1.005 and the PSM 1 module is maxed at the DC and rates are going up. Is it a problem for the protocol that the USDC in the PSM is not paying the SF? If the SF gets high enough it might be worthwhile for market players to use the PSM (even at a slight loss) to offset the building losses from the SF fees in their vaults.

Ah so the point here is what if this DAI is deposited in the DSR and we are paying more fees in the DSR than SF fees generated. That is a good point and a reason to adjust how the DSR acts not as a rate but as a fixed rate but as a % of the fees generated. So the protocol never loses money on the DSR against SF unless governance specifically directs it to. But I think this is a good point.

PSM management up/down prices and hence spread and DC of the facilities will need to be managed against the other monetary levers and may end up bringing too much complexity to governance here as we are talking about using a spread (up/down price difference as a fee) with a DC against vaults that have a running SF against a facility with no SF and a fixed fee.

Good catch on the whole DSR issue against this here and SF fees. I think this was why I wanted multiple PSMs with different up/down prices and DC’s with total DC not to exceed 50% of the outstanding SF payind DAI as I think the 40-50% DAI liquidity should be enough to manage the PEG but would only add 25-33% drain on SF against potential DSR cost. We would have to have DSR spread 0 and over 70% of the DAI in the DSR for this to happen but it is a cosideration to take into account. Realize if we get into this situation governance can just increase the DSR spread from the SF.

I would just like to echo Andy’s question here, because I like the outline of this proposal, but struggle to understand how Governance could remove stablecoin ilks in the short run were the PSM to go live, say, this week. This seems to be the critical unanswered piece.

As always, MakerMan has some interesting thoughts, and I too am a fan of the idea of various bands at different price points + bi-directionality, but appreciate that both could be done through a formal MIP at some later stage.

Also just wanted to call out the potential use of this

It’s a profound point that definitely needs more love, imo (and a grammar correction or two :wink:). When people come with proposals that fix short-term issues with long-term vision, it makes me as a MKR holder a very happy person.


I think it is much preferable to simply change the parameters for stablecoin vault types to a lower SF, much higher DC, and Colateralization Ratio of 100-101%.

MKR holders were never in the business of betting on stablecoin-to-stablecoin trading volumes. Also since there is no Base Rate being earned on the USDC in inventory it throws off all the other calculations for interest rates. Ultimately if this proposal goes through it would force MKR holders to take positions on the ratio between revenue earned from USDC/DAI volumes and SF lost revenue.

I don’t see how this can co-exist with the narrative historically presented by the Maker Foundation of MKR being a bet on SF revenues outpacing loan losses.


The proposal is a refreshment among the current solutions that do not work. Can we vote for it (yes/no)?


There is now a live forum poll for the community to decide the timeline for the Peg Stabilization Modules implementation. The poll will be live for at least 24 hours but might be extended based on the results after the initial 24 hour period has passed. See forum poll details at the below link:


Due to the abbreviated discussion period, I’ll briefly add some summaries of thoughts here. An attempt will be made to come up with a more prolonged and reasoned and comprehensive response soon. I will say that the speed with which is moving should be concerning to everyone.

This proposal represents a fundamental change from what Dai is, i.e. a decentralized stablecoin with an overcollateralized basket of currencies backing it, to a hybrid token that is partially overcollateralized and partially collateralized at a 100% ratio to a competing stablecoin.
As a Dai holder, I am more attracted to the former and less to the latter. Many in the community will feel the same if Dai no longer maintains the same guarantee of overcollaterization and loses some of it’s luster as a premium collateral. This may be a non-issue in the short term if Dai is clearly in demand, but I am concerned about the mid-to-long term view of Dai as a collateral. This will spark competition from those seeking a more decentralized alternative, and some may find themselves wondering what benefit there is to holding Dai as a proxy for USDC, when they can just hold USDC itself.

Due to it’s current standing as an investment-grade collateral type, Dai has lately maintained a premium against USDC, I would argue that this premium exists because of Dai’s nature as a permissionless, overcollateralized, and decentralized stablecoin, a superior product to USDC in many ways, and assume that many who use Coinbase as their fiat onramp immediately convert their USDC to Dai when it’s available on mainnet. If my suspicions are correct, then Dai could theoretically have to absorb hundreds of millions of additional USDC in this market in order to reach saturation and partity against USDC. A $20mm PSM would immediately get tapped out and we would be in the same situation that we are in now, with the exception that Dai would now be less collateralized.

The PSM alters the incentive mechanism of vaultholders by subtracting market incentives that they could have actualized by generating and selling Dai at the premium. It stunts the organic growth of Dai by socializing the USDC risk into the protocol for a one-time fee. By adopting this approach, we disincentivize essential market makers from participating in the system.

Dai is currently in a period of extreme demand. Our debt ceilings are full, the solution for now seems to be to raise the ETH debt ceiling to a level that can consume this demand. ETH is still the premier collateral type for the MCD system, and it’s clear that there is market demand for additional ETH vault capacity.

Due to the seemingly overwhelming desire to provide additional Dai liquidity in an emergency situation, it is difficult to come out entirely opposed to this solution, however, it is important to understand and express how this seemingly simple modification will alter the public perception of what Dai is and what draws people to it. Use of Maker by vault holders is not a foregone conclusion and it’s innate incentive mechanisms are the incentive to particpate and generate more Dai to sell on the market. Every Dai that is sold by the PSM contract is effectively some amount of profit lost to a market maker, and also a reduction in the perceived security of Dai itself as an overcollateralized stablecoin. In current conditions, the current market could easily eat tens to hundreds of millions of USDC and still not return Dai back to the peg, while reducing the percentage of overall collateral subject to a custodial stablecoin. Any artificial cap on this mechanism in today’s market will quickly be reached and we will be in the same position that we are in currently, with the exception that we will have a less secure Dai, a less desirable Dai from a collateralization perspective, and a protocol that is subject to additional regulatory pressure.
If this mechanism is to be considered, I would urge that the fee bands be wide enough to avoid market interference except in the most extreme of circumstances of demand. It is not clear to me that we’ve reached that point, the current debt ceilings are maxed and the market has an appetite for further leveraging. Give the existing mechanisms room to breathe. During an acute spike, use the PSM as an emergency valve. The rest of the time, the market must be permitted to work as designed so that the incentive mechanisms have the effect of naturally increasing and decreasing supply.

Anyways, I’m sorry if this seems disjointed. I haven’t had time to fully collect my thoughts on this. In the same vein, we have not had a chance to perform any sort of economic or public perception survey on how this change will affect prices or sentiment.