Rebalancing, bnUSD supply and DAO Management

I fully agree with the core issue being the supply of bnUSD being too high. I am not convinced altering the max LTV is the fix.

Whatever the economic reason, the current parameters have led to this current amount of bnUSD minted. The only parameter the LTV effects is the ‘capital efficiency’ of collateral. The exact same current bnUSD supply can be maintained just by adding some more collateral.

In the short term, it will increase borrower rewards for anyone under 25%, and remove them from anyone over 35%. Okay the ones over 35% pay some back, but anyone under now has an increased incentive to mint bnUSD due to increased borrower rewards. The economics of borrowing have not changed, only which parties are receiving it.
Additionally, the current bnUSD supply is well under 25% of total collateral, so that shift can happen easily with zero change in collateral, but likely will happen with a combination of increased minting by current participants below 25% and an increase in collateral.

All economic factors of current supply still remain, so the supply should have a similar equilibrium.

This is compounded by the fact that if 10% of the bnUSD supply is sitting in large accounts, presumably to maximise borrower rewards, with the decrease in max LVT if they repay that stagnant bnUSD we have the same issue since bnUSD just held current not effecting the peg. If all of it is burned, the amount of ‘liquid’ bnUSD remains the same.
That is neither here nor there and is neutral, but I do not see this move being particularly effective in reducing bnUSD supply. And especially muted by these apparently large reserves of bnUSD sitting there.

The market has decided that current net value of minting bnUSD is worth however much has been minted currently, so I don’t see that changing much just from this move, it will just shift it around a bit between participants. Not to say it will have ZERO effect since capital efficency matters, but it takes huge moves in max LTV for small changes to the net value of minting IMO.

2 Likes

Never realized that I would have to become an economist in my sparetime :sweat_smile:.
It does seem like McLucks is on to something. As long as bnUSD is only the vehicle to access other currencies it will only increase in circulation. We need utility for bnUSD, like yield generation. Is that not possible directly on Balanced Network?
As an alternative, would it be possible to loan directly in BALN or ICX instead of bnUSD? What whould that do to the DAO?

Of course, I mean “borrow” BALN or ICX, not “loan”. Sorry.

Do you mean it isn’t the fix, or isn’t part of the fix?

What are your thoughts on how to influence/manage the supply of bnUSD?

What do you think about continuing to adjust LTV incrementally to help stabilize the peg?

1 Like

I think LVT changes wont change much in supply of bnUSD so are probably not worth the churn. Unfortunately personally I think the best fix to rebalancing is more reblancing, since I don’t see that as a problem. As it gets more, the people that dislike it will close out, and this will reduce bnUSD oversupply. But I understand it is not a popular opinion.

I think having the element of having some sort of flow where at some level some amount of rebalancing always happens is a good way to keep things pegged until bnUSD naturally becomes big enough to reduce.
If noone wants to close and people infinitely rebalance, the drag from origination will eventually make that stop too.

I am not convinced people hating rebalancing is a good enough reason to ‘fix’ it. All of this disscussion is about bnUSD supply, if rebalancing was as bad as claimed, the supply would not be too much.

Additionally there is no real benefit to having ‘more and more’ borrowers/collateral/TVL in collateral. More TVL in LPs is positive because it improves the trading costs for traders, which encourages trade. At some point a larger and larger collateral from minting bnUSD has no effect, we only need enough collateral to peg the bnUSD in existance now. When will we need more? when we need more bnUSD ie. when demand on bnUSD increases. At that time the collateral TVL will naturally increase without us doing anything.
Setting the peg tight will make bnUSD desirable, cause large rebalancing, if people exit, the borrower rewards will naturally increase which combined with a lower orgination will let people come back in, for the ones that want to. This will reduce bnUSD supply, and reduce rebalancing. If at that time, the collateral backing bnUSD becomes not enough, we can then increase borrower rewards.

One thing I would love and have no idea how to figure out, is how much collateral do we need to support pegging how much bnUSD. But theres so many factors, and one of them is ‘how much rebalancing is acceptable’

But just like ‘setting loan LVT to 25%’ will make a bunch of people close positions. Telling people ‘you are about to get rebalanced a whole bunch’ will also close positions. Why the former is better than the latter I don’t know. The best bonus is the first parties to leave will be those that are causing the msot rebalancing, by constantly working against it.

EDIT: Lastly I think limiting LTV, especially to so low is quite restrictive to growth. As I mentioned total LVT is sitting at about 17% now. Perhaps the old system where lower LVTs got borrower rewards, but higher did not can let the platform grow past 25% if there is unancipated demand on bnUSD. I know everyone can only see the reblancing in one direction, but it needs to work in the other direction too. I don’t like essentially proclaiming there is no way for the platform to grow without another vote bringing it back up

2 Likes

The 10% was curious to me as well. Perhaps the 10% bnUSD sitting on the sidelines waiting for a reduction in LTV that will kick off a mass sale of BALN & sICX and easy buy up opportunity. Let’s watch what these accounts do when this BIP passes. The moons are aligned now to play liquidity as the loan pool is among the lowest rewards and BALN/bnUSD is 3x, even stablecoin pools are way over loan…add ICX week(s) away from 2.0 and yet announced ICE airdrop so one would anticipate a pump. Let’s see what the “market” does… feels like a crunch incoming. These accounts will be the tell…

@arch Thank you for your thoughts.

It’s tricky, because rebalancing is the mechanism that should influence borrowers to lower supply of bnUSD, but the circular loop we are in seems to just be compounding the problem.

Looking at the stats it would seems it works to an extent. Right after TVL jumped from 25% to 35% there was a big jump in bnUSD, then a big drop off as people paid back loans - my guess is that rebalancing was the motivation.

The problem is that the market has an appetite for minting bnUSD regardless of rebalancing, while at the same time is screaming to fix rebalancing - which is working fine, but unfortunately not getting enough people to change there borrowing positions.

Your points on actual TVL vs. maximum TVL are interesting. I’m excited to see how things change if BIP12 gets executed.

I do think your idea of unpinning the reward threshold from the TVL% is intriguing. And may get desirable results.

I posted about finding a way to use a stability fund to adjust TVL in another thread; the idea could just as easily be used to adjust the reward threshold up and down, using rebalancing as a guide.

I truly hate to agree with anyone on a regular basis… But 100% with @arch here (again….)… The math is quite simple (and maybe just a bit over simplified). For a stable peg, we need as much people trading into bnUSD as people trading out. Short of achieving that… everything is just a bandaid.

Short of a miracle… i dont see any sustainable way to get our current investor base to trade into bnUSD (except maybe the ICX price doing x10 from here :wink: )

There could even be a deeper underlying root cause… because lets be fair. Is there anyone here even a little bit bullish on the dollar itself?

lets for a second assume this isn’t one of the many signs people are losing faith in the old greenback itself. I think it’s safe to assume the crypto crowd values dollars even less than the rest of the world.

Lets say an ICX investor needs liquidity for whatever… The fact they are ICX investors in itself means they value their ICX more than dollars. Now both OMM and Balanced give them a way to keep their ICX & get dollars. On OMM people are willing to pay (at the time of writing this) 68,61% apr on USDS, and 37,67% on IUSDC (anyone understand this difference?). And on Balanced they can get them (almost) for free… to spend on whatever they like… That in itself is an immense selling pressure for bnUSD.

Without a reason to trade into bnUSD (can anyone think of a reason to do that?) We need to add enough pain to the act of taking a loan that it offsets the fact that it is free money, and that we actually pay people to hold the free money…

Just thinking about it… Can anyone explain why it needs to be (allmost) free, while OMM shows people are willing to pay up to 70%?

1 Like

This. Its a shitty situation to force people that have the LTV maxed to sell on what might be an inopportune time. Let their loans get rebalanced down naturally, and lower the max LTV as the unbalancing happens.

1 Like

Great points made all around everybody, tough to keep up! Will try to pick a few key points to reply to. Overall I agree that LTV adjustments have a yet-to-be-seen effect on rebalancing issues, that auto-adjustments to LTV could be worth researching based on what we see from the first point, and that rebalancing ultimately handles supply issues naturally (just having some growing pains/messaging issues around it).

@arch

This is definitely true, but I don’t think it’s fair to assume that extra collateral is sitting on the sidelines waiting for a lower LTV.

So the way I’m thinking about it is that, as a protocol, Balanced is over-levered. Rebalancing automatically lowers the protocol-wide leverage, but a handful of folks keep minting more bnUSD to repurchase the sICX that was sold during this de-leveraging process.

Lowering LTV stops those people from doing that. Their collateral will be locked, and they can either payback debt to be able to withdraw, or through our algorithmic platform de-leveraging (rebalancing) it will slowly sell their collateral and payback their debt.

Of course, like you said, these people could just buy more ICX elsewhere, add it to collateral, and mint more bnUSD, but I don’t think they have the capital to do that, or they would have been using it to repurchase the ICX they sold through rebalancing instead of minting more bnUSD in the first place.

I think you hit the nail on the head here and it also speaks to my point above. Rebalancing is ultimately the answer, but given the current LTV, people can constantly reverse the rebalancing process by minting more bnUSD and buying more ICX. By lowering LTV, we mitigate how much this reversal of rebalancing can occur.

I 100% agree here as well. These two points together are what make bnUSD and our way of maintaining its peg unique. This also speaks to the Borrower Behavior section. Balanced influencers borrowers in a different way from other algo-stablecoins. Personally I think messaging and making this clear, that if you’re getting rebalanced a lot you should payback some debt, is an important piece of this puzzle; and it’s being worked on as we speak.

Overall I agree with your thoughts on rebalancing and its effect on borrower behavior, but I do still believe that adjustments to LTV can help push borrower behavior in the direction that’s most desirable for Balanced given market conditions.

@AwaxJago

I think this can be helped with messaging as well. Early on, people were encouraged (by myself and plenty of others) to repurchase the sICX sold through rebalancing and that it would work out for you. This is true in some circumstances for sure, but it’s meant to have people repurchase on exchange. Additionally, it would be better for the platform to encourage people to repay their debt when this starts happening, or borrow more when the reverse is happening

@BillGates this is also a great suggestion and I believe @AwaxJago suggested something similar in another post. Definitely have the juices flowing on algorithmically adjusting LTV.

Having said that, rebalancing kind of does this automatically. We increase or decrease platform-wide leverage based on the pricing of bnUSD against other assets (currently only sICX). So need to think more about how impactful this mechanism would be given the work needed to refine it.

2 Likes

If you look at Ethereum, most CDP stables are essentially useless (looking at alUSD, USDP, USDM, DOLA, etc.) while having an insane market cap.

So how do they keep their price peg?

Absurdly incentived Curve/Convex pools, with very high bribes (Again, look at USDM. A newly launched CDP stable with closed-sourced code.) or infinite-loop ponzi games (i.e. use crvUSDN to mint USDP via CDP).

Of course, nothing of this is sustainable, but it almost guarantees a price-peg as the market just soaks up the stables.

Without Equality Exchange being launched, I can only think of duct-tape solutions.
One eventually could be taking USDT loans for highly incentivized bnUSD-USDT LP collateral on Omm.

This would soak up bnUSD from the market and increase the bnUSD-USDT pool on Balanced.

Inverse Finance for example allows something similar (don’t borrow a provided asset, but mint a stable) for a 70% LTV on the DOLA-3Crv LP token.

These ponzi games are close to peak degeneracy, but allow to bootstrap price stability.

I am not even sure myself, if I am a fan of this or not, just wanted to leave this out here for discussion.

2 Likes

Thanks for that, those other examples are pretty interesting to think about.

One thing I find myself thinking recently is, we are all trying our best to find a novel ‘solution’ to too much bnUSD supply to reduce rebalancing, when in fact the novel solution to too much bnUSD is rebalancing.

I think discussions on reducing the various benefits of minting bnUSD should be discussed. But I think we are in general discussing it in the wrong context. Its always in the context of, “how do we make rebalancing less?”. I think they should be discussed in the context of, we only need this much collateral to safely peg bnUSD, are we overpaying minters? are we leaving money on the table? Maybe yes, maybe no. But I think discussing it in that context is healthier than discussing it as a primary means to ‘combat’ rebalancing. That can/should be a bonus goal at best. The changes should be discussed on the merit of growth/profit/etc of the platform.

I personally have great difficulty thinking of reblancing as the boogeyman. Because if it was… it would stop happening. The fact that it keeps happening means it clearly isn’t that bad. If rebalancing was so negative, minting would stop.
In that sense I also don’t see value in placating any party that is uncomfortable with rebalancing, respectfully, it does not appear to be a suitable product for them. They have the very accessible over 2500 basis point IUSDC loan available to them. A bargain compared to a mere day ago, also almost higher than CC rates.

Lets also examine the move to lower LVT. To me it looks like EVEN if it works, we traded platform revenue and ultility for less rebalancing, which does not impact revenue. Arguments around the ‘likeability’ of the platform are moot imo, if noone disliked it, noone would stop, and we would have too much bnUSD and constant rebalancing. It is incredibly expected and correct that there are participants that will and will not participate in it. If it was something agreeable to all, more minting, more rebalancing.

1 Like

Agreed again :rofl: :rofl: :rofl:

I also have another point i want to add to the discussion… When bnUSD is priced @ 0,975… every sale of bnUSD has the potential to trigger rebalancing. The same way @ 1.025 every time bnUSD is bought has the potential to trigger rebalancing.

Tightening the peg increases bnUSD utility without causing extra rebalancing. Rebalancing will allways be bnUSD bought - bnUSD sold = rebalancing. The only thing a wider peg, or more bnUSD in circulation do is spread it out over time & investors.

From my perspective lowering LTV makes no sense… I suggest the following:

  1. Communicate about rebalancing alot more, and lets be frank about it. For most people its a drawback to minting bnUSD.
  2. Tighten the peg (anything lower than 1% should quallify bnUSD as stable i think).
  3. Lower borrower rewards for now
  4. Increase origination fees for now
  5. Work on a way to dynamicly manage 3 & 4 to help stabilise the peg.

Its quite simple… Dynamic fees / rewards & rebalancing are required to keep the peg stable. With that in mind, let the market do its job.

I think we should aim for maximum ltv without compromising the integrity of the platform.

5 Likes

Now that bnUSD has been added to Omm, I wanted to bring up a few points regarding rebalancing.

  • Despite being added to Omm, the bnUSD price is still hovering around $0.96-0.$975 range on most days, with more weight between $0.965-$0.97. Thus, bnUSD is still not very attractive as a stablecoin because it rarely approaches the 1 USD price point.
  • While there is still rebalancing happening, it is much less than before. I’m not sure what all the factors that are causing this are. One thing I can mention is that for arbitrage bots that take advantage of rebalancing, it is usually only profitable if bnUSD is less than or equal to $0.9615. Over the past week, my bot has been a lot less active, which means price rarely drops below $0.9615. Instead, it seems to be stuck mostly between $0.965-$0.97, which is a weird gray area – not profitable enough for certain kinds of rebalancing bots to kick in. I’m not sure if this is due to user-driven rebalancing from the UI that is a bit more sporadic, causing price to just hover around that gray area range. If so, I think the user-driven rebalancing in the UI might be doing more harm than good.
  • Balanced network fees have dropped significantly, and I believe some part of this is due to the reduced rebalancing.

I think it would be worth testing a more aggressive rebalancing threshold between 0.5%-1%. Right now, I feel that the 2.5% is not aggressive enough, and doesn’t incentivize users to REALLY learn how to use it to their favor (rebuy on CEX, participate in arbitrage trading, etc.). I’d be curious as to what everyone thinks about this plan?

  1. Spend a week talking about the pros and cons of rebalancing to reach as many people as possible. Important things to mention are, more rebalancing = more network fees, more rebalancing = true stablecoin, more rebalancing = more opportunities to get automatic profit because it buys/sells at a premium always.
  2. Propose rebalancing threshold to 0.5%.
  3. Monitor for one week.

I think some of @Uglyrage’s ideas can be implemented as well.

In some ways, the current situation seems like a ticking time bomb. We need to make bnUSD redeemable for $1 consistently as quickly as possible to make it more attractive as a stablecoin – ideally before people lose interest in it as a stablecoin. Since Balanced has different kinds of users with different interests, someone will always be happy about any change. Thus, I think we should implement changes that prioritize the vision of the platform instead of trying to appease every single stakeholder.

1 Like

Some good points in here and definitely glad you brought it up. I agree that now is a good time to revisit the subject.

It’s actually been removed from the UI for over a couple weeks(?) because it was causing some issues on the ICON Network before migration.

Agree, I think it’s a combination of rebalancing, minting more bnUSD, then using it to buy sICX, causing more rebalancing.

There’s more to consider here that is worth mentioning now. Rebalancing essentially offers near infinite liquidity (up to the bnUSD supply) of trading within the range of the rebalancing threshold.

You can think of the Balanced DEX as a redemption center, with a progressive fee based on the amount of redemptions occurring. The progressive fee caps out at the rebalancing threshold, then the near infinite liquidity will continue (supported by borrower collateral) at the edge of that threshold.

Given that fact, we need to tread carefully as to how much of a fee is fair for near infinite liquidity at a certain price threshold, and how this near infinite liquidity could be taken advantage of. Something worth noting is that oracle prices only update every 5 minutes, so somebody may be able to take advantage of this liquidity just before an oracle price update (buy lots of cheap sICX just before update, call rebalancing post update, then sell).

Having said that, let’s get a pros/cons list started:

Pros:

  • more desirable stablecoin
  • more network fees generated (better trade execution + rebalancing transactions)
  • more opportunities to get automatic profit because it buys/sells at a premium always.

Cons:

  • Side-effects of deeper liquidity at the fixed oracle price
  • Side-effects of more frequent rebalancing

Potential enhancements to rebalancing suggested thus far:

  • Algorithmic changes to LTV based on rebalancing patterns
  • Algorithmic changes to rebalancing threshold based on rebalancing patterns
  • Algorithmic changes to Loan Fees based on rebalancing patterns

Could we add:

  • Algorithmic changes to reward threshold based on rebalancing patterns

I don’t know if this helpful, but decoupling reward and LTV - example LTV at 25% and reward at 15%.

I believe this is important. The plan looks good ~ there will definitely be differing opinion about rebalancing in step 1 of the plan.

1 Like

I have been mulling over this tight peg issue, and have mentioned it a bit in Discord so want to discuss it here.

I think there might be a way to have our cake and eat it too. And this is by decoupling the the closeness of the peg to the speed at which the peg converges.

Wtihout going into implementation, with some sort of rate limiting, that also allows a higher rate the more the peg is off by, with also possibly a wider ‘no limit’ peg width, we can have a more realistic peg.

If you think about standard common stable coins, they spend most of their time very close to 1 USD, but still, during periods of volatility, they can still move quite a bit, and moreso on isolated markets. The obvious example is on Balanced/ICX itself, where IUSDt, IUSDC, USDS has all spent some time off peg by even more than 2.5%.
The main difference is that bnUSD is off peg, and is off peg for long periods of time. If we were to invent a metric for the area under the graph for the bnUSD peg width over time, we would find its gigantically larger than other stables.

Let us also consider the extremely close peg. Even without the 5minute update delay in the oracle, if we were to peg at 0.5%, I also think its very unatural and not like other stables within a partial isolated ecosystem, for the stable to NEVER stray beyond 0.5%.

Additionally if bnUSD always stays on one side of the peg, what good is the LP, we might as well allow trading directly with the collateral and keep the fees and not need to incentivise the LP for that singular trade direction. Of course that is not what I am suggesting, just framing the context.

My suggestion to rate limit reblanacing based on how wide the peg is will do a few things.

  1. Allow extremely tight overall peg, at the cost of being much looser pegged during periods of volatility.
  2. Reduce rebalancing directly during high volatility, but spread it out over longer periods, and also reduce rebalancing when volatility is non directional.
  3. Will break the current rule of ALWAYS being able to redeem bnUSD for 1 USD of ICX, but trade that for a delay, you can still redeem it for 1 USD… later.
  4. Will slightly favour external arbitrage where people can arbitrage external markets against the DEX, versus arbitrage the DEX against the collateral pool. External arbitrage often has unavoidable time components, components that do not effect onchain arbitrage.
  5. Gives us another general lever to control rebalancing, its not only how close, but how fast. There is also no real risk in such a system since if it is made a formal parameter, it would be very easy to change the rate to ‘extremely high’ or set the outer bounds to whatever true rebalance peg we want, and return back to current system without more code changes.

I do actually have an implementation suggestion of my own, but would prefer the real experts take a crack at it and architect an implementation.

The high-level idea of adding time as a parameter to rebalancing sounds interesting, but I do want to hear more about how you think it should be implemented

This is probably going to be a mixture of down and dirty implementation ideas and algorithmic ideas.

We tally up total rebalacing amounts as they happen, and the last block any rebalancing happened.
When someone attempts the rebalancing method we decay the total based on the time (blocks) past and then compare it to the total and deny the rebalance.

I am not sure the various costs of on chain calculations so I think the best methods in decending order are:
a. Exponential decay function with settable halflife with linear fixed amount of rebalancing threshold based on settable multiplier to peg width.
b. Linear decay function with settable decay multiplier and dynamic exponential threshold based on peg width
c. Linear decay function with settable decay multipliers and dynamic threshold based on peg width linearly scaling with peg width. A safety peg width where rebalancing always succeeds.

The first 2 should not require the safety width as there should be a point depending on the parameters where rebalancing would be essentially not limited anymore, but its probably wise to have such a parameter anyway.

Ideally this is checkable with read only information plus maybe releasing the implementation for the decay function, so anyone running bots can precheck it themselves. (Can read only functions apply calculations on other read only outputs? For some sort of ‘canRebalance’)
Additionally picking an implementation where the failure check
Check total,check last rebalance, apply decay function, check against total.
Is relatively cheap gas-wise on failures.

That would be my ideas around this. What some likely curves and rates look with various initial conditions is a bit hard to come up with on hand, so some experimentation might be required.

A quick google after writing all this says BigDecimal does not have a native implementation of exp, but might be possible to implement with other native BigDecimal fucntions.

1 Like

Thank you for your effort and great work very concise clear explanation of different option result with process

1 Like