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