Upgrading Mintlayer
Upgrading your Mintlayer node is straightforward. The node handles any necessary data migrations (such as wallet file upgrades) automatically on first launch.
Always back up your wallet file before upgrading.
Before you upgrade
- Back up your wallet file and seed phrase.
- Check the version-specific guides below: some releases contain breaking changes (RPC renames, option moves, forks) or require a resync.
- Check the target version on mintlayer.org/download or the release tags.
Upgrading from binaries (recommended)
- Stop the running node and wallet.
- Download the new binaries from mintlayer.org/download. Use the filters to select your operating system, architecture, and package type (ZIP, DEB, RPM, DMG, EXE, TAR.GZ).
- Replace the old binaries with the new ones.
- Start the node again.
The node automatically applies any required upgrades to its data on startup.
Upgrading with Docker Compose
If you run the node with one of the Docker Compose setups:
-
Stop and back up as above (the chainstate and wallet data live in the
./mintlayer-datadirectory, which persists across container replacement). -
Pull the new images:
docker compose pull -
Recreate the services with the new images:
docker compose up -d
Pull all images together. Docker never re-pulls an image that already exists locally, so mixing an old node-daemon:latest with a newer wallet-cli:latest can break the setup. A plain docker compose pull before up -d avoids this.
If you run the one-command installer stack from get.mintlayer.org, the same flow applies: it is a Docker Compose stack, so docker compose pull && docker compose up -d in its directory upgrades the whole stack while the mintlayer-data directory keeps node and wallet state.
Upgrading from source
git fetch --all --tags
git checkout tags/<latest_tag>
cargo build --release --bin node-daemon --bin wallet-cli --bin wallet-rpc-daemon
Replace <latest_tag> with the desired release tag (e.g. v1.4.0). The binaries are written to target/release/; replace your deployed copies with the newly built ones and restart the node.
Verify the upgrade
After starting the new version:
- Check the reported version:
node_versionover RPC, orversioninside wallet-cli. - Confirm the node is syncing (or already at the chain tip):
chainstate_infoover RPC, or watch the logs. - If you run an API server, verify it serves data (
GET /api/v2/chain/tip); note that some releases bump the indexer storage version, which triggers an automatic full resync on first launch.
Version-specific guides
Some releases include breaking changes or forks that need attention:
| Guide | Covers |
|---|---|
| Upgrading to v1.0.0 | v1.0.0 breaking changes |
| Upgrading from v1.0.2 to v1.2.0 | Mainnet fork at height 517700 (Orders V1, token id generation, input commitments V1), WASM binding changes, full resync |
| Upgrading from v1.2.0 to v1.3.1 | Wallet RPC renames, --clean-data option move, bootstrap format, PST format, API server full resync |
| Upgrading from v1.3.1 to v1.4.0 | Soft fork (token metadata URI and zero-amount rules), mempool ordering and cluster limits, Ledger support |
Need help?
If you run into issues, open an issue on mintlayer-core.