Roadmap update | June 2022
Smart contracts in Java, a Stability Fund for bnUSD, and what's coming in June.
The Java smart contract migration continued during May. There are now only 3 core contracts remaining, which will all be deployed within the month. Although the migration has consumed the majority of the developers' time, it didn't prevent them from shipping additional updates, like the Stability Fund, which has been a gamechanger for maintaining the price of Balanced Dollars.
Here's what was accomplished in May:
- Deployed Governance, Dividends, bnUSD, and Staked LP contracts in Java
- Continued testing the Java migration process for the Loans, Rewards, and DEX contracts
- Designed, discussed, implemented, tested, and deployed the Stability Fund
- Designed and began implementing a UI for the Stability Fund
- Designed and began implementation of a Stability Fund section on the Performance Details page
- Updated the Stablecoin page to move away from the "algorithmic stablecoin" narrative
- Designed and began implementing an enhanced liquidity pools section to make it easier to supply liquidity and view APYs
- Connected the multi-call contract to the Balanced app for more efficient API calls
- Implemented a backend API to leverage a new ICON node feature that allows developers to query for data at a specific block height
- Created a Balanced JavaScript SDK and added it to npm to make it easy for projects to integrate the Balanced contracts
Quality of life and code improvements:
- Limited session times to 60 minutes to prevent wallets from being signed in indefinitely
- Fixed the vote time remaining for active proposals
- Began making licenses for the Balanced GitHub repositories to align with common coding standards
- Fixed an issue that caused the Home page to crash after claiming rewards
- Changed the amount of network fees you can claim in one transaction from 50 days to 30 days
Stability Fund
The notorious collapse of UST and LUNA (now LUNC) tested the stability of bnUSD, and prompted the Balanced contributors to launch a Stability Fund to reduce the reliance on rebalancing. The feature went from ideation to implementation to a vote within 48 hours, and has exceeded all expectations.
The Stability Fund allows you to mint or burn Balanced Dollars 1:1 for approved stablecoins (IUSDC and USDS), minus a 0.5% fee. Since its launch, bnUSD has barely risen above $1.04 β well below the rebalancing threshold of $1.10 β so rebalancing is now a last resort feature to protect the peg. π
How should you use the Stability Fund?
If bnUSD is above $1:
- Send IUSDC or USDS to the Stability Fund to mint an equivalent amount of bnUSD (minus a 0.5% fee).
- Sell the bnUSD at a premium for more stablecoins.
- Repeat until it's no longer profitable to do so.
If bnUSD is below $1:
- Send bnUSD to the Stability Fund to burn it, and receive an equivalent amount of IUSDC or USDS (minus a 0.5% fee).
- Use it to buy cheap bnUSD.
- Repeat until it's no longer profitable to do so.
Currently you can only interact with the Stability Fund smart contract, but the Trade page will be updated this week to support it. When you trade bnUSD with IUSDC or USDS, you'll get to choose to perform a regular swap, or trade through the Stability Fund.
The collapse of UST was a harsh reminder that even stablecoins aren't risk-free. To restrict Balanced's exposure to each stablecoin, the Stability Fund has a hard cap of 2 million IUSDC and 2 million USDS. IUSDC has already reached its limit, so a vote is ongoing to raise the cap to $2.5 million. Voting will end about 36 hours after this post is published, so if you haven't voted on BIP23 yet, go and do so now.
With the pending launch of ICON Bridge and BTP, the community can vote to accept stablecoins from other ecosystems. The future of bnUSD as a fully-fledged, multi-chain stablecoin is almost here.
Java migration
All going well, the last of the core smart contracts (Rewards, Loans, DEX) will be deployed in Java later this week. Some issues arose after deploying previous Java contracts, so the final 3 will be launched one at a time to allow for thorough testing before moving on to the next one.
BALN in liquidity pools no longer holds voting power, and as soon as the final contracts are live, only staked BALN will receive network fees. If you're a BALN liquidity provider, keep an eye on the Balanced Twitter so you're aware when rewards change for you.
Continuous rewards will be activated 1 week after the final contract has been deployed. At this time, liquidity providers will need to stake LP tokens to continue earning BALN from incentivised pools. The LP token staking UI will be released a few days in advance of this deadline.
As a refresher, these are the changes coming with continuous rewards:
- Loan and liquidity rewards will accrue in real time, so you can claim BALN whenever you have a balance available (network fees are still daily)
- Loans of every size and risk level will earn BALN
- Liquidity in BALN-incentivised pools will no longer be locked for the first 24 hours
- Liquidity providers will need to stake LP tokens from the liquidity details section to earn BALN from incentivised pools
- BALN in liquidity pools no longer earns network fees, and isn't factored into voting weight
With the Java smart contracts completed, the Balanced contributors can finally prioritise and ship new features, including bBALN, multiple collateral types, and a custom ICON Bridge UI. The UI/UX has already been designed for these features, so the next step is to scope out the backend/smart contract work and begin implementation.
If you have any thoughts or suggestions to improve Balanced even further, feel free to share them on the forum or Discord.
Monthly performance
In the month from 9 May - 8 June, Balanced earned 9,099 bnUSD from loan fees and $74,208 from swap fees, for a total of $83,534 β a 130.3% increase from the previous month.
The DAO Fund increased by $73,873 β a 3.91% gain β to leave a total balance of $1,962,799 based on current market prices.
Targets for June
- Deploy the final Java smart contracts π
- Activate continuous rewards
- Limit voting power and network fees to BALN stakers
- Upgrade the liquidity details section to support LP token staking and display more pool details, including the APYs
- Update the Stats page to display the implied BALN staking and LP fee APYs
- Clean up and refactor the smart contract code to remove pre-Java redundancies
- Add the Stability Fund to the Performance Details page
- Plan and prioritise work on new features
- Continue planning Balanced's cross-chain strategy
- Add ICON Bridge to the Balanced app (assuming the Nexus interface is completed)
- Continue to design a new landing page for the Balanced website
- Rework the Stablecoin page to include the Stability Fund
- Begin designing an updated Stats page
If you have any questions or want to discuss these changes, start a discussion on the Balanced forum or in the Discord channel.