> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monad.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.12.5 - `testnet` re-genesis

<Warning>
  These instructions are only applicable to **`testnet`**. This can be ignored for `mainnet`.
</Warning>

## Part 1: To Halt

Node operators must stop all `monad` services before re-genesis.

### 1. SSH into the node as `root` user

### 2. Stop all monad services

```bash theme={null}
systemctl stop monad-bft monad-execution monad-rpc
```

### 3. Verify services are stopped

```bash theme={null}
systemctl status monad-bft monad-execution monad-rpc --no-pager -l
```

Expected output: All services should show `Active: inactive (dead)`

***

## Part 2: Re-genesis

<Warning>
  **Do not proceed until Monad Foundation provides notice that re-genesis is ready.**
</Warning>

### 1. Hard reset

Perform a hard reset to wipe local state and prepare for the new genesis.

```bash theme={null}
bash /opt/monad/scripts/reset-workspace.sh
```

### 2. Upgrade monad package

```bash theme={null}
sudo apt update && sudo apt install --reinstall monad=0.12.5 -y --allow-downgrades --allow-change-held-packages
```

### 3. Fetch configuration files

<Info title="Automated Remote Configuration Fetching">
  If you have automated remote config fetching configured (v0.12.1+), the new `forkpoint.toml` and `validators.toml` files will be automatically fetched on startup.

  Ensure `REMOTE_VALIDATORS_URL` and `REMOTE_FORKPOINT_URL` are defined in `/home/monad/.env`. See [Soft Reset Instructions](/node-ops/node-recovery/soft-reset) for more details on automated configuration fetching.

  If not using automated fetching, run the commands below.
</Info>

```bash theme={null}
MF_BUCKET=https://bucket.monadinfra.com
VALIDATORS_FILE=/home/monad/monad-bft/config/validators/validators.toml

curl -sSL $MF_BUCKET/scripts/testnet/download-forkpoint.sh | bash
curl $MF_BUCKET/validators/testnet/validators.toml -o $VALIDATORS_FILE
chown -R monad:monad /home/monad/monad-bft/config/
```

### 4. (Optional) Archivers: Reset archive sources

<Note title="For Archive Node Operators Only">
  If you are running an archive node, you must either:

  1. **Wipe your existing archiver sources** - Clear all existing archived data to start fresh with the new genesis, or
  2. **Point to a new bucket/source** - Configure your archiver to use a new destination for the re-genesis chain

  Failure to do so may result in conflicting data from the previous chain.
</Note>

### 5. Start services and verify

```bash theme={null}
systemctl start monad-bft monad-execution monad-rpc
systemctl status monad-bft monad-execution monad-rpc --no-pager -l
```

Expected output: All services should show `Active: active (running)`

### 6. Verify the correct version is running

```bash theme={null}
monad-rpc --version
```

Expected output:

```json theme={null}
monad-rpc {"commit":"a1fe1fbef7ff5d51e1eeb42809457cd68f7525dd","tag":"v0.12.5","branch":"","modified":true}
```

<Info title="Validator Registration">
  All nodes are expected to initially join the network as **public full nodes** before transitioning to validators. Monad Foundation will coordinate validator registration and delegation.
</Info>

## Patch notes

Please refer to the public changelog for [`v0.12.5`](/developer-essentials/changelog/releases#v0125).
