> For the complete documentation index, see [llms.txt](https://skyneticlabs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://skyneticlabs.gitbook.io/docs/services/testnet-networks/monad/upgrade.md).

# Upgrade

## Monad v0.12.7 Upgrade

⚠️ **Execute this upgrade ONLY after an explicit announcement from the Monad Foundation.**\
Running this procedure prematurely may lead to consensus or network issues.

***

### Upgrade Snapshot

| Item              | Value                   |
| ----------------- | ----------------------- |
| Target version    | **v0.12.7**             |
| Upgrade class     | Drop‑in (no migrations) |
| Supported from    | v0.12.6                 |
| Config changes    | ❌ None                  |
| node.toml edits   | ❌ Not required          |
| systemd overrides | ❌ Not required          |

This upgrade replaces binaries only. Runtime data, keys, and configuration remain untouched.

***

### Pre‑Upgrade Checklist

Before touching the node, confirm:

* You have seen the **official Foundation upgrade notice**
* Node is **fully synced** and healthy
* No pending disk / hardware alerts
* You have **SSH root access**

Optional but recommended:

```bash
journalctl -u monad-bft -n 50 --no-pager
```

***

### Refresh Package Index

```bash
apt update
```

***

### Reinstall Monad v0.12.7

This forces a clean binary replacement while respecting package pinning.

```bash
apt install --reinstall monad=0.12.7 -y \
  --allow-downgrades \
  --allow-change-held-packages
```

No files outside `/usr/bin` and `/opt/monad` are modified.

***

### Restart Monad Services

```bash
systemctl restart \
  monad-bft \
  monad-execution \
  monad-rpc
```

***

### Health Validation

#### Service state

```bash
systemctl status monad-bft monad-execution monad-rpc --no-pager
```

Expected:

```
Active: active (running)
```

#### Log sanity check

```bash
journalctl -u monad-bft -n 30 --no-pager
```

Ensure no crash loops or panic messages are present.

***

### Binary Version Verification

```bash
monad-rpc --version
```

Expected output:

```json
{
  "commit": "e1e9489b8fc42c0a5af208bab20f6704f83c91c0",
  "tag": "v0.12.7",
  "branch": "",
  "modified": true
}
```

***

### Post‑Upgrade Monitoring

For the next 10–15 minutes, observe:

* Block production / participation
* Peer count stability
* RPC responsiveness

Recommended:

```bash
journalctl -f -u monad-bft
```

***

### Rollback Strategy (If Required)

If the Foundation announces a rollback or issues are detected:

```bash
apt install monad=<previous-version> -y \
  --allow-downgrades \
  --allow-change-held-packages

systemctl restart monad-bft monad-execution monad-rpc
```

No state reset is required for a drop‑in rollback.

***

* This upgrade does **not** change consensus parameters
* Validator status is preserved
* No staking or on‑chain action is required

Keep the node online and monitored until the next epoch transition completes successfully.
