# \[deprecated\] Upgrade 17 Proposal: Jovian Hardfork

**URL:** <https://gov.optimism.io/t/deprecated-upgrade-17-proposal-jovian-hardfork/10374>\
**Category:** Technical  Proposals\
**Created:** [October 31, 2025, 4:19pm UTC](https://gov.optimism.io/t/deprecated-upgrade-17-proposal-jovian-hardfork/10374 "2025-10-31T16:19:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![geoknee](https://dub1.discourse-cdn.com/bc41dd/user_avatar/gov.optimism.io/geoknee/32/11762_2.png) [@geoknee](https://gov.optimism.io/u/geoknee)\
**Post date:** [October 31, 2025, 4:19pm UTC](https://gov.optimism.io/t/deprecated-upgrade-17-proposal-jovian-hardfork/10374/1 "2025-10-31T16:19:03Z")

</div>

> This proposal has been deprecated.

**Proposal Title: Upgrade 17 Proposal: Jovian Hardfork**

**Proposal Type: Protocol Upgrade**

**This proposal will go to vote during voting cycle 44**

Hi I’m George, a Protocol Engineer at OP Labs and core contributor of the OP Stack. I reviewed this proposal in collaboration with Paul Dowman and Matt Solomon from the OP Labs Team.

**Executive Summary**

The Jovian hardfork is a proposed network upgrade for OPStack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. It includes the following features:

- [Cannon](https://specs.optimism.io/fault-proof/cannon-fault-proof-vm.html) is being updated to support [Go 1.24](https://tip.golang.org/doc/go1.24), which allows the OP Stack to stay up to date with upstream changes to `go-ethereum` (which are included in op-geth)

- **Minimum Base Fee** and **Data Availability Footprint Block Limit** which allow the L2 base fee to respond more rapidly to changes in block composition, particularly when this implies an increased demand on the rollup’s capacity to batch blocks to the data availability layer.

- **Operator Fee Fix** which modifies the existing, optional “operator fee” feature.

## **Motivation**

We are submitting this proposal to a) perform routine maintenance of the fault proof system (following best security practices) and b) make improvements to the Optimism protocol (concerning transaction fees) which will improve the transaction fee experience for users and which lower the risk to chain operators and the ecosystem as a whole.

There are no anticipated conflicts of interest, and we believe the Collective should adopt the proposal so that the optimism protocol can provide increased value to operators and users alike.

## Impacted Stakeholders and Expected Outcomes

- **All node operators:** will be required to update node software in advance of the activation time for Jovian

- **Users, developers and ecosystem tools:** may wish to adapt to the newly populated `BlobGasUsed` header and transaction receipt field (see the DA footprint block limit feature specifications linked below)

## **Specifications**

### **Blockspace Charter**

- This upgrade requires a change to the Standard Rollup Charter, as encapsulated by this PR [https://github.com/ethereum-optimism/OPerating-manual/pull/63](https://github.com/ethereum-optimism/OPerating-manual/pull/63)

### **Technical details**

_Minimum Base Fee_

- [Design Document](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/minimum-base-fee.md)

- Specs

- [Failure Modes Analysis](https://github.com/ethereum-optimism/design-docs/blob/main/security/fma-minimum-base-fee.md)

_Data Availability Footprint Block Limit_

- [Design Document](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/da-footprint-block-limit.md)

- Specs

- A Threat Modelling exercise was conducted.

_Operator Fee Fix_

- [Design Document](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/operator-fee-scalar-fix.md)

- [Specs](https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/jovian/exec-engine.md#operator-fee)

- [Failure Modes Analysis](https://github.com/ethereum-optimism/design-docs/blob/main/security/fma-operator-fee-fix.md)

_Cannon Go 1.24 support_

- Audit reports

- [Tracking issue](https://github.com/ethereum-optimism/optimism/issues/14760)

### Contract changes

The contracts changes include in this upgrade are summarized in [the release notes](https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv5.0.0) for `op-contracts/v5.0.0`.

After the veto period has ended, we will ask the Security Council to sign transactions to update the contracts using OP Contracts Manager, and to establish a new absolute prestate hash for chains using permisionless fault proofs. These transactions must to be executed _before_ the actual Jovian activation to avoid a broken Fault Proofs system after the activation.

### Absolute Prestate

This upgrade includes the absolute prestate for [op-program/v1.8.0-rc.3](https://github.com/ethereum-optimism/optimism/releases/tag/op-program%2Fv1.8.0-rc.3). The absolute prestate hash (cannon64 variant) is `0x03799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f3`. It has been publicly verified [here](https://www.notion.so/U17-29af153ee1628064b946e505b2054c47?pvs=21).

### Calldata

The **expected** calldata to sign for **OP Mainnet** is below. This also includes the upgrade on **Soneium Mainnet** and **Ink Mainnet** , as these networks will be upgrades in one superchain-ops task alongside OP Mainnet.

```auto
0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001200000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044b0b807eb00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c000000000000000000000000543ba4aadbab8f9025686bd03993043599c6fb04000000000000000000000000000000000000000000000000000000000000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000164ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000229047fed2591dbec1ef1118d64f7af3db9eb290000000000000000000000000543ba4aadbab8f9025686bd03993043599c6fb0403799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000062c0a111929fa32cec2f76adba54c16afb6e8364000000000000000000000000d56045e68956fce2576e680c95a4750cf8241f7903799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f30000000000000000000000007a8ed66b319911a0f3e7288bddab30d9c0c875c300000000000000000000000089889b569c3a505f3640ee1bd0ac1d557f436d2a03799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000000000000000000000000000000000000

```

To generate the above calldata:

1. **Clone** the [superchain-ops](https://github.com/ethereum-optimism/superchain-ops) repository

2. `git checkout u17-main-op-sony-ink`

3. `cd src/tasks/eth/032-U17-main-op-sony-ink`

4. **Run** the below command either as `council` or `foundation`:

```auto
SIMULATE_WITHOUT_LEDGER=1 just --dotenv-path $(pwd)/.env simulate <council|foundation>

```

The terminal output will include the `calldata` and state changes.

The tasks use the **`OPCMUpgradeV500` template** , refer to it to see **how the calldata is generated:** [https://github.com/ethereum-optimism/superchain-ops/blob/main/src/template/OPCMUpgradeV500.sol](https://github.com/ethereum-optimism/superchain-ops/blob/main/src/template/OPCMUpgradeV500.sol)

There are several other chains which will be upgraded, in bundles, in additional transactions outlined below. The calldata can be verified in the same way as above (in the superchain-ops repository).

`Metal, Mode, Zora`

```auto
0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001200000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044b0b807eb00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c000000000000000000000000543ba4aadbab8f9025686bd03993043599c6fb04000000000000000000000000000000000000000000000000000000000000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000164ff2dd5a1000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007bd909970b0eedcf078de6aeff23ce571663b8aa00000000000000000000000037ff0ae34dada1a95a4251d10ef7caa868c7ac9903799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f30000000000000000000000005e6432f18bc5d497b1ab2288a025fbf9d69e2221000000000000000000000000470d87b1dae09a454a43d1fd772a561a03276ab703799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f3000000000000000000000000a3cab0126d5f504b071b81a3e8a2bbbf17930d86000000000000000000000000d4ef175b9e72caee9f1fe7660a6ec19009903b4903799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000000000000000000000000000000000000

```

`Arena-Z, Swell`

```auto
0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001200000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044b0b807eb00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c000000000000000000000000543ba4aadbab8f9025686bd03993043599c6fb04000000000000000000000000000000000000000000000000000000000000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000034a564bbd863c4bf73eca711cf38a77c4ccbdd6a000000000000000000000000eefd1782d70824cbcacf9438afab7f353f1797f003799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f3000000000000000000000000d3d4c6b703978a5d24fecf3a70a51127667ff1a40000000000000000000000004c4710a4ec3f514a492cc6460818c4a6a6269dd603799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000000000000000000000000000000000000

```

`Unichain`

```auto
0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c407398d063f942febbcc6f80a156b47f3f1bda60000000000000000000000003b73fa8d82f511a3cae17b5a26e4e1a2d5e2f2a403799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000000000000000000000000000000000000

```

`Base`

```auto
0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009e86a129e86a570fb13e89bd5e9aa98b642ae4c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03799051d2bfe459127d4597f469f535ff1bd2a6e1e2134443167620871c11f300000000000000000000000000000000000000000000000000000000

```

### **Impact summary**

_Minimum Base Fee, Data Availability Footprint Block Limit, Operator Fee Fix_

These features will be activated by the Jovian hardfork, and will require execution layer, consensus layer, and contracts layer updates. Because the hardfork changes consensus rules, a new absolute prestate will be required for chains running permissionless fault proofs.

**We have published a notice page clarifying the required software versions and activation times here** [https://docs.optimism.io/notices/upgrade-17](https://docs.optimism.io/notices/upgrade-17).

_Cannon Go 1.24 support_

This feature requires the deployment of a new MIPS contract for chains running permissionless fault proofs.

### **Precommitment impact review:**

This Upgrade Proposal only impacts the Collective Fee Take precommitment in the Standard Rollup Charter.

- Collective Fee Take: while the operator fee’s offchain codepath is updated in this release, it is still required to be set to 0 for standard chains and thus does not impact the fee take today.

- Governor/Servicer Role Separation: no change to role structures or authorization patterns.

- Ossified GasLimits: no changes to ossified gasLimits

- Direct Fee Margin Controls: no change to the relevant configuration structure and authorization.

## **Action Plan**

- Alphanet and Betanet testing will commence **29th October.**

- Sepolia upgrade will be executed on **10th November.**

- Sepolia activation will be scheduled for **12th November.**

- Mainnet upgrade will be executed on **20th November.**

- Mainnet activation will be scheduled for **25th November.**

The upgrade will occur automatically for chains on the Jovian releases of op-geth and op-node if those chains have opted-in to activate at Superchain times via their superchain-registry configuration (i.e., have the `superchain_time` set to a timestamp before or at the mainnet activation time, or have set their `jovian_time` directly) and are using the `--network` (op-node) and `--op-network` (op-geth) flags or corresponding environment variables or corresponding flags for kona-node and op-reth.

Chain operators running fault proof infrastructure should ensure they are running op-challenger version [v1.7.0-rc.1](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.7.0-rc.1).

## **Conclusion**

The Jovian hardfork is a proposed network upgrade for OPStack chains that addresses several key improvements:

1. **Cannon update** to support Go 1.24, ensuring the OP Stack remains compatible with upstream changes to `go-ethereum` and provides users with the latest execution-layer security.

2. **Fee mechanism improvements** including:

These fee improvements will allow the L2 base fee to respond more quickly to changes in block composition, reduce the need for batcher-sequencer throttling, and protect rollup operators from potential spam attacks.

This upgrade is essential for maintaining security best practices and addressing deficiencies in the Optimism protocol’s transaction fee system that can lead to poor user experiences and pose risks to chain operators.

We request the Collective’s approval to proceed with this upgrade according to the timeline above.

By approving this proposal, the Optimism Collective will enable increased value to both operators and users of the protocol.

---

<div class="post-metadata">

**Author:** ![sanjanam](https://avatars.discourse-cdn.com/v4/letter/s/df788c/32.png) [@sanjanam](https://gov.optimism.io/u/sanjanam)\
**Post date:** [November 3, 2025, 9:25pm UTC](https://gov.optimism.io/t/deprecated-upgrade-17-proposal-jovian-hardfork/10374/2 "2025-11-03T21:25:57Z")

</div>

Hi, I’m Sanjana, a Product Manager on the Protocol team at OP Labs.

We identified an error made during the contract deployment process, which resulted in the calldata referenced in this post being incorrect. We’ll be marking this post as **[deprecated]** and will publish a new post shortly.

---

<div class="post-metadata">

**Author:** ![geoknee](https://dub1.discourse-cdn.com/bc41dd/user_avatar/gov.optimism.io/geoknee/32/11762_2.png) [@geoknee](https://gov.optimism.io/u/geoknee)\
**Post date:** [November 7, 2025, 4:44pm UTC](https://gov.optimism.io/t/deprecated-upgrade-17-proposal-jovian-hardfork/10374/3 "2025-11-07T16:44:47Z")

</div>

The new post superseding this one is available here [Upgrade 17 - Jovian Hardfork and Fusaka Readiness](https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400) .
