From 38ac63fecda2d5f9af80167a2fd00955a8ceeb9b Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 18 Feb 2025 09:14:36 -0800
Subject: [PATCH 01/13] Custom gas token fixes
---
.../chain-operators/configuration/rollup.mdx | 31 ----
pages/operators/chain-operators/features.mdx | 4 +-
.../chain-operators/features/_meta.json | 1 -
.../chain-operators/features/alt-da-mode.mdx | 5 -
.../features/custom-gas-token.mdx | 161 ------------------
pages/stack/beta-features.mdx | 6 -
pages/stack/beta-features/_meta.json | 1 -
.../stack/beta-features/custom-gas-token.mdx | 96 -----------
pages/stack/fact-sheet.mdx | 2 +-
.../tutorials/bridge-crosschain-eth.mdx | 3 -
pages/superchain/blockspace-charter.mdx | 1 -
pages/superchain/standard-configuration.mdx | 6 +-
12 files changed, 3 insertions(+), 314 deletions(-)
delete mode 100644 pages/operators/chain-operators/features/custom-gas-token.mdx
delete mode 100644 pages/stack/beta-features/custom-gas-token.mdx
diff --git a/pages/operators/chain-operators/configuration/rollup.mdx b/pages/operators/chain-operators/configuration/rollup.mdx
index 0a846e0c9..9070c13e0 100644
--- a/pages/operators/chain-operators/configuration/rollup.mdx
+++ b/pages/operators/chain-operators/configuration/rollup.mdx
@@ -967,37 +967,6 @@ instead of the older output oracle mechanism.
***
-### Custom Gas Token
-
-The Custom Gas Token configuration lets OP Stack chain operators deploy their
-chain allowing a specific ERC-20 token to be deposited in as the native token
-to pay for gas fees. Learn more [here](/stack/beta-features/custom-gas-token).
-
-***
-
-#### useCustomGasToken
-
-UseCustomGasToken is a flag to indicate that a custom gas token should be used.
-
-* **Type:** boolean
-* **Default value:** None
-* **Recommended value:**
-* **Notes:**
-* **Standard Config Requirement:** Non-standard feature.
-
-***
-
-#### customGasTokenAddress
-
-CustomGasTokenAddress is the address of the ERC20 token to be used to pay for
-gas on L2.
-
-* **Type:** Address
-* **Default value:** None
-* **Recommended value:**
-* **Notes:** Must not be `address(0)`.
-* **Standard Config Requirement:** Non-standard feature.
-
### Alt-DA Mode
Alt-DA Mode enables seamless integration of various Data Availability (DA)
diff --git a/pages/operators/chain-operators/features.mdx b/pages/operators/chain-operators/features.mdx
index e62458cb4..1f1f7a1a5 100644
--- a/pages/operators/chain-operators/features.mdx
+++ b/pages/operators/chain-operators/features.mdx
@@ -10,15 +10,13 @@ import { Card, Cards } from 'nextra/components'
# Features
-This section provides information on various features for chain operators. You'll find guides and overviews to help you understand and work with topics such as running an alternative data availability mode chain, implementing the bridged USDC standard on the OP Stack, running a custom gas token chain, OP Stack preinstalls, and span batches.
+This section provides information on various features for chain operators. You'll find guides and overviews to help you understand and work with topics such as running an alternative data availability mode chain, implementing the bridged USDC standard on the OP Stack, OP Stack preinstalls, and span batches.
-
-
diff --git a/pages/operators/chain-operators/features/_meta.json b/pages/operators/chain-operators/features/_meta.json
index 4e76c33b5..d19ff2aed 100644
--- a/pages/operators/chain-operators/features/_meta.json
+++ b/pages/operators/chain-operators/features/_meta.json
@@ -1,7 +1,6 @@
{
"preinstalls": "Preinstalls",
"alt-da-mode": "Run an Alt-DA Mode chain",
- "custom-gas-token": "Run a custom gas token chain",
"span-batches": "Use and enable span batches on your chain",
"bridged-usdc-standard": "Bridged USDC Standard for the OP Stack"
}
\ No newline at end of file
diff --git a/pages/operators/chain-operators/features/alt-da-mode.mdx b/pages/operators/chain-operators/features/alt-da-mode.mdx
index 1609f0ab4..8f3e9c112 100644
--- a/pages/operators/chain-operators/features/alt-da-mode.mdx
+++ b/pages/operators/chain-operators/features/alt-da-mode.mdx
@@ -29,11 +29,6 @@ You should use at least the following compatible op\* versions when running your
* op-batcher/v1.9.1
* [Latest version of op-geth](https://github.com/ethereum-optimism/op-geth/releases/latest)
-
-
- If you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/operators/chain-operators/features/custom-gas-token).
-
-
### Setup your DA server
diff --git a/pages/operators/chain-operators/features/custom-gas-token.mdx b/pages/operators/chain-operators/features/custom-gas-token.mdx
deleted file mode 100644
index 63cc02d1a..000000000
--- a/pages/operators/chain-operators/features/custom-gas-token.mdx
+++ /dev/null
@@ -1,161 +0,0 @@
----
-title: How to run a custom gas token chain
-lang: en-US
-description: Learn how to run a custom gas token chain.
----
-
-import { Callout, Steps } from 'nextra/components'
-
-# How to Run a custom gas token chain
-
-
-The Custom Gas Token feature is a Beta feature of the MIT licensed OP Stack. While it has received initial review from core contributors, it is still undergoing testing, and may have bugs or other issues.
-
-
-This guide provides a walkthrough for chain operators who want to run a custom gas token chain. See the [Custom Gas Token Explainer](/stack/beta-features/custom-gas-token) for a general overview of this OP Stack feature.
-An OP Stack chain that uses the custom gas token feature enables an end user to deposit an L1 native ERC20 token into L2 where that asset is minted as the native L2 asset and can be used to pay for gas on L2.
-
-
- ### Deploying your contracts
-
- * Checkout the [`v2.0.0-beta.3` of the contracts](https://github.com/ethereum-optimism/optimism/tree/op-contracts/v2.0.0-beta.3) and use the commit to deploy.
-
-
- Be sure to check out this tag or you will not deploy a chain that uses custom gas token!
-
-
- * Update the deploy config in `contracts-bedrock/deploy-config` with new fields: `useCustomGasToken` and `customGasTokenAddress`
-
- * Set `useCustomGasToken` to `true`. If you set `useCustomGasToken` to `false` (it defaults this way), then it will use ETH as the gas paying token.
-
- * Set `customGasTokenAddress` to the contract address of an L1 ERC20 token you wish to use as the gas token on your L2. The ERC20 should already be deployed before trying to spin up the custom gas token chain.
-
- The custom gas token being set must meet the following criteria:
-
- * must be a valid ERC-20 token
- * the number of decimals on the token MUST be exactly 18
- * the name of the token MUST be less than or equal to 32 bytes
- * symbol MUST be less than or equal to 32 bytes.
- * must not be yield-bearing
- * cannot be rebasing or have a transfer fee
- * must be transferrable only via a call to the token address itself
- * must only be able to set allowance via a call to the token address itself
- * must not have a callback on transfer, and more generally a user must not be able to make a transfer to themselves revert
- * a user must not be able to make a transfer have unexpected side effects
-
-
- You will NOT be able to change the address of the custom gas token after it is set during deployment.
-
-
- * The [`v2.0.0-beta.3` release](https://github.com/ethereum-optimism/optimism/tree/op-contracts/v2.0.0-beta.3)
-enables fee withdrawals to L1 and L2. For more details on these values, see the [Withdrawal Network](/operators/chain-operators/configuration/rollup#withdrawal-network)
-section of the docs.
-
- * Deploy the L1 contracts from `contracts-bedrock` using the following command:
-
- ```bash
- DEPLOYMENT_OUTFILE=deployments/artifact.json \
- DEPLOY_CONFIG_PATH= \
- forge script scripts/deploy/Deploy.s.sol:Deploy \
- --broadcast --private-key $PRIVATE_KEY \
- --rpc-url $ETH_RPC_URL
- ```
-
- * `DEPLOYMENT_OUTFILE` is the path to the file at which the L1 contract deployment artifacts are written to after deployment. Foundry has filesystem restrictions for security, so make this file a child of the `deployments` directory. This file will contain key/value pairs of the names and addresses of the deployed contracts.
- * `DEPLOY_CONFIG_PATH` is the path to the file for the deploy config used to deploy
-
- ### Generating L2 Allocs
-
-
- Be sure to use the same tag that you used to deploy the L1 contracts.
-
-
- A forge script is used to generate the L2 genesis. It is a requirement that the L1 contracts have been deployed before generating the L2 genesis, since some L1 contract addresses are embedded into the L2 genesis.
-
- ```bash
- CONTRACT_ADDRESSES_PATH=deployments/artifact.json \
- DEPLOY_CONFIG_PATH= \
- STATE_DUMP_PATH= \
- forge script scripts/L2Genesis.s.sol:L2Genesis \
- --sig 'runWithStateDump()' --chain-id $L2_CHAIN_ID
- ```
-
- To generate L2 Allocs, it is assumed that:
-
- * You have the L1 contracts artifact, specified with `DEPLOYMENT_OUTFILE`
- * `CONTRACT_ADDRESSES_PATH` is the path to the deployment artifact from deploying the L1 contracts in the first step, aka `DEPLOYMENT_OUTFILE`
- * `DEPLOY_CONFIG_PATH` is the path to the file for the deploy config used to deploy
- * `STATE_DUMP_PATH` is a path to the generated L2 allocs file, this is the genesis state and is required for the next step.
-
- ### Generating L2 genesis
-
- The `op-node` is used to generate the final L2 genesis file. It takes the allocs created by the forge script as input for the `--l2-allocs` flag.
-
- ```bash
- op-node genesis l2 \
- --l1-rpc $ETH_RPC_URL \
- --deploy-config \
- --l2-allocs \
- --l1-deployments \
- --outfile.l2 \
- --outfile.rollup
- ```
-
- ### Spinning up your infrastructure
-
- Ensure that the end to end system is running.
-
- ### Validating your deployment
-
- This calls the `WETH` predeploy which should be considered wrapped native asset in the context of custom gas token. It should return the name of the token prefixed by `"Wrapped "`
-
- ```bash
- cast call --rpc-url $L2_ETH_RPC_URL 0x4200000000000000000000000000000000000006 'name()(string)'
- ```
-
- This calls the `L1Block` predeploy should return `true`.
-
- ```bash
- cast call --rpc-url $L2_ETH_RPC_URL 0x4200000000000000000000000000000000000015 'isCustomGasToken()(bool)'
- ```
-
- This calls the L1 `SystemConfig` contract and should return `true`.
-
- ```bash
- cast call --rpc-url $L1_ETH_RPC_URL 'isCustomGasToken()(bool)'
- ```
-
- ### Depositing custom gas token into the chain
-
- * To deposit the custom gas token into the chain, users must use the **`OptimismPortalProxy.depositERC20Transaction`** method
- * Users MUST first `approve()` the `OptimismPortal` before they can deposit tokens using `depositERC20Transaction`.
-
- ```
- function depositERC20Transaction(
- address _to,
- uint256 _mint,
- uint256 _value,
- uint64 _gasLimit,
- bool _isCreation,
- bytes memory _data
- ) public;
- ```
-
- ### Withdrawing custom gas tokens out of the chain
-
- * To withdraw your native custom gas token from the chain, users must use the **`L2ToL1MessagePasser.initiateWithdrawal`** method. Proving and finalizing withdrawals is identical to the process on chains that use ETH as the native gas token.
-
- ```
- function initiateWithdrawal(
- address _target,
- uint256 _gasLimit,
- bytes memory _data
- ) public payable;
- ```
-
-
-## Next steps
-
-* Additional questions? See the FAQ section in the [Custom Gas Token Explainer](/stack/beta-features/custom-gas-token#faqs).
-* For more detailed info on custom gas tokens, see the [specs](https://specs.optimism.io/experimental/custom-gas-token.html).
-* If you experience any problems, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
diff --git a/pages/stack/beta-features.mdx b/pages/stack/beta-features.mdx
index b44b3182a..f5bfe50be 100644
--- a/pages/stack/beta-features.mdx
+++ b/pages/stack/beta-features.mdx
@@ -54,10 +54,4 @@ Explore our current beta features below. Each feature includes links to detailed
{' '}
-}
-/>
-
diff --git a/pages/stack/beta-features/_meta.json b/pages/stack/beta-features/_meta.json
index 68d1975ec..3272ba593 100644
--- a/pages/stack/beta-features/_meta.json
+++ b/pages/stack/beta-features/_meta.json
@@ -1,4 +1,3 @@
{
- "custom-gas-token": "Custom gas token",
"alt-da-mode": "Alt-DA Mode"
}
diff --git a/pages/stack/beta-features/custom-gas-token.mdx b/pages/stack/beta-features/custom-gas-token.mdx
deleted file mode 100644
index f4afb9271..000000000
--- a/pages/stack/beta-features/custom-gas-token.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: Custom Gas token explainer
-lang: en-US
-description: Learn the basic process, benefits, and considerations for running a custom gas token chain.
----
-
-import { Callout } from 'nextra/components'
-import { CGTCallout } from '@/components/WipCallout'
-
-
-
-# Custom gas token explainer
-
-The Custom Gas Token configuration lets OP Stack chain operators deploy their chain allowing a specific ERC-20 token to be deposited in as the native token to pay for gas fees. Chain operators can now customize their gas token to:
-
-* provide utility for their project's token
-* make it easier to subsidize gas costs for their users directly via their token treasury
-* facilitate in-game economies, allowing players to pay for gas with their in-game currency
-* build alignment with the community of any token.
-
-## Native gas tokens
-
-By default, L2 OP Stack chains allow users to deposit ETH from L1 into the L2 chain as native L2 token that can then be used to pay for gas fees.
-Chain operators wanted to configure the stack to use a custom token to pay for gas, other than ETH.
-
-With custom gas tokens, chain operators can now set an L1 ERC-20 token address at the time of deploying the contracts of their L2 chain.
-When deposited, this L1 ERC-20 token will become the native gas token on the L2 and can be used to pay for gas fees.
-
-
- **Caveats chain operators should be aware of:**
-
- * You cannot switch from your custom gas token to another token after the chain is launched.
- * Existing chains cannot switch to use a custom gas token. A custom token must be configured at the time of chain deployment.
- * You will need to manually modify your fee configuration values to properly charge fees for users.
- * Understand the [constraints required for your chain to be able to join the Superchain](#considerations) when setting the custom gas token for your chain.
-
-
-## How it works
-
-This is the general flow of how custom gas tokens work on the OP Stack:
-
-* On deployment of an L2 chain, set the address of an L1 token to be used as the gas token.
-* When depositing the custom gas token to L2, it mints the native L2 token.
-* Withdrawing the native L2 token results in the unlocking of the custom token on L1.
-* The native L2 token is used by default to pay for gas fees.
-
-## Benefits
-
-Chain operators get the following benefits by using custom gas tokens:
-
-* can use an L1 ERC-20 token as the custom gas token for L2 OP Stack chain deployment
-* can use an ERC-20 token on an existing L2 OP Stack chain as the custom gas token for an L3 OP Stack chain deployment
-* can use custom gas tokens with other configurations of the OP Stack, including Alt-DA Mode.
-
-## Considerations
-
-The custom token being used must adhere to the following constraints to be able to join the Superchain:
-
-* must be a valid ERC-20 token
-* the number of decimals on the token MUST be exactly 18
-* the name of the token MUST be less than or equal to 32 bytes
-* symbol MUST be less than or equal to 32 bytes.
-* must not be yield-bearing
-* cannot be rebasing or have a transfer fee
-* must be transferrable only via a call to the token address itself
-* must only be able to set allowance via a call to the token address itself
-* must not have a callback on transfer, and more generally a user must not be able to make a transfer to themselves revert
-* a user must not be able to make a transfer have unexpected side effects
-
-
-
-## Next steps
-
-* Ready to get started? Read our guide on how to [deploy your custom gas token chain](/operators/chain-operators/features/custom-gas-token).
-* For more info about how the custom gas token feature works under the hood, [check out the specs](https://specs.optimism.io/experimental/custom-gas-token.html).
-
-## FAQs
-
-### What is the Wrapped (ERC-20) Gas Token?
-
-* The `WETH` predeploy at `0x4200000000000000000000000000000000000006` represents the wrapped custom gas token. If you wish to transact with your native gas token as an ERC-20, you can `deposit` and `withdraw` from this contract to wrap and unwrap your token.
-* What this means is the asset at the `WETH` predeploy is not `ether` but instead is the wrapped version of your custom gas token. Its an ERC20 token, the `name()` will be `"Wrapped ..."` (whatever the name of your token is).
-
-### How do I charge fees as the chain operator?
-
-The initial release of custom gas token does not have special logic for taking into account the exchange rate between the custom gas token and ether. Currently, the protocol charges fees for users with scalars on the L1 blob fee and L1 base fee in ETH. Chain operator will be taking user fees in the custom gas token and spending in ether.
-
-For the initial release of custom gas token, the chain operator will need to manage this either out of band or by manually tuning the fee scalar values to capture the exchange rate between ETH and the custom gas token to ensure profitability. A future release may include [L1 Fee Abstraction](https://github.com/ethereum-optimism/specs/issues/73) where the L1 fee is calculated in a smart contract instead of native code. This would enable an on chain oracle to take into account the exchange rate of the custom gas token.
-
-### Can I migrate my chain into being custom gas token?
-
-If you are already live using `ether` to pay for gas, you cannot become a custom gas token chain. This would likely require a risky, high lift state migration that we would not recommend.
-
-### Do node operators need to do anything?
-
-There are no core changes to `op-geth` or `op-node` so the infrastructure that node operators run is exactly the same as any other OP Stack based chain. The differences are encapsulated in the smart contracts, so only the L1 contract deployments and L2 genesis generation need to be done in a particular way.
diff --git a/pages/stack/fact-sheet.mdx b/pages/stack/fact-sheet.mdx
index e7443ec6a..53fec32ca 100644
--- a/pages/stack/fact-sheet.mdx
+++ b/pages/stack/fact-sheet.mdx
@@ -29,4 +29,4 @@ While the OP Stack allows for full customization, chains in the Superchain adher
3While protocol blocktimes can be lowered to 1 second, subsecond blocktimes can be achieved using [Rollup Boost and Flashblocks](https://writings.flashbots.net/introducing-rollup-boost).
-4Although ETH is the gas token, chain operators can achieve the same UX of a custom gas token by using an ERC-20 paymaster.
+
diff --git a/pages/stack/interop/tutorials/bridge-crosschain-eth.mdx b/pages/stack/interop/tutorials/bridge-crosschain-eth.mdx
index 3ab2d6df3..28d00fc58 100644
--- a/pages/stack/interop/tutorials/bridge-crosschain-eth.mdx
+++ b/pages/stack/interop/tutorials/bridge-crosschain-eth.mdx
@@ -15,9 +15,6 @@ import { InteropCallout } from '@/components/WipCallout'
Crosschain ETH transfers in the Superchain are facilitated through the [SuperchainWETH](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/src/L2/SuperchainWETH.sol) contract.
This tutorial walks through how to send native ETH from chain 901 to 902. To simplify these steps, [supersim](/stack/interop/tools/supersim) will be run with the `--interop.autorelay` flag. The `--interop.autorelay` flag automatically triggers the relay message transaction once the initial send transaction is completed on the source chain, improving the developer experience by removing the need to manually send the relay message.
-
- If the source chain uses native ETH as their gas token, but the destination chain uses a custom gas token, then the recipient will receive `SuperchainWETH` on the destination chain.
-
### Start `supersim` with the autorelayer enabled
diff --git a/pages/superchain/blockspace-charter.mdx b/pages/superchain/blockspace-charter.mdx
index 866a6c841..207c5063f 100644
--- a/pages/superchain/blockspace-charter.mdx
+++ b/pages/superchain/blockspace-charter.mdx
@@ -98,7 +98,6 @@ The history integrity check identifies discrepancies in chain history, including
Chains must meet strict requirements to qualify as "Standard." Below are answers to common questions:
* **Can I modify system smart contracts and remain Standard?** No, modifications invalidate compliance.
-* **Is a custom gas token chain Standard?** No, standard chains must use ethereum as their gas token.
* **Is an alt-DA mode chain Standard?** No, Standard Rollups must adhere to the default data availability model.
* **Will beta features qualify as Standard?** No. Beta features have not yet been approved by Optimism Governance. When features graduate from Beta to GA, they may be included in the standard rollup charter.
diff --git a/pages/superchain/standard-configuration.mdx b/pages/superchain/standard-configuration.mdx
index 5e9a4490f..131e2c91b 100644
--- a/pages/superchain/standard-configuration.mdx
+++ b/pages/superchain/standard-configuration.mdx
@@ -29,7 +29,7 @@ A standard chain in the OP Stack refers to a rollup that adheres to the followin
3. **Interoperability:**
* Maintaining compatibility with the Superchain protocol level cross-chain interactions.
-Chains that deviate from these principles, such as introducing unsupported features like custom gas tokens, are considered non-standard configurations.
+Chains that deviate from these principles, such as introducing unsupported features, are considered non-standard configurations.
## Role of op-deployer in standardization
@@ -74,10 +74,6 @@ Standardization benefits the Superchain ecosystem in several ways:
Certain configurations are explicitly not part of the standard setup. For example:
-* **Custom Gas Tokens:**
- Introducing a gas token other than the default is currently not considered standard.
-
-
* **Modified system contracts:**
Any alterations to core system contracts break standardization and aren't supported in the official OP Stack specification.
From 3505327160c5675965cf0e906d47eecad2110ef8 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Fri, 21 Feb 2025 07:41:20 -0800
Subject: [PATCH 02/13] cgt comms
---
pages/notices/_meta.json | 3 +-
.../notices/custom-gas-tokens-deprecation.mdx | 54 +++++++++++++++++++
2 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 pages/notices/custom-gas-tokens-deprecation.mdx
diff --git a/pages/notices/_meta.json b/pages/notices/_meta.json
index c1db74fd1..7fbe98b67 100644
--- a/pages/notices/_meta.json
+++ b/pages/notices/_meta.json
@@ -1,5 +1,6 @@
{
"pectra-changes": "Preparing for Pectra breaking changes",
"holocene-changes": "Preparing for Holocene breaking changes",
- "sdk-deprecation": "Preparing for Optimism SDK deprecation"
+ "sdk-deprecation": "Preparing for Optimism SDK deprecation",
+ "custom-gas-tokens-deprecation": "Preparing for Custom Gas Tokens deprecation"
}
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
new file mode 100644
index 000000000..9f31d5a59
--- /dev/null
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -0,0 +1,54 @@
+---
+title: Deprecation of the Custom Gas Tokens
+lang: en-US
+description: This page outlines the details of the Custom Gas Tokens deprecation and points towards alternatives
+---
+
+## Deprecation of Custom Gas Tokens
+
+The Custom Gas Token beta feature has been deprecated. Beta features give developers access to early versions of highly requested features, allowing us to validate demand through usage data and user feedback. Since May 2024, usage of the custom gas token beta feature has steadily declined as ERC-4337 and robust paymaster services gained traction.
+
+Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own forks – though this comes at their own risk.
+
+Additionally, advancements in Account Abstraction (AA) tooling now enable gas payments in any token, offering better alternatives for the limited number of chains that require this feature.
+
+
+## Highlights
+
+Coder removal: The Custom Gas Token code will be removed from the Optimism monorepo.
+
+End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
+
+## Migration recommendations
+
+The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](superchain/standard-configuration). We strongly recommend:
+
+* All new chains launch with the standard ETH gas token configuration.
+* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
+ * For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
+
+With CGT code removed from the monorepo, chains relying on this feature will find it increasingly difficult to stay up-to-date with the latest L1 and L2 OP Stack upgrades. While an external team might be able to maintain an unofficial fork of the Optimism monorepo that includes CGT support, that is not guaranteed and introduces significant risks.
+
+### Account abstraction tools
+
+There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#inclusion-criteria) to get you started.
+
+## Risks of continued use of Custom Gas Tokens
+
+For any chain considering CGT post-deprecation, be aware of the following risks:
+
+* Fee mechanism flaws: Fees are charged as a scalar on blob fees denominated in ETH. This means CGT chains will either drastically overcharge or undercharge users for transaction fees relative to their L1 Data Availability costs.
+
+* Higher overhead for RaaS providers: Managing CGT chains requires RaaS providers to assume additional risk exposure to the custom gas token asset.
+
+* Security concerns: The CGT code modifies the L1 `OptimismPortal`, where all native assets are stored, and will not have undergone third-party auditing.
+
+* Lack of future compatibility: Without official support from core protocol developers, there is no guarantee that future OP Stack upgrades will function properly with CGT-based chains.
+
+### Need help?
+
+For further assistance or questions about this migration, feel free to reach through the following channels:
+
+* Connect with us on [Discord](https://discord.gg/optimism) for community support
+* Join us on our [developer forum](https://github.com/ethereum-optimism/developers/discussions) for discussions, questions, and general support.
+* Open an [issue on our GitHub repository](https://github.com/ethereum-optimism/docs/issues) for documentation-related concerns
From 1efa16b5746c8d07a33f979c16cbd6d689503bb4 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Fri, 21 Feb 2025 07:43:04 -0800
Subject: [PATCH 03/13] update highlights
---
pages/notices/custom-gas-tokens-deprecation.mdx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 9f31d5a59..31ebf3607 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -15,9 +15,9 @@ Additionally, advancements in Account Abstraction (AA) tooling now enable gas pa
## Highlights
-Coder removal: The Custom Gas Token code will be removed from the Optimism monorepo.
-
-End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
+* Code removal: The Custom Gas Token code will be removed from the Optimism repo.
+* Migration to AA tooling: RaaS providers should explore Account Abstraction tools to replace Custom Gas Tokens.
+* End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
## Migration recommendations
From cf1d5b5d54adf62f0e8625ce001c4db549877664 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Fri, 21 Feb 2025 07:47:04 -0800
Subject: [PATCH 04/13] Fix linting
---
.../notices/custom-gas-tokens-deprecation.mdx | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 31ebf3607..db8a151f2 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -15,17 +15,17 @@ Additionally, advancements in Account Abstraction (AA) tooling now enable gas pa
## Highlights
-* Code removal: The Custom Gas Token code will be removed from the Optimism repo.
-* Migration to AA tooling: RaaS providers should explore Account Abstraction tools to replace Custom Gas Tokens.
-* End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
+* Code removal: The Custom Gas Token code will be removed from the Optimism repo.
+* Migration to AA tooling: RaaS providers should explore Account Abstraction tools to replace Custom Gas Tokens.
+* End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
## Migration recommendations
-The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](superchain/standard-configuration). We strongly recommend:
+The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](/superchain/standard-configuration). We strongly recommend:
-* All new chains launch with the standard ETH gas token configuration.
-* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
- * For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
+* All new chains launch with the standard ETH gas token configuration.
+* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
+ * For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
With CGT code removed from the monorepo, chains relying on this feature will find it increasingly difficult to stay up-to-date with the latest L1 and L2 OP Stack upgrades. While an external team might be able to maintain an unofficial fork of the Optimism monorepo that includes CGT support, that is not guaranteed and introduces significant risks.
@@ -37,13 +37,13 @@ There are many account abstractions providers in the space. You should find the
For any chain considering CGT post-deprecation, be aware of the following risks:
-* Fee mechanism flaws: Fees are charged as a scalar on blob fees denominated in ETH. This means CGT chains will either drastically overcharge or undercharge users for transaction fees relative to their L1 Data Availability costs.
+* Fee mechanism flaws: Fees are charged as a scalar on blob fees denominated in ETH. This means CGT chains will either drastically overcharge or undercharge users for transaction fees relative to their L1 Data Availability costs.
-* Higher overhead for RaaS providers: Managing CGT chains requires RaaS providers to assume additional risk exposure to the custom gas token asset.
+* Higher overhead for RaaS providers: Managing CGT chains requires RaaS providers to assume additional risk exposure to the custom gas token asset.
-* Security concerns: The CGT code modifies the L1 `OptimismPortal`, where all native assets are stored, and will not have undergone third-party auditing.
+* Security concerns: The CGT code modifies the L1 `OptimismPortal`, where all native assets are stored, and will not have undergone third-party auditing.
-* Lack of future compatibility: Without official support from core protocol developers, there is no guarantee that future OP Stack upgrades will function properly with CGT-based chains.
+* Lack of future compatibility: Without official support from core protocol developers, there is no guarantee that future OP Stack upgrades will function properly with CGT-based chains.
### Need help?
From 1d9ac95182e949c4f1e2803953d87d01ba6b51b6 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Mon, 24 Feb 2025 14:45:20 -0800
Subject: [PATCH 05/13] Update fork info
---
pages/notices/custom-gas-tokens-deprecation.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index db8a151f2..77051a7c7 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -8,7 +8,7 @@ description: This page outlines the details of the Custom Gas Tokens deprecation
The Custom Gas Token beta feature has been deprecated. Beta features give developers access to early versions of highly requested features, allowing us to validate demand through usage data and user feedback. Since May 2024, usage of the custom gas token beta feature has steadily declined as ERC-4337 and robust paymaster services gained traction.
-Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own forks – though this comes at their own risk.
+Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own forks at their own risk.
Additionally, advancements in Account Abstraction (AA) tooling now enable gas payments in any token, offering better alternatives for the limited number of chains that require this feature.
@@ -27,7 +27,7 @@ The Optimism ecosystem is focusing on interoperability within the Superchain, wi
* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
* For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
-With CGT code removed from the monorepo, chains relying on this feature will find it increasingly difficult to stay up-to-date with the latest L1 and L2 OP Stack upgrades. While an external team might be able to maintain an unofficial fork of the Optimism monorepo that includes CGT support, that is not guaranteed and introduces significant risks.
+With CGT code removed from the monorepo, chains relying on this feature will find it increasingly difficult to stay up-to-date with the latest L1 and L2 OP Stack upgrades.
### Account abstraction tools
From 8ef9b9c07bd185ad81a27e934239d7870332da6b Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 10:23:11 -0800
Subject: [PATCH 06/13] Implement feedback
---
pages/notices/custom-gas-tokens-deprecation.mdx | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 77051a7c7..a1012a5e5 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -15,11 +15,11 @@ Additionally, advancements in Account Abstraction (AA) tooling now enable gas pa
## Highlights
-* Code removal: The Custom Gas Token code will be removed from the Optimism repo.
-* Migration to AA tooling: RaaS providers should explore Account Abstraction tools to replace Custom Gas Tokens.
+* Code removal: The Custom Gas Token code has been removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
+* Use AA Tooling: New chains looking to enable Custom Gas Token functionality should utilize paymasters to enable the same functionality
* End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
-## Migration recommendations
+## Recommendations for new chains
The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](/superchain/standard-configuration). We strongly recommend:
@@ -27,11 +27,15 @@ The Optimism ecosystem is focusing on interoperability within the Superchain, wi
* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
* For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
-With CGT code removed from the monorepo, chains relying on this feature will find it increasingly difficult to stay up-to-date with the latest L1 and L2 OP Stack upgrades.
+There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#inclusion-criteria) to get you started.
-### Account abstraction tools
+## Recommendations for existing chains
-There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#inclusion-criteria) to get you started.
+For existing chains that utilize Custom Gas Token, there are a few paths forward:
+
+* You can continue to operate your chain as is and not pull in the latest upgrades to the OP Stack.
+* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
+* You can launch a new standard configuration chain and coordinate a migration of applications and users from your current Custom Gas Token chain to the new chain.
## Risks of continued use of Custom Gas Tokens
From 690a85ea0e3ba93ed79ebe932e4a5e839dbdd752 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 10:25:18 -0800
Subject: [PATCH 07/13] Lint fix
---
words.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/words.txt b/words.txt
index 3ee228103..6da84370e 100644
--- a/words.txt
+++ b/words.txt
@@ -420,6 +420,7 @@ unmetered
Unprotect
unsubmitted
UPNP
+upstreaming
VERKLE
verkle
VHOSTS
From 485dfab54e593b16899269bca90b7e9acac4caa4 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 10:31:22 -0800
Subject: [PATCH 08/13] Update link
---
pages/notices/custom-gas-tokens-deprecation.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index a1012a5e5..28481dd1e 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -27,7 +27,7 @@ The Optimism ecosystem is focusing on interoperability within the Superchain, wi
* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
* For example, a given chain can maintain ETH as its protocol gas token while using AA tooling to permit payments in their native token.
-There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#inclusion-criteria) to get you started.
+There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#account-abstraction-tools) to get you started.
## Recommendations for existing chains
From 1d47765a125044532abfd76fe98772048e0d8e8b Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 11:51:40 -0800
Subject: [PATCH 09/13] Update pages/notices/custom-gas-tokens-deprecation.mdx
Co-authored-by: Kevin Ho
---
pages/notices/custom-gas-tokens-deprecation.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 28481dd1e..3f3fd4a05 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -34,7 +34,7 @@ There are many account abstractions providers in the space. You should find the
For existing chains that utilize Custom Gas Token, there are a few paths forward:
* You can continue to operate your chain as is and not pull in the latest upgrades to the OP Stack.
-* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
+* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
* You can launch a new standard configuration chain and coordinate a migration of applications and users from your current Custom Gas Token chain to the new chain.
## Risks of continued use of Custom Gas Tokens
From cf8d736f9b13862cffb0978d6a18ba30c2d41a52 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 11:52:35 -0800
Subject: [PATCH 10/13] Remove extra space
---
pages/notices/custom-gas-tokens-deprecation.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 3f3fd4a05..481cf1e30 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -34,7 +34,7 @@ There are many account abstractions providers in the space. You should find the
For existing chains that utilize Custom Gas Token, there are a few paths forward:
* You can continue to operate your chain as is and not pull in the latest upgrades to the OP Stack.
-* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
+* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
* You can launch a new standard configuration chain and coordinate a migration of applications and users from your current Custom Gas Token chain to the new chain.
## Risks of continued use of Custom Gas Tokens
From 090e52ade163ab1e748a7b4eb2fa950ab95e35b2 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 12:37:35 -0800
Subject: [PATCH 11/13] Clarify language
---
pages/notices/custom-gas-tokens-deprecation.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 481cf1e30..978577b18 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -8,7 +8,7 @@ description: This page outlines the details of the Custom Gas Tokens deprecation
The Custom Gas Token beta feature has been deprecated. Beta features give developers access to early versions of highly requested features, allowing us to validate demand through usage data and user feedback. Since May 2024, usage of the custom gas token beta feature has steadily declined as ERC-4337 and robust paymaster services gained traction.
-Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own forks at their own risk.
+Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own OP Stack Fork at their own risk. Future upgrades to the OP Stack will not be compatible with custom gas tokens. Recommendations for existing chains that use custom gas tokens and new chains are discussed below.
Additionally, advancements in Account Abstraction (AA) tooling now enable gas payments in any token, offering better alternatives for the limited number of chains that require this feature.
From dcf27aa0c0d118e1c28641c58ac26b8759580c63 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 12:39:02 -0800
Subject: [PATCH 12/13] Small fixes
---
pages/notices/custom-gas-tokens-deprecation.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 978577b18..7ab03bee8 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -34,7 +34,7 @@ There are many account abstractions providers in the space. You should find the
For existing chains that utilize Custom Gas Token, there are a few paths forward:
* You can continue to operate your chain as is and not pull in the latest upgrades to the OP Stack.
-* At your own risk, you can start maintaining a OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
+* At your own risk, you can start maintaining an OP Stack fork that adds back in the CGT code, upstreaming the latest OP stack upgrades into your fork- which was removed from the Optimism monorepo in the following PRs [1](https://github.com/ethereum-optimism/optimism/pull/13686), [2](https://github.com/ethereum-optimism/optimism/pull/13921), [3](https://github.com/ethereum-optimism/optimism/pull/1409).
* You can launch a new standard configuration chain and coordinate a migration of applications and users from your current Custom Gas Token chain to the new chain.
## Risks of continued use of Custom Gas Tokens
@@ -51,7 +51,7 @@ For any chain considering CGT post-deprecation, be aware of the following risks:
### Need help?
-For further assistance or questions about this migration, feel free to reach through the following channels:
+For further assistance or questions about this migration, feel free to reach out through the following channels:
* Connect with us on [Discord](https://discord.gg/optimism) for community support
* Join us on our [developer forum](https://github.com/ethereum-optimism/developers/discussions) for discussions, questions, and general support.
From 3b650412576b14b258858a30a4c3dd9f683e63ad Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Tue, 25 Feb 2025 13:31:18 -0800
Subject: [PATCH 13/13] Fix language
---
pages/notices/custom-gas-tokens-deprecation.mdx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pages/notices/custom-gas-tokens-deprecation.mdx b/pages/notices/custom-gas-tokens-deprecation.mdx
index 7ab03bee8..51cef0d6c 100644
--- a/pages/notices/custom-gas-tokens-deprecation.mdx
+++ b/pages/notices/custom-gas-tokens-deprecation.mdx
@@ -8,7 +8,7 @@ description: This page outlines the details of the Custom Gas Tokens deprecation
The Custom Gas Token beta feature has been deprecated. Beta features give developers access to early versions of highly requested features, allowing us to validate demand through usage data and user feedback. Since May 2024, usage of the custom gas token beta feature has steadily declined as ERC-4337 and robust paymaster services gained traction.
-Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own OP Stack Fork at their own risk. Future upgrades to the OP Stack will not be compatible with custom gas tokens. Recommendations for existing chains that use custom gas tokens and new chains are discussed below.
+Based on this trend, the beta feature was deprecated instead of being moved to the OP Stack standard configuration. While the custom gas token code has been removed from the Optimism monorepo, chains can choose to maintain their own OP Stack Fork at their own risk. Future upgrades to the OP Stack will not be compatible with custom gas tokens. Options for existing chains that use custom gas tokens and new chains are discussed below.
Additionally, advancements in Account Abstraction (AA) tooling now enable gas payments in any token, offering better alternatives for the limited number of chains that require this feature.
@@ -19,9 +19,9 @@ Additionally, advancements in Account Abstraction (AA) tooling now enable gas pa
* Use AA Tooling: New chains looking to enable Custom Gas Token functionality should utilize paymasters to enable the same functionality
* End of developer support: OP Labs Developer Support will no longer address CGT-related issues or requests.
-## Recommendations for new chains
+## Options for new chains
-The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](/superchain/standard-configuration). We strongly recommend:
+The Optimism ecosystem is focusing on interoperability within the Superchain, with efforts and incentives directed towards [standard configured chains](/superchain/standard-configuration). Some options are:
* All new chains launch with the standard ETH gas token configuration.
* Utilize Account Abstraction tooling to allow users to pay gas fees in alternative tokens instead of relying on Custom Gas Tokens.
@@ -29,7 +29,7 @@ The Optimism ecosystem is focusing on interoperability within the Superchain, wi
There are many account abstractions providers in the space. You should find the correct one for your needs, but we've [compiled a list](/app-developers/tools/build/account-abstraction#account-abstraction-tools) to get you started.
-## Recommendations for existing chains
+## Options for existing chains
For existing chains that utilize Custom Gas Token, there are a few paths forward: