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

# op-reth storage v1 deprecation and migration to storage v2

> op-reth storage v1 is deprecated and reaches end of support on January 26, 2027. Migrate existing datadirs to storage v2.

op-reth storage layout v1 is deprecated in favor of storage v2.
New datadirs use storage v2 by default. Upgrading the op-reth binary does not migrate an existing v1 database.

> [!WARNING]
>
> **Support for storage v1 ends on January 26, 2027.**
> Operators with an existing storage v1 datadir must move to storage v2 before that date, either by restoring a storage v2 snapshot or by running `op-reth db migrate-v2`.

## What this means

* **Announcement date: October 26, 2026.** **End of life (EOL): January 26, 2027**, three months after the announcement.
* **Support for storage v1 ends at EOL.**
* **Affected:** operators running op-reth with an existing storage v1 datadir, including datadirs restored from a v1 snapshot.
* **Not affected:** new datadirs, which use storage v2 by default, and datadirs already on storage v2.
* **Separate from historical proofs.** This notice covers the execution database storage layout. It does not change the historical proofs storage version (`--proofs-history.storage-version`).

## Action required

### Node operators

Operators using storage v1 should move to storage v2 before the EOL date, either by restoring a storage v2 snapshot or by migrating in place with `op-reth db migrate-v2`.

**Option 1: use a storage v2 snapshot.** Storage v2 snapshots are available at [snapshots.optimism.io](https://snapshots.optimism.io/) and [datadirs.optimism.io](https://datadirs.optimism.io/). For snapshot usage, see [how to use snapshots](https://docs.optimism.io/op-mainnet/network-information/snapshots.md).

**Option 2: migrate in place.** Use this when a snapshot is not an option. Run the steps below with the node stopped.

**1. Identify your storage version**

Stop the node and inspect its database settings, using the same datadir and chain configuration as your node:

```bash theme={null}
op-reth db --datadir <datadir> --chain <chain-or-genesis-path> settings get
```

`storage_v2: true` means the database already uses v2.
`storage_v2: false`, or `No storage settings found`, indicates v1.

**2. Prepare backups and capacity**

Take a restorable snapshot of the entire datadir before starting.
Keep free disk space of approximately 1.4 to 2 times the current datadir size.
Keep the node stopped throughout the procedure.

**3. Migrate the database**

```bash theme={null}
op-reth db --datadir <datadir> --chain <chain-or-genesis-path> migrate-v2
```

> [!WARNING]
>
> The migration cannot be resumed if interrupted. Restore the backup before starting again.

**4. Verify completion**

Inspect the database settings again, and the stage checkpoints with `op-reth db --datadir <datadir> --chain <chain-or-genesis-path> stage-checkpoints get`.
Restart the node and confirm it resumes following the chain.

## Resources

* [`op-reth db migrate-v2` reference](https://docs.optimism.io/node-operators/op-reth/cli/op-reth/db/migrate-v2)
* [`op-reth db settings get` reference](https://docs.optimism.io/node-operators/op-reth/cli/op-reth/db/settings/get)
* [`op-reth db stage-checkpoints get` reference](https://docs.optimism.io/node-operators/op-reth/cli/op-reth/db/stage-checkpoints/get)
* [Snapshots](https://snapshots.optimism.io/)
* [Data directories](https://datadirs.optimism.io/)
* [How to use snapshots](https://docs.optimism.io/op-mainnet/network-information/snapshots.md)
