From b36c1025f7566971bca20a2151af15ee345668cd Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Mon, 29 Sep 2025 12:29:15 -0700
Subject: [PATCH 1/6] Updated base date
---
pages/notices/upgrade-16a.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pages/notices/upgrade-16a.mdx b/pages/notices/upgrade-16a.mdx
index a3aaf2567..96228cd28 100644
--- a/pages/notices/upgrade-16a.mdx
+++ b/pages/notices/upgrade-16a.mdx
@@ -21,8 +21,8 @@ import { Steps, Callout } from 'nextra/components'
Upgrade 16a is a **maintenance release that supersedes Upgrade 16**. If you are on upgrade 15 **please skip** upgrade 16 and go straight to this upgrade. It temporarily removes unused interop withdrawal-proving code introduced in Upgrade 16 and adds system-level feature toggles to improve flexibility and rollout safety. These changes reduce risk while maintaining momentum toward the Superchain roadmap.
- The Upgrade 16a protocol upgrade on the **Sepolia** Superchain will be executed on **Mon, Sept 22, 2025**, and the **Mainnet** Superchain will be activated on **Thur, Oct 2, 2025**.
- The upgrade will be executed on the following chains: `OP`, `Base`, `Soneium`, `Ink`, and `Unichain`.
+ The Upgrade 16a protocol upgrade on the **Sepolia** Superchain will be executed on **Mon, Sept 22, 2025**. The **Mainnet** Superchain, `OP`, `Soneium`, `Ink`, and `Unichain` will be activated on **Thur, Oct 2, 2025**. `Base` will be executed **Tue, Oct 7, 2025**.
+ The upgrade will be executed on the following chains: .
Execution times may vary depending on the current state of each chain.
From ea64268d8f75b389ffdf5aff6f19b2089833f981 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Mon, 29 Sep 2025 12:29:27 -0700
Subject: [PATCH 2/6] Fixes
---
pages/notices/upgrade-16a.mdx | 1 -
1 file changed, 1 deletion(-)
diff --git a/pages/notices/upgrade-16a.mdx b/pages/notices/upgrade-16a.mdx
index 96228cd28..94d3bb0ed 100644
--- a/pages/notices/upgrade-16a.mdx
+++ b/pages/notices/upgrade-16a.mdx
@@ -22,7 +22,6 @@ Upgrade 16a is a **maintenance release that supersedes Upgrade 16**. If you are
The Upgrade 16a protocol upgrade on the **Sepolia** Superchain will be executed on **Mon, Sept 22, 2025**. The **Mainnet** Superchain, `OP`, `Soneium`, `Ink`, and `Unichain` will be activated on **Thur, Oct 2, 2025**. `Base` will be executed **Tue, Oct 7, 2025**.
- The upgrade will be executed on the following chains: .
Execution times may vary depending on the current state of each chain.
From 97c565843132cef203f4a2e4ccdaaaee8173e352 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Mon, 29 Sep 2025 12:30:53 -0700
Subject: [PATCH 3/6] Remove extra word
---
pages/notices/upgrade-16a.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/notices/upgrade-16a.mdx b/pages/notices/upgrade-16a.mdx
index 94d3bb0ed..949404536 100644
--- a/pages/notices/upgrade-16a.mdx
+++ b/pages/notices/upgrade-16a.mdx
@@ -21,7 +21,7 @@ import { Steps, Callout } from 'nextra/components'
Upgrade 16a is a **maintenance release that supersedes Upgrade 16**. If you are on upgrade 15 **please skip** upgrade 16 and go straight to this upgrade. It temporarily removes unused interop withdrawal-proving code introduced in Upgrade 16 and adds system-level feature toggles to improve flexibility and rollout safety. These changes reduce risk while maintaining momentum toward the Superchain roadmap.
- The Upgrade 16a protocol upgrade on the **Sepolia** Superchain will be executed on **Mon, Sept 22, 2025**. The **Mainnet** Superchain, `OP`, `Soneium`, `Ink`, and `Unichain` will be activated on **Thur, Oct 2, 2025**. `Base` will be executed **Tue, Oct 7, 2025**.
+ The 16a protocol upgrade on the **Sepolia** Superchain will be executed on **Mon, Sept 22, 2025**. The **Mainnet** Superchain, `OP`, `Soneium`, `Ink`, and `Unichain` will be activated on **Thur, Oct 2, 2025**. `Base` will be executed **Tue, Oct 7, 2025**.
Execution times may vary depending on the current state of each chain.
From 7c07cbc6175cfac7b63e90431e7252a5bff4b328 Mon Sep 17 00:00:00 2001
From: jsvisa
Date: Wed, 22 Oct 2025 14:49:15 +0000
Subject: [PATCH 4/6] docs/create-l2-rollup: fund dev accounts
Signed-off-by: jsvisa
---
create-l2-rollup-example/scripts/setup-rollup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/create-l2-rollup-example/scripts/setup-rollup.sh b/create-l2-rollup-example/scripts/setup-rollup.sh
index efca586f2..1405239e7 100755
--- a/create-l2-rollup-example/scripts/setup-rollup.sh
+++ b/create-l2-rollup-example/scripts/setup-rollup.sh
@@ -143,6 +143,7 @@ update_intent() {
sed -i.bak "s|batcher = .*|batcher = \"$BATCHER_ADDR\"|" .deployer/intent.toml
sed -i.bak "s|proposer = .*|proposer = \"$PROPOSER_ADDR\"|" .deployer/intent.toml
sed -i.bak "s|challenger = .*|challenger = \"$CHALLENGER_ADDR\"|" .deployer/intent.toml
+ sed -i.bak "s|fundDevAccounts = .*|fundDevAccounts = true|" .deployer/intent.toml
log_success "Intent configuration updated"
}
From 01b35142b48db3553f8a29b800bdde412082a652 Mon Sep 17 00:00:00 2001
From: jsvisa
Date: Wed, 22 Oct 2025 15:01:45 +0000
Subject: [PATCH 5/6] fix(l2-rollup-example): don't set rollup.sequencerhttp
for the sequencer node
Signed-off-by: jsvisa
---
create-l2-rollup-example/docker-compose.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/create-l2-rollup-example/docker-compose.yml b/create-l2-rollup-example/docker-compose.yml
index edb43c96a..fa21ba04e 100644
--- a/create-l2-rollup-example/docker-compose.yml
+++ b/create-l2-rollup-example/docker-compose.yml
@@ -66,7 +66,7 @@ services:
geth init --datadir=/workspace/op-geth-data --state.scheme=hash /workspace/genesis.json
fi
echo "Starting geth..."
- exec geth --datadir=/workspace/op-geth-data --http --http.addr=0.0.0.0 --http.port=8545 --ws --ws.addr=0.0.0.0 --ws.port=8546 --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.jwtsecret=/workspace/jwt.txt --syncmode=full --gcmode=archive --rollup.disabletxpoolgossip=true --rollup.sequencerhttp=http://op-node:8547 --http.vhosts=* --http.corsdomain=* --http.api=eth,net,web3,debug,txpool,admin --ws.origins=* --ws.api=eth,net,web3,debug,txpool,admin --authrpc.vhosts=*
+ exec geth --datadir=/workspace/op-geth-data --http --http.addr=0.0.0.0 --http.port=8545 --ws --ws.addr=0.0.0.0 --ws.port=8546 --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.jwtsecret=/workspace/jwt.txt --syncmode=full --gcmode=archive --rollup.disabletxpoolgossip=true --http.vhosts=* --http.corsdomain=* --http.api=eth,net,web3,debug,txpool,admin --ws.origins=* --ws.api=eth,net,web3,debug,txpool,admin --authrpc.vhosts=*
# Batcher
From e29af54c01dcca728a06c42ab8f75fab3aab3099 Mon Sep 17 00:00:00 2001
From: Bradley Camacho <42678939+bradleycamacho@users.noreply.github.com>
Date: Wed, 22 Oct 2025 10:45:15 -0700
Subject: [PATCH 6/6] Add missing redirects
---
docs.json | 1991 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1991 insertions(+)
create mode 100644 docs.json
diff --git a/docs.json b/docs.json
new file mode 100644
index 000000000..ae3d57020
--- /dev/null
+++ b/docs.json
@@ -0,0 +1,1991 @@
+{
+ "$schema": "https://mintlify.com/docs.json",
+ "theme": "mint",
+ "name": "Optimism Documentation",
+ "colors": {
+ "primary": "#FF0420",
+ "light": "#FF0420",
+ "dark": "#FF0420"
+ },
+ "favicon": "/favicon.png",
+ "metadata": {
+ "og:image": "/public/logos/og-image.png",
+ "apple-touch-icon": "/apple-touch-icon.png"
+ },
+ "seo": {
+ "indexHiddenPages": true,
+ "metatags": {
+ "og:image": "/public/img/og-image.png",
+ "og:image:width": "1200",
+ "og:image:height": "630",
+ "og:type": "website",
+ "twitter:card": "summary_large_image",
+ "twitter:image": "/public/img/og-image.png"
+ }
+ },
+ "modeToggle": {
+ "default": "light",
+ "isHidden": false
+ },
+ "contextual": {
+ "options": ["copy", "chatgpt", "claude"]
+ },
+ "customCSS": ["/styles/homepage.css"],
+ "customJS": ["/mixpanel-custom.js"],
+ "integrations": {
+ "mixpanel": {
+ "projectToken": "807e42c62989ff12427a35baa12b6218"
+ }
+},
+ "feedback": {
+ "thumbsRating": true,
+ "suggestEdit": true,
+ "raiseIssue": true
+ },
+ "footer": {
+ "socials": {
+ "discord": "https://discord.gg/optimism",
+ "twitter": "https://twitter.com/optimism",
+ "github": "https://github.com/ethereum-optimism"
+ }
+ },
+ "redirects": [
+ {
+ "source": "/pages/app-developers/get-started",
+ "destination": "/interop/get-started"
+ },
+ {
+ "source": "/pages/app-developers/interop",
+ "destination": "/interop/explainer"
+ },
+ {
+ "source": "/pages/app-developers/starter-kit",
+ "destination": "/interop/starter-kit"
+ },
+ {
+ "source": "/app-developers/tools/data-and-dashboards",
+ "destination": "/app-developers/tools/data-and-dashboards/overview"
+ },
+ {
+ "source": "/builders",
+ "destination": "/interop/get-started"
+ },
+ {
+ "source": "/builders/dapp-developers",
+ "destination": "/app-developers"
+ },
+ {
+ "source": "/builders/chain-operators",
+ "destination": "/operators/chain-operators"
+ },
+ {
+ "source": "/builders/node-operators",
+ "destination": "/operators/node-operators"
+ },
+ {
+ "source": "/builders/tools/rpc-providers",
+ "destination": "/app-developers/tools/connect/rpc-providers"
+ },
+ {
+ "source": "/builders/tools/block-explorers",
+ "destination": "/app-developers/tools/build/block-explorers"
+ },
+ {
+ "source": "/builders/tools/faucets",
+ "destination": "/app-developers/tools/build/faucets"
+ },
+ {
+ "source": "/builders/tools/oracles",
+ "destination": "/app-developers/tools/build/oracles"
+ },
+ {
+ "source": "/builders/tools/nft-tools",
+ "destination": "/app-developers/tools/build/nft-tools"
+ },
+ {
+ "source": "/builders/tools/account-abstraction",
+ "destination": "/app-developers/tools/build/account-abstraction"
+ },
+ {
+ "source": "/builders/tools/analytics-tools",
+ "destination": "/app-developers/tools/build/analytics-tools"
+ },
+ {
+ "source": "/builders/dapp-developers/dapp-developer-overview",
+ "destination": "/interop/get-started"
+ },
+ {
+ "source": "/builders/dapp-developers/quick-start",
+ "destination": "/interop/starter-kit"
+ },
+ {
+ "source": "/dapp-developers/creating-a-nft",
+ "destination": "/app-developers/tools/build/nft-tools"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/first-contract",
+ "destination": "/interop/get-started"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/cross-dom-bridge-eth",
+ "destination": "/app-developers/tutorials/bridging/cross-dom-bridge-eth"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/cross-dom-bridge-erc20",
+ "destination": "/app-developers/tutorials/bridging/cross-dom-bridge-erc20"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/sdk-estimate-costs",
+ "destination": "/app-developers/tutorials/transactions/sdk-estimate-costs"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/sdk-trace-txns",
+ "destination": "/app-developers/tutorials/transactions/sdk-trace-txns"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/send-tx-from-eth",
+ "destination": "/app-developers/tutorials/transactions/send-tx-from-eth"
+ },
+ {
+ "source": "/builders/dapp-developers/tutorials/cross-dom-solidity",
+ "destination": "/app-developers/tutorials/bridging/cross-dom-solidity"
+ },
+ {
+ "source": "/builders/dapp-developers/bridging/basics",
+ "destination": "/app-developers/bridging/basics"
+ },
+ {
+ "source": "/builders/dapp-developers/bridging/messaging",
+ "destination": "/app-developers/bridging/messaging"
+ },
+ {
+ "source": "/builders/dapp-developers/bridging/standard-bridge",
+ "destination": "/app-developers/bridging/standard-bridge"
+ },
+ {
+ "source": "/builders/dapp-developers/bridging/custom-bridge",
+ "destination": "/app-developers/bridging/custom-bridge"
+ },
+ {
+ "source": "/builders/dapp-developers/contracts/account-abstraction",
+ "destination": "/app-developers/tools/build/account-abstraction"
+ },
+ {
+ "source": "/builders/dapp-developers/contracts/cheap-dapp",
+ "destination": "/app-developers/contracts/optimization"
+ },
+ {
+ "source": "/builders/dapp-developers/contracts/compatibility",
+ "destination": "/app-developers/contracts/compatibility"
+ },
+ {
+ "source": "/builders/dapp-developers/contracts/system-contracts",
+ "destination": "/app-developers/contracts/system-contracts"
+ },
+ {
+ "source": "/builders/chain-operators/overview",
+ "destination": "/operators/chain-operators/self-hosted"
+ },
+ {
+ "source": "/builders/chain-operators/configuration/batcher",
+ "destination": "/operators/chain-operators/configuration/batcher"
+ },
+ {
+ "source": "/builders/chain-operators/management/operations",
+ "destination": "/operators/chain-operators/management/operations"
+ },
+ {
+ "source": "/builders/chain-operators/tools/proxyd",
+ "destination": "/operators/chain-operators/tools/proxyd"
+ },
+ {
+ "source": "/builders/chain-operators/tools/chain-monitoring",
+ "destination": "/operators/chain-operators/tools/chain-monitoring"
+ },
+ {
+ "source": "/builders/chain-operators/tools/explorer",
+ "destination": "/operators/chain-operators/tools/explorer"
+ },
+ {
+ "source": "/builders/node-operators/overview",
+ "destination": "/operators/node-operators/rollup-node"
+ },
+ {
+ "source": "/builders/node-operators/management/snapshots",
+ "destination": "/operators/node-operators/management/snapshots"
+ },
+ {
+ "source": "/builders/node-operators/management/metrics",
+ "destination": "/operators/node-operators/management/metrics"
+ },
+ {
+ "source": "/operators/node-operators/tutorials/mainnet",
+ "destination": "/operators/node-operators/tutorials/run-node-from-source"
+ },
+ {
+ "source": "/operators/node-operators/tutorials/testnet",
+ "destination": "/operators/node-operators/tutorials/run-node-from-source"
+ },
+ {
+ "source": "/stack/dev-net",
+ "destination": "/chain-operators/tutorials/chain-dev-net"
+ },
+ {
+ "source": "/stack/protocol/deposit-flow",
+ "destination": "/stack/transactions/deposit-flow"
+ },
+ {
+ "source": "/stack/protocol/transaction-flow",
+ "destination": "/stack/transactions/transaction-flow"
+ },
+ {
+ "source": "/stack/protocol/withdrawal-flow",
+ "destination": "/stack/transactions/withdrawal-flow"
+ },
+ {
+ "source": "/stack/interop/transfer-superchainERC20",
+ "destination": "/stack/interop/tutorials/transfer-superchainERC20"
+ },
+ {
+ "source": "/stack/interop/architecture",
+ "destination": "/stack/interop/explainer#interoperability-architecture"
+ },
+ {
+ "source": "/stack/interop/cross-chain-message",
+ "destination": "/stack/interop/explainer#how-messages-get-from-one-chain-to-the-other"
+ },
+ {
+ "source": "/stack/interop/cross-chain/contract-calls",
+ "destination": "/stack/interop/tutorials/contract-calls"
+ },
+ {
+ "source": "/stack/interop/cross-chain/event-contests",
+ "destination": "/stack/interop/tutorials/event-contests"
+ },
+ {
+ "source": "/stack/interop/cross-chain/event-reads",
+ "destination": "/stack/interop/tutorials/event-reads"
+ },
+ {
+ "source": "/stack/interop/cross-chain/security",
+ "destination": "/stack/interop/interop-security"
+ },
+ {
+ "source": "/stack/interop/cross-chain",
+ "destination": "/stack/interop"
+ },
+ {
+ "source": "/audit-reports/1",
+ "destination": "/stack/security/audits-report"
+ },
+ {
+ "source": "/audit-reports/_numQueuedTransactions",
+ "destination": "/stack/security/audits-report"
+ },
+ {
+ "source": "/stack/overview",
+ "destination": "/stack/getting-started"
+ },
+ {
+ "source": "/stack/explainer",
+ "destination": "/superchain/superchain-explainer"
+ },
+ {
+ "source": "/stack/beta-features/custom-gas-token",
+ "destination": "/notices/custom-gas-tokens-deprecation"
+ },
+ {
+ "source": "/tokenlist",
+ "destination": "/superchain/tokenlist"
+ },
+ {
+ "source": "/addresses",
+ "destination": "/superchain/addresses"
+ },
+ {
+ "source": "/chain/networks",
+ "destination": "/superchain/networks"
+ },
+ {
+ "source": "/chain/addresses",
+ "destination": "/superchain/addresses"
+ },
+ {
+ "source": "/chain/tokenlist",
+ "destination": "/superchain/tokenlist"
+ },
+ {
+ "source": "/chain/getting-started",
+ "destination": "/app-developers/building-apps"
+ },
+ {
+ "source": "/chain/security/privileged-roles",
+ "destination": "/superchain/privileged-roles"
+ },
+ {
+ "source": "/chain/differences",
+ "destination": "/stack/differences"
+ },
+ {
+ "source": "/operators/chain-operators/features/custom-gas-token",
+ "destination": "/notices/custom-gas-tokens-deprecation"
+ },
+ {
+ "source": "/identity/optimist-profile",
+ "destination": "https://community.optimism.io/identity/overview"
+ },
+ {
+ "source": "/chain/identity/optimist-profile",
+ "destination": "https://community.optimism.io/identity/overview"
+ },
+ {
+ "source": "/app-developers/tools/overview",
+ "destination": "/app-developers/tools"
+ },
+ {
+ "source": "/resources/glossary",
+ "destination": "/connect/resources/glossary"
+ },
+ {
+ "source": "/app-developers/app-developers/bridging/messaging",
+ "destination": "/app-developers/bridging/messaging"
+ },
+ {
+ "source": "/app-developers/app-developers/bridging/standard-bridge",
+ "destination": "/app-developers/bridging/standard-bridge"
+ },
+ {
+ "source": "/app-developers/app-developers/transactions/fees",
+ "destination": "/app-developers/transactions/fees"
+ },
+ {
+ "source": "/app-developers/app-developers/bridging/basics",
+ "destination": "/app-developers/bridging/basics"
+ },
+ {
+ "source": "/builders/notices/granite-changes",
+ "destination": "https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/granite-changes.mdx"
+ },
+ {
+ "source": "/builders/notices/fp-changes",
+ "destination": "https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/fp-changes.mdx"
+ },
+ {
+ "source": "/builders/notices/ecotone-changes",
+ "destination": "/stack/transactions/fees#ecotone"
+ },
+ {
+ "source": "/get-started/design-principles",
+ "destination": "/stack/design-principles"
+ },
+ {
+ "source": "/stack/interop/tools",
+ "destination": "/interop/tools"
+ },
+ {
+ "source": "/stack/interop/op-supervisor",
+ "destination": "/interop/op-supervisor"
+ },
+ {
+ "source": "/stack/interop/tools/supersim",
+ "destination": "/interop/tools/supersim"
+ },
+ {
+ "source": "/stack/interop/tools/devnet",
+ "destination": "/interop/tools/devnet"
+ },
+ {
+ "source": "/stack/interop/tools/rc-alpha",
+ "destination": "/interop/tools/rc-alpha"
+ },
+ {
+ "source": "/stack/interop/compatible-tokens",
+ "destination": "/interop/compatible-tokens"
+ },
+ {
+ "source": "/stack/interop/reading-logs",
+ "destination": "/interop/reading-logs"
+ },
+ {
+ "source": "/stack/interop/message-passing",
+ "destination": "/interop/message-passing"
+ },
+ {
+ "source": "/stack/interop/tutorials",
+ "destination": "/interop/tutorials"
+ },
+ {
+ "source": "/stack/interop/reorg",
+ "destination": "/interop/reorg"
+ },
+ {
+ "source": "/stack/interop/superchain-erc20",
+ "destination": "/interop/superchain-erc20"
+ },
+ {
+ "source": "/stack/interop/tutorials/transfer-superchainERC20",
+ "destination": "/interop/tutorials/transfer-superchainERC20"
+ },
+ {
+ "source": "/stack/interop/tutorials/bridge-crosschain-eth",
+ "destination": "/interop/tutorials/bridge-crosschain-eth"
+ },
+ {
+ "source": "/stack/interop/tutorials/event-reads",
+ "destination": "/interop/tutorials/event-reads"
+ },
+ {
+ "source": "/stack/interop/tutorials/message-passing",
+ "destination": "/interop/tutorials/message-passing"
+ },
+ {
+ "source": "/stack/interop/tutorials/custom-superchain-erc20",
+ "destination": "/interop/tutorials/custom-superchain-erc20"
+ },
+ {
+ "source": "/stack/interop/tutorials/relay-messages-cast",
+ "destination": "/interop/tutorials/relay-messages-cast"
+ },
+ {
+ "source": "/stack/interop/tutorials/contract-calls",
+ "destination": "/interop/tutorials/contract-calls"
+ },
+ {
+ "source": "/stack/interop/tutorials/event-contests",
+ "destination": "/interop/tutorials/event-contests"
+ },
+ {
+ "source": "/stack/interop/tutorials/relay-messages-viem",
+ "destination": "/interop/tutorials/relay-messages-viem"
+ },
+ {
+ "source": "/stack/interop/tutorials/deploy-superchain-erc20",
+ "destination": "/interop/tutorials/deploy-superchain-erc20"
+ },
+ {
+ "source": "/stack/interop/predeploy",
+ "destination": "/interop/predeploy"
+ },
+ {
+ "source": "/stack/interop/explainer",
+ "destination": "/interop/explainer"
+ },
+ {
+ "source": "/stack/interop/interop-security",
+ "destination": "/interop/interop-security"
+ },
+ {
+ "source": "/stack/interop/superchain-weth",
+ "destination": "/interop/superchain-eth-bridge"
+ },
+ {
+ "source": "/interop/superchain-weth",
+ "destination": "/interop/superchain-eth-bridge"
+ },
+ {
+ "source": "/stack/interop",
+ "destination": "/interop/get-started"
+ },
+ {
+ "source": "/app-developers/bridging/basics",
+ "destination": "/app-developers/guides/bridging/basics"
+ },
+ {
+ "source": "/app-developers/bridging/custom-bridge",
+ "destination": "/app-developers/guides/bridging/custom-bridge"
+ },
+ {
+ "source": "/app-developers/bridging/messaging",
+ "destination": "/app-developers/guides/bridging/messaging"
+ },
+ {
+ "source": "/app-developers/bridging/standard-bridge",
+ "destination": "/app-developers/guides/bridging/standard-bridge"
+ },
+ {
+ "source": "/app-developers/building-apps",
+ "destination": "/app-developers/guides/building-apps"
+ },
+ {
+ "source": "/app-developers/get-started",
+ "destination": "/app-developers/quickstarts/get-started"
+ },
+ {
+ "source": "/app-developers/interop",
+ "destination": "/app-developers/guides/interop"
+ },
+ {
+ "source": "/app-developers/starter-kit",
+ "destination": "/app-developers/quickstarts/starter-kit"
+ },
+ {
+ "source": "/app-developers/testing-apps",
+ "destination": "/app-developers/guides/testing-apps"
+ },
+ {
+ "source": "/app-developers/tools",
+ "destination": "/app-developers/tools"
+ },
+ {
+ "source": "/app-developers/tools/build",
+ "destination": "/app-developers/build"
+ },
+ {
+ "source": "/app-developers/tools/build/account-abstraction",
+ "destination": "/app-developers/tools/wallets/account-abstraction"
+ },
+ {
+ "source": "/app-developers/tools/build/analytics-tools",
+ "destination": "/app-developers/tools/data/analytics-tools"
+ },
+ {
+ "source": "/app-developers/tools/build/block-explorers",
+ "destination": "/app-developers/tools/infrastructure/block-explorers"
+ },
+ {
+ "source": "/app-developers/tools/build/ecosystem-overview",
+ "destination": "/app-developers/tools/ecosystem-overview"
+ },
+ {
+ "source": "/app-developers/tools/build/faucets",
+ "destination": "/app-developers/tools/testing/faucets"
+ },
+ {
+ "source": "/app-developers/tools/build/nft-tools",
+ "destination": "/app-developers/tools/nft-tools"
+ },
+ {
+ "source": "/app-developers/tools/build/oracles",
+ "destination": "/app-developers/tools/data/oracles"
+ },
+ {
+ "source": "/app-developers/tools/connect",
+ "destination": "/app-developers/guides/connect"
+ },
+ {
+ "source": "/app-developers/tools/connect/networks",
+ "destination": "/app-developers/reference/networks"
+ },
+ {
+ "source": "/app-developers/tools/connect/rpc-providers",
+ "destination": "/app-developers/reference/rpc-providers"
+ },
+ {
+ "source": "/app-developers/tools/supersim",
+ "destination": "/app-developers/tools/development/supersim"
+ },
+ {
+ "source": "/app-developers/transactions",
+ "destination": "/app-developers/guides/transactions"
+ },
+ {
+ "source": "/app-developers/transactions/estimates",
+ "destination": "/app-developers/guides/transactions/estimates"
+ },
+ {
+ "source": "/app-developers/transactions/fees",
+ "destination": "/app-developers/guides/transactions/fees"
+ },
+ {
+ "source": "/app-developers/transactions/parameters",
+ "destination": "/app-developers/guides/transactions/parameters"
+ },
+ {
+ "source": "/app-developers/transactions/statuses",
+ "destination": "/app-developers/guides/transactions/statuses"
+ },
+ {
+ "source": "/app-developers/transactions/troubleshooting",
+ "destination": "/app-developers/guides/transactions/troubleshooting"
+ },
+ {
+ "source": "/app-developers/tutorials",
+ "destination": "/app-developers/tutorials"
+ },
+ {
+ "source": "/app-developers/tutorials/bridging",
+ "destination": "/app-developers/tutorials/bridging"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/bridge-crosschain-eth",
+ "destination": "/app-developers/tutorials/bridging/bridge-crosschain-eth"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/contract-calls",
+ "destination": "/app-developers/tutorials/interoperability/contract-calls"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/deploy-superchain-erc20",
+ "destination": "/app-developers/tutorials/tokens/deploy-superchain-erc20"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/event-contests",
+ "destination": "/app-developers/tutorials/interoperability/event-contests"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/event-reads",
+ "destination": "/app-developers/tutorials/interoperability/event-reads"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/relay-messages-cast",
+ "destination": "/app-developers/tutorials/tools/relay-messages-cast"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/relay-messages-viem",
+ "destination": "/app-developers/tutorials/tools/relay-messages-viem"
+ },
+ {
+ "source": "/app-developers/tutorials/interop/transfer-superchainERC20",
+ "destination": "/app-developers/tutorials/tokens/transfer-superchainERC20"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim",
+ "destination": "/app-developers/tutorials/development/supersim"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/chain-env",
+ "destination": "/app-developers/reference/tools/supersim/chain-env"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/chain-env/chain-a",
+ "destination": "/app-developers/reference/tools/supersim/chain-a"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/chain-env/chain-b",
+ "destination": "/app-developers/reference/tools/supersim/chain-b"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/chain-env/included-contracts",
+ "destination": "/app-developers/reference/tools/supersim/included-contracts"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/deposit-transactions",
+ "destination": "/app-developers/tutorials/bridging/deposit-transactions"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/getting-started",
+ "destination": "/app-developers/tutorials/development/supersim/getting-started"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/getting-started/first-steps",
+ "destination": "/app-developers/tutorials/development/supersim/first-steps"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/getting-started/installation",
+ "destination": "/app-developers/tutorials/development/supersim/installation"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/reference",
+ "destination": "/app-developers/reference/tools/reference"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/reference/fork",
+ "destination": "/app-developers/reference/tools/supersim/fork"
+ },
+ {
+ "source": "/app-developers/tutorials/supersim/reference/vanilla",
+ "destination": "/app-developers/reference/tools/supersim/vanilla"
+ },
+ {
+ "source": "/app-developers/tutorials/transactions",
+ "destination": "/app-developers/tutorials/transactions"
+ },
+ {
+ "source": "/connect/contribute",
+ "destination": "/reference/contribute/contribute"
+ },
+ {
+ "source": "/connect/contribute/docs-contribute",
+ "destination": "/reference/contribute/guides/docs-contribute"
+ },
+ {
+ "source": "/connect/contribute/stack-contribute",
+ "destination": "/reference/contribute//getting-started/stack-contribute"
+ },
+ {
+ "source": "/connect/contribute/style-guide",
+ "destination": "/reference/contribute/reference/style-guide"
+ },
+ {
+ "source": "/connect/resources",
+ "destination": "/resources"
+ },
+ {
+ "source": "/connect/resources/glossary",
+ "destination": "/reference/glossary"
+ },
+ {
+ "source": "/get-started/interop",
+ "destination": "/concepts/interoperability/interop"
+ },
+ {
+ "source": "/get-started/op-stack",
+ "destination": "/concepts/stack/op-stack"
+ },
+ {
+ "source": "/get-started/superchain",
+ "destination": "/app-developers/guides/superchain"
+ },
+ {
+ "source": "/interop/compatible-tokens",
+ "destination": "/app-developers/reference/tokens/compatible-tokens"
+ },
+ {
+ "source": "/interop/explainer",
+ "destination": "/concepts/interoperability/explainer"
+ },
+ {
+ "source": "/interop/get-started",
+ "destination": "/app-developers/guides/interoperability/get-started"
+ },
+ {
+ "source": "/interop/interop-security",
+ "destination": "/concepts/security/interop-security"
+ },
+ {
+ "source": "/interop/message-passing",
+ "destination": "/app-developers/guides/interoperability/message-passing"
+ },
+ {
+ "source": "/interop/op-supervisor",
+ "destination": "/chain-operators/reference/components/op-supervisor"
+ },
+ {
+ "source": "/interop/predeploy",
+ "destination": "/app-developers/reference/contracts/interop/predeploy"
+ },
+ {
+ "source": "/interop/reading-logs",
+ "destination": "/app-developers/guides/interoperability/reading-logs"
+ },
+ {
+ "source": "/interop/reorg",
+ "destination": "/concepts/architecture/reorg"
+ },
+ {
+ "source": "/interop/starter-kit",
+ "destination": "/app-developers/quickstarts/starter-kit"
+ },
+ {
+ "source": "/interop/superchain-erc20",
+ "destination": "/concepts/interoperability/superchain-erc20"
+ },
+ {
+ "source": "/interop/superchain-eth-bridge",
+ "destination": "/concepts/interoperability/superchain-eth-bridge"
+ },
+ {
+ "source": "/interop/tools",
+ "destination": "/app-developers/tools/tools"
+ },
+ {
+ "source": "/interop/tools/devnet",
+ "destination": "/app-developers/tools/testing/devnet"
+ },
+ {
+ "source": "/interop/tools/rc-alpha",
+ "destination": "/app-developers/tools/development/rc-alpha"
+ },
+ {
+ "source": "/interop/tools/supersim",
+ "destination": "/app-developers/tools/development/supersim"
+ },
+ {
+ "source": "/interop/tutorials",
+ "destination": "/app-developers/tutorials/tutorials"
+ },
+ {
+ "source": "/interop/tutorials/bridge-crosschain-eth",
+ "destination": "/app-developers/tutorials/bridging/bridge-crosschain-eth"
+ },
+ {
+ "source": "/interop/tutorials/contract-calls",
+ "destination": "/app-developers/tutorials/interoperability/contract-calls"
+ },
+ {
+ "source": "/interop/tutorials/custom-superchain-erc20",
+ "destination": "/app-developers/tutorials/tokens/custom-superchain-erc20"
+ },
+ {
+ "source": "/interop/tutorials/deploy-superchain-erc20",
+ "destination": "/app-developers/tutorials/tokens/deploy-superchain-erc20"
+ },
+ {
+ "source": "/interop/tutorials/event-contests",
+ "destination": "/app-developers/tutorials/interoperability/event-contests"
+ },
+ {
+ "source": "/interop/tutorials/event-reads",
+ "destination": "/app-developers/tutorials/interoperability/event-reads"
+ },
+ {
+ "source": "/interop/tutorials/message-passing",
+ "destination": "/app-developers/tutorials/interoperability/message-passing"
+ },
+ {
+ "source": "/interop/tutorials/relay-messages-cast",
+ "destination": "/app-developers/tutorials/interoperability/relay-messages-cast"
+ },
+ {
+ "source": "/interop/tutorials/relay-messages-viem",
+ "destination": "/app-developers/tutorials/interoperability/relay-messages-viem"
+ },
+ {
+ "source": "/interop/tutorials/transfer-superchainERC20",
+ "destination": "/app-developers/tutorials/tokens/transfer-superchainERC20"
+ },
+ {
+ "source": "/notices/blob-fee-bug",
+ "destination": "/notices/archive/blob-fee-bug"
+ },
+ {
+ "source": "/notices/custom-gas-tokens-deprecation",
+ "destination": "/notices/archive/custom-gas-tokens-deprecation"
+ },
+ {
+ "source": "/notices/holocene-changes",
+ "destination": "/notices/archive/holocene-changes"
+ },
+ {
+ "source": "/notices/pectra-changes",
+ "destination": "/notices/archive/pectra-changes"
+ },
+ {
+ "source": "/notices/sdk-deprecation",
+ "destination": "/notices/archive/sdk-deprecation"
+ },
+ {
+ "source": "/notices/superchain-withdrawal-pause-test",
+ "destination": "/notices/superchain-withdrawal-pause-test"
+ },
+ {
+ "source": "/notices/upgrade-13",
+ "destination": "/notices/archive/upgrade-13"
+ },
+ {
+ "source": "/notices/upgrade-14",
+ "destination": "/notices/archive/upgrade-14"
+ },
+ {
+ "source": "/notices/upgrade-15",
+ "destination": "/notices/archive/upgrade-15"
+ },
+ {
+ "source": "/operators/chain-operators",
+ "destination": "/chain-operators"
+ },
+ {
+ "source": "/operators/chain-operators/architecture",
+ "destination": "/chain-operators/reference/architecture"
+ },
+ {
+ "source": "/operators/chain-operators/configuration",
+ "destination": "/chain-operators/guides/configuration"
+ },
+ {
+ "source": "/operators/chain-operators/configuration/batcher",
+ "destination": "/chain-operators/guides/configuration/batcher"
+ },
+ {
+ "source": "/operators/chain-operators/configuration/overview",
+ "destination": "/chain-operators/guides/configuration/overview"
+ },
+ {
+ "source": "/operators/chain-operators/configuration/proposer",
+ "destination": "/chain-operators/guides/configuration/proposer"
+ },
+ {
+ "source": "/operators/chain-operators/configuration/rollup",
+ "destination": "/chain-operators/guides/configuration/rollup"
+ },
+ {
+ "source": "/operators/chain-operators/deploy",
+ "destination": "/chain-operators/guides/deploy"
+ },
+ {
+ "source": "/operators/chain-operators/deploy/genesis",
+ "destination": "/chain-operators/guides/deployment/genesis"
+ },
+ {
+ "source": "/operators/chain-operators/deploy/overview",
+ "destination": "/chain-operators/guides/deployment/overview"
+ },
+ {
+ "source": "/operators/chain-operators/deploy/smart-contracts",
+ "destination": "/chain-operators/guides/deployment/smart-contracts"
+ },
+ {
+ "source": "/operators/chain-operators/features",
+ "destination": "/chain-operators/reference/features"
+ },
+ {
+ "source": "/operators/chain-operators/features/alt-da-mode",
+ "destination": "/chain-operators/reference/features/alt-da-mode"
+ },
+ {
+ "source": "/operators/chain-operators/features/bridged-usdc-standard",
+ "destination": "/chain-operators/reference/features/bridged-usdc-standard"
+ },
+ {
+ "source": "/operators/chain-operators/features/preinstalls",
+ "destination": "/chain-operators/reference/features/preinstalls"
+ },
+ {
+ "source": "/operators/chain-operators/features/span-batches",
+ "destination": "/chain-operators/reference/features/span-batches"
+ },
+ {
+ "source": "/operators/chain-operators/management",
+ "destination": "/chain-operators/guides/management"
+ },
+ {
+ "source": "/operators/chain-operators/management/best-practices",
+ "destination": "/chain-operators/guides/best-practices"
+ },
+ {
+ "source": "/operators/chain-operators/management/blobs",
+ "destination": "/chain-operators/guides/management/blobs"
+ },
+ {
+ "source": "/operators/chain-operators/management/key-management",
+ "destination": "/chain-operators/guides/management/key-management"
+ },
+ {
+ "source": "/operators/chain-operators/management/operations",
+ "destination": "/chain-operators/guides/management/operations"
+ },
+ {
+ "source": "/operators/chain-operators/management/snap-sync",
+ "destination": "/chain-operators/guides/management/snap-sync"
+ },
+ {
+ "source": "/operators/chain-operators/self-hosted",
+ "destination": "/chain-operators/quickstarts/self-hosted"
+ },
+ {
+ "source": "/operators/chain-operators/tools",
+ "destination": "/chain-operators/tools"
+ },
+ {
+ "source": "/operators/chain-operators/tools/chain-monitoring",
+ "destination": "/chain-operators/tools/chain-monitoring"
+ },
+ {
+ "source": "/operators/chain-operators/tools/explorer",
+ "destination": "/chain-operators/tools/explorer"
+ },
+ {
+ "source": "/operators/chain-operators/tools/fee-calculator",
+ "destination": "/chain-operators/tools/fee-calculator"
+ },
+ {
+ "source": "/operators/chain-operators/tools/op-challenger",
+ "destination": "/chain-operators/tools/op-challenger"
+ },
+ {
+ "source": "/operators/chain-operators/tools/op-conductor",
+ "destination": "/chain-operators/tools/op-conductor"
+ },
+ {
+ "source": "/operators/chain-operators/tools/op-deployer",
+ "destination": "/chain-operators/tools/op-deployer"
+ },
+ {
+ "source": "/operators/chain-operators/tools/op-txproxy",
+ "destination": "/chain-operators/tools/op-txproxy"
+ },
+ {
+ "source": "/operators/chain-operators/tools/op-validator",
+ "destination": "/chain-operators/tools/op-validator"
+ },
+ {
+ "source": "/operators/chain-operators/tools/proxyd",
+ "destination": "/chain-operators/tools/proxyd"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials",
+ "destination": "/chain-operators/tutorials"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/adding-derivation-attributes",
+ "destination": "/chain-operators/tutorials/adding-derivation-attributes"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/adding-precompiles",
+ "destination": "/chain-operators/tutorials/adding-precompiles"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/chain-dev-net",
+ "destination": "/chain-operators/tutorials/chain-dev-net"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/create-l2-rollup",
+ "destination": "/chain-operators/tutorials/create-l2-rollup"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/dispute-games",
+ "destination": "/chain-operators/tutorials/dispute-games"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/integrating-da-layer",
+ "destination": "/chain-operators/tutorials/integrating-da-layer"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/migrating-permissionless",
+ "destination": "/chain-operators/tutorials/migrating-permissionless"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/modifying-predeploys",
+ "destination": "/chain-operators/tutorials/modifying-predeploys"
+ },
+ {
+ "source": "/operators/node-operators",
+ "destination": "/node-operators"
+ },
+ {
+ "source": "/operators/node-operators/architecture",
+ "destination": "/node-operators/reference/architecture/architecture"
+ },
+ {
+ "source": "/operators/node-operators/configuration",
+ "destination": "/node-operators/guides/configuration"
+ },
+ {
+ "source": "/operators/node-operators/configuration/base-config",
+ "destination": "/node-operators/guides/configuration/base-config"
+ },
+ {
+ "source": "/operators/node-operators/configuration/consensus-config",
+ "destination": "/node-operators/guides/configuration/consensus-config"
+ },
+ {
+ "source": "/operators/node-operators/configuration/execution-config",
+ "destination": "/node-operators/guides/configuration/execution-config"
+ },
+ {
+ "source": "/operators/node-operators/json-rpc",
+ "destination": "/node-operators/reference/json-rpc"
+ },
+ {
+ "source": "/operators/node-operators/management",
+ "destination": "/node-operators/guides/management"
+ },
+ {
+ "source": "/operators/node-operators/management/blobs",
+ "destination": "/chain-operators/guides/management/blobs"
+ },
+ {
+ "source": "/operators/node-operators/management/metrics",
+ "destination": "/node-operators/guides/monitoring/metrics"
+ },
+ {
+ "source": "/operators/node-operators/management/regenesis-history",
+ "destination": "/node-operators/guides/management/regenesis-history"
+ },
+ {
+ "source": "/operators/node-operators/management/snap-sync",
+ "destination": "/node-operators/guides/management/snap-sync"
+ },
+ {
+ "source": "/operators/node-operators/management/snapshots",
+ "destination": "/node-operators/guides/management/snapshots"
+ },
+ {
+ "source": "/operators/node-operators/management/troubleshooting",
+ "destination": "/node-operators/guides/troubleshooting"
+ },
+ {
+ "source": "/operators/node-operators/network-upgrades",
+ "destination": "/concepts/stack/network-upgrades"
+ },
+ {
+ "source": "/operators/node-operators/releases",
+ "destination": "/node-operators/reference/releases"
+ },
+ {
+ "source": "/operators/node-operators/rollup-node",
+ "destination": "/node-operators/reference/architecture/rollup-node"
+ },
+ {
+ "source": "/operators/node-operators/tutorials",
+ "destination": "/node-operators/tutorials"
+ },
+ {
+ "source": "/operators/node-operators/tutorials/node-from-docker",
+ "destination": "/node-operators/tutorials/node-from-docker"
+ },
+ {
+ "source": "/operators/node-operators/tutorials/node-from-source",
+ "destination": "/node-operators/tutorials/node-from-source"
+ },
+ {
+ "source": "/operators/node-operators/tutorials/run-node-from-source",
+ "destination": "/node-operators/tutorials/run-node-from-source"
+ },
+ {
+ "source": "/stack/beta-features",
+ "destination": "/concepts/stack/beta-features"
+ },
+ {
+ "source": "/stack/beta-features/alt-da-mode",
+ "destination": "/chain-operators/guides/features/alt-da-mode"
+ },
+ {
+ "source": "/stack/design-principles",
+ "destination": "/concepts/stack/design-principles"
+ },
+ {
+ "source": "/stack/differences",
+ "destination": "/concepts/stack/differences"
+ },
+ {
+ "source": "/stack/differences?utm_source=op-docs&utm_medium=docs",
+ "destination": "/concepts/stack/differences?utm_source=op-docs&utm_medium=docs"
+ },
+ {
+ "source": "/stack/fact-sheet",
+ "destination": "/concepts/stack/fact-sheet"
+ },
+ {
+ "source": "/stack/fault-proofs",
+ "destination": "/concepts/architecture/fault-proofs"
+ },
+ {
+ "source": "/stack/fault-proofs/cannon",
+ "destination": "/concepts/architecture/fault-proofs/cannon"
+ },
+ {
+ "source": "/stack/fault-proofs/challenger",
+ "destination": "/concepts/architecture/fault-proofs/challenger"
+ },
+ {
+ "source": "/stack/fault-proofs/explainer",
+ "destination": "/concepts/architecture/fault-proofs/explainer"
+ },
+ {
+ "source": "/stack/fault-proofs/fp-components",
+ "destination": "/concepts/architecture/fault-proofs/fp-components"
+ },
+ {
+ "source": "/stack/fault-proofs/fp-security",
+ "destination": "/concepts/security/fp-security"
+ },
+ {
+ "source": "/stack/fault-proofs/mips",
+ "destination": "/core-contributors/reference/specs/mips"
+ },
+ {
+ "source": "/stack/features",
+ "destination": "/concepts/stack/features"
+ },
+ {
+ "source": "/stack/features/send-raw-transaction-conditional",
+ "destination": "/chain-operators/reference/rpc/send-raw-transaction-conditional"
+ },
+ {
+ "source": "/stack/getting-started",
+ "destination": "/concepts/stack/getting-started"
+ },
+ {
+ "source": "/stack/opcm",
+ "destination": "/chain-operators/reference/opcm"
+ },
+ {
+ "source": "/stack/public-devnets",
+ "destination": "/developers/testing/public-devnets"
+ },
+ {
+ "source": "/stack/research",
+ "destination": "/concepts/research"
+ },
+ {
+ "source": "/stack/research/block-time-research",
+ "destination": "/concepts/research/block-time-research"
+ },
+ {
+ "source": "/stack/rollup",
+ "destination": "/concepts/architecture/rollup"
+ },
+ {
+ "source": "/stack/rollup/derivation-pipeline",
+ "destination": "/concepts/architecture/rollup/derivation-pipeline"
+ },
+ {
+ "source": "/stack/rollup/outages",
+ "destination": "/concepts/architecture/rollup/outages"
+ },
+ {
+ "source": "/stack/rollup/overview",
+ "destination": "/concepts/architecture/rollup/overview"
+ },
+ {
+ "source": "/stack/security",
+ "destination": "/concepts/security"
+ },
+ {
+ "source": "/stack/security/audits-report",
+ "destination": "/concepts/security/audits-report"
+ },
+ {
+ "source": "/stack/security/faq",
+ "destination": "/concepts/security/faq"
+ },
+ {
+ "source": "/stack/security/faq-sec-model",
+ "destination": "/concepts/security/faq-sec-model"
+ },
+ {
+ "source": "/stack/security/pause",
+ "destination": "/concepts/security/pause"
+ },
+ {
+ "source": "/stack/security/security-policy",
+ "destination": "/concepts/security/security-policy"
+ },
+ {
+ "source": "/stack/smart-contracts",
+ "destination": "/concepts/stack/smart-contracts"
+ },
+ {
+ "source": "/stack/transactions",
+ "destination": "/concepts/transactions"
+ },
+ {
+ "source": "/stack/transactions/cross-domain",
+ "destination": "/concepts/bridging/cross-domain"
+ },
+ {
+ "source": "/stack/transactions/deposit-flow",
+ "destination": "/concepts/transactions/deposit-flow"
+ },
+ {
+ "source": "/stack/transactions/fees",
+ "destination": "/concepts/transactions/fees"
+ },
+ {
+ "source": "/stack/transactions/forced-transaction",
+ "destination": "/concepts/transactions/forced-transaction"
+ },
+ {
+ "source": "/stack/transactions/transaction-finality",
+ "destination": "/concepts/transactions/transaction-finality"
+ },
+ {
+ "source": "/stack/transactions/transaction-flow",
+ "destination": "/concepts/transactions/transaction-flow"
+ },
+ {
+ "source": "/stack/transactions/withdrawal-flow",
+ "destination": "/concepts/transactions/withdrawal-flow"
+ },
+ {
+ "source": "/superchain/addresses",
+ "destination": "/reference/addresses"
+ },
+ {
+ "source": "/superchain/blockspace-charter",
+ "destination": "/governance/blockspace-charter"
+ },
+ {
+ "source": "/superchain/networks",
+ "destination": "/reference/networks"
+ },
+ {
+ "source": "/superchain/privileged-roles",
+ "destination": "/chain-operators/reference/privileged-roles"
+ },
+ {
+ "source": "/superchain/standard-configuration",
+ "destination": "/chain-operators/reference/standard-configuration"
+ },
+ {
+ "source": "/superchain/superchain-registry",
+ "destination": "/chain-operators/reference/superchain-registry"
+ },
+ {
+ "source": "/superchain/superchain-upgrades",
+ "destination": "/chain-operators/reference/superchain-upgrades"
+ },
+ {
+ "source": "/superchain/tokenlist",
+ "destination": "/app-developers/reference/tokens/tokenlist"
+ },
+ {
+ "source": "/superchain/superchain-explainer",
+ "destination": "app-developers/guides/superchain"
+ },
+ {
+ "source": "/chain-operators/guides/troubleshooting",
+ "destination": "/chain-operators/guides/management/troubleshooting"
+ },
+ {
+ "source": "/stack/smart-contracts/smart-contracts",
+ "destination": "/concepts/stack/smart-contracts#smart-contract-overview"
+ },
+ {
+ "source": "/app-developers/build",
+ "destination": "/app-developers/guides/building-apps"
+ },
+ {
+ "source": "/app-developers/guides/connect",
+ "destination": "/reference/networks"
+ },
+ {
+ "source": "/developers/testing/public-devnets",
+ "destination": "/reference/public-devnets#public-devnets"
+ },
+ {
+ "source": "/notices/upgrade-14-123",
+ "destination": "/notices/archive/upgrade-14"
+ },
+ {
+ "source": "/notices/pectra-fees",
+ "destination": "/notices/archive/pectra-changes"
+ },
+ {
+ "source": "/node-operators/guides/configuration/consensus-config",
+ "destination": "/node-operators/guides/consensus-config"
+ },
+ {
+ "source": "/node-operators/guides/configuration/execution-config#nethermind",
+ "destination": "/node-operators/guides/base-config#working-base-configuration-for-nethermind"
+ },
+ {
+ "source": "/node-operators/guides/configuration/execution-config",
+ "destination": "/node-operators/guides/execution-config"
+ },
+ {
+ "source": "node-operators/guides/configuration",
+ "destination": "/node-operators/guides/execution-config"
+ },
+ {
+ "source": "/node-operators/guides/configuration/base-config",
+ "destination": "/node-operators/guides/base-config"
+ },
+ {
+ "source": "/concepts/architecture/rollup/outages#sequencer-downtime-outages",
+ "destination": "/concepts/architecture/rollups/outages#sequencer-downtime-outages"
+ },
+ {
+ "source": "/concepts/architecture/rollup/outages#bypassing-the-sequencer",
+ "destination": "/concepts/architecture/rollups/outages#bypassing-the-sequencer"
+ },
+ {
+ "source": "/operators/chain-operators/features/flashblocks/chain-operators",
+ "destination": "/chain-operators/reference/features/flashblocks/chain-operators"
+ },
+ {
+ "source": "/stack/smart-contracts/op-deployer-upgrade",
+ "destination": "/concepts/stack/op-deployer-upgrade"
+ },
+ {
+ "source": "/stack/components",
+ "destination": "/reference/components"
+ },
+ {
+ "source": "/app-developers/quickstarts/get-started",
+ "destination": "/app-developers/quickstarts/starter-kit"
+ },
+ {
+ "source": "/governance/blockspace-charter",
+ "destination": "/concepts/blockspace-charter"
+ },
+ {
+ "source": "/app-developers/tutorials/tutorials",
+ "destination": "/app-developers/guides/building-apps"
+ },
+ {
+ "source": "/app-developers/tools/tools",
+ "destination": "/app-developers/tools/nft-tools"
+ },
+ {
+ "source": "/core-contributors/reference/specs/mips",
+ "destination": "/concepts/architecture/fault-proofs/mips"
+ },
+ {
+ "source": "/concepts/architecture/rollup/overview",
+ "destination": "/concepts/architecture/rollups/overview"
+ },
+ {
+ "source": "/operators/chain-operators/deploy/op-challenger",
+ "destination": "/concepts/architecture/fault-proofs/challenger"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/absolute-prestate",
+ "destination": "/chain-operators/tutorials/absolute-prestate"
+ },
+ {
+ "source": "/chain-operators/guides/best-practices",
+ "destination": "/chain-operators/guides/management/best-practices"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/create-l2-rollup/op-geth-setup",
+ "destination": "chain-operators/tutorials/create-l2-rollup/op-geth-setup"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/create-l2-rollup/op-deployer-setup",
+ "destination": "chain-operators/tutorials/create-l2-rollup/op-deployer-setup"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/create-l2-rollup/op-proposer-setup",
+ "destination": "chain-operators/tutorials/create-l2-rollup/op-proposer-setup"
+ },
+ {
+ "source": "/operators/chain-operators/tutorials/create-l2-rollup/op-batcher-setup",
+ "destination": "chain-operators/tutorials/create-l2-rollup/op-batcher-setup"
+ },
+ {
+ "source": "/operators/chain-operators/deploy/sequencer-node",
+ "destination": "/chain-operators/guides/deployment/sequencer-node"
+ }
+ ],
+ "navigation": {
+ "tabs": [
+ {
+ "tab": "App Developers",
+ "groups": [
+ {
+ "group": "Quickstarts",
+ "pages": [
+ "app-developers/quickstarts/starter-kit"
+ ]
+ },
+ {
+ "group": "Guides",
+ "pages": [
+ "app-developers/guides/building-apps",
+ "app-developers/guides/superchain",
+ "app-developers/guides/testing-apps"
+ ]
+ },
+ {
+ "group": "Tutorials",
+ "pages": [
+ {
+ "group": "Bridging",
+ "pages": [
+ "app-developers/tutorials/bridging/bridge-crosschain-eth",
+ "app-developers/tutorials/bridging/cross-dom-bridge-erc20",
+ "app-developers/tutorials/bridging/cross-dom-bridge-eth",
+ "app-developers/tutorials/bridging/cross-dom-solidity",
+ "app-developers/tutorials/bridging/deposit-transactions",
+ "app-developers/tutorials/bridging/standard-bridge-custom-token",
+ "app-developers/tutorials/bridging/standard-bridge-standard-token"
+ ]
+ },
+ {
+ "group": "Supersim",
+ "pages": [
+ "app-developers/tutorials/development/supersim/first-steps",
+ "app-developers/tutorials/development/supersim/installation"
+ ]
+ },
+ {
+ "group": "Interoperability",
+ "pages": [
+ "app-developers/tutorials/interoperability/contract-calls",
+ "app-developers/tutorials/interoperability/event-contests",
+ "app-developers/tutorials/interoperability/event-reads",
+ "app-developers/tutorials/interoperability/manual-relay",
+ "app-developers/tutorials/interoperability/message-passing"
+ ]
+ },
+ {
+ "group": "Tokens",
+ "pages": [
+ "app-developers/tutorials/tokens/custom-superchain-erc20",
+ "app-developers/tutorials/tokens/deploy-superchain-erc20",
+ "app-developers/tutorials/tokens/transfer-superchainERC20"
+ ]
+ },
+ {
+ "group": "Transactions",
+ "pages": [
+ "app-developers/tutorials/transactions/sdk-estimate-costs",
+ "app-developers/tutorials/transactions/sdk-trace-txns",
+ "app-developers/tutorials/transactions/send-tx-from-eth"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Bridging",
+ "pages": [
+ "app-developers/guides/bridging/basics",
+ "app-developers/guides/bridging/custom-bridge",
+ "app-developers/guides/bridging/messaging",
+ "app-developers/guides/bridging/standard-bridge"
+ ]
+ },
+ {
+ "group": "Interoperability",
+ "pages": [
+ "app-developers/guides/interoperability/get-started",
+ "app-developers/guides/interoperability/message-passing",
+ "app-developers/guides/interoperability/reading-logs"
+ ]
+ },
+ {
+ "group": "Transactions",
+ "pages": [
+ "app-developers/guides/transactions/estimates",
+ "app-developers/guides/transactions/fees",
+ "app-developers/guides/transactions/parameters",
+ "app-developers/guides/transactions/statuses",
+ "app-developers/guides/transactions/troubleshooting"
+ ]
+ },
+ {
+ "group": "Tools",
+ "pages": [
+ "app-developers/tools/nft-tools",
+ {
+ "group": "Data",
+ "pages": [
+ "app-developers/tools/data/analytics-tools",
+ "app-developers/tools/data/oracles"
+ ]
+ },
+ {
+ "group": "Development",
+ "pages": [
+ "app-developers/tools/development/supersim"
+ ]
+ },
+ {
+ "group": "Infrastructure",
+ "pages": [
+ "app-developers/tools/infrastructure/block-explorers"
+ ]
+ },
+ {
+ "group": "Testing",
+ "pages": [
+ "app-developers/tools/testing/devnet",
+ "app-developers/tools/testing/faucets"
+ ]
+ },
+ {
+ "group": "Wallets",
+ "pages": [
+ "app-developers/tools/wallets/account-abstraction"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Reference",
+ "pages": [
+ "app-developers/reference/networks",
+ "app-developers/reference/rpc-providers",
+ {
+ "group": "Contracts",
+ "pages": [
+ "app-developers/reference/contracts/interop/predeploy"
+ ]
+ },
+ {
+ "group": "Tokens",
+ "pages": [
+ "app-developers/reference/tokens/compatible-tokens",
+ "app-developers/reference/tokens/tokenlist"
+ ]
+ },
+ {
+ "group": "Supersim",
+ "pages": [
+ "app-developers/reference/tools/supersim/chain-a",
+ "app-developers/reference/tools/supersim/chain-b",
+ "app-developers/reference/tools/supersim/fork",
+ "app-developers/reference/tools/supersim/included-contracts",
+ "app-developers/reference/tools/supersim/vanilla"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "tab": "Chain Operators",
+ "groups": [
+ {
+ "group": "Quickstarts",
+ "pages": [
+ "chain-operators/quickstarts/self-hosted"
+ ]
+ },
+ {
+ "group": "Guides",
+ "pages": [
+ {
+ "group": "Configuration",
+ "pages": [
+ "chain-operators/guides/configuration/batcher",
+ "chain-operators/guides/configuration/getting-started",
+ "chain-operators/guides/configuration/proposer",
+ "chain-operators/guides/configuration/rollup"
+ ]
+ },
+ {
+ "group": "Deployment",
+ "pages": [
+ "chain-operators/guides/deployment/genesis",
+ "chain-operators/guides/deployment/overview",
+ "chain-operators/guides/deployment/proposer-setup-guide",
+ "chain-operators/guides/deployment/sequencer-node",
+ "chain-operators/guides/deployment/smart-contracts",
+ "chain-operators/guides/deployment/spin-batcher",
+ "chain-operators/guides/deployment/validate-deployment"
+ ]
+ },
+ {
+ "group": "Features",
+ "pages": [
+ "chain-operators/guides/features/alt-da-mode"
+ ]
+ },
+ {
+ "group": "Management",
+ "pages": [
+ "chain-operators/guides/management/best-practices",
+ "chain-operators/guides/management/blobs",
+ "chain-operators/guides/management/key-management",
+ "chain-operators/guides/management/operations",
+ "chain-operators/guides/management/snap-sync",
+ "chain-operators/guides/management/troubleshooting"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Tutorials",
+ "pages": [
+ {
+ "group": "Create L2 Rollup",
+ "pages": [
+ "chain-operators/tutorials/create-l2-rollup/create-l2-rollup",
+ "chain-operators/tutorials/create-l2-rollup/op-deployer-setup",
+ "chain-operators/tutorials/create-l2-rollup/op-geth-setup",
+ "chain-operators/tutorials/create-l2-rollup/op-batcher-setup",
+ "chain-operators/tutorials/create-l2-rollup/op-proposer-setup",
+ "chain-operators/tutorials/create-l2-rollup/op-challenger-setup"
+ ]
+ },
+ "chain-operators/tutorials/absolute-prestate",
+ "chain-operators/tutorials/adding-derivation-attributes",
+ "chain-operators/tutorials/adding-precompiles",
+ "chain-operators/tutorials/chain-dev-net",
+ "chain-operators/tutorials/dispute-games",
+ "chain-operators/tutorials/integrating-da-layer",
+ "chain-operators/tutorials/migrating-permissionless",
+ "chain-operators/tutorials/modifying-predeploys"
+ ]
+ },
+ {
+ "group": "Tools",
+ "pages": [
+ "chain-operators/tools/chain-monitoring",
+ "chain-operators/tools/explorer",
+ "chain-operators/tools/fee-calculator",
+ "chain-operators/tools/op-challenger",
+ "chain-operators/tools/op-conductor",
+ "chain-operators/tools/op-deployer",
+ "chain-operators/tools/op-txproxy",
+ "chain-operators/tools/op-validator",
+ "chain-operators/tools/proxyd"
+ ]
+ },
+ {
+ "group": "Reference",
+ "pages": [
+ "chain-operators/reference/architecture",
+ "chain-operators/reference/opcm",
+ "chain-operators/reference/privileged-roles",
+ "chain-operators/reference/standard-configuration",
+ "chain-operators/reference/superchain-explainer",
+ "chain-operators/reference/superchain-registry",
+ "chain-operators/reference/superchain-upgrades",
+ {
+ "group": "Components",
+ "pages": [
+ "chain-operators/reference/components/op-supervisor"
+ ]
+ },
+ {
+ "group": "Features",
+ "pages": [
+ "chain-operators/reference/features/alt-da-mode",
+ "chain-operators/reference/features/bridged-usdc-standard",
+ "chain-operators/reference/features/preinstalls",
+ "chain-operators/reference/features/span-batches",
+ {
+ "group": "Flashblocks",
+ "pages": [
+ "chain-operators/reference/features/flashblocks/apps",
+ "chain-operators/reference/features/flashblocks/chain-operators"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "RPC",
+ "pages": [
+ "chain-operators/reference/rpc/send-raw-transaction-conditional"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "tab": "Concepts",
+ "groups": [
+ {
+ "group": "Concepts",
+ "pages": [
+ "concepts/blockspace-charter"
+ ]
+ },
+ {
+ "group": "Architecture",
+ "pages": [
+ "concepts/architecture/reorg",
+ {
+ "group": "Fault Proofs",
+ "pages": [
+ "concepts/architecture/fault-proofs/cannon",
+ "concepts/architecture/fault-proofs/challenger",
+ "concepts/architecture/fault-proofs/explainer",
+ "concepts/architecture/fault-proofs/fp-components",
+ "concepts/architecture/fault-proofs/mips"
+ ]
+ },
+ {
+ "group": "Rollups",
+ "pages": [
+ "concepts/architecture/rollups/derivation-pipeline",
+ "concepts/architecture/rollups/outages",
+ "concepts/architecture/rollups/overview"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Bridging",
+ "pages": [
+ "concepts/bridging/cross-domain"
+ ]
+ },
+ {
+ "group": "Interoperability",
+ "pages": [
+ "concepts/interoperability/explainer",
+ "concepts/interoperability/interop",
+ "concepts/interoperability/superchain-erc20",
+ "concepts/interoperability/superchain-eth-bridge"
+ ]
+ },
+ {
+ "group": "Research",
+ "pages": [
+ "concepts/research/block-time-research"
+ ]
+ },
+ {
+ "group": "Security",
+ "pages": [
+ "concepts/security/audits-report",
+ "concepts/security/faq-sec-model",
+ "concepts/security/faq",
+ "concepts/security/fp-security",
+ "concepts/security/interop-security",
+ "concepts/security/pause",
+ "concepts/security/security-policy"
+ ]
+ },
+ {
+ "group": "The stack",
+ "pages": [
+ "concepts/stack/fact-sheet",
+ "concepts/stack/design-principles",
+ "concepts/stack/differences",
+ "concepts/stack/getting-started",
+ "concepts/stack/network-upgrades",
+ "concepts/stack/op-deployer-upgrade",
+ "concepts/stack/op-stack",
+ "concepts/stack/smart-contracts",
+ "concepts/stack/superchain-ops-guide",
+ "concepts/stack/upgrade-op-contracts-1-3-1-8"
+ ]
+ },
+ {
+ "group": "Transactions",
+ "pages": [
+ "concepts/transactions/deposit-flow",
+ "concepts/transactions/fees",
+ "concepts/transactions/flashblocks",
+ "concepts/transactions/forced-transaction",
+ "concepts/transactions/transaction-finality",
+ "concepts/transactions/transaction-flow",
+ "concepts/transactions/withdrawal-flow"
+ ]
+ }
+ ]
+ },
+ {
+ "tab": "Node Operators",
+ "groups": [
+{
+ "group": "Guides",
+ "pages": [
+ "node-operators/guides/base-config",
+ "node-operators/guides/consensus-config",
+ "node-operators/guides/execution-config",
+ "node-operators/guides/troubleshooting",
+ {
+ "group": "Management",
+ "pages": [
+ "node-operators/guides/management/blobs",
+ "node-operators/guides/management/regenesis-history",
+ "node-operators/guides/management/snap-sync",
+ "node-operators/guides/management/snapshots"
+ ]
+ },
+ {
+ "group": "Monitoring",
+ "pages": [
+ "node-operators/guides/monitoring/metrics"
+ ]
+ }
+ ]
+ },
+ {
+ "group": "Tutorials",
+ "pages": [
+ "node-operators/tutorials/node-from-docker",
+ "node-operators/tutorials/node-from-source",
+ "node-operators/tutorials/run-node-from-source"
+ ]
+ },
+ {
+ "group": "Reference",
+ "pages": [
+ {
+ "group": "Architecture",
+ "pages": [
+ "node-operators/reference/architecture/architecture",
+ "node-operators/reference/architecture/rollup-node"
+ ]
+ },
+ "node-operators/reference/json-rpc",
+ "node-operators/reference/releases"
+ ]
+ }
+ ]
+ },
+ {
+ "tab": "Notices",
+ "groups": [
+ {
+ "group": "Notices",
+ "pages": [
+ "notices/fusaka-notice",
+ "notices/upgrade-16",
+ "notices/upgrade-16a",
+ {
+ "group": "Archive",
+ "pages": [
+ "notices/archive/blob-fee-bug",
+ "notices/archive/holocene-changes",
+ "notices/archive/pectra-changes",
+ "notices/archive/pectra-fees",
+ "notices/archive/superchain-withdrawal-pause-test",
+ "notices/archive/upgrade-13",
+ "notices/archive/upgrade-14",
+ "notices/archive/upgrade-15"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "tab": "Reference",
+ "groups": [
+ {
+ "group": "Reference",
+ "pages": [
+ "reference/addresses",
+ "reference/components",
+ "reference/glossary",
+ "reference/networks",
+ "reference/public-devnets",
+ {
+ "group": "Contribute",
+ "pages": [
+ "reference/contribute/docs-contribute",
+ "reference/contribute/stack-contribute",
+ "reference/contribute/style-guide"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "global": {
+ "anchors": [
+ {
+ "anchor": "Community Hub",
+ "href": "https://community.optimism.io/",
+ "icon": "users"
+ },
+ {
+ "anchor": "Status",
+ "href": "https://status.optimism.io",
+ "icon": "signal-bars"
+ },
+ {
+ "anchor": "Faucet",
+ "href": "https://console.optimism.io/faucet",
+ "icon": "gas-pump"
+ },
+ {
+ "anchor": "Bridge",
+ "href": "https://app.optimism.io/bridge/deposit",
+ "icon": "bridge-water"
+ },
+ {
+ "anchor": "Discord",
+ "href": "https://discord.gg/optimism",
+ "icon": "discord"
+ }
+ ]
+ }
+ },
+ "logo": {
+ "light": "/public/logos/Lockup_docs_dark.svg",
+ "dark": "/public/logos/Lockup_docs_light.svg"
+ },
+ "navbar": {
+ "links": [
+ {
+ "label": "Blog",
+ "href": "https://www.optimism.io/blog"
+ },
+ {
+ "label": "Support",
+ "href": "https://github.com/ethereum-optimism/developers/discussions"
+ },
+ {
+ "label": "GitHub",
+ "href": "https://github.com/ethereum-optimism/docs"
+ }
+ ],
+ "primary": {
+ "type": "button",
+ "label": "Get Started",
+ "href": "https://docs.optimism.io/get-started/interop"
+ }
+ }
+}
\ No newline at end of file