Roadmap update | November 2021
Transaction routing, BIP6 network fee implementation, continuous rewards, liquidity pool updates, and more.
There's been a lot going on since our October update, with big-ticket items like transaction routing, BIP6, and continuous rewards; new trading pairs; and the ICON 2.0 upgrade. Let's get right into it.
In October, we:
- Completed transaction routing
- Completed the network fee adjustments outlined in BIP6
- Reached the final stages of testing for continuous rewards
These 3 features are all major upgrades, so we'll be staggering their deployments to mainnet over the next 2 weeks. We'll post an announcement for each upgrade on Twitter as they happen.
We also:
- Researched and analyzed various strategies for borrowers to hedge against rebalancing
- Made progress on bBALN implementation, with the initial smart contract code now on testnet in Java
- Added new collateral types on testnet
- Researched the effects of new collateral types on the supply and demand of bnUSD
- Continued R&D for live voting
- Designed the custom liquidity pool UI
- Drafted new content for the website to better reflect Balanced's offering and provide more transparency about rebalancing
- Added liquidity pools for IUSDT and METX
- Added the ability to view & manage your collateral as ICX or sICX
- Increased the Balanced bug bounty to $200,000, as per DFP1
Quality of life and code improvements:
- Fixed activity history messages for unstaking sICX and claiming ICX
- Fixed a bug with the collateral chart on the Stats page
- Fixed smart contract bugs
- Updated the app to retrieve the origination fee and LTV values through a blockchain API call, instead of using hard-coded numbers
- Added a Ledger confirmation prompt when voting
- Enhanced the front-end coding standards
- Reorded the list of liquidity pools
- Reordered the BALN allocation list on the Proposal and 'New proposal' pages
Governance updates
Since the last roadmap update, the community has approved several proposals:
- DFP1: Increase Immunefi bug bounty to $200,000
- BIP9: BALN allocation adjustment (to incentivize an IUSDT/bnUSD liquidity pool)
- BIP10: Reduce the origination (borrow) fee to 0.75%
- BIP12: Lower the loan-to-value ratio to 25%
The details of each proposal have already been enacted. BIP12 caught some borrowers off guard: if you had a loan of more than 25% of your collateral value, you'll now need to repay some of it before you can unlock any collateral.
The discussion is thriving on the Balanced forum, so make sure you check in regularly to see what ideas are being considered for the network.
Transaction routing
If you've ever had to make several trades to get the asset you want, you'll love transaction routing. Choose the asset you want to swap, then select any asset to receive. The front-end will provide the best route for your trade every time, so you only have to do it once.
For example, if you wanted to swap ICX for bnUSD, you might think that ICX -> sICX -> bnUSD
is the best option. But Balanced might calculate that ICX -> sICX -> BALN -> bnUSD
nets you a higher return – even though there are more hops, and therefore, more fees – so that's the route it takes.
Transaction routing is the first upgrade we’re rolling out in this release, so it should be live within a few days of this post.
BIP6: Distribute network fees in BALN, bnUSD, and sICX
The community voted to limit the assets distributed through network fees. Starting later this week (assuming no issues with ICON’s smart contract audits), you'll receive network fees in only 3 currencies: sICX, bnUSD, and BALN. All other assets will be sold for BALN before being distributed, which may in turn drive up the demand. Watch this space.
The smart contract implementation for BIP6 was done by a community contributor. Many thanks for a job well done. 👏
Continuous rewards
Upon the launch of continuous rewards, you'll no longer need to wait 24 hours to claim. Loan and liquidity rewards will accrue in real time, so you can claim your Balance Tokens as you earn them. Network fees will continue to be distributed once per day.
This update removes the reward threshold for borrowing, which required a minimum loan of 50 bnUSD, and a maximum of 25% of your collateral value. Now everyone who borrows will earn BALN, based on the size of their loan.
Liquidity providers are also affected by this change. To earn BALN currently, you need to supply at least 10 of the base asset (for BALN / bnUSD, the base is bnUSD), and your assets are locked for the first 24 hours. Those requirements will be removed.
When continuous rewards goes live, you'll need to stake LP tokens before you can earn BALN from a supported liquidity pool. LP tokens represent your position in a liquidity pool, and you'll earn BALN while they’re staked, in addition to a share of the fees generated by the pool. This behavior is more in line with industry standards of liquidity provider rewards.
The Liquidity Details section has been modified to work with the changes required for continuous rewards. Each pool now expands when you click it, which is where you can view/manage your LP tokens and withdraw liquidity.
As a result of this upgrade, network fees and voting weight have been removed from BALN liquidity providers. View Preparing for bBALN: LP network fees and voting weight for more details.
Custom liquidity pools
We've also been working on the design for another change that concerns liquidity providers: custom liquidity pools.
According to Balanced’s performance details, the exchange generates the most income, so one of the easiest ways to increase revenue is to increase the variety of assets available to trade. Each third-party asset listing has so far required support from the Balanced contributors, so we wanted to provide a more direct, decentralized solution – that doesn't require you to know your way around the command line.
These designs also include the ability to search by asset name, ticker, or contract address, to make it faster to find the asset or pool you need as Balanced's offering continues to grow.
We aim to have the custom liquidity UI implemented for our next roadmap update, and will release documentation alongside it to guide people through when and how to create a liquidity pool.
Boosted BALN progress
The code from Curve’s smart contracts has been rewritten from Solidity into Java, so now the developers are adapting the code for Balanced. Specifically, the tokenFallback
method, which is called when users send BALN to the contract to be locked, requires more customization and is one of the more complex aspects of this initiative.
We've finished the interface design for locking BALN, receiving bBALN, and managing your boost across different pools. The next step is to build it in React and hook it up to the smart contracts when ready.
Rebalancing hedge strategy
Contributors for the Balanced DEX and economic design tested a hedging strategy for borrowers that want to mitigate the effects of rebalancing. This strategy was first proposed on Twitter, and has now undergone formal testing. Those with moderate software development skills can view the pull request here, which contains the test environment.
The tests found that borrowers can mitigate 100% of the effects of rebalancing by participating as a liquidity provider for bnUSD and their collateral type. The test was done with a small set of borrowers and liquidity providers, but we can conclude that it will work, on average, with a larger set.
Let’s say that Bob borrows 1,000 bnUSD, representing 1% of the total bnUSD supply. Bob should then add liquidity to the sICX / bnUSD pool until his pool share is 1% or more. By holding 1% of the debt and 1% of the liquidity for the corresponding pool, Bob will have hedged himself, on average, against the effects of rebalancing.
The ability to mitigate any effects of rebalancing creates a strong incentive for borrowers to also supply liquidity to the corresponding pool. Note that while being a liquidity provider hedges against rebalancing, rebalancing does not hedge against being a liquidity provider. You should still expect to see fluctuations in your total ICX holdings as a result of your LP position, not rebalancing.
Targets for November
During November, the Balanced contributors plan to spend their time on:
- bBALN smart contract testing and development
- bBALN front-end implementation in React
- New collateral type testing, starting with BALN
- New token listings, starting with GBET
- New Balanced landing page design
- New product page for Balanced Dollars
- HX57 content bounty surrounding rebalancing
- Research into mechanisms to enhance the efficiency of rebalancing
- Custom liquidity pool implementation
- Continued smart contract migration from Python to Java
If you have any questions or want to discuss these changes, join our growing Discord channel.