Use BALN, sICX and bnUSD in the DAO Fund to mitigate rebalancing

I am a fan of reducing the constant negative slide of my sICX holdings but I’m not a huge fan of this proposal’s approach to using DAO funds. I think, “closing the loop” with an ability to arbitrage out the “too high price of sICX on the Dex” is really the priority.

Couple other options:

  • Rebalancing preference/threshold per wallet that gives those that prefer rebalancing (ie, willing to risk the price going down enough to make it worthwhile) in order to potentially grab sICX at a lower price to participate more often than others that prefer being infrequently rebalanced. See what the crowd says. This is almost like allowing someone to short sICX with the benefit of fewer rebalances for the rest of us.

  • I’ve not thoroughly gamed this out but I would think you could keep the borrowed amount stable, don’t burn the bnUSD and instead push the bnUSD to the wallet in the case of high sICX price on Dex. It may be an option per wallet rather than forced but it would eliminate the need for me to reborrow to buy back sICX with origination fees and would feel less like I lost money (I didn’t, I know, it was just reduced liabilities) but rather was made whole by selling my sICX. I would have the option then of putting that towards my outstanding balance or buying sICX. Who am I kidding, I’m buying baln! :slight_smile:

  • Add utility to bnUSD with low risk - yes, having additional arbitrage options is important and there’s always the LP’s, but if I have to arbitrage or risk impermanent loss it’s not fun. If I want to use bnUSD, then the peg will be less likely to slip. There are plenty of possibilities but it could be along the lines of locking bnUSD to earn interest/fees. Use the locked bnUSD first before minting while borrowing. Have burn bnUSD first check if there are any unlock requests/locked bnUSD that were borrowed against to resolve before burning. That way locked bnUSD holders could gain a portion of the fees each time they were borrowed.

This is a pretty cool concept - I definitely like it. It could be implemented very similar to the ICX queue in sICX/ICX. I don’t know if this way would earn interest, but it could definitely be the recipient of the origination fee. If your full loan cycled through this kind of queue each week and you picked up 50 bps per cycle, I think you could earn 30% APR. This would be at the expense of BALN token holders earning these fees though.

Thanks. If there’s enough interest, I can start a discussion on this specific use case for bnUSD and see where it goes.

I was meaning to reply here and it slipped through the cracks, but I think a better idea that accomplishes the same goal is just incentivizing people to deposit bnUSD into Omm rather than providing an incentive to just lock bnUSD, which doesn’t really add much tangible value. At least if it’s on Omm then it can be borrowed by somebody else. Overall the direction is good, just suggesting a slightly more productive way to lock up bnUSD

Would creating a stability fund that acts as a catalyst for adjusting TVL be possible?

Start with 1% increments and adjust daily.

  • If negative rebalancing is triggered, then the fund uses sICX to buy bnUSD.
  • If positive rebalancing is triggered, then the fund uses bnUSD to buy sICX.
  • If negative rebalancing is triggered and the fund holds no sICX then the TVL will drop 1% and the fund will go into a dormant cool down for 24hrs.
  • If positive rebalancing is triggered and the fund holds no bnUSD then the TVL will increase 1% and the fund will go dormant for 24hrs.
  • If TVL is increased on consecutive rebalances or decreases consecutively, then the percentage change in TVL will increase by 10%
  • If the after a dormant cool down period, the next rebalancing function is opposite (for example a positive rebalancing call, TVL increase, and cool down followed by a negative call, or vice versa), then the percentage change in TVL will decrease by 10%

Walk through:

TVL is set at 25%.

Negative rebalancing is called continuously until the fund has zero sICX.

The first negative rebalancing call that happens with 0 sICX in the fund will trigger a TVL drop of 1% (25% to 24%) and the fund goes into a dormant cool down for 24 hours.

After 24 hours, the fund goes live again and awaits the next rebalancing call.

The next rebalancing call is negative again (with the fund holding zero sICX), triggering TVL to drop 1.1% (from 24% to 22.9%), and the fund goes into a dormant cool down for 24 hours.

This continues 3 more times, with larger increments of change each time: 1.21%, 1.33%, and 1.47%, dropping TVL to 18.89%.

The next rebalancing call is positive, the fund uses bnUSD to buy sICX to secure the peg. Also, because this is opposite rebalancing and after a cool down, so the incremental adjustment drops by 10% from 1.47% to 1.32% — no adjustment is made to TVL, just the extent at which TVL will be adjusted the next time adjustment is needed.

Thoughts?

2 Likes

I like this idea a lot. I don’t fully see the need for a “cooldown” period of the stability fund and the reliance on stability fund resources. Overall this is what I’m thinking.

LTV can be adjusted on a daily (or maybe weekly) basis:

1.) If negative rebalancing is triggered, regardless of status of the stability fund, check the last time LTV was adjusted. If more than 24 hours, lower LTV by x%

2.) If positive rebalancing is triggered, regardless of the status of the stability fund, check the last time LTV was adjusted. If more than 24 hours, increase LTV by x%

This provides a dynamic LTV without needing to wait for the stability fund to dry up in one direction, also a bit less complicated from an implementation standpoint. Let me know what you think

Also, just want to point out that you keep confusing LTV (the amount you can borrow) with TVL (amount of assets locked on Balanced) lol couldn’t resist pointing it out.

Yes, I’m all over the place with those acronyms.

1 Like

Coming back to this thread, I think I’m going to have a community dev work on building this contract. Building the contract just prepares us for an on-chain vote if we do decide to do it. The logic will be as outlined in the original post, minus the reliance on BALN, as there was some negative feedback there and I also wasn’t convinced personally that this was the best choice.

When we add new collateral types, then we can start adding those to the stability fund overtime as well.

Here is the plan:

I’d like to create a Java SCORE that the DAO can fund at anytime in order to help keep the peg of bnUSD stable. Here is how it would work.

Scenario 1: sICX is too expensive on the DEX (this is the most common situation we are experiencing)

How it works now:

  • rebalance method is called on the Rebalancing smart contract
  • rebalance contract sells sICX collateral from borrowers for bnUSD
  • bnUSD is used to payoff their debt and burned

How it would work:

  • rebalance method is called on the Rebalancing smart contract
  • rebalance contract checks the Stability Pool contract to see if it has any sICX
  • If the Stability Pool has sICX, then the Rebalance contract will sell sICX from the Stability Pool for bnUSD. The bnUSD will be added to the Stability Pool
  • If the Stability pool has 0 sICX and 0 BALN, it will move on to borrowers (how it works now)

Scenario 2: sICX is too cheap on the DEX

How it works now:

  • rebalance method is called on the Rebalancing smart contract
  • rebalance contract mints more bnUSD for borrowers
  • Minted bnUSD is used to buy sICX
  • The purchased sICX is added as collateral to borrowers’ collateral positions

How it would work:

  • rebalance method is called on the Rebalancing smart contract
  • rebalance contract checks the Stability Pool contract to see if it has any bnUSD
  • If the Stability Pool has bnUSD, then the Rebalance contract will buy sICX from the DEX using bnUSD. The sICX will be added to the Stability Pool
  • If the Stability pool has 0 bnUSD, it will move on to borrowers (how it works now)
1 Like

Will we be able to withdraw the bnUSD from the stability pool, if for example we want to use it in POL or some other use.

I like this idea a lot. The people who were peeved by constant rebalancing would like it too. It would be interesting to see how a contract like this would work if you also (in the future) allowed things like BTC and ETH as collateral types, and what that would do to rebalancing.

1 Like

I’ve been thinking of this stability fund and something seems not quite right.

To me I have only felt I lost to rebalancing when it Did Not happen, and then did, during a protracted fall.
Doesn’t this stability fund front run the juiciest parts of rebalancing, and is more likely to create genuine losses when it runs out and rebalancing actually happens…

Yes of course, the DAO Fund will still own the assets in the Stability fund

Yes this could happen in some situations, but overall the goal I’m trying to accomplish here is simple. I believe it’s an objective statement to say that if rebalancing never occurred to borrower accounts, Balanced would provide a better user experience, a more stable form of leverage, and attract a broader audience. I of course understand that rebalancing is often a good thing for borrowers, I like it myself as well, but can see the objective benefit of being able to offer cheap leverage without rebalancing occurring at all, or at least as infrequently as possible.

The stability fund is just one piece of the puzzle to accomplish this imo. So at this point, I’m happy to get it built and on main net, then go from there. Just building the contract and getting it ready

2 Likes