> ## 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.

# End of Support for op-geth and op-program

> op-geth and op-program will be supported through May 31st, 2026. Start migrating to op-reth and cannon-kona now.

As the ecosystem matures, we are transitioning full execution client support to **op-reth** and moving from **op-program** to **kona-client**.

## What this means

* **op-geth is supported through May 31st, 2026.** Security patches and critical bug fixes will continue to be issued during this window, after which support ends.
* **New feature development, including the next Karst hardfork, will happen on op-reth only.**
* **op-program is also reaching end-of-support.** The fault proof program is transitioning from **op-program** to **kona-client**.
* **Current op-program deployments are expected to remain usable until the next hardfork, Karst.** Chain operators will need to migrate to **kona-client** at Karst.
* **kona-node is not required for cannon-kona.** You can run kona proofs with your existing **op-node** setup. kona-node is a separate, optional component and is not part of the fault proof program migration.
* **op-node** is not being deprecated.

## Action required

**op-geth will not support the L1 Glamsterdam hardfork.** Chains still running op-geth at activation will not be able to follow the canonical chain.

### Node Operators

All node operators should migrate to op-reth as soon as possible. For more details, see **op-reth configuration** in the resources section below.

<Warning>
  op-geth reaches end-of-support in **May 31st, 2026**. Glamsterdam will break compatibility with op-geth.
</Warning>

<Info>
  Syncing op-reth takes time. Start early to allow adequate validation before the hardfork window.
</Info>

Start syncing an op-reth node alongside your existing op-geth node and take a snapshot. Validate sync correctness over a meaningful window—compare block hashes, state roots, and RPC outputs. Once confident, migrate production traffic to op-reth.

For OP Mainnet snapshots, you can find [snapshots here](https://datadirs.optimism.io/).

### Chain Operators

As soon as op-reth is fully synced, take a snapshot. Refresh it regularly as Glamsterdam approaches.
Syncing an op-reth node as soon as possible helps ensure a snapshot is available for other validators on your chain so they do not need to sync from scratch.

### Permissionless Chain Operators

In parallel, the fault proof program is moving from **op-program** to **kona client**. Current op-program deployments are expected to remain usable until the next hardfork, Karst, when chain operators will need to migrate to **kona-client**. Optimism will handle the onchain prestate updates for managed chains. If you operate a permissionless fault proof chain, checkout our guide on [how to run historical proofs with op-reth](https://docs.optimism.io/node-operators/tutorials/reth-historical-proofs).

## Resources

* [op-reth repository](https://github.com/ethereum-optimism/optimism/tree/develop/rust)
* [op-reth configuration](https://docs.optimism.io/node-operators/guides/configuration/execution-clients#op-reth-configuration)
* [op-reth OP Mainnet Snapshots](https://datadirs.optimism.io/)
* [op-reth historical proofs guide](https://docs.optimism.io/node-operators/tutorials/reth-historical-proofs)
* [op-stack rust docs](https://docs.optimism.io/rust)
* [How to use Snapshots](https://docs.optimism.io/op-mainnet/network-information/snapshots)
* [kona repository](https://github.com/ethereum-optimism/optimism/tree/develop/rust/kona)
