Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@
{
"tab": "Notices",
"pages": [
"notices/fusaka-notice",
"notices/upgrade-13",
"notices/upgrade-14",
"notices/upgrade-15",
Expand Down
124 changes: 124 additions & 0 deletions notices/fusaka-notice.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
title: Fusaka upgrade notice
description: Learn how to prepare for the the Fusaka upgrade
lang: en-US
content_type: notice
topic: upgrade-16-changes
personas:
- chain-operator
categories:
- security
- protocol
- infrastructure
- interoperability
is_imported_content: 'false'
---

import { Steps, Callout } from 'nextra/components'

# Upgrade 16b: Preparing for L1 Fusaka upgrade

This page provides external-facing information about the Fusaka readiness upgrade for OP Stack chains. It summarizes scope, timelines, required actions, and resources for chain operators and partners. This upgrade is necessary for all OP Stack chains deriving from an L1 chain which is due to activate Fusaka (including Ethereum Mainnet and Sepolia).

This is NOT Fusaka adoption on L2. It's a readiness upgrade to make the Optimism protocol compatible with L1 that activates the Fusaka fork. L2 adoption will happen in a future upgrade.

<Callout type="info">
All of the tasks below must be performed before Fusaka activates on L1 (October 14th for Sepolia chains).
</Callout>

## What's included in Fusaka

Fusaka contains various breaking changes. See [EIP-7607: Hardfork Meta - Fusaka](https://eips.ethereum.org/EIPS/eip-7607) for more info.

## For node operators

Update your node software as soon as possible after release:

* Update `op-node` to [v1.14.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.14.0). See the release notes for new config flags and env variables (not necessary for chains deriving from Ethereum Mainnet, Sepolia, or Hoodi.)
* Update `op-geth` to [v1.101603.1](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101603.1)

### Ensure your L1 beacon node endpoint can serve all blobs

Important dates:

Ethereum Sepolia Fusaka hard fork: Expected October 14th, 2025 (affects chains posting data to Sepolia)
Ethereum Mainnet Fusaka hard fork: Expected early December 2025 (affects chains posting data to Mainnet)

**For operators using an external L1 Ethereum Beacon:**

Before the Ethereum Fusaka hard fork, ensure your external L1 Beacon Chain RPC provider has configured their node to subscribe to all subnets.
If your external L1 Beacon Chain RPC provider doesn't subscribe to all subnets, migrate to one that does prior to these deadlines.

**For operators running their own L1 Ethereum Beacon Chain Node:**

Configure your Beacon Node with the new flag (detailed below) before the relevant Fusaka hard fork date.

L1 Beacon Chain Node flags:

* Lighthouse: `--supernode`
* Teku: `--p2p-subscribe-all-custody-subnets-enabled`
* Grandine: `--subscribe-all-data-column-subnets`
* Lodestar: `--supernode`
* Nimbus: `--debug-peerdas-supernode`

## For chain operators

<Callout type="info">
Be ready to restart your batcher with the new configuration immediately after the Fusaka fork on Sepolia (Unix timestamp 1760427360 , Tue Oct 14 2025 07:36:00 )
</Callout>

Update the following:

| Component | Version | Notes |
| --------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `proxyd` | [v4.19.0](https://github.com/ethereum-optimism/infra/releases/tag/proxyd%2Fv4.19.0) or greater | You need to whitelist `eth_blobBaseFee` rpc if using proxyd for L1 load balancing |
| `op-batcher` | [v1.16.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-batcher%2Fv1.16.0) | `OP_BATCHER_TXMGR_ENABLE_CELL_PROOFS`: `true` or equivalent CLI flag needs to be set and the batcher restarted just after Fusaka activates on L1. |
| `op-node` | [v1.14.0](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.14.0) | L1 chain config must be supplied [via a new flag](https://github.com/ethereum-optimism/optimism/releases). Not necessary for chains deriving from Ethereum Mainnet, Sepolia or Hoodi. |
| `op-geth` | [v1.101603.1](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101603.1) | |
| `op-challenger` | [v1.6.0-rc.3](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.6.0-rc.3) | If deploying to a custom L1, must [supply a custom L1 flag](https://github.com/ethereum-optimism/optimism/releases) Not necessary for chains deriving from Ethereum Mainnet, Sepolia or Hoodi. |
| `kona-node` | [v1.1.2](https://github.com/op-rs/kona/releases/tag/kona-node%2Fv1.1.2) | |
| `kona-host` | [v1.1.0-rc.3](https://github.com/op-rs/kona/releases/tag/kona-host%2Fv1.1.0-rc.3) | |
| `kona-client` | [v1.1.0-rc.3](https://github.com/op-rs/kona/releases/tag/kona-client%2Fv1.1.0-rc.3) | |
| `op-reth` | [v1.8.2](https://github.com/paradigmxyz/reth/releases/tag/v1.8.2) | |

### For permissionless fault proof enabled chains

Chains running permissionless fault proofs will need to deploy new dispute game contracts with new absolute prestates. The new 64 bit version of cannon will be utilized moving forward. The Sepolia Superchain, will utilize [op-program/v1.7.0-rc.2](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.7.0-rc.2). The following permissionless fault proof Sepolia chains are: `Base Sepolia`, `Ink Sepolia`, `Uni Sepolia`, and `OP Sepolia`.

<Callout type="info">
OP-governed permissionless fault proof chains will have prestate update (steps 3,4, and 5) completed by Optimism.
</Callout>

<Steps>
### Verify the new absolute prestate

<Callout type="info">
As of upgrade 14, the 64 bit multi-threaded version of cannon is utilized.
</Callout>

The absolute prestate is generated with the [op-program/v1.7.0-rc.2](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.7.0-rc.2). You can use this new absolute prestate (`0x03f05793ed3abc475137f73b68c80593cbbf40f5d1059d2ad9b8bfcb97fa8929`) for chains currently in the Superchain.

You can verify this absolute prestate by running the following [command](https://github.com/ethereum-optimism/optimism/blob/d6fb90dd489e39efa206b55200766ccc075c1d9b/Makefile#L130-L132) in the root of the monorepo on the `op-program/v1.7.0-rc.2` tag:

```shell
make reproducible-prestate
```

### Upload your new preimage file

During the previous step, you also generated the preimage of the absolute prestate, which is basically the op-program serialized into a binary file. You'll find that new file at `optimism/op-program/bin/prestate-mt64.bin.gz`. Rename that file to have the absolute prestate hash as the filename so it looks like `0x03f05793ed3abc475137f73b68c80593cbbf40f5d1059d2ad9b8bfcb97fa8929.bin.gz`.

Upload that file to where you're storing your other absolute preimage files. This should be the location where you're pointing your `--cannon-prestates-url` at. The `op-challenger` will grab this file and use it when it needs to challenge games.

### Deploy new dispute game contracts

You will then take the absolute prestate and deploy new `FaultDisputeGame` and `PermissionedDisputeGame` contracts with that value.

### Update the DisputeGameFactory

You will then need to update the `DisputeGameFactory` to point to the new `FaultDisputeGame` and `PermissionedDisputeGame` contracts by calling `DisputeGameFactory.setImplementation`.

### Execute the upgrade

Once your `op-challenger` is ready with the new preimage, you can execute the "Set Dispute Game Implementation" transaction. Please simulate and validate that the expected output prior to executing the transaction.
</Steps>