Roadmap update | December 2021

November saw the release of two long-anticipated changes: BIP6, which distributes network fees in BALN, bnUSD, and sICX instead of every currency fees are collected in; and transaction routing, which allows you to swap any assets in a single trade, even if there isn't a direct liquidity pool.

Testing and debugging for continuous rewards, our third and largest upgrade, has taken a bit longer, but should be live in about a week.

During November, the contributors:

  • Added the ability to import custom tokens (on testnet)
  • Added the ability to create new liquidity pools in the app (on testnet)
  • Continued work on multiple collateral types
  • Continued work on bBALN implementation
  • Worked on smart contract design concepts to enhance rebalancing
  • Sponsored an HX57 content bounty about rebalancing
  • Debugged and deployed BIP6
  • Debugged and deployed transaction routing
  • Debugged and tested continuous rewards
  • Worked on v2 of the balanced.network landing page
  • Worked on a product page for Balanced Dollars

Quality of life and code improvements:

  • Fixed bugs associated with transaction routing and BIP6
  • Refactored front-end data structures
  • Added more information about rebalancing to the app
  • Repositioned the banner messages for mobile devices
  • Enhanced the Stats page for mobile devices
  • Fixed number formatting issues on the Trade page
  • Fixed the backend APIs following ICON 2.0 migration

Governance updates

In the last month, the community approved 2 proposals:

BIP13 adjusted the BALN allocation between the incentivized stablecoin pools to better compensate IUSDC liquidity providers, whose pool consistently sees the highest 24 hour volume.

The specific changes were:

  • IUSDC / bnUSD: 1.5% -> 2.5%
  • USDS / bnUSD: 0.5% -> 2%
  • IUSDT / bnUSD: 3% -> 0.5%

DFP2 funded Balanced's first community project. Foligator is a dashboard you can use to monitor and track your liquidity pool returns on Balanced, including:

  • Total deposits and net yields for all pools
  • Portfolio history
  • Open positions
  • Pool-specific data
  • Impermanent loss details (current liquidity value vs the value if you held)
  • BALN ROI, Price ROI and net ROI
  • "What if?" scenarios
  • Yield planner

This is a great community initiative, and a good reminder that one of the core uses of the DAO fund is to fund projects that build on Balanced, further decentralizing the protocol. If you have an idea you'd like to pursue, start a discussion on the Balanced forum to get feedback and support from the community.


Continuous rewards

Continuous rewards is still undergoing testing, and we expect to have it live in the next week or so. As a recap, loan and liquidity rewards will accrue in real time, so you can claim your Balance Tokens as you earn them. Network fees will still be distributed every 24 hours.

Note to liquidity providers: When this update is released, all BALN-incentivized pools will require you to stake LP tokens to earn BALN. Keep an eye on Twitter, Telegram, or Discord for that update announcement. We'll also add a message to the app so you don't miss the change.


New collateral types

Balanced's data structures have now been modified to support additional collateral types. The next step is to add a collateral symbol to any method that deals with additional collateral types, and rework sections of the code that directly reference sICX and BALN.

The interface changes to support additional collateral types are almost complete, as well. It won't be long before the code is ready for some thorough testing on the Sejong testnet, and the community can vote to add Balance Tokens as the first new collateral type.


Boosted BALN

During November, one of the devs focused on unit tests (which isolate a section of code and verify that it's correct): learning Java's unit test framework, researching Curve's unit tests, and writing and optimizing basic tests for boosted BALN.

The boosted BALN unit tests will be completed within 2 weeks. The next step is to look at Curve's Liquiditygauge contract, which is used to boost the rewards, and convert that for use with Balanced. The developers have also begun work on the interface changes required for this functionality.


Balanced Dollars and rebalancing awareness

To increase awareness and understanding about the rebalancing process, HX57 hosted a content bounty. The winners were announced today:

1st place:

2nd place:

What is Rebalancing and how it works? BalancedDAO
Rebalancing has been one of those concepts which most of us have wondered as a mystery box even as the early users of BalancedDAO.

3rd place:

Make sure to take a look โ€“ you might learn something.

On the product side, you'll now see a message about rebalancing when you first open a loan. The rebalancing tooltip has been updated to use the same message, and now displays your average rebalancing price (bnUSD รท sICX for that time period). The liquidation price was also relocated to the risk ratio bar to make way for the current price of bnUSD, so you can better monitor when rebalancing is likely to occur.

As for the website, there are several designs in the works: a new Balanced Dollars product page, and an overhaul of the landing page to better highlight Balanced's strengths.


Targets for December

Ever since Balanced launched in April, the early contributors have been focused on adding new features while trying to squeeze in time to clean up the code and remove technical debt. In December, we want to take this opportunity to improve our best practices, refactor code, repay the technical debt we've accumulated, and spend more time testing the upcoming major feature upgrades, bBALN and new collateral types.

Specifically, we'll take this month to:

Create best practices for new feature deployments:

  • Set up versioning of all contracts with semver
  • Write test plan / release requirements
  • Write a contributor's handbook

Clean up the smart contract code and add better APIs:

  • Standardize all interfaces used in the code
  • Review / clean up methods
  • Add short docs to each contract
  • Remove unused methods

Create best practices for testing smart contract upgrades:

  • Validate and clean up unit tests
  • Validate and clean up integration tests
  • Make test runs less brittle - invoke all tests from the CLI instead of IDE
  • Add continuous integration testing on GitHub Actions

We'll also continue to:

  • Refactor the frontend code
  • Implement and test bBALN
  • Implement and test multi-collateral bnUSD

If you have any questions or want to discuss these changes, join our growing Discord channel.