Skip to main content
These instructions are only applicable to testnet. These can be ignored for mainnet.

Upgrade notes

No breaking changes to node.toml config for v0.16.0. Metrics endpoint enabled by default. The Prometheus metrics endpoint is now enabled by default (previously opt-in) on port 9143/TCP, listening on 0.0.0.0. If you have firewall rules restricting the metrics port, verify they are configured as expected.
MONAD_TEN activation (MIP-8: page-encoded storage)v0.16.0 activates MONAD_TEN on testnet at timestamp 1786545000 (2026-08-12 14:30 UTC). Mainnet activation is not yet set.All nodes must be in dual-db mode (Phase A complete) before the activation timestamp. See MIP-8 Activation and Page Storage Migration for details.Nodes that have not completed Phase A (dual-db activation) will fail to start on v0.16.0. The node enforces a page-encoded timeline assertion on testnet — if neither a page-encoded primary nor an active secondary timeline is detected, the node will abort at startup.

1. SSH into the node as root user

2. Verify dual-db mode (Phase A)

Before upgrading, confirm your node has completed Phase A (dual-db activation). Nodes without an active page-encoded timeline will fail to start on v0.16.0.
You should see both Primary and Secondary timelines:
If you only see a single ethereum Primary timeline, complete the Phase A migration before proceeding.

3. Stop services

4. Upgrade monad package

If you encounter issues with the GPG signature (e.g. signatures were invalid), please renew the keys with the command below.
The apt-mark hold monad command prevents the monad package from being upgraded automatically by apt-get upgrade. Without it, unattended system upgrades can install a newer version of monad that has not been approved for your network, causing version mismatch issues.

5. Start services and verify

All services should show Active: active (running). Confirm the node rejoins and advances blocks.

6. Verify the correct version is running

Expected output: