bnUSD Savings Rate, Real World Assets, and the next pocket of growth for Balanced

As I continue to observe the industry and think about next steps for Balanced, MakerDAO has stood out as a good source for new initiatives. One particular area of interest is the DAI Savings Rate, which recently drew attention when it rose as high as 8%. It’s fueled by two key areas:

1.) Ongoing interest charged to DAI borrowers
2.) Additional incentives from revenue (e.g. interest earned from US government bonds purchased by MakerDAO)

I’d like to propose that the DAO begin preparations for a “bnUSD Savings Rate” using both of these initiatives as ICON gets closer to launching xCall on multiple networks. These initiatives go hand-in-hand, but I’ll focus this post on the mechanics of the bnUSD savings rate along with the first step to funding it, then lightly touch on how it feeds into the second piece.

bnUSD Savings Rate Mechanics

Purpose: Increase demand for holding bnUSD

TLDR:

  • Stake bnUSD
  • Earn interest on your bnUSD
  • Interest can come from many places, starting with BALN inflation and interest charged to bnUSD borrowers

Since bnUSD can be minted with other approved stablecoins (e.g. USDC), you can think of the bnUSD savings rate as a way to attract more stablecoin holdings to Balanced. Basically, it increases demand for bnUSD relative to non-yield bearing stablecoins. The higher the savings rate, the more demand for holding bnUSD. It’s comparable to what the federal reserve is doing when raising interest rates. It increases demand for holding USD.

The bnUSD savings rate will work similarly to a combination of sICX and bBALN. Similar to sICX in that redemption value will increase as more bnUSD (and potentially other tokens) are added to the bnUSD Savings Rewards pool, and similar to bBALN in that staked bnUSD will be locked.

The bnUSD savings rate can be funded by any number of sources, however, the initial source of rewards will be from two places:

1.) BALN inflation
2.) Interest charged to bnUSD borrowers

Ongoing interest charged to bnUSD borrowers

TLDR

  • bnUSD borrowers will start to pay interest
  • Interest rate is adjustable
  • Amount of interest going to savings rate vs fee earnings will be adjustable

The interest charged to bnUSD borrowers will accrue linearly and ideally compound at every interaction with the loans contract, but @Andell let me know the best way to design this. I imagine a totalDebt variable that increases each time a user interacts with the loans contract, while each user position will have a shareOfDebt variable (or some kind of non-transferrable LP-style token representing their share of the debt pool).

The interest rate borrowers pay will be adjustable by the DAO. The amount of interest redistributed to the savings rate vs. being captured by fees for the DAO is also adjustable.

Additional incentives from RWA revenue

A key objective of this initiative is to gather RWAs (“Real-World Assets”) as collateral for bnUSD, then earn revenue for Balanced via the interest earned. As an example, according to this Dune dashboard as of September 19th 2023, MakerDAO has over $100M USD of annualized revenue from interest earned from RWAs. A portion of this revenue can then be used to pay a higher interest rate to staked bnUSD.

Proposed Parameters

I’d like to propose the following initial parameters:

Borrower Interest Rate: 2%
Allocation to Savings Rate vs. Balanced Fees: 100% vs 0%
Modification to Origination Fee: change to 0.2%

I’m looking forward hearing any feedback and to seeing this proposal become a reality, I’ve been thinking in this direction for quite some time. MakerDAO has shown the path forward to increasing revenues in a high interest rate environment, and Balanced has all the capabilities to quickly follow-suit.

The next step after discussing on the forum is to begin implementation of the bnUSD savings rate and changes to the loans contract to support ongoing interest. From there, we would do an on-chain vote to upgrade the contract logic.

From a timing perspective, I wouldn’t want to activate this feature on main net until ICON has good access to USDC through the xCall service. This should come with the main net deployment of the Archway IBC connection, as the Cosmos Ecosystem recently received native USDC.

5 Likes

Just a few quick Qs off the top of my head.

  1. Where will Balanced be getting the funds to buy the RWA, It doesn’t seem so clear to me from the post.
  2. What happens to bnUSD in LPs
  3. Normally a ‘rate’ is stated annually, so for our example at 2% per annum. And mortages etc normally just divide it simply, so theres very minor compounding there. But I think, and I don’t have the numbers so maybe I’m off, if we start to compound every contract interaction, that that would veer a bit more? Not sure what the end effective rate will be. I guess in general also, splitting the annual rate needs us to know how often its going to happen. I can’t find any calculators that go higher than ‘daily’.
3 Likes

Even though I don’t comprehend the entire plan, it seems very interesting and I would vote yes for this as it is an innovation forward!

Good work Scott:)

3 Likes

Thanks for the replies folks. Good questions @arch - will address below

1.) Think of it this way - we will approve RWAs to be added to the stability fund. But why would somebody swap their RWA through the stability fund for bnUSD? They’d only do it if the rate was RWA rate + more, that’s where the bnUSD Savings Rate comes in. As we acquire RWAs, we’ll use those profits to pay out the bnUSD savings rate, at least during the bootstrapping phase. This way we ensure the rate is always higher than their vanilla RWA.

2.) It doesn’t earn any yield, just like USDC in LPs. I suppose this may lower liquidity, but there’s a number of adjustments we could make depending on how impactful this is.

3.) I don’t want to reinvent the wheel here. Whatever MakerDAO does, and the other CDP-style protocols (e.g. Liquity), we’ll just handle it the same way.

Generally, more details will follow as we explore implementation details. This is more to gauge interest in this next step/direction.

2 Likes

Just adding my initial implementation thoughts.
So a loan position would be changed to instead have a debt share of a collateral total debt.
We start tracking each collateral debt shares. This makes us open to manipulating the total debt for a collateral while having everyone take a fare share of the interest.

However this would only be visible internally, most position interfaces, liquidations and similar would stay exactly the same.

For interest compounding we would set the rate to be equal to the continuous compounded interest need to result in the yearly rate we want. And then apply the rate with every interaction with either the saving or loans contract or both.

This should be the natural log of the yearly interest so ln(1.02) = ~1.98%
Depending then how often it is compounded it will be somewhere between 1.98%- 2% But we will in most cases trigger it at least once a day which will result in very close to 2%.

Another option would be to decide a fixed timeframe on which we compound the interest, like say once a day and set our interest rate accordingly but will be slightly more complicated. But would be more exact.

5 Likes

I’m all for it.

One question about the rewards. Is users bBALN position going to affect the savings rate? If so, will it be for BALN emissions only or the overall rate?

We could drive the demand up for not only bnUSD but BALN as well along the way.

3 Likes

Good question - I’d suggest having the BALN allocated to the bnUSD savings rate work similar to the Loans portion, where it’s a fixed amount.

As for earning a higher amount of the BALN depending on locking BALN, I’m open to that. Leaning yes for now - @Andell how much additional complexity would this add in your opinion? Would work the same way as loans, fixed amount of BALN emissions, but can earn more or less depending on bBALN amount.

The downside of this would mean we’d need the bnUSD to be locked. It can’t ever be some transferrable token like sICX, which would be a potential downside if we wanted other integrations like sDAI has.

1 Like

It terms of difficulty it should not be much different from the rewards contract of the dividends contract. So should not be very hard.

Alright, my latest thinking is this:

1.) Stake bnUSD for sbnUSD, which earns the base bnUSD earnings. sbnUSD would be transferrable

2.) To earn extra rewards for your sbnUSD, you need to lock it. This will enable you to earn BALN, and any other reward token that ends up incentivizing this process.

This gives us the benefit of transferability like sDAI and sFRAX, while also allowing us to incentivize with additional tokens. Thoughts @Andell (or anybody else)?

2 Likes

I was wondering the same thing as @hetfly regarding bBALN boosting rewards … I like the idea in isolation, but do wonder if it would impact rates enough to dissuade new users from on-boarding. Im not entirely sure though.

Yeah this would work, and we could even apply bBaln boost to the extra rewards if we got this way.

2 Likes

All in for this proposal, really exciting.

1 Like

Guess ill have to start paying my loan down. The fiat onramps still suck though.

1 Like

On that note, I’ll just highlight that none of these changes will take effect until there’s an easy, clear and low-cost way to convert USDC into bnUSD. Right now the main way is Orbit Bridge, and we don’t want to rely on that. I expect IBC with Archway using Cosmos-native USDC to be the next best option.

1 Like

Maybe I missed it but will it be possible to buy/sell RWA on Balanced at some point?

2 Likes

I hope that the price of bnUSD and stable fund function will be normalized as soon as possible.

It’s very sad that we can’t even buy ICX comfortably with bnUSD.

Now that Omm is gone, I hope there will be more ideas to utilize bnUSD.

Please apply quickly with Archway(USDC) connection.

2 Likes

Just to follow up on this thread. The next steps are to begin implementation. Once completed, the code upgrade will be put to an onchain vote. Looking forward to making this happen. I’d say a conservative timeline would be to have this up on main net before the end of the year.

1 Like

Just wondering why we are always using BALN for incentives. Could we use our DAO’s ICX for incentives, and ICON can help fund that so we can keep Balanced USD at a dollar. Since a stable Balanced dollar benefits all of ICON I’m not really for printing BALN, it just seems like we are always playing catch up, instead of staying ahead in security, usage, and profitability.

I don’t know at this time if I would vote to increase BALN production when this vote pops up in a few months as we have other assets to use at our disposal:)

Let’s not forget BALN has bleed 300% worse than $ICX over the last 14 months. It’s time to stop the bleeding and make up that 300%

Nobody suggested this.

Also, i’ve now seen you say this on two different threads. For one, this is not possible. The most something can drop is 100%, just a rule of math. Secondly, please keep to the topic of the thread that you’re posting on. Thank you.

ICX has performed 300% higher than BALN over the last year and a half. That is a fact, I understand basic math but write these responses from my phone.

To answer your other question you mentioned using BALN inflation to pay interest to BNUSD holders. That will simply devalue BALN even greater.

We need to make decisions on BALN like Craft has done over the years to prop up its token, every decision we seem to make devalues BALN. Use ICX or BNUSD but not BALN inflation as incentives.

That is my point. I was replying to your Sept 21st post.