Preparing for Ecotone Breaking Changes
This page outlines breaking changes related to Ecotone network upgrade for wallets and front-end developers, chain operators, and node operators. If you experience difficulty at any stage of this process, please reach out to developer support (opens in a new tab).
- The Ecotone upgrade for OP Sepolia activated at 1708534800 Wed Feb 21 17:00:00 UTC 2024.
- The Ecotone OP Mainnet upgrade will be at 1710374401 Thu Mar 14 00:00:01 UTC 2024, pending governance approval (opens in a new tab).
The proposed Ecotone upgrade to the OP Stack and OP Mainnet changes the formula for estimating the L1 Data Fee component of the OP Stack Transaction Fee in preparation for the introduction of EIP-4844 (opens in a new tab) support.
- This new formula is designed to account for the option to post transaction data within data blobs instead of as Ethereum calldata, a feature enabled by EIP-4844 (opens in a new tab).
- Read the Ecotone Formula section of the Transaction Fees page for more information about the new formula.
Your application may need to be updated to account for this change. Read on to learn more about how you can prepare for Ecotone.
Changes to the L1 Data Fee formula may affect your application if you are computing this fee component on your own.
It's strongly recommended that you use existing tooling to estimate transaction fees instead of computing them yourself. Refer to the tooling section of the Estimating Fees page for recommendations on which tooling might be best suited for your application.
If you cannot use existing tooling, use the
getL1Fee function on the
GasPriceOracle smart contract to compute the L1 Data Fee component of the transaction fee.
This function would be automatically updated during the proposed upgrade.
Avoid implementing the formula yourself, as it may change in the future.
The proposed Ecotone upgrade impacts OP chains and requires chain operators to upgrade their chain and configure the sequencer for Ecotone. Chain operators will also want to review the guide on Using Blobs for next steps after Ecotone activation.
Ensure your sequencer node is prepared by following the three node operator steps: update to latest release, configure the Ecotone activation date, and preparing for activation.
Encode and prepare to send an L1 transaction from your
SystemConfigProxy owner shortly after Ecotone activation. See the guide on Using Blobs for more details.
At the point of activation of the Ecotone fork, your current scalar setting will by default become the
BaseFeeScalar value, and the
BlobBaseFeeScalar will be set to
Prepare your batcher to be restarted with the updated configuration in advance of the Ecotone activation to submit blobs. See the guide on Using Blobs for more details.
You will want to do the above steps very shortly after the activation of Ecotone to take full advantage of cheaper fees with 4844.
Also, due to the removal of the
overhead in the calculation of L1 data fees, after Ecotone activates, chain operators are expected to experience an up to 10% decrease in L1 fee margin.
This could result in operating at a loss until the above steps are completed.
The proposed Ecotone upgrade impacts node operators because of the new Beacon endpoint for `op-node. Soon after the Ecotone activation, batch transactions will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes. This means node operators will need access to a beacon node/consensus client (opens in a new tab) (i.e. Lighthouse, Lodestar, Nimbus, Prysm, Teku, etc.).
These steps are necessary for EVERY node operator:
- If you are operating a node for an OP Chain that has an entry in the
superchain-registry(opens in a new tab), the Ecotone activation date is part of the
op-gethnodes. So, no action is needed for the sequencer after upgrading to the latest release.
- For node operators of custom chains not included in the
superchain-registry(opens in a new tab), the activation dates can be set in the
ecotone_time) or set the activation time via overrides (CLI) in both
op-geth. These will need to be set on
op-gethfor the sequencer and all other nodes.
Even if the ecotone activation is configured via the
rollup.json, it still needs to be configured separately on
op-geth via command line flag.
--override.ecotone value (default: 0) ($OP_NODE_OVERRIDE_ECOTONE)
Manually specify the Ecotone fork timestamp, overriding the bundled setting
- All node operators must set an L1 beacon value in your
op-nodeas soon as you update to the latest release.
If Ecotone activates and you have not set an l1 beacon value on your
op-node, your node will crash.
--l1.beacon value ($OP_NODE_L1_BEACON)
HTTP endpoint Address of L1 Beacon-node.
- Either run your own L1 beacon node like Lighthouse (opens in a new tab) or use a third-party beacon node RPC service, like Quicknode (opens in a new tab).
Existing node operators have additional steps to follow and should read the guide on using blobs.
op-gethwill log their configurations at startup
- Check that Ecotone time is set to
activation-timestampin the op-node logs
- Check that Ecotone and Cancun time is set to
activation-timestampin the op-geth logs