News & Updates

Sovryn's roadmap for leaving Alpha

July 6, 2023
min read

In late 2020, Sovryn Alpha launched to a limited, invite-only userbase. This userbase was gradually expanded until eventually, in March 2021, the invite-only restriction was removed and Sovryn Alpha was open to the general public.

Since Sovryn's grand opening, and through numerous design and software updates since then, the app has kept the name "Sovryn Alpha". The reason is because while the frontend user interface and underlying smart contract system were working well enough to launch and begin collecting feedback from early adopters, we have recognized that significant improvements would be needed for the app to be worthy of dropping the "Alpha" label.

Last year, we made the decision to pay down much of the technical debt that Sovryn Alpha had accumulated by rebuilding the user interface from the ground up. This past March, the first fruits of that labor began to bear fruit with the launch of our new web app at sovryn.app. Since then we have taken time to polish sovryn.app and lay the groundwork for finally dropping the "Alpha" label.

Today we took our first step in that direction by releasing support for AMM swaps on the Convert page in sovryn.app. This marks the first sovryn.app release to feature functionality originally found in Sovryn Alpha. To celebrate this milestone we are excited to share today the rest of our roadmap for leaving Alpha.

We have talked about our "roadmap for leaving Alpha" many times on community calls. And while we have been tracking these projects on internal to-do lists, we haven't ever formalized the roadmap and shared it with the community. With today's release of AMM swaps in sovryn.app, it felt like a good time to finally do that.

So let's review what we've completed so far on our roadmap for leaving Alpha and what we still have left to do. Good news: we're already almost done!


Completed roadmap items

Bidirectional FastBTC

Longtime Sovryns will remember a time – not more than one and a half years ago! – when it was only possible to receive BTC deposits via FastBTC. No withdrawals. While the original deposit-only version of FastBTC was great to have – critical even, given the lack of user-friendly alternatives when it was first deployed – we knew that we had to have fast and easy withdrawals as well before we would be ready to drop the Alpha label.

So in late 2021 we went to work, and in February 2022 the update went live. Later in 2022, bidirectional FastBTC received an audit from Least Authority and came back with a clean bill of health. The system has been performing flawlessly ever since!

System-wide contract audit

In 2021 we engaged the security company CertiK for a system-wide audit of Sovryn smart contracts.  It was important to us to have an extra dedicated set of eyes on the smart contract codebase before considering it ready to leave Alpha. In the end, no critical issues were found, and all of the other issues reported were either fixed, planned to be fixed, or were decided to be not worth fixing.

As we make changes to the smart contracts or introduce new contracts into the system, we have continued our practice of having extra eyes by seeking third-party audits, multiple peer reviews on every change, and scrutiny through our bug bounty programs. We also continue to publish  open-source code for public review. All of these practices help make Sovryn reliable infrastructure for the bitcoin economy.

Improved onboarding experience

While improving onboarding will always be a work in progress, especially as we expand into new markets with their own unique ways of interacting with bitcoin and financial systems broadly, we knew there was some low-hanging fruit that we could add to the list before we considered Sovryn ready to bring out of Alpha.

First was making it easier to figure out where to go to get funds into Rootstock once the user has connected their wallet. Second was making it visually more clear what all the different options were for getting funds into Rootstock. Lastly, it was making the language in the user interface more intuitive for understanding how to use the different options for getting funds into Rootstock.

We have taken lessons learned from the experiments we did improving onboarding in Sovryn Alpha and in Labs projects such as Perpetuals and honed the onboarding experience even further in the new sovryn.app. We're proud of the results, but continue working on ways to make onboarding to Sovryn easier and more accessible to more people. Stay tuned for further improvements here!

Lending curves update

This was a relatively simple, yet important, change that flew under the radar. In 2022, the lending curves on the Sovryn Lending protocol were updated to improve returns under lower utilization rates. This helped to make the lending protocol more attractive for lenders while remaining competitive with the broader market. Since lending is one of the core financial primitives of the bitcoin economy, we wanted to ensure before leaving Alpha that lenders would have a good experience even during times of low utilization.

Remaining roadmap items

To get a sense of what we have left to do, here's a visual roadmap of the work left to do:

Where possible, we are working on these projects in parallel to get them done as soon as possible without sacrificing good design, code quality, or security. For example, the smart contract-related Bitocracy projects can be worked on at the same time as the frontend-related re-implementation projects as they are being worked on by different groups of developers. And we will likely have capacity to work on at least two of the frontend re-implementation projects at a time with different frontend developers on each project.

We don't want to jinx the work by publicly stating a completion deadline but what we hope is clear here is that we have specific goals and a well-defined plan to accomplish them.

Implement Bitocracy 3.0

When Sovryn first launched, nearly all of the smart contracts in the system were governed by the Exchequer multisig. The Exchequer multisig is a contract that requires signatures from multiple trusted community members to initiate and execute changes to the parameters or logic of Sovryn contracts.

Over time, more parts of the system have either had governance transferred to Bitocracy, or were deployed with Bitocracy governance from the start. Before leaving Alpha, we want to transfer the governance of all remaining contracts from the Exchequer multisig to Bitocracy. This will significantly increase the security and censorship-resistance of the system by both increasing the number of (pseudonymous, globally-distributed) people who need to approve every change as well as putting every change behind a 48 or 72 hour delay (24 hour vote plus 24 or 48 hour execution delay, depending on the type of change).

Bitocracy 1.0 was total delegation of power from SOV stakers to Exchequer. Bitocracy 2.0 (where we are now) was the introduction of direct SOV staker governance over parts of the Sovryn smart contract system. Bitocracy 3.0, the next major iteration, is near total control of the system by SOV stakers. 

Bitocracy 3.0 will also include an update to the Bitocracy and Contracts Guardian roles in the system. As a refresher, the Bitocracy Guardian can review proposals submitted onchain and veto any that would result in significant harm to protocol users. (What qualifies as "significant harm" is left to the discretion of the Guardian.) The Contracts Guardian can pause or freeze certain features on Sovryn smart contracts that have this capability. This power is only intended to be used in cases where there is a bug/vulnerability and pausing/freezing would prevent users from losing funds or have other negative, unexpected outcomes.

Currently, the Bitocracy and Contracts Guardian roles are both held by the Exchequer Multisig. The Bitocracy 3.0 update will split these roles into two separate multisigs comprised of two distinct groups of people to better compartmentalize the risks and reduce the likelihood of conflicts of interest between the two Guardians.

The work left to do to complete the Bitocracy 3.0 transition includes:

  • Fix loan tokens so they can be withdrawn from old vesting contracts. The old fee sharing contract had an error that sent any fees earned by vesting stakers to the vesting contract instead of the staker's own address. These fees are currently stuck and cannot be claimed. While the vesting contracts are not upgradeable, the loan tokens in the contract are, so these can be recovered by updating the loan token contract to allow stakers to withdraw them from their vesting contracts. This isn't strictly necessary for the Bitocracy 3.0 update, but would be nice to get out of the way before updating this contract becomes more logistically challenging due to the need for a SIP.

  • Introduce a Pauser role on the Sovryn Protocol Settings contract. Currently, only the owner can pause the Protocol. Under Bitocracy 3.0, this would mean a SIP needs to be passed if a pause is ever needed, which would defeat the purpose of using a pause to respond to issues in a timely manner. Once the Pauser role is implemented, it will be assigned to the Exchequer multisig until the new Contracts Guardian is approved by Bitocracy.

  • Create the new Bitocracy and Contracts Guardian multisigs. We are going to be using the Safe multisig contracts for this. We are currently working with IOV Labs and Safe deployment experts Protofire to deploy the latest versions of the Safe contracts, as well as the latest Safe frontend, for use by the Guardians and anyone else in the Rootstock community who wants a Safe.

  • Update the governance transfer scripts and Guardian transfer scripts. Work started on this last year but was paused during the staking contract maintenance which took up the better half of the year. These scripts are needed for the preparation and voting stages of SIP-0046 and SIP-0047, which, if approved by SOV stakers, will complete the Bitocracy 3.0 transition.

Re-implement core features in sovryn.app

One of the issues we have had with Sovryn Alpha is that the codebase is relatively monolithic, making it difficult to change. Another issue is that many components are not standardized, so they've been re-implemented multiple times in different ways, leading to a less cohesive and less consistent user interface. 

So this past March, alongside the launch of the Sovryn Dollar, we also launched a new web app at sovryn.app. Launching this web app was the culmination of months of work by the Sovryn frontend developers to create a new, comprehensive, standardized UI library.

With the new UI library, we set out to solve Sovryn Alpha's UI/UX issues and create a more modular, consistent, cohesive, and ultimately user-friendly application. Based on the experience so far using the new UI library in sovryn.app, we believe we achieved that goal.

Now that we have seen how well the new UI library and UX patterns implemented in sovryn.app perform in production, we are confident that it's time to bring the rest of the core functionality from Sovryn Alpha into the new web app. As mentioned at the beginning of this post, we have already taken the first step with Sovryn AMM swaps. Now we will go down the list and gradually bring more and more functionality from Sovryn Alpha into the new web app.

Here is the remaining functionality from Sovryn Alpha that we plan to bring into sovryn.app:

  • Lending and borrowing
  • AMM LP and liquidity mining rewards
  • Staking and staking rewards
  • Creating and voting on proposals
  • Crosschain bridging

Notably absent are the spot/margin market/limit order systems we have in Sovryn Alpha. We have not seen enough uptake of these products to justify the effort to re-implement them in sovryn.app. However we're not ruling out the possibility of bringing them back in a new form that is more likely to get more adoption.

For those who have been using and enjoying the spot and margin trading features in Sovryn Alpha, you'll continue to be able to do so for as long as the necessary infrastructure is available, whether that's the hosted infrastructure we run or self-hosted infrastructure you run yourself using our open-source software. In any event, we will be sure to give a heads up well ahead of time if we decide to shut down the hosted infrastructure.

BE THE FIRST TO USE ZERO

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

The road out of Alpha

We have been on the road out of Alpha for two years. During this time, we have learned a lot about the challenges of building DeFi for bitcoin in a nascent ecosystem with an ever-changing technology stack. Now we are applying those learnings to make Sovryn more scalable, more robust, and more user-friendly – all necessary qualities for leaving Alpha.

We are almost there. The destination is in sight. And we are glad to have you, our fellow Sovryns, as our travel companions on this journey.

Stay Sovryn!

Sovryn

socials
learn more

Take your sovereignty to the next level

The road to financial self-sovereignty is long. Take a step in the right direction.