SDF’s Decision to Disarm its Validators and Vote to Postpone the Protocol 20 Upgrade


Stellar Development Foundation

Publishing date


What's new?

After hearing the concerns expressed by various participants in the Stellar ecosystem — including contract developers, wallet developers, validators, and tools builders — the SDF has decided to disarm our validators to prevent them from voting to upgrade the network to Protocol 20 on January 30. As the network introduces the biggest protocol change to date, it's important to have broad consensus at the vote, but also in the lead up to it — everyone needs to be ready.


How did we get here?

On January 25, 2024, we notified the ecosystem of a bug that was discovered in Stellar Core v20.1.0 that could impact applications and services that use fee bumps for Soroban transactions if or when the Mainnet upgrades to Protocol 20. We noted that we (the ecosystem and particularly network validators) had a choice to continue with the Protocol 20 upgrade vote on January 30 or to delay it. We at SDF spent time with the bug, saw its potential impacts and decided that the bug posed little risk given the phased rollout plan along with the implementation of best practices. But we are not an ecosystem of one.

Upgrading the network is not something SDF does alone, and to inform the decision about whether to move forward given the bug, we opened threads on the Stellar Dev Discord and our developer mailing list, and encouraged the ecosystem to weigh in. Ultimately, the robust feedback and discussions regarding this choice caused us to change our approach.

Next steps

What happens now?

As before, validators will make their own decisions as part of this open-source community, and the outcome depends on what they do next. There are two real possibilities:

  • Other validators can still choose to vote for Protocol 20, and if quorum is achieved on the upgrade then it will take place.
  • Other validators can choose to disarm, and if quorum is not achieved, the network will continue to run Protocol 19 for the time being.
    • Note: If you run a validator and it is armed to vote for Protocol 20 and you would like to disarm it, run the following stellar-core command: $ stellar-core http-command 'upgrades?mode=clear' You can check that it worked using the info command (there should not be any pending upgrade):$ stellar-core http-command info

No matter the outcome, the SDF will continue to work to resolve the bug, and to engage in discussions with other validators in both public and private channels. If validators opt to postpone the upgrade, we will coordinate to determine a future vote date once a new version of Stellar Core that contains a bug fix is released. That release should be available within the next two weeks.

Stay in touch

Where can I get updates?

Get involved in the Discord and dev-mailing list channels and keep up with the conversations. Like so many, we are eager to see Soroban live on Mainnet. Still, we understand that an upgrade like this impacts everyone building on Stellar, and cooperation and consensus are key to our collective success. We are grateful that this ecosystem is willing to engage in important conversations like this and we appreciate those of you advocating for patience and caution.