The Jovian hard fork for the Sepolia Superchain will be activated at Wed 12 Nov 2025 16:00:01 UTC (
1762963201) and the Mainnet Superchain will be optimistically activated at Tue 25 Nov 2025 16:00:01 UTC (1764086401) pending governance approval.The upgrade will be executed by OP Labs on the following chains: OP, Base, Soneium, Ink, Unichain, Metal, Mode, Zora, Arena-Z, and Swell (Swell Mainnet only).Chains that inherit activations from the Superchain Registry and are NOT listed above must perform the upgrade themselves before the activation time. To check if you are inheriting the activation time automatically, see if your chain’s Superchain Registry toml file includes the Jovian activation and the superchain_time field.Additionally, Swell Mainnet will activate the Isthmus hard fork at Tue 25 Nov 2025 04:00:01 UTC (1764043201).What’s included in Upgrade 17
Upgrade 17 introduces the following changes:- Cannon Go 1.24 support: upgrading the on-chain fault proof virtual machine implementation to support Go 1.24.
- Configurable Minimum Base Fee: allows chain operators to specify a minimum base fee to shorten the length of priority fee auctions (disabled by default).
- Data Availability Footprint Block Limit: adds an in-protocol limit to estimated DA usage of transactions to prevent DA spam and priority fee auctions. (enabled by default; can be disabled via zero scalar on-chain).
Operator Fee Fix: enables more flexible fee configurations for rollup operators and lays groundwork for future custom gas token support. If you are running operator fee with nonzero scalars, make sure to adjust them before activating the fork to avoid overcharging users.
Breaking Changes - Block header changes
- extraDatafield is extended (for the minBaseFee)
- blobGasUsedmay become nonzero when the DA footprint feature is enabled
blobGasUsed property of each block header is set to that block’s daFootprint. Note that since Ecotone it was set to 0, as OP Stack chains don’t support blobs. It is now repurposed to store the DA footprint. If you want to disable it, set a scalar of 1. Setting 0 (or never setting the scalar value) implies the default value of the scalar, which can be updated in future forks. Please ensure your nodes and tooling can handle these updated header semantics.
For more information, see the specs.
For node operators
These following steps are necessary for every node operator:1
Update to the latest release
The releases contain both the Jovian Mainnet and Sepolia Superchain activation timestamps.
2
Configure the Jovian activation date
If you are operating a node for an OP Chain that has opted into the hardfork activation inheritance behavior and are utilizing the network flags, the Jovian activation date is part of the 
op-node and op-geth nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to Step 3: Verify Your Configuration.The following chains are included but are subject to change: OP, Base, Soneium, Ink, Unichain, Metal, Mode, Zora, Arena-Z, and Swell (Swell Mainnet only).- Option 1: Set the activation time via overrides (CLI) in both op-nodeandop-geth. These will need to be set onop-nodeandop-gethfor the sequencer and all other nodes.
- Option 2: Set the activation time in the rollup.jsonforop-node. You will still need to set theoverride.isthmusflag inop-gethor set the time in the EL clients genesis file if you use this option.
3
Verify Your Configuration
Make the following checks to verify that your node is properly configured.
- op-nodeand- op-gethwill log their configurations at startup
- Check that the Jovian time is set to its correct activation timestamp in the op-node startup logs
- Check that the Jovian time is set to its correct activation timestamp in the op-geth startup logs
For chain operators
Chain operators must prepare their nodes and additionally upgrade the following versions:- Update op-challenger/v1.7.0-rc.1
- Update op-conductor/v0.9.0
For permissionless fault proof enabled chains
Chains running permissionless fault proofs will need to deploy new dispute game contracts with new absolute prestates.1
Verify the new absolute prestate
The absolute prestate is generated with the op-program/v1.8.0-rc.3. You can use this new absolute prestate This will output the calculated prestates, the tail end of the output should look like this:
0x03799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f3 for the following chains:- Mainnet and Sepolia: OP,Base,Ink, andUnichain
op-program/v1.8.0-rc.3 tag:- The “Cannon64” hash is the 64-bit prestate.
2
Upload your new preimage file
During the previous step, you also generated the preimage of the absolute prestate, which is 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 PRESTATEHASH.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.3
Execute the upgrade
Once your 
op-challenger is ready with the new preimage, you can execute the upgrade transaction. This should be done by making a delegatecall to the upgrade() function of the OP Contract Manager (at the address listed in the registry.Please simulate and validate the expected output prior to executing the transaction.