Interest Rate Target

There should be a methodology for establishing a target interest rate. Right now it is generally agreed that we should move lower but there is no concrete reason as to why. This will give the community confidence in how to move forward with future votes regarding the rate.

This is NOT going to decide what a certain proposal will be. It will just be a guideline for a target rate that the community can use to assist their decision making

I propose using a few metrics.

  1. kUSD peg to USD (if peg is not within an acceptable range, no other metrics matter)
  2. Tezos Market Interest Rates
  3. Tezos Baking Reward Emission Rate
  4. General Crypto Market Interest Rates
  5. Estimated Risk of Collateral

The general methodology I propose is to establish an interest rate floor based on 2, 3, and 4. Then estimate risk of collateral (5) and add an appropriate premium on to the floor rate. This will effectively be an analysis suggesting an ultimate floor interest rate.

Please comment with ideas and critiques!

1 Like

Nice! I like this idea a lot - ideally at the end of the day we have an algorithm that puts data in, and gets the required interest rate out and make adjustments from there. Once we gain confidence in that we can then automate the whole thing and eliminate the need for gov proposals to move the peg around.

I think the 5 metrics assembled are definitely a good stock of the signals we need to capture in whatever formula is created, and I think we can take some of the good ideas from a few others in the ecosystem to simulate and improve on ours.

Prior art worth reading/researching:

Likewise I think there’s room for some interesting mechanics involving burn fees and incentives akin to what the FEI protocol did (sans the first launch jitters) - Fei Stablecoin - Fei Protocol

Thank you for putting this together. A few thoughts:

I don’t think establishing floors is good (in fact, there may be a case where we should make the rate negative).

Likewise, I’d look at (5) as a case where we should be primarily looking at capital in the stability fund and liquidation pool (my proposal to improve this in KIP-006). I think this would influence our adjustment of the collateralization requirement, but not the stability fee. Happy to discuss this though.

I think that we should have clear criteria for when we move the rate. I think it should be established for both an upwards and downwards ratcheting. Additionally, I’d like to know how much things change when we make these changes. For example it would be cool to say "a 2% reduction generally causes a 0.5% move in peg. I think that’s hard to do at the moment, since I get the feeling that a lot of peg movement is caused by XTZ price volatility [1].

Eventually I think it might be interesting to make these adjustments automatically based on kUSD price, though for a variety of reasons I’m not sure if we can do this yet (lack of a DEX with an on-contract way to fetch prices, lack of liquidity may make this volatile, and the time it takes to write / test this code). I will be interested to see how ctez, which uses a similar methodology, performs in the wild.

In the meantime, I think that we should just form some criteria that we can re-evaluate with time. My proposal (generally based on KIP-002):

Process to Lower Stability Fee:

  1. The EMA10 of peg on Quipuswap is below 1.5% for a week
    Justification: Price volatility of XTZ and lack of liquidity seems cause peg volatility. 1 week is enough data it indicates trends and won’t cause us to over-react

  2. A cut of 2.5% should be submitted
    Justification: This is a small move that can easily be reverted

  3. If during voting or timelock, we get an EMA of above 2.5%, then the proposal author should cancel the proposal rather than executing.
    Justification: This is an indicator that something else is going wrong, or conditions have changed and the adjustment should be aborted.

The change to go higher is the opposite.

Process to increase Stability Fee:

  1. The EMA of Quipuswap is above 1.5% for a week
  2. An increase of 2.5% should be submitted
  3. If during the voting or timelock, we get an EMA of below 1%, then the proposal author should cancel the proposal rather than executing
    Note: I’m not sure what the right value is here, 1% mirrors the 0.5% offset in the lowering proposal above, but I think that we might just see people arbitrage back to this point to get the proposal cancelled. It is unclear if that is working as intended.

Over time, I’d expect us to refine the parameters above (EMA10 thresholds, adjustment amount, and DEXes) and I think we could build some tools to automate this / alert us when it happens.


[1] I’d still expect that arbitrageurs would be taking advantage of this, and it might benefit us to understand how to encourage arbitrage. I think that additional DEXes and liquidity may help. The latter is perhaps possible for us to influence, the former is not.

You are right that the peg is what should determine parameter adjustment above all else. I want to reiterate that this is not designed to be a proposal. My idea is for it to aid when proposals are made and voted on.

What I am talking about is a methodology to answer the question that will come in a situation where:

  1. peg is stable based on the standards of your proposal
  2. kUSD outstanding is decreasing
  3. kUSD stability fee is high relative to market

In this case, lowering the interest rate would probably be a good solution. My hope is to have a way to help the voters justify why (or why not). I think there’s a good chance this situation will happen when the farms end.

There are also other ways it could be useful. If someone might want to propose changing the range or time of the EMA numbers you have come up with, we would have some data ready to apply to the question.

I’d like to know how much things change when we make these changes.

Peg volatility is going to be directly related to kDAO price until farms are over. Real interest rates are effectively negative since you can earn kDAO rewards net of stability fee. I think once farms are over then the stability fee will have a much more significant and measurable effect on the peg.

I don’t think establishing floors is good (in fact, there may be a case where we should make the rate negative).

I think floors can be negative. I’d argue it is negative now

I’d look at (5) as a case where we should be primarily looking at capital in the stability fund and liquidation pool

In this analysis, (5) would be an expected value that would be lost in different cases of XTZ decreasing in value. So for example if XTZ went down 30% then X amount of value would be liquidated. Then do the same for 40%, 50% etc. Then you can get an expected percentage loss for certain scenarios and have an idea of what risk premium you would expect to apply. So you could use it for the stability fee (not saying it has to be, but just an example of how)