Developers
Adapter, Protocol 28 Upgrade Guide
Author
Stellar Development Foundation
Publishing date
Last updated: August 12, 2026
This guide is designed to help businesses and developers prepare for Adapter, Protocol 28, with key dates, release information, preparation steps, and a summary of breaking changes.
You can read all about what's included in Adapter in the announcement blog, and stay up to date on any and all Adapter-related announcements on the Stellar Developer Discord, where the ecosystem coordinates and shares information about the upgrade in the #protocol-next channel.
Key dates
- August 13, 2026 — Stellar Core stable release available.
- August 13-21, 2026 — Additional stable releases (infrastructure and SDKs) available.
- August 27, 2026, 1700 UTC — Testnet upgrade vote.
- September 16, 2026, 1700 UTC — Mainnet upgrade vote.
What do you need to do to prepare?
If you use a Stellar SDK
Upgrade to the latest version of the relevant Stellar SDK.
- For your Testnet integration, upgrade before August 27, 2026.
- For your Mainnet integration, upgrade before September 16, 2026.
Most integrations will only need the SDK version bump. If you build Soroban smart contracts, note that several Protocol 28 features (CAP-85, CAP-86) are surfaced through updated SDKs—you'll opt into them by rebuilding against the new SDK version. See “Breaking changes” below to check whether any change affects you.
If you run Stellar infrastructure (Stellar Core, Horizon, RPC, Galexie)
Install the Protocol 28 releases once they are available (rolling out from August 13, 2026, with all components available by August 21, 2026).
- If you use Docker images, pull the Protocol 28 builds from the Docker registry.
- If you build from source or use our Debian packages, update your
stellar-core,stellar-horizon,stellar-rpc, andstellar-galexiebinaries to the Protocol 28 builds.
Ubuntu: We will publish images for Ubuntu 24.04 and Ubuntu 22.04. To build from source, refer to the installation instructions; package-based installation is described in the Stellar documentation.
Docker: We will publish the Stellar Core Docker images for Protocol 28; Docker-based installation is described in the Stellar documentation.
If you consume raw ledger data (for example, via Galexie, an indexer, or a custom pipeline), read the CAP-83 note under “Breaking changes”—it introduces a new ledger value type you'll want to handle.
If you run a validator
Install the Protocol 28 Stellar Core release, then arm your validator before the mainnet upgrade vote September 9, 2026, 1700 UTC:
upgrades?mode=set&upgradetime=2026-09-16T17:00:00Z&protocolversion=28
Additionally, Protocol 28 introduces a new feature to make ledgers close faster and reduce close time variance. This requires all validators to have synced clocks, otherwise, network performance can deteriorate.
Validator operators must run NTP sync starting in Protocol 28. For more information, refer to the Clock Synchronization guide in the validator operator docs.
If you operate a wallet, exchange, issuer, on/off-ramp, or protocol
Wallets, ramps, and issuers: In most cases, upgrading to the latest SDK version (see above) before the Mainnet vote is all that's required.
Exchanges and custodians: Upgrade any SDKs and infrastructure you run before the relevant vote.
Protocols and smart contract teams: CAP-85 (atomic fleet upgrades) and CAP-86 (migration-friendly contract data) are opt-in features you'll adopt when you rebuild against the updated Soroban SDK. No action is needed to remain compatible, but review the CAPs if either capability is relevant to your deployment and upgrade strategy.
Breaking changes
Adapter is not expected to introduce backwards incompatibility in Stellar Core itself. Most changes are additive. The items below note where downstream consumers may need to adapt.
CAP-83 (empty transaction set consensus value): Introduces a new StellarValue type, STELLAR_VALUE_EMPTY_TX_SET. StellarValues with this type have a txSetHash value of 0x0. Downstream consumers of raw ledger data (StellarValue, LedgerCloseMeta, and anything derived from them—indexers, analytics pipelines, custom tooling) should treat ledgers carrying this value as empty ledgers and handle the new type. No action is needed for normal SDK-based integrations. Parallel transaction-set downloading (which generates these values) will be rolled out gradually and is disabled by default.
CAP-85 (externally managed contract executables): Adds a new CONTRACT_EXECUTABLE_EXTERNAL_REF executable type. There is a minor, narrow incompatibility: custom account contracts that parse the authorization context and are not updated for the new executable type will be unable to authorize contract creation that uses an external executable reference. This affects only the specific case of a custom account authorizing creation of an external-reference contract; upgradeable custom accounts can adapt.
CAP-86 (sparse map host functions): Adds new sparse_map_new_from_linear_memory and sparse_map_unpack_to_linear_memory host functions for migration-friendly contract data. No backwards incompatibilities. Existing host functions are unchanged; SDKs will adopt the new functions over time.
Protocol 28 releases
Below are links to the releases relevant to Protocol 28. Please check each release's notes for specific instructions and requirements, and unless otherwise indicated, opt for the “Latest Release.”
Stellar infrastructure
SDKs
Note that some SDKs listed are community-maintained; check each repository for Protocol 28 compatibility and release timing.
Changelog
- August 13, 2026—Initial guide published.
To stay up to date on any and all Adapter-related announcements, join the Stellar Developer Discord, where the ecosystem coordinates the upgrade in the #protocol-next channel.
