diff --git a/pages/operators/chain-operators/deploy/smart-contracts.mdx b/pages/operators/chain-operators/deploy/smart-contracts.mdx
index 778e3b7be..9f0b9861b 100644
--- a/pages/operators/chain-operators/deploy/smart-contracts.mdx
+++ b/pages/operators/chain-operators/deploy/smart-contracts.mdx
@@ -35,67 +35,12 @@ The recommended way to deploy the L1 smart contracts is with the `op-deployer` t
Follow the steps in this [section](/operators/chain-operators/tutorials/create-l2-rollup#using-op-deployer) to learn how it works.
-## Deployment script (Legacy method)
-
-
- The following deployment information outlines the legacy method for deploying the OP Stack L1 contracts.
- This method is not recommended and is provided only for historical context.
-
-
-The legacy method for deploying smart contracts uses [foundry](https://github.com/foundry-rs) and the deployment script located in the monorepo at
-[packages/contracts-bedrock/scripts/deploy/Deploy.s.sol](https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts-bedrock/scripts/deploy/Deploy.s.sol).
-
-### State diff
-
-You can verify the state diff before deploying the contracts by using the `runWithStateDiff()` function in the deployment script.
-This produces outputs in [`snapshots/state-diff/`](https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts-bedrock/snapshots/state-diff).
-Run the deployment with state diffs using the following command:
-
-```bash
-forge script -vvv scripts/deploy/Deploy.s.sol:Deploy --sig 'runWithStateDiff()' --rpc-url $ETH_RPC_URL --broadcast --private-key $PRIVATE_KEY
-```
-
-### Execution
-
-* Set the `ETHERSCAN_API_KEY` and add the `--verify` flag to verify your
- contracts.
-* `DEPLOYMENT_OUTFILE` will determine the filepath that the deployment
- artifact is written to on disk after the deployment. It comes in the form of a
- JSON file where keys are the names of the contracts and the values are the
- addresses the contract was deployed to.
-* `DEPLOY_CONFIG_PATH` is the path on the filesystem that points to a deployment
- config. The same deployment config JSON file should be used for L1 contracts
- deployment as when generating the L2 genesis allocs. See the [deploy-config](https://github.com/ethereum-optimism/optimism/tree/develop/packages/contracts-bedrock/deploy-config)
- directory for examples and the [rollup configuration page](/operators/chain-operators/configuration/rollup)
- for descriptions of the values.
-* `IMPL_SALT` env var can be used to set the create2 salt for deploying the
- implementation contracts.
-
-This will deploy an entire new system of L1 smart contracts, including a new
-SuperchainConfig. In the future, there will be an easy way to deploy only
-proxies and use shared implementations for each of the contracts as well as a
-shared SuperchainConfig contract.
-
-```
-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
-```
-
-### Deploying a single contract
-
-All functions for deploying a single contract are public, meaning that
-the `--sig` argument to forge script can be used to target the deployment of a
-single contract.
-
## Best practices
Production users should deploy their L1 contracts from a contracts release.
All contracts releases are on git tags with the following format:
`op-contracts/vX.Y.Z`. If you're deploying a new standard chain, you should
-deploy the [Fault Proof Fixes release](https://github.com/ethereum-optimism/optimism/releases/tag/op-contracts%2Fv1.6.0) with the permissioned game type
+deploy the latest Optimism Governance approved release of the L1 smart contracts with [op-deployer](/operators/chain-operators/tools/op-deployer). This will only initially deploy with permissioned dispute games
enabled.
Starting with permissioned fault proofs gives chain operators time to get comfortable
running the additional infrastructure requirements: [op-challenger](https://github.com/ethereum-optimism/optimism/tree/develop/op-challenger) and
diff --git a/pages/operators/chain-operators/tutorials/create-l2-rollup.mdx b/pages/operators/chain-operators/tutorials/create-l2-rollup.mdx
index cf4dffbb8..e4d521fb7 100644
--- a/pages/operators/chain-operators/tutorials/create-l2-rollup.mdx
+++ b/pages/operators/chain-operators/tutorials/create-l2-rollup.mdx
@@ -422,11 +422,6 @@ Once you've configured your network, it's time to deploy the L1 contracts necess
The `op-deployer` tool simplifies the creation of genesis and rollup configuration files (`genesis.json` and `rollup.json`).
These files are crucial for initializing the execution client (`op-geth`) and consensus client (`op-node`) for your network.
-```bash
-
-forge script scripts/deploy/Deploy.s.sol:Deploy --private-key $GS_ADMIN_PRIVATE_KEY --broadcast --rpc-url $L1_RPC_URL --slow
-
-```
The recommended flow for creating a genesis file and rollup configuration file on the OP Stack is as follows: