The Road to Mainnet
This post has been updated to reflect a new date to vote on the Mainnet upgrade to Protocol 20.
Over the past two years, the Stellar Development Foundation (SDF) and the wider Stellar community have worked tirelessly to bring smart contract functionality to the Stellar network, which will usher in new capabilities and opportunities that will work with all existing network functionality.
Today, we've reached another milestone. The Stellar Development Foundation and the maintainers of key Stellar SDKs announced the release of a full suite of software that supports Protocol 20, which will bring Soroban smart contracts to Stellar. With the technical pieces now in place, Stellar network validators will vote on the Mainnet upgrade to Protocol 20, which should give the ecosystem time to prepare by installing relevant software. If you are building on Stellar, please review the Protocol 20 Upgrade Guide for more information, and for links to the new releases.
Protocol 20 will mark the most transformative upgrade to the Stellar network to date. And to preserve the network's performance, security, and stability during this time, the ecosystem has agreed that a slow and steady process makes a lot of sense. So, following the vote, validators will deploy a phased approach to gradually and responsibly increase capacity for Soroban transactions to monitor the impact of smart contract functionality on the network.
On the day of the vote, the network's validators will cast their votes, and if they approve the upgrade, the Stellar network will immediately switch from Protocol 19 to Protocol 20.
After more than two years of technical discussions, hundreds of thousands of lines of code, and over 150 projects (that we know of) deployed on Testnet, the upgrade will mark the era of a new Stellar smart contracts tech stack, one that delivers productivity through a batteries-included developer experience built to scale.
However, unlike an immediate zero to 100 rollout, validators are opting to increase capacity for Soroban transactions on Mainnet through a phased approach. The limited capacity for Soroban transactions on Mainnet means that Soroban dapps won’t be ready for use at scale until later phases. This deliberate strategy will allow network participants to monitor smart contract functionality's impact on network performance, security, and stability. As we progress through the phases, ledger limits for Soroban transactions will increase, ultimately building up to full capacity worthy of builders and users alike. To be clear, these phases and the accompanying limits apply to smart contract functionality only. Limits on transactions that make use of existing Stellar operations won't be impacted, which means existing applications will continue uninterrupted.
Launching smart contracts on the Stellar network is a significant feat, and we all want to get it right. So we at SDF support this phased approach to ensure functionality and features are solid and secure for everyone interacting with the network. And gradually launching allows the ecosystem to do that better, faster, and more transparently. This approach should feel familiar. It echoes the phased release strategy implemented during Soroban's preview releases, allowing continuous testing and debugging as we added functionality.
Transitioning To Mainnet
Immediately following a positive validator vote, Phase 0 begins, which is designed to allow network operators to observe the network after the upgrade, and not intended for end users to interact with applications. Here, the focus lies in validating key aspects:
Throughout Phase 0, developers are encouraged to continue utilizing Testnet for their work, which has enough capacity for testing and development purposes.
In Phase 1, builders gain the ability to deploy contracts on Mainnet. Like Phase 0, this environment is not meant for application users. This phase focuses on:
As Phase 1 progresses, smart contract usability will expand based on network health and user feedback. This period post-upgrade is crucial for stress-testing the system under increased loads.
We plan to communicate early and often during this phase as changes are made and the network builds towards full capacity.
Phase 2 marks the deployment of a user-ready Mainnet where anyone can deploy and interact with smart contracts. In this phase, the network is ready for more extensive smart contract utilization, so it's the practical beginning of smart contracts on the Stellar network. What does that mean in practice? The network will match the average DeFi transactions for many other blockchains (at or around 10 transactions per second, for those of you who are counting) and users will be free to take advantage of any and all new smart contract functionality integrated into Stellar apps along with all the payment and DEX functionality applications currently offer.
But even this is not the end of the journey. At the core of smart contracts on the Stellar network is scale and sustainability, and efforts to continue to expand capacity and introduce further capabilities to enhance the network's functionalities will be ongoing.
The phased rollout of smart contracts, which validators will vote to ratify at every step, signifies a pivotal moment in the network's evolution. By adopting a measured, step-by-step approach, the Stellar ecosystem is prioritizing stability, performance, and user experience, ensuring an optimized journey for builders and users.