Signal Request: Should we replace the weekly DSR governance poll with a DSR Spread governance poll?


The idea is to replace the current DSR Rate governance poll with a new poll that asks for the DSR Spread instead. The DSR Spread governance poll gives us the DSR Rate by taking the weekly MCD Global SF Rate and subtracting the DSR Spread.

MCD Global SF Rate - DSR Spread = DSR

Some examples:

MCD SF voted as 4%
DSR Spread voted as 1%
DSR will be 3%

MCD SF voted as 10%
DSR Spread voted as 3%
DSR will be 7%

See this thread for a full discussion: Request for Adjustment to DSR Phrasing

I will summarize the pros/cons below:

The Negatives of Switching to a DSR Spread

  • Increased Cognitive Complexity
    • If you want to think in terms of absolute rates then it makes sense to keep things the way they are.
  • Adding Low Volatility Assets
    • If we end up something like SAI as a collateral type, then we will likely not be able to impose the global stability fee on those assets.
    • Example) Borrowing DAI from SAI makes no sense on any rate other than 0%.
    • Note: This could be countered by setting a negative vault fee that follows the exact negative of the global SF. EDIT apparently we can’t do this according to the dev team.

The Positives of Switching to a DSR Spread

  • Reduction of Weekly Votes
    • By switching to a DSR Spread vote we will only need to vote on the MCD Global SF Rate every week to affect peg stability (+ SAI SF Rate before migration ends). This is because the DSR and Global SF Rate perform analogous actions in terms of peg stability. One increases DAI demand whilst the other decreases DAI supply.
    • DSR Spread will likely only need to be voted on every few months as it does not affect peg stability.
  • Simplification of What Each Vote Means
    • Currently raising the DSR and the Global SF do the same thing for peg stability. It is not clear what the community thinks when these numbers are both changing week to week. Is the peg off of $1? Do we want to incentivize more users with a higher DSR? Answering these questions is currently not clear. By switching to DSR Spread we use the Global SF to manage peg stability and the DSR Spread to manage system growth speed vs profit taking to MKR holders.
  • Remove the Possibility of a DSR mistakenly being higher than the Global SF.
    • So even though it’s not entirely clear whether this situation is desirable or not, there are some weird incentives that come up when we run the DSR > Global SF. As vault creators can earn an interest rate with their collateral from this scenario. This would be similar to running the SCD SF rate at a negative value.
    • By making the DSR Spread >= 0% as a limit (same as we do with the rates), we can remove this from accidentally getting added to the executive.

Proposed New Poll Option

The poll would use the exact same rate stepping as the current DSR poll except it will be used to determine the DSR Spread instead of the DSR with an optional lower bound of 0%.

The DSR will be calculated as:

DSR = max(Global SF - DSR Spread, 0)

(the max() prevents the case where the DSR is negative)

Note: This wasn’t explicitly stated when I originally wrote this post, but currently the MCD Global SF is 0% during migration and we are emulating it via the ETH-A, BAT-A vault fees. It is my assumption that we will begin using the Global SF instead of the vault fees once migration is over, but perhaps that wasn’t clear to everyone. This is not a mission critical change for migration, so I think we can wait until migration is done to proceed with the vote.

  • Yes, switch DSR voting format to a DSR Spread with a lower bound of 0%
  • Yes, switch DSR voting format to a DSR Spread without a lower bound of 0%
  • No, keep the current DSR absolute rate vote
  • Abstain (I want to see results)
  • Abstain (I have no opinion)
  • Abstain (I don’t feel I am knowledgable on the subject)
  • Abstain (I disagree with the poll options)
  • Abstain (I have a different objection)

0 voters

This is a multiple choice poll, vote for everything you are willing to vote for in an on-chain vote. Poll results will be reviewed on January 7th, 2020


I voted for no lower bound, but I think the choices for negative rates should be clearly marked in bold like !NEGATIVE RATE!


Completely agree that this is the way to go. There needs to be more emphasis on the DSR as a relative spread parameter modulating growth/profit, rather than an absolute parameter used for stability. Leaving the DSR poll as an absolute, in combination with the SF poll, makes for awkward voting.


This makes sense now while BAT and ETH are tied to a uniform rate, but what happens when that is no longer the case?

Do you think that as we come to vote on a larger number of SFs that are no longer uniform, voting on DSR through this kind of framework would becomes overly complex?

What would it look like?


After migration we should not be using vault fees for stability, and instead we should be using the global stability fee. We should use vault fees to capture risk premiums.

EDIT: To elaborate a bit. This is related to the negative point about “Adding Low Volatility Assets”. If we end up adding a SAI-like collateral type such as US Treasury Bonds or something we run into issues where the overall stability fee may price that collateral type out. As an example: Why would you borrow against SAI at any rate other than 0%? I’m personally still thinking on this point, but I don’t think it is a problem for now as it is still hypothetical.

EDIT 2 I think I am starting to understand the objections. It is my view that for DAI peg stability we should not care what the total fees are for individual collateral/vault types. There are only two things we should care about for peg stability: dai demand (DSR) and overall collateral pool supply (global sf). If you treat all collateral types as a homogeneous pool which backs supply then by raising and lowering the global sf you raise and lower that supply without caring which collateral types go up and down the most.

Right now we have ETH fee = BAT fee = 4% and SAI = 0% but once we get SAI out it should look like global sf = 4%, ETH fee = ETH risk premium and total ETH SF = Global SF + Vault risk premium. You can think of it like a central bank interest rate to encourage/discourage economic growth. They set it across the board instead of setting it for every asset.

Does this clear things up?


I think it makes sense to set this spread based on the Global SF value. But it’s worth mentioning that for the time being the global SF value is 0% (due to the need to keep Sai at 0%)

This creates the slightly strange outcome that the voting system will change and the voted DSR option will need to change from 4% to -4% in order to keep the current status quo.

DSR Rate = max(Global SF - DSR Spread, 0)
4% = max( 0% - -4%, 0)

Perhaps we should vote to delay putting this into operation until after the migration has ended?

1 Like

If we add USDC or TrueUSD or similar as collateral then the global SF is never going to deviate much from zero, ever. Perhaps the weighted average SF is a better reference point when thinking about the DSR.


Yeah, this occurred to me too. I wonder whether it is possible to ‘fix’ that problem by having negative vault fee values for those collateral types? So fee for USDC could be:

Global Fee (4%) + Vault Fee (-3%) = Stability Fee (1%) ?

DSR would be 4% (with a 0% spread.)

As crazy as this sounds, it actually makes some sense because in this situation MKR holders would effectively be subsidising USDC (at 100% DSR utilisation). Having a negative vault fee makes that super obvious.

1 Like

I’m okay with waiting. It’s not a migration critical piece, and we are jam packed with migration-specific stuff right now.

I’ve given this some more thought, and come up with four points:

  1. Is low volatility collateral (TrueUSD, USDC, etc) even something we want in the collateral pool? What is the user base for this collateral type? I’m not convinced there is one for USD-analogues. There is perhaps one for something like US Treasury Bonds which is very stable, but not pegged to $1 USD. How big is the demand for something like that though?

  2. If we do want to add a low volatility collateral type we are going to have to make a choice of whether we want to subsidize the collateral or if we are okay with pricing it out when the global sf is increasing. Why would we want to subsidize more borrowing behaviour during a bull market (when SF is increasing)?

  • For example if we are in the depths of a bear market and the global sf is 0.5%. It may make sense to suddenly enable borrowing against some relatively stable, non-correlated asset such as US Treasury Bonds which only makes sense to borrow against at these rates. Once we start reaching another bull market and the global sf starts increasing again we want to discourage those borrowers. That’s the point of the stability fee raise. Maybe we don’t want any low volatility assets being borrowed at that point.

  • If you look at the overall goal of encouraging/discouraging borrowing in aggregate for peg stability, it may end up being okay if we price out these low volatility assets during bull market behaviour.

  1. As LFW said, we can always make these the exception to the rule and subsidize them via the DSR by running a negative vault fee. EDIT apparently we can’t do this according to the dev team.

  2. This low volatility collateral argument has pros/cons to both absolute DSR and relative DSR spread. I believe it is a discussion worth having, but I believe it is a separate issue to this vote. If for whatever reason low volatility assets start becoming a big part of the collateral pool and it makes sense to switch back to an absolute DSR then we can always reverse this decision. For right here right now though I firmly believe the DSR Spread is a better voting parameter for the current pool allocation.


Rune wrote a bit about this here. Tl;dt is that market maker could make good use of it to arb the dai peg and increase stability.


Actually I just asked about this in the dev channel on rocketchat. Unless I’m misunderstanding the smart-contract it isn’t possible.

I agree, but I’d also like to have a system that works consistently regardless of what is in the pool. I think I’m more on the fence about the change now than previously.

Will give this a read. Thanks.

Oh that’s good to know. I’ll update the post.

Regarding the inability to subsidize low volatility (LV) assets during times of a high Global SF, I’m still wondering why we would want to be subsidizing borrowing during times of excessive borrowing. It makes more sense to be pricing these assets out to do the exact opposite.

If you read Rune’s post, you’ll find that he suggests an extreme liquidation ratio like 100.5%. So it seems feasible to charge a 4% SF on stable assets like USDC or TrueUSD or Treasury bonds if we invite people to leverage 100:1.

I guess we need to think about asset volatility through the lens of the per asset liquidation ratio.

On further thought, this can’t work either. The SF would be okay, but if we generate DAI with 100:1 leverage then the DSR would be forced toward zero.

I think the answer is “no”

1 Like

No wait, this can still work if we set a huge SF for stable collateral. Consider the following transaction flow:

  • Random wealthy woman Alice wants to transfer $1 million USD to DAI
  • Market maker Bob opens a Vault using $10k TrueUSD and creates $1 million DAI (1:100 leverage). The $1 million DAI are sent to Alice (on chain) in exchange for $1 million USD (off chain). Maybe there is an escrow account inbetween.
  • There is a 400% SF on the TrueUSD Vault, not because there is much risk of liquidation, but to cover the potential cost of a 4% DSR on 1 million DAI. (We probably don’t even need a price feed for DAI/TrueUSD. We can just assume it is 1.0 always with an emergency switch to liquidate all Vaults.)
  • Bob is incentivized to close the Vault ASAP and places a 1 million DAI limit buy order on Oasis.
  • As the order is filled, Bob pays down the debt on the Vault.
  • Once the Vault is fully repaid then Bob’s $10k TrueUSD capital is free for the next trade.

It’s a risk transfer:

  • Alice transfers $1 million USD to 1 million DAI with pre-agreed slippage/fee paid to Bob.
  • Bob needs to estimate how long it will take to buy 1 million DAI on Oasis and the corresponding SF liability.

There is probably a similar transaction sequence to go from DAI back to fiat USD, but I haven’t worked it out yet.

I would prefer lower bounds > 0%, just to always ensure the “insurance fund” increases with time. Especially if MCD supply ever increases.

Also instead of DSR = SF - DSR Spread, we should use DSR = SF * (1 - DSR Spread). I think it’s more adaptive and fewer changes would be needed.

Great points.

With insurance we can encode that into the vault fees as opposed to the global stability fee. This will keep us in break even territory at dsr spread = 0%.

DSR Spread as a percentage of the Global SF is not something I thought of when putting up this poll, but I agree it actually may end up being more stable if we run the DSR at a fixed proportion to the Global SF instead of a delta. IE DSR should be 80% of the Global SF instead of 1% away for a global sf of 5%.

DSR = Global SF * 80%
DSR = Global SF - 1%


Setting DSR as a percentage of Global SF creates issues as well.

Consider: a large Vault whale wants to hedge her Risk Premium (with the planned expansions into more traditional asset classes this will be very common). She finds an insurer who is willing to bet the risk profile of her collateral won’t change. However this insurer wants nothing to do with the DSR. If the insurer takes on the Risk Premium risk they will then be forced to be betting on the DSR as well. Likely, this insurer will want nothing to do with the DSR as its value is a function of a wide variety of volatile factors (if you are unconvinced about the potential volatility in the DSR just consider the recent instability in the US Repo market and FEDs massive intervention)

Can you elaborate on your example? I’m not quite following.

What do you mean by Risk Premium? Are you referring to only the portion of the fees devoted to RP excluding the Stability Fee? If so, I’m confused about the mechanism of insuring only the RP as you need to pay all fees RP + SF to open a vault.

Also, are you saying this is an overall problem with the DSR Spread or with treating the DSR as a percentage of the Global SF?

1 Like

My understanding is that DSR + RP = SF. So DSR is portion paid from Vault to DAI, and RP is component paid from Vault to MKR. There may a global RP for all collateral types, as well as collateral specific RPs. Both are included in “RP.”

I think there has been some laxness in the community with terms… but this is my understanding of it.

A Vault user might say: “Wow Vaults are so attractive, but I’m scared of the interest rate volatility” so they say “I will enter into an FRA/SWAP with a DAI user so my DSR stays flat” But then they need to take care of RP. So they find an insurer. The insurer says “I think the risk profile will not change so I can insure this vault user’s RP” But then they say “I want nothing to do with the DSR! Its too volatile!” Now if we say that DSR is a percentage of SF, the insurer can’t offer this policy to the Vault user because the RP fluctuates with respect to the DSR

So the DSR spread makes sense (very much so I should add!), but DSR as a percentage of SF not as much because it interlocks DSR and RP and they become dependant variables. This makes it more difficult for insurers to offer policies for RP. It is best to keep the various components separate to make them easier to hedge. Its harder to hedge when two components are mixed together.

Side note: if you want more explanation of this “FRA/SWAP with a DAI user so my DSR stays flat”
See the attached file [Where OC stands for Over-collateralized Vault.] It represents a hybrid between FRAs and IRSwaps that Vault and DAI users can use to bring their DSR exposure to exactly neutral

So I think we are operating under slightly different terminology. For me the term “Stability Fee” refers to the fees collected purely to curb DAI supply and keep the peg in line. “Risk Premium” refers to the portion of the fees that are collected cover bad debt to MKR holders. It is my view that we should encode RP entirely into the vault fees and use the global fee as the only fee for peg stability. In summary:

Vault Fee (What the Vault owner pays) = Global SF + Vault RP

The DSR is paid as some fraction of the Global SF. If DSR Spread = 0, then MKR holders take no profit. If DSR Spread = Global SF then MKR holders take all profit.

I like this model for a few reasons, but one of the main advantages is that it completely separates risk (Vault Fee) from peg stability (DSR / Global SF).

I made a presentation for Thursday which will hopefully clear up some of these terminology differences. Happy to hear alternative models as well.

1 Like