From ebf6a76f69c1f4fe86da84de53e28475ec33ac9d Mon Sep 17 00:00:00 2001 From: roethke Date: Fri, 1 May 2026 10:38:31 -0700 Subject: [PATCH 1/3] refactor docs --- .../block-building.mdx | 0 .../flashblocks/app-integration.mdx | 0 .../flashblocks/architecture.mdx | 0 .../{ => infrastructure}/flashblocks/faq.mdx | 0 .../flashblocks/overview.mdx | 0 .../node-operators/base-v1-upgrade.mdx | 0 .../node-operators/node-providers.mdx | 0 .../node-operators/performance-tuning.mdx | 0 .../node-operators/run-a-base-node.mdx | 0 .../node-operators/snapshots.mdx | 0 .../troubleshooting-transactions.mdx | 0 .../node-operators/troubleshooting.mdx | 0 docs/base-chain/infrastructure/overview.mdx | 19 + .../{bridges.mdx => bridges/overview.mdx} | 2 +- .../bridges/solana-bridge.mdx} | 2 +- .../configuration-changelog.mdx | 35 - .../diffs-ethereum-base.mdx | 18 - .../network-information/overview.mdx | 16 + .../security/avoid-malicious-flags.mdx | 0 .../security/bug-bounty.mdx | 0 .../security/report-vulnerability.mdx | 0 .../security/security-council.mdx | 0 .../debug-api/debug_traceBlockByHash.mdx | 0 .../debug-api/debug_traceBlockByNumber.mdx | 0 .../debug-api/debug_traceTransaction.mdx | 0 .../base_transactionStatus.mdx | 0 .../flashblocks-api/eth_simulateV1.mdx | 0 .../flashblocks-api-overview.mdx | 0 .../newFlashblockTransactions.mdx | 0 .../flashblocks-api/newFlashblocks.mdx | 0 .../flashblocks-api/pendingLogs.mdx | 0 .../json-rpc}/eth_blockNumber.mdx | 0 .../json-rpc}/eth_call.mdx | 0 .../json-rpc}/eth_chainId.mdx | 0 .../json-rpc}/eth_estimateGas.mdx | 0 .../json-rpc}/eth_feeHistory.mdx | 0 .../json-rpc}/eth_gasPrice.mdx | 0 .../json-rpc}/eth_getBalance.mdx | 0 .../json-rpc}/eth_getBlockByHash.mdx | 0 .../json-rpc}/eth_getBlockByNumber.mdx | 0 .../json-rpc}/eth_getBlockReceipts.mdx | 0 .../eth_getBlockTransactionCountByHash.mdx | 0 .../eth_getBlockTransactionCountByNumber.mdx | 0 .../json-rpc}/eth_getCode.mdx | 0 .../json-rpc}/eth_getLogs.mdx | 0 .../json-rpc}/eth_getStorageAt.mdx | 0 .../eth_getTransactionByBlockHashAndIndex.mdx | 0 ...th_getTransactionByBlockNumberAndIndex.mdx | 0 .../json-rpc}/eth_getTransactionByHash.mdx | 0 .../json-rpc}/eth_getTransactionCount.mdx | 0 .../json-rpc}/eth_getTransactionReceipt.mdx | 0 .../json-rpc}/eth_maxPriorityFeePerGas.mdx | 0 .../json-rpc}/eth_sendRawTransaction.mdx | 0 .../json-rpc}/eth_subscribe.mdx | 0 .../json-rpc}/eth_syncing.mdx | 0 .../json-rpc}/eth_unsubscribe.mdx | 0 .../json-rpc}/net_version.mdx | 0 .../json-rpc/overview.mdx} | 27 +- .../json-rpc}/web3_clientVersion.mdx | 0 docs/base-chain/protocol-api/overview.mdx | 19 + .../specs/bcps/bcp-0000.mdx | 0 .../{ => protocol-api}/specs/bcps/index.mdx | 0 .../specs/protocol/batcher.mdx | 0 .../specs/protocol/bridging/bridges.mdx | 0 .../specs/protocol/bridging/deposits.mdx | 0 .../specs/protocol/bridging/messengers.mdx | 0 .../specs/protocol/bridging/withdrawals.mdx | 0 .../specs/protocol/consensus/derivation.mdx | 0 .../specs/protocol/consensus/index.mdx | 0 .../specs/protocol/consensus/p2p.mdx | 0 .../protocol/execution/evm/precompiles.mdx | 61 ++ .../protocol/execution/evm/predeploys.mdx | 0 .../protocol/execution/evm/preinstalls.mdx | 0 .../specs/protocol/execution/index.mdx | 0 .../fault-proofs}/cannon-fault-proof-vm.mdx | 0 .../specs/protocol/fault-proofs/overview.mdx} | 2 +- .../specs/protocol/fault-proofs}/proposer.mdx | 0 .../stage-one/anchor-state-registry.mdx | 0 .../stage-one/bond-incentives.mdx | 0 .../stage-one/bridge-integration.mdx | 0 .../stage-one/dispute-game-interface.mdx | 0 .../stage-one/fault-dispute-game.mdx | 0 .../stage-one/honest-challenger-fdg.mdx | 0 .../fault-proofs}/stage-one/index.mdx | 0 .../stage-one/optimism-portal.mdx | 0 .../specs/protocol/overview.mdx | 0 .../specs/reference/configurability.mdx | 32 + .../specs/reference/glossary.mdx | 0 .../specs/upgrades/azul/exec-engine.mdx | 0 .../specs/upgrades/azul/overview.mdx | 0 .../specs/upgrades/azul/proofs.mdx | 0 .../specs/upgrades/canyon/overview.mdx | 0 .../specs/upgrades/delta/overview.mdx | 0 .../specs/upgrades/delta/span-batches.mdx | 0 .../specs/upgrades/ecotone/derivation.mdx | 0 .../specs/upgrades/ecotone/l1-attributes.mdx | 0 .../specs/upgrades/ecotone/overview.mdx | 0 .../specs/upgrades/fjord/derivation.mdx | 0 .../specs/upgrades/fjord/exec-engine.mdx | 0 .../specs/upgrades/fjord/overview.mdx | 0 .../specs/upgrades/fjord/predeploys.mdx | 0 .../specs/upgrades/granite/derivation.mdx | 0 .../specs/upgrades/granite/exec-engine.mdx | 0 .../specs/upgrades/granite/overview.mdx | 0 .../specs/upgrades/holocene/derivation.mdx | 0 .../specs/upgrades/holocene/exec-engine.mdx | 0 .../specs/upgrades/holocene/overview.mdx | 0 .../specs/upgrades/holocene/system-config.mdx | 0 .../specs/upgrades/isthmus/derivation.mdx | 0 .../specs/upgrades/isthmus/exec-engine.mdx | 0 .../specs/upgrades/isthmus/l1-attributes.mdx | 0 .../specs/upgrades/isthmus/overview.mdx | 0 .../specs/upgrades/isthmus/predeploys.mdx | 0 .../specs/upgrades/isthmus/system-config.mdx | 0 .../specs/upgrades/jovian/derivation.mdx | 0 .../specs/upgrades/jovian/exec-engine.mdx | 0 .../specs/upgrades/jovian/l1-attributes.mdx | 0 .../specs/upgrades/jovian/overview.mdx | 0 .../specs/upgrades/jovian/system-config.mdx | 0 .../pectra-blob-schedule/derivation.mdx | 0 .../pectra-blob-schedule/overview.mdx | 0 docs/base-chain/specs/overview.mdx | 27 - .../specs/protocol/consensus/rpc.mdx | 77 -- .../protocol/execution/evm/precompiles.mdx | 30 - docs/docs.json | 857 ++++++++++++++---- .../quickstart => get-started}/why-base.mdx | 0 126 files changed, 847 insertions(+), 377 deletions(-) rename docs/base-chain/{network-information => infrastructure}/block-building.mdx (100%) rename docs/base-chain/{ => infrastructure}/flashblocks/app-integration.mdx (100%) rename docs/base-chain/{ => infrastructure}/flashblocks/architecture.mdx (100%) rename docs/base-chain/{ => infrastructure}/flashblocks/faq.mdx (100%) rename docs/base-chain/{ => infrastructure}/flashblocks/overview.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/base-v1-upgrade.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/node-providers.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/performance-tuning.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/run-a-base-node.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/snapshots.mdx (100%) rename docs/base-chain/{network-information => infrastructure/node-operators}/troubleshooting-transactions.mdx (100%) rename docs/base-chain/{ => infrastructure}/node-operators/troubleshooting.mdx (100%) create mode 100644 docs/base-chain/infrastructure/overview.mdx rename docs/base-chain/network-information/{bridges.mdx => bridges/overview.mdx} (99%) rename docs/base-chain/{quickstart/base-solana-bridge.mdx => network-information/bridges/solana-bridge.mdx} (99%) delete mode 100644 docs/base-chain/network-information/configuration-changelog.mdx delete mode 100644 docs/base-chain/network-information/diffs-ethereum-base.mdx create mode 100644 docs/base-chain/network-information/overview.mdx rename docs/base-chain/{ => network-information}/security/avoid-malicious-flags.mdx (100%) rename docs/base-chain/{ => network-information}/security/bug-bounty.mdx (100%) rename docs/base-chain/{ => network-information}/security/report-vulnerability.mdx (100%) rename docs/base-chain/{ => network-information}/security/security-council.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/debug-api/debug_traceBlockByHash.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/debug-api/debug_traceBlockByNumber.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/debug-api/debug_traceTransaction.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/base_transactionStatus.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/eth_simulateV1.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/flashblocks-api-overview.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/newFlashblockTransactions.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/newFlashblocks.mdx (100%) rename docs/base-chain/{api-reference => protocol-api}/flashblocks-api/pendingLogs.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_blockNumber.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_call.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_chainId.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_estimateGas.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_feeHistory.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_gasPrice.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBalance.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBlockByHash.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBlockByNumber.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBlockReceipts.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBlockTransactionCountByHash.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getBlockTransactionCountByNumber.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getCode.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getLogs.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getStorageAt.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getTransactionByBlockHashAndIndex.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getTransactionByBlockNumberAndIndex.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getTransactionByHash.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getTransactionCount.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_getTransactionReceipt.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_maxPriorityFeePerGas.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_sendRawTransaction.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_subscribe.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_syncing.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/eth_unsubscribe.mdx (100%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/net_version.mdx (100%) rename docs/base-chain/{api-reference/rpc-overview.mdx => protocol-api/json-rpc/overview.mdx} (88%) rename docs/base-chain/{api-reference/ethereum-json-rpc-api => protocol-api/json-rpc}/web3_clientVersion.mdx (100%) create mode 100644 docs/base-chain/protocol-api/overview.mdx rename docs/base-chain/{ => protocol-api}/specs/bcps/bcp-0000.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/bcps/index.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/batcher.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/bridging/bridges.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/bridging/deposits.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/bridging/messengers.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/bridging/withdrawals.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/consensus/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/consensus/index.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/consensus/p2p.mdx (100%) create mode 100644 docs/base-chain/protocol-api/specs/protocol/execution/evm/precompiles.mdx rename docs/base-chain/{ => protocol-api}/specs/protocol/execution/evm/predeploys.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/execution/evm/preinstalls.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/execution/index.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/cannon-fault-proof-vm.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof/index.mdx => protocol-api/specs/protocol/fault-proofs/overview.mdx} (99%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/proposer.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/anchor-state-registry.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/bond-incentives.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/bridge-integration.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/dispute-game-interface.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/fault-dispute-game.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/honest-challenger-fdg.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/index.mdx (100%) rename docs/base-chain/{specs/protocol/fault-proof => protocol-api/specs/protocol/fault-proofs}/stage-one/optimism-portal.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/protocol/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/reference/configurability.mdx (74%) rename docs/base-chain/{ => protocol-api}/specs/reference/glossary.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/azul/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/azul/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/azul/proofs.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/canyon/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/delta/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/delta/span-batches.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/ecotone/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/ecotone/l1-attributes.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/ecotone/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/fjord/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/fjord/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/fjord/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/fjord/predeploys.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/granite/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/granite/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/granite/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/holocene/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/holocene/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/holocene/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/holocene/system-config.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/l1-attributes.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/predeploys.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/isthmus/system-config.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/jovian/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/jovian/exec-engine.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/jovian/l1-attributes.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/jovian/overview.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/jovian/system-config.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/pectra-blob-schedule/derivation.mdx (100%) rename docs/base-chain/{ => protocol-api}/specs/upgrades/pectra-blob-schedule/overview.mdx (100%) delete mode 100644 docs/base-chain/specs/overview.mdx delete mode 100644 docs/base-chain/specs/protocol/consensus/rpc.mdx delete mode 100644 docs/base-chain/specs/protocol/execution/evm/precompiles.mdx rename docs/{base-chain/quickstart => get-started}/why-base.mdx (100%) diff --git a/docs/base-chain/network-information/block-building.mdx b/docs/base-chain/infrastructure/block-building.mdx similarity index 100% rename from docs/base-chain/network-information/block-building.mdx rename to docs/base-chain/infrastructure/block-building.mdx diff --git a/docs/base-chain/flashblocks/app-integration.mdx b/docs/base-chain/infrastructure/flashblocks/app-integration.mdx similarity index 100% rename from docs/base-chain/flashblocks/app-integration.mdx rename to docs/base-chain/infrastructure/flashblocks/app-integration.mdx diff --git a/docs/base-chain/flashblocks/architecture.mdx b/docs/base-chain/infrastructure/flashblocks/architecture.mdx similarity index 100% rename from docs/base-chain/flashblocks/architecture.mdx rename to docs/base-chain/infrastructure/flashblocks/architecture.mdx diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/infrastructure/flashblocks/faq.mdx similarity index 100% rename from docs/base-chain/flashblocks/faq.mdx rename to docs/base-chain/infrastructure/flashblocks/faq.mdx diff --git a/docs/base-chain/flashblocks/overview.mdx b/docs/base-chain/infrastructure/flashblocks/overview.mdx similarity index 100% rename from docs/base-chain/flashblocks/overview.mdx rename to docs/base-chain/infrastructure/flashblocks/overview.mdx diff --git a/docs/base-chain/node-operators/base-v1-upgrade.mdx b/docs/base-chain/infrastructure/node-operators/base-v1-upgrade.mdx similarity index 100% rename from docs/base-chain/node-operators/base-v1-upgrade.mdx rename to docs/base-chain/infrastructure/node-operators/base-v1-upgrade.mdx diff --git a/docs/base-chain/node-operators/node-providers.mdx b/docs/base-chain/infrastructure/node-operators/node-providers.mdx similarity index 100% rename from docs/base-chain/node-operators/node-providers.mdx rename to docs/base-chain/infrastructure/node-operators/node-providers.mdx diff --git a/docs/base-chain/node-operators/performance-tuning.mdx b/docs/base-chain/infrastructure/node-operators/performance-tuning.mdx similarity index 100% rename from docs/base-chain/node-operators/performance-tuning.mdx rename to docs/base-chain/infrastructure/node-operators/performance-tuning.mdx diff --git a/docs/base-chain/node-operators/run-a-base-node.mdx b/docs/base-chain/infrastructure/node-operators/run-a-base-node.mdx similarity index 100% rename from docs/base-chain/node-operators/run-a-base-node.mdx rename to docs/base-chain/infrastructure/node-operators/run-a-base-node.mdx diff --git a/docs/base-chain/node-operators/snapshots.mdx b/docs/base-chain/infrastructure/node-operators/snapshots.mdx similarity index 100% rename from docs/base-chain/node-operators/snapshots.mdx rename to docs/base-chain/infrastructure/node-operators/snapshots.mdx diff --git a/docs/base-chain/network-information/troubleshooting-transactions.mdx b/docs/base-chain/infrastructure/node-operators/troubleshooting-transactions.mdx similarity index 100% rename from docs/base-chain/network-information/troubleshooting-transactions.mdx rename to docs/base-chain/infrastructure/node-operators/troubleshooting-transactions.mdx diff --git a/docs/base-chain/node-operators/troubleshooting.mdx b/docs/base-chain/infrastructure/node-operators/troubleshooting.mdx similarity index 100% rename from docs/base-chain/node-operators/troubleshooting.mdx rename to docs/base-chain/infrastructure/node-operators/troubleshooting.mdx diff --git a/docs/base-chain/infrastructure/overview.mdx b/docs/base-chain/infrastructure/overview.mdx new file mode 100644 index 000000000..53995ff29 --- /dev/null +++ b/docs/base-chain/infrastructure/overview.mdx @@ -0,0 +1,19 @@ +--- +title: Infrastructure & Operations +sidebarTitle: Overview +description: Running, operating, and integrating with Base Chain infrastructure. +--- + +This section covers everything required to operate Base infrastructure: running nodes, configuring execution clients, understanding the sequencer and batcher, and integrating with Flashblocks for low-latency block access. + +| Topic | Description | +| :--- | :--- | +| **Run a Base Node** | Step-by-step node setup for op-node + execution client | +| **Performance Tuning** | Hardware recommendations and client configuration for production | +| **Snapshots** | Download chain snapshots to reduce sync time | +| **Node Providers** | Managed RPC providers as an alternative to self-hosted nodes | +| **Flashblocks** | 200ms incremental block updates — overview, integration, and architecture | +| **Block Building** | How the sequencer constructs and orders transactions | +| **Batcher Spec** | How transaction batches are written to L1 | +| **Consensus & Derivation** | How the L2 chain is derived from L1 data | +| **P2P Networking** | Peer discovery and gossip protocol for the Base network | diff --git a/docs/base-chain/network-information/bridges.mdx b/docs/base-chain/network-information/bridges/overview.mdx similarity index 99% rename from docs/base-chain/network-information/bridges.mdx rename to docs/base-chain/network-information/bridges/overview.mdx index 258a15b70..84be72d28 100644 --- a/docs/base-chain/network-information/bridges.mdx +++ b/docs/base-chain/network-information/bridges/overview.mdx @@ -1,7 +1,7 @@ --- title: Bridges +sidebarTitle: Overview description: Documentation for bridging assets to Base. This page covers how to bridge assets between Ethereum, Solana, Bitcoin, and Base. - --- Base supports bridging assets from multiple chains including Ethereum, Solana, and Bitcoin. While the bridge on bridge.base.org has been deprecated, there are many bridges that support moving assets between Base and other chains. diff --git a/docs/base-chain/quickstart/base-solana-bridge.mdx b/docs/base-chain/network-information/bridges/solana-bridge.mdx similarity index 99% rename from docs/base-chain/quickstart/base-solana-bridge.mdx rename to docs/base-chain/network-information/bridges/solana-bridge.mdx index 92ae9dd3d..be0963466 100644 --- a/docs/base-chain/quickstart/base-solana-bridge.mdx +++ b/docs/base-chain/network-information/bridges/solana-bridge.mdx @@ -1,5 +1,5 @@ --- -title: "Base-Solana Bridge" +title: "Solana Bridge" description: "Bridge tokens and messages between Base and Solana Mainnet" --- diff --git a/docs/base-chain/network-information/configuration-changelog.mdx b/docs/base-chain/network-information/configuration-changelog.mdx deleted file mode 100644 index 905bc3253..000000000 --- a/docs/base-chain/network-information/configuration-changelog.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Configuration Changelog -slug: /configuration-changelog -description: A log of configuration changes to the Base networks. ---- - -This page tracks configuration changes to the Base networks, including updates to block building, network fees, and other network parameters. - -## Base Mainnet - -| Date | Change | Documentation | -|------|--------|---------------| -| February 19, 2026 | Increased Minimum Base Fee to 5,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| February 4, 2026 | Increased EIP-1559 Denominator to 125 | [EIP-1559 Fee Parameters](/base-chain/network-information/network-fees#eip-1559-fee-parameters) | -| February 2, 2026 | Increased Minimum Base Fee to 2,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| January 22, 2026 | Increased Minimum Base Fee to 1,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| December 18, 2025 | Increased Minimum Base Fee to 500,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| December 4, 2025 | Enabled Minimum Base Fee (200,000 wei) | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| September 17, 2025 | Enabled Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum) | -| September 11, 2025 | Ended testing Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum) | -| September 10, 2025 | Started testing Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum) | -| July 7, 2025 | Enabled Flashblocks | [Flashblocks](/base-chain/network-information/block-building#flashblocks) | -| May 15, 2025 | Ended testing Flashblocks | [Flashblocks](/base-chain/network-information/block-building#flashblocks) | -| May 15, 2025 | Started testing Flashblocks | [Flashblocks](/base-chain/network-information/block-building#flashblocks) | - -## Base Sepolia - -| Date | Change | Documentation | -|------|--------|---------------| -| February 19, 2026 | Increased Minimum Base Fee to 5,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| February 10, 2026 | Increased EIP-1559 Denominator to 125 | [EIP-1559 Fee Parameters](/base-chain/network-information/network-fees#eip-1559-fee-parameters) | -| February 10, 2026 | Increased Minimum Base Fee to 2,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| November 20, 2025 | Enabled Minimum Base Fee (200,000 wei) | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | -| September 3, 2025 | Enabled Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum) | -| February 25, 2025 | Enabled Flashblocks | [Flashblocks](/base-chain/network-information/block-building#flashblocks) | diff --git a/docs/base-chain/network-information/diffs-ethereum-base.mdx b/docs/base-chain/network-information/diffs-ethereum-base.mdx deleted file mode 100644 index 191af4491..000000000 --- a/docs/base-chain/network-information/diffs-ethereum-base.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Differences between Ethereum and Base" -sidebarTitle: 'Differences: Ethereum & Base' ---- - -Base is built to be as compatible as possible to Etherum, and there are very few differences when it comes to building on Base versus Ethereum. - -However, there are still some minor discrepancies between the behavior of Base and Ethereum that you should be aware of when building apps on top of Base. - -These minor differences include: - -- [Flashblocks](https://docs.base.org/base-chain/flashblocks/app-integration) -- [Minimum base fee](/base-chain/network-information/network-fees#minimum-base-fee) -- [Bridging](https://docs.optimism.io/stack/differences#bridging) -- [Opcodes](https://docs.optimism.io/stack/differences#opcodes) -- [Address aliasing](https://docs.optimism.io/stack/differences#address-aliasing) -- [Transaction costs](https://docs.optimism.io/stack/differences#transaction-fees) -- [Chain Finality](https://docs.optimism.io/stack/differences#chain-finality) \ No newline at end of file diff --git a/docs/base-chain/network-information/overview.mdx b/docs/base-chain/network-information/overview.mdx new file mode 100644 index 000000000..3864c23a0 --- /dev/null +++ b/docs/base-chain/network-information/overview.mdx @@ -0,0 +1,16 @@ +--- +title: Network Information +sidebarTitle: Overview +description: The trust model, economic structure, and network-level guarantees of Base Chain. +--- + +This section covers the core properties of Base Chain: fee markets, finality windows, bridge mechanics, and network security governance. + +| Topic | Description | +| :--- | :--- | +| **Fees & Gas** | EIP-1559 base fee, priority fee, and L1 data cost components | +| **Transaction Finality** | Soft confirmation, hard confirmation, and L1-finalized settlement windows | +| **Contract Addresses** | Canonical protocol contract addresses on mainnet and testnet | +| **Bridges** | How the canonical bridge moves ETH and ERC-20s between Base and Ethereum | +| **Bridge Specifications** | Protocol-level specs for deposits, withdrawals, and cross-chain messengers | +| **Security Council** | Governance structure and upgrade controls | diff --git a/docs/base-chain/security/avoid-malicious-flags.mdx b/docs/base-chain/network-information/security/avoid-malicious-flags.mdx similarity index 100% rename from docs/base-chain/security/avoid-malicious-flags.mdx rename to docs/base-chain/network-information/security/avoid-malicious-flags.mdx diff --git a/docs/base-chain/security/bug-bounty.mdx b/docs/base-chain/network-information/security/bug-bounty.mdx similarity index 100% rename from docs/base-chain/security/bug-bounty.mdx rename to docs/base-chain/network-information/security/bug-bounty.mdx diff --git a/docs/base-chain/security/report-vulnerability.mdx b/docs/base-chain/network-information/security/report-vulnerability.mdx similarity index 100% rename from docs/base-chain/security/report-vulnerability.mdx rename to docs/base-chain/network-information/security/report-vulnerability.mdx diff --git a/docs/base-chain/security/security-council.mdx b/docs/base-chain/network-information/security/security-council.mdx similarity index 100% rename from docs/base-chain/security/security-council.mdx rename to docs/base-chain/network-information/security/security-council.mdx diff --git a/docs/base-chain/api-reference/debug-api/debug_traceBlockByHash.mdx b/docs/base-chain/protocol-api/debug-api/debug_traceBlockByHash.mdx similarity index 100% rename from docs/base-chain/api-reference/debug-api/debug_traceBlockByHash.mdx rename to docs/base-chain/protocol-api/debug-api/debug_traceBlockByHash.mdx diff --git a/docs/base-chain/api-reference/debug-api/debug_traceBlockByNumber.mdx b/docs/base-chain/protocol-api/debug-api/debug_traceBlockByNumber.mdx similarity index 100% rename from docs/base-chain/api-reference/debug-api/debug_traceBlockByNumber.mdx rename to docs/base-chain/protocol-api/debug-api/debug_traceBlockByNumber.mdx diff --git a/docs/base-chain/api-reference/debug-api/debug_traceTransaction.mdx b/docs/base-chain/protocol-api/debug-api/debug_traceTransaction.mdx similarity index 100% rename from docs/base-chain/api-reference/debug-api/debug_traceTransaction.mdx rename to docs/base-chain/protocol-api/debug-api/debug_traceTransaction.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx b/docs/base-chain/protocol-api/flashblocks-api/base_transactionStatus.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx rename to docs/base-chain/protocol-api/flashblocks-api/base_transactionStatus.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx b/docs/base-chain/protocol-api/flashblocks-api/eth_simulateV1.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx rename to docs/base-chain/protocol-api/flashblocks-api/eth_simulateV1.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx b/docs/base-chain/protocol-api/flashblocks-api/flashblocks-api-overview.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx rename to docs/base-chain/protocol-api/flashblocks-api/flashblocks-api-overview.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx b/docs/base-chain/protocol-api/flashblocks-api/newFlashblockTransactions.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx rename to docs/base-chain/protocol-api/flashblocks-api/newFlashblockTransactions.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx b/docs/base-chain/protocol-api/flashblocks-api/newFlashblocks.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx rename to docs/base-chain/protocol-api/flashblocks-api/newFlashblocks.mdx diff --git a/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx b/docs/base-chain/protocol-api/flashblocks-api/pendingLogs.mdx similarity index 100% rename from docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx rename to docs/base-chain/protocol-api/flashblocks-api/pendingLogs.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.mdx b/docs/base-chain/protocol-api/json-rpc/eth_blockNumber.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_blockNumber.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx b/docs/base-chain/protocol-api/json-rpc/eth_call.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_call.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId.mdx b/docs/base-chain/protocol-api/json-rpc/eth_chainId.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_chainId.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx b/docs/base-chain/protocol-api/json-rpc/eth_estimateGas.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_estimateGas.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx b/docs/base-chain/protocol-api/json-rpc/eth_feeHistory.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_feeHistory.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx b/docs/base-chain/protocol-api/json-rpc/eth_gasPrice.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_gasPrice.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBalance.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBalance.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBlockByHash.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBlockByHash.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBlockByNumber.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBlockByNumber.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBlockReceipts.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBlockReceipts.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByHash.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByHash.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByNumber.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByNumber.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getCode.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getCode.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getLogs.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getLogs.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getStorageAt.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getStorageAt.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockHashAndIndex.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockHashAndIndex.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockNumberAndIndex.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockNumberAndIndex.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getTransactionByHash.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getTransactionByHash.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getTransactionCount.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getTransactionCount.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx b/docs/base-chain/protocol-api/json-rpc/eth_getTransactionReceipt.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_getTransactionReceipt.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx b/docs/base-chain/protocol-api/json-rpc/eth_maxPriorityFeePerGas.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_maxPriorityFeePerGas.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx b/docs/base-chain/protocol-api/json-rpc/eth_sendRawTransaction.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_sendRawTransaction.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx b/docs/base-chain/protocol-api/json-rpc/eth_subscribe.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_subscribe.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing.mdx b/docs/base-chain/protocol-api/json-rpc/eth_syncing.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_syncing.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe.mdx b/docs/base-chain/protocol-api/json-rpc/eth_unsubscribe.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe.mdx rename to docs/base-chain/protocol-api/json-rpc/eth_unsubscribe.mdx diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/net_version.mdx b/docs/base-chain/protocol-api/json-rpc/net_version.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/net_version.mdx rename to docs/base-chain/protocol-api/json-rpc/net_version.mdx diff --git a/docs/base-chain/api-reference/rpc-overview.mdx b/docs/base-chain/protocol-api/json-rpc/overview.mdx similarity index 88% rename from docs/base-chain/api-reference/rpc-overview.mdx rename to docs/base-chain/protocol-api/json-rpc/overview.mdx index 688e56fcb..8ff4b83d5 100644 --- a/docs/base-chain/api-reference/rpc-overview.mdx +++ b/docs/base-chain/protocol-api/json-rpc/overview.mdx @@ -1,6 +1,6 @@ --- title: 'Base RPC Overview' -sidebarTitle: 'Overview' +sidebarTitle: 'RPC Overview' description: 'Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes.' --- @@ -171,3 +171,28 @@ All requests are HTTP POST with `Content-Type: application/json`. | `"finalized"` | Latest finalized block | Latest finalized block | | `"earliest"` | Genesis block | Genesis block | | `"0x"` | Specific block by number | Specific block by number | + +## Rollup Node API + +The rollup node exposes one additional RPC method not part of the standard Ethereum JSON-RPC API. It is used internally by the fault proof system to retrieve L2 output roots. + +### `optimism_outputAtBlock` + +Returns an output root and associated metadata for a given L2 block number. The output root is a 32-byte commitment used by the fault proof proposer to anchor disputed L2 state on L1. + +**Parameters** + +| Name | Type | Description | +| :--- | :--- | :--- | +| `blockNumber` | `QUANTITY`, 64 bits | L2 integer block number | + +**Returns** + +| Name | Type | Description | +| :--- | :--- | :--- | +| `version` | `DATA`, 32 Bytes | Output root version number, beginning with `0` | +| `outputRoot` | `DATA`, 32 Bytes | The output root | +| `blockRef` | `Object` | L2 block reference — hash, number, parentHash, timestamp, l1origin, sequenceNumber | +| `withdrawalStorageRoot` | `DATA`, 32 Bytes | Storage root of the `L2ToL1MessagePasser` contract | +| `stateRoot` | `DATA`, 32 Bytes | The state root | +| `syncStatus` | `Object` | Snapshot of the rollup driver sync state across L1 and L2 heads | diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx b/docs/base-chain/protocol-api/json-rpc/web3_clientVersion.mdx similarity index 100% rename from docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx rename to docs/base-chain/protocol-api/json-rpc/web3_clientVersion.mdx diff --git a/docs/base-chain/protocol-api/overview.mdx b/docs/base-chain/protocol-api/overview.mdx new file mode 100644 index 000000000..6c679c470 --- /dev/null +++ b/docs/base-chain/protocol-api/overview.mdx @@ -0,0 +1,19 @@ +--- +title: Protocol & API +sidebarTitle: Overview +description: The complete API reference and protocol specification for Base Chain. +--- + +This section is the authoritative technical reference for Base Chain. It covers every RPC endpoint, the full execution and consensus specifications, the EVM environment, fault proof mechanics, and the complete history of network upgrades. + +| Topic | Description | +| :--- | :--- | +| **Ethereum JSON-RPC API** | Standard `eth_*` methods supported by Base, with examples | +| **Flashblocks API** | WebSocket subscription methods for 200ms pre-confirmation streams | +| **Debug API** | `debug_trace*` methods for transaction-level execution tracing | +| **Protocol Specifications** | High-level architecture, execution engine, and consensus derivation | +| **Execution & EVM** | Execution engine spec, precompiles, predeploys, and preinstalls | +| **Fault Proofs** | Full specification for the dispute game, bond incentives, and Cannon VM | +| **Network Upgrades** | Per-upgrade changelogs from Canyon through Jovian | +| **Glossary** | Canonical definitions for Base and OP Stack terminology | +| **BCPs** | Base Chain Proposals — the governance specification process | diff --git a/docs/base-chain/specs/bcps/bcp-0000.mdx b/docs/base-chain/protocol-api/specs/bcps/bcp-0000.mdx similarity index 100% rename from docs/base-chain/specs/bcps/bcp-0000.mdx rename to docs/base-chain/protocol-api/specs/bcps/bcp-0000.mdx diff --git a/docs/base-chain/specs/bcps/index.mdx b/docs/base-chain/protocol-api/specs/bcps/index.mdx similarity index 100% rename from docs/base-chain/specs/bcps/index.mdx rename to docs/base-chain/protocol-api/specs/bcps/index.mdx diff --git a/docs/base-chain/specs/protocol/batcher.mdx b/docs/base-chain/protocol-api/specs/protocol/batcher.mdx similarity index 100% rename from docs/base-chain/specs/protocol/batcher.mdx rename to docs/base-chain/protocol-api/specs/protocol/batcher.mdx diff --git a/docs/base-chain/specs/protocol/bridging/bridges.mdx b/docs/base-chain/protocol-api/specs/protocol/bridging/bridges.mdx similarity index 100% rename from docs/base-chain/specs/protocol/bridging/bridges.mdx rename to docs/base-chain/protocol-api/specs/protocol/bridging/bridges.mdx diff --git a/docs/base-chain/specs/protocol/bridging/deposits.mdx b/docs/base-chain/protocol-api/specs/protocol/bridging/deposits.mdx similarity index 100% rename from docs/base-chain/specs/protocol/bridging/deposits.mdx rename to docs/base-chain/protocol-api/specs/protocol/bridging/deposits.mdx diff --git a/docs/base-chain/specs/protocol/bridging/messengers.mdx b/docs/base-chain/protocol-api/specs/protocol/bridging/messengers.mdx similarity index 100% rename from docs/base-chain/specs/protocol/bridging/messengers.mdx rename to docs/base-chain/protocol-api/specs/protocol/bridging/messengers.mdx diff --git a/docs/base-chain/specs/protocol/bridging/withdrawals.mdx b/docs/base-chain/protocol-api/specs/protocol/bridging/withdrawals.mdx similarity index 100% rename from docs/base-chain/specs/protocol/bridging/withdrawals.mdx rename to docs/base-chain/protocol-api/specs/protocol/bridging/withdrawals.mdx diff --git a/docs/base-chain/specs/protocol/consensus/derivation.mdx b/docs/base-chain/protocol-api/specs/protocol/consensus/derivation.mdx similarity index 100% rename from docs/base-chain/specs/protocol/consensus/derivation.mdx rename to docs/base-chain/protocol-api/specs/protocol/consensus/derivation.mdx diff --git a/docs/base-chain/specs/protocol/consensus/index.mdx b/docs/base-chain/protocol-api/specs/protocol/consensus/index.mdx similarity index 100% rename from docs/base-chain/specs/protocol/consensus/index.mdx rename to docs/base-chain/protocol-api/specs/protocol/consensus/index.mdx diff --git a/docs/base-chain/specs/protocol/consensus/p2p.mdx b/docs/base-chain/protocol-api/specs/protocol/consensus/p2p.mdx similarity index 100% rename from docs/base-chain/specs/protocol/consensus/p2p.mdx rename to docs/base-chain/protocol-api/specs/protocol/consensus/p2p.mdx diff --git a/docs/base-chain/protocol-api/specs/protocol/execution/evm/precompiles.mdx b/docs/base-chain/protocol-api/specs/protocol/execution/evm/precompiles.mdx new file mode 100644 index 000000000..6a141c21f --- /dev/null +++ b/docs/base-chain/protocol-api/specs/protocol/execution/evm/precompiles.mdx @@ -0,0 +1,61 @@ +--- +title: "Precompiles" +description: "Specification of precompiled contracts on Base, including native EVM implementations available at predefined addresses." +--- + +## Overview + +[Precompiled contracts](../../../reference/glossary#precompiled-contract-precompile) exist on Base at +predefined addresses. They are similar to predeploys but are implemented as native code in the EVM as opposed to +bytecode. Precompiles are used for computationally expensive operations, that would be cost prohibitive to implement +in Solidity. Where possible predeploys are preferred, as precompiles must be implemented in every execution client. + +Base contains the [standard Ethereum precompiles](https://www.evm.codes/precompiled) as well as a small +number of additional precompiles. The following table lists each of the additional precompiles. The system version +indicates when the precompile was introduced. + +| Name | Address | Introduced | +|------------| ------------------------------------------ |------------| +| P256VERIFY | 0x0000000000000000000000000000000000000100 | Fjord | + +## P256VERIFY + +The `P256VERIFY` precompile performs signature verification for the secp256r1 elliptic curve. This curve has widespread +adoption. It's used by Passkeys, Apple Secure Enclave and many other systems. + +It is specified as part of [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md) and was added to +the Base protocol in the Fjord release. The op-geth implementation is +[here](https://github.com/ethereum-optimism/op-geth/blob/optimism/core/vm/contracts.go#L1161-L1193). + +Address: `0x0000000000000000000000000000000000000100` + +## Opcode Differences + +Base uses the standard Ethereum opcode set with the following modifications: + +| Opcode | Hex | Behavior on Base | +| :--- | :--- | :--- | +| `ORIGIN` | `0x32` | For L1→L2 deposits from contracts, returns the [aliased](#address-aliasing) L1 address. For EOA-initiated deposits, returns the actual origin. | +| `CALLER` | `0x33` | For L1→L2 deposits initiated by contracts, returns the aliased L1 contract address. | +| `COINBASE` | `0x41` | Returns the [`SequencerFeeVault`](/base-chain/specs/protocol/execution/evm/predeploys#sequencerfeevault) address (`0x4200000000000000000000000000000000000011`). | +| `DIFFICULTY` / `PREVRANDAO` | `0x44` | Returns the `prevrandao` value from the L1 origin block, per [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399). | +| `BASEFEE` | `0x48` | Returns the current L2 base fee. | +| `BLOBBASEFEE` | `0x4A` | Always returns `1`. EIP-4844 blob transactions are disabled on L2; Base does not process blobs. | + +## Address Aliasing + +When a contract on L1 calls a contract on L2 (via the `L1CrossDomainMessenger` or directly through a deposit transaction), the L1 sender address is aliased on L2 to prevent address collisions between identically-addressed contracts on L1 and L2. + +The alias is computed by adding a fixed offset to the L1 address: + +``` +L2_alias = L1_address + 0x1111000000000000000000000000000000001111 +``` + +This applies to `CALLER` and `ORIGIN` within the context of those L1-initiated transactions. Externally owned accounts (EOAs) are **not** aliased — aliasing only applies to contract callers. + +To recover the original L1 address from an aliased address, subtract the same offset: + +``` +L1_address = L2_alias - 0x1111000000000000000000000000000000001111 +``` diff --git a/docs/base-chain/specs/protocol/execution/evm/predeploys.mdx b/docs/base-chain/protocol-api/specs/protocol/execution/evm/predeploys.mdx similarity index 100% rename from docs/base-chain/specs/protocol/execution/evm/predeploys.mdx rename to docs/base-chain/protocol-api/specs/protocol/execution/evm/predeploys.mdx diff --git a/docs/base-chain/specs/protocol/execution/evm/preinstalls.mdx b/docs/base-chain/protocol-api/specs/protocol/execution/evm/preinstalls.mdx similarity index 100% rename from docs/base-chain/specs/protocol/execution/evm/preinstalls.mdx rename to docs/base-chain/protocol-api/specs/protocol/execution/evm/preinstalls.mdx diff --git a/docs/base-chain/specs/protocol/execution/index.mdx b/docs/base-chain/protocol-api/specs/protocol/execution/index.mdx similarity index 100% rename from docs/base-chain/specs/protocol/execution/index.mdx rename to docs/base-chain/protocol-api/specs/protocol/execution/index.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/cannon-fault-proof-vm.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/cannon-fault-proof-vm.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/cannon-fault-proof-vm.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/cannon-fault-proof-vm.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/index.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/overview.mdx similarity index 99% rename from docs/base-chain/specs/protocol/fault-proof/index.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/overview.mdx index d2498bf3d..0528d42bb 100644 --- a/docs/base-chain/specs/protocol/fault-proof/index.mdx +++ b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/overview.mdx @@ -1,5 +1,5 @@ --- -title: "Fault Proof" +title: "Overview" description: "Overview of the Base fault proof system, describing the program, virtual machine, and interactive dispute game components that verify L2 state." --- diff --git a/docs/base-chain/specs/protocol/fault-proof/proposer.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/proposer.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/proposer.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/proposer.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/anchor-state-registry.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/anchor-state-registry.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/anchor-state-registry.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/anchor-state-registry.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/bond-incentives.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bond-incentives.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/bond-incentives.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bond-incentives.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/bridge-integration.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bridge-integration.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/bridge-integration.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bridge-integration.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/dispute-game-interface.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/dispute-game-interface.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/dispute-game-interface.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/dispute-game-interface.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/fault-dispute-game.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/fault-dispute-game.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/fault-dispute-game.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/fault-dispute-game.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/honest-challenger-fdg.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/honest-challenger-fdg.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/honest-challenger-fdg.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/honest-challenger-fdg.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/index.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/index.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/index.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/index.mdx diff --git a/docs/base-chain/specs/protocol/fault-proof/stage-one/optimism-portal.mdx b/docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/optimism-portal.mdx similarity index 100% rename from docs/base-chain/specs/protocol/fault-proof/stage-one/optimism-portal.mdx rename to docs/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/optimism-portal.mdx diff --git a/docs/base-chain/specs/protocol/overview.mdx b/docs/base-chain/protocol-api/specs/protocol/overview.mdx similarity index 100% rename from docs/base-chain/specs/protocol/overview.mdx rename to docs/base-chain/protocol-api/specs/protocol/overview.mdx diff --git a/docs/base-chain/specs/reference/configurability.mdx b/docs/base-chain/protocol-api/specs/reference/configurability.mdx similarity index 74% rename from docs/base-chain/specs/reference/configurability.mdx rename to docs/base-chain/protocol-api/specs/reference/configurability.mdx index 898a69d17..39953b2f4 100644 --- a/docs/base-chain/specs/reference/configurability.mdx +++ b/docs/base-chain/protocol-api/specs/reference/configurability.mdx @@ -69,3 +69,35 @@ There are four categories of Base configuration: | Guardian | Pauses L1 withdrawals, blacklists dispute games, sets respected game type in `OptimismPortal`. [0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2](https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) | [L1 Proxy Admin](#admin-roles) | | [Proposer](../protocol/fault-proof/stage-one/bridge-integration#permissioned-faultdisputegame) | Creates permissioned dispute games on L1. Active only when respected game type is `PERMISSIONED_CANNON`. | [L1 Proxy Admin](#admin-roles) | | [Sequencer P2P Signer](glossary#unsafe-block-signer) | Signs unsafe/pre-submitted blocks at the P2P layer | [System Config Owner](#admin-roles) | + +## Changelog + +This section tracks configuration changes to the Base networks, including updates to block building, network fees, and other network parameters. + +### Base Mainnet + +| Date | Change | Documentation | +|------|--------|---------------| +| February 19, 2026 | Increased Minimum Base Fee to 5,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| February 4, 2026 | Increased EIP-1559 Denominator to 125 | [EIP-1559 Fee Parameters](/base-chain/network-information/network-fees#eip-1559-fee-parameters) | +| February 2, 2026 | Increased Minimum Base Fee to 2,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| January 22, 2026 | Increased Minimum Base Fee to 1,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| December 18, 2025 | Increased Minimum Base Fee to 500,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| December 4, 2025 | Enabled Minimum Base Fee (200,000 wei) | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| September 17, 2025 | Enabled Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/infrastructure/block-building#per-transaction-gas-maximum) | +| September 11, 2025 | Ended testing Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/infrastructure/block-building#per-transaction-gas-maximum) | +| September 10, 2025 | Started testing Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/infrastructure/block-building#per-transaction-gas-maximum) | +| July 7, 2025 | Enabled Flashblocks | [Flashblocks](/base-chain/infrastructure/flashblocks/overview) | +| May 15, 2025 | Ended testing Flashblocks | [Flashblocks](/base-chain/infrastructure/flashblocks/overview) | +| May 15, 2025 | Started testing Flashblocks | [Flashblocks](/base-chain/infrastructure/flashblocks/overview) | + +### Base Sepolia + +| Date | Change | Documentation | +|------|--------|---------------| +| February 19, 2026 | Increased Minimum Base Fee to 5,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| February 10, 2026 | Increased EIP-1559 Denominator to 125 | [EIP-1559 Fee Parameters](/base-chain/network-information/network-fees#eip-1559-fee-parameters) | +| February 10, 2026 | Increased Minimum Base Fee to 2,000,000 wei | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| November 20, 2025 | Enabled Minimum Base Fee (200,000 wei) | [Minimum Base Fee](/base-chain/network-information/network-fees#minimum-base-fee) | +| September 3, 2025 | Enabled Per-Transaction Gas Maximum | [Per-Transaction Gas Maximum](/base-chain/infrastructure/block-building#per-transaction-gas-maximum) | +| February 25, 2025 | Enabled Flashblocks | [Flashblocks](/base-chain/infrastructure/flashblocks/overview) | diff --git a/docs/base-chain/specs/reference/glossary.mdx b/docs/base-chain/protocol-api/specs/reference/glossary.mdx similarity index 100% rename from docs/base-chain/specs/reference/glossary.mdx rename to docs/base-chain/protocol-api/specs/reference/glossary.mdx diff --git a/docs/base-chain/specs/upgrades/azul/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/azul/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/azul/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/azul/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx diff --git a/docs/base-chain/specs/upgrades/azul/proofs.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/azul/proofs.mdx rename to docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx diff --git a/docs/base-chain/specs/upgrades/canyon/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/canyon/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/canyon/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/canyon/overview.mdx diff --git a/docs/base-chain/specs/upgrades/delta/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/delta/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/delta/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/delta/overview.mdx diff --git a/docs/base-chain/specs/upgrades/delta/span-batches.mdx b/docs/base-chain/protocol-api/specs/upgrades/delta/span-batches.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/delta/span-batches.mdx rename to docs/base-chain/protocol-api/specs/upgrades/delta/span-batches.mdx diff --git a/docs/base-chain/specs/upgrades/ecotone/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/ecotone/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/ecotone/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/ecotone/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/ecotone/l1-attributes.mdx b/docs/base-chain/protocol-api/specs/upgrades/ecotone/l1-attributes.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/ecotone/l1-attributes.mdx rename to docs/base-chain/protocol-api/specs/upgrades/ecotone/l1-attributes.mdx diff --git a/docs/base-chain/specs/upgrades/ecotone/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/ecotone/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/ecotone/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/ecotone/overview.mdx diff --git a/docs/base-chain/specs/upgrades/fjord/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/fjord/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/fjord/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/fjord/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/fjord/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/fjord/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/fjord/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/fjord/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/fjord/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/fjord/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/fjord/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/fjord/overview.mdx diff --git a/docs/base-chain/specs/upgrades/fjord/predeploys.mdx b/docs/base-chain/protocol-api/specs/upgrades/fjord/predeploys.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/fjord/predeploys.mdx rename to docs/base-chain/protocol-api/specs/upgrades/fjord/predeploys.mdx diff --git a/docs/base-chain/specs/upgrades/granite/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/granite/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/granite/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/granite/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/granite/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/granite/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/granite/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/granite/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/granite/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/granite/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/granite/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/granite/overview.mdx diff --git a/docs/base-chain/specs/upgrades/holocene/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/holocene/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/holocene/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/holocene/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/holocene/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/holocene/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/holocene/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/holocene/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/holocene/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/holocene/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/holocene/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/holocene/overview.mdx diff --git a/docs/base-chain/specs/upgrades/holocene/system-config.mdx b/docs/base-chain/protocol-api/specs/upgrades/holocene/system-config.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/holocene/system-config.mdx rename to docs/base-chain/protocol-api/specs/upgrades/holocene/system-config.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/l1-attributes.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/l1-attributes.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/l1-attributes.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/l1-attributes.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/overview.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/predeploys.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/predeploys.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/predeploys.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/predeploys.mdx diff --git a/docs/base-chain/specs/upgrades/isthmus/system-config.mdx b/docs/base-chain/protocol-api/specs/upgrades/isthmus/system-config.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/isthmus/system-config.mdx rename to docs/base-chain/protocol-api/specs/upgrades/isthmus/system-config.mdx diff --git a/docs/base-chain/specs/upgrades/jovian/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/jovian/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/jovian/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/jovian/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/jovian/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/jovian/exec-engine.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/jovian/exec-engine.mdx rename to docs/base-chain/protocol-api/specs/upgrades/jovian/exec-engine.mdx diff --git a/docs/base-chain/specs/upgrades/jovian/l1-attributes.mdx b/docs/base-chain/protocol-api/specs/upgrades/jovian/l1-attributes.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/jovian/l1-attributes.mdx rename to docs/base-chain/protocol-api/specs/upgrades/jovian/l1-attributes.mdx diff --git a/docs/base-chain/specs/upgrades/jovian/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/jovian/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/jovian/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/jovian/overview.mdx diff --git a/docs/base-chain/specs/upgrades/jovian/system-config.mdx b/docs/base-chain/protocol-api/specs/upgrades/jovian/system-config.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/jovian/system-config.mdx rename to docs/base-chain/protocol-api/specs/upgrades/jovian/system-config.mdx diff --git a/docs/base-chain/specs/upgrades/pectra-blob-schedule/derivation.mdx b/docs/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/derivation.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/pectra-blob-schedule/derivation.mdx rename to docs/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/derivation.mdx diff --git a/docs/base-chain/specs/upgrades/pectra-blob-schedule/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/overview.mdx similarity index 100% rename from docs/base-chain/specs/upgrades/pectra-blob-schedule/overview.mdx rename to docs/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/overview.mdx diff --git a/docs/base-chain/specs/overview.mdx b/docs/base-chain/specs/overview.mdx deleted file mode 100644 index 6d4b55f61..000000000 --- a/docs/base-chain/specs/overview.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Overview" -description: "Technical specification of the Base Chain protocol, covering block derivation, execution, transaction propagation, and state verification." ---- - -This specification defines the Base Chain protocol: how nodes derive and execute blocks, how -transactions are propagated, and how state transitions are verified. It covers core protocol rules, -execution behavior, and proving. - -## Design Goals - -Our aim is to design a protocol specification that is: - -- **Opinionated:** Simplicity through deliberate design choices. We identify the best solution and - commit to it. -- **Maximally Simple:** By focusing on just what Base needs, we radically simplify the stack. The - protocol spec and codebase should be understandable by a single developer. -- **Fast Cycles:** We ship upgrades frequently rather than batching risk into infrequent large ones. - We target six smaller, tightly scoped hard forks per year on a regular cadence, with fortnightly - releases. -- **Ethereum Aligned:** Base wins when Ethereum wins. We accelerate deployment of high-impact - changes ahead of L1 to provide data that informs the Ethereum roadmap. - -## Lineage - -Base Chain inherits Ethereum's EVM semantics, transaction rules, and L1-anchored security. It was -originally built on the [OP Stack](https://specs.optimism.io). After the Jovian Hardfork, Base Chain follows this specification. diff --git a/docs/base-chain/specs/protocol/consensus/rpc.mdx b/docs/base-chain/specs/protocol/consensus/rpc.mdx deleted file mode 100644 index 72aeaba4a..000000000 --- a/docs/base-chain/specs/protocol/consensus/rpc.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "RPC" -description: "Specification of the rollup node RPC interface, including the optimism_outputAtBlock method for retrieving L2 output roots." ---- - -## L2 Output RPC method - -The Rollup node has its own RPC method, `optimism_outputAtBlock` which returns a 32 -byte hash corresponding to the [L2 output root](../fault-proof/proposer#l2-output-commitment-construction). - -### Structures - -These define the types used by rollup node API methods. -The types defined here are extended from the [engine API specs][engine-structures]. - -#### BlockID - -- `hash`: `DATA`, 32 Bytes -- `number`: `QUANTITY`, 64 Bits - -#### L1BlockRef - -- `hash`: `DATA`, 32 Bytes -- `number`: `QUANTITY`, 64 Bits -- `parentHash`: `DATA`, 32 Bytes -- `timestamp`: `QUANTITY`, 64 Bits - -#### L2BlockRef - -- `hash`: `DATA`, 32 Bytes -- `number`: `QUANTITY`, 64 Bits -- `parentHash`: `DATA`, 32 Bytes -- `timestamp`: `QUANTITY`, 64 Bits -- `l1origin`: `BlockID` -- `sequenceNumber`: `QUANTITY`, 64 Bits - distance to first block of epoch - -#### SyncStatus - -Represents a snapshot of the rollup driver. - -- `current_l1`: `Object` - instance of [`L1BlockRef`](#l1blockref). -- `current_l1_finalized`: `Object` - instance of [`L1BlockRef`](#l1blockref). -- `head_l1`: `Object` - instance of [`L1BlockRef`](#l1blockref). -- `safe_l1`: `Object` - instance of [`L1BlockRef`](#l1blockref). -- `finalized_l1`: `Object` - instance of [`L1BlockRef`](#l1blockref). -- `unsafe_l2`: `Object` - instance of [`L2BlockRef`](#l2blockref). -- `safe_l2`: `Object` - instance of [`L2BlockRef`](#l2blockref). -- `finalized_l2`: `Object` - instance of [`L2BlockRef`](#l2blockref). -- `pending_safe_l2`: `Object` - instance of [`L2BlockRef`](#l2blockref). -- `queued_unsafe_l2`: `Object` - instance of [`L2BlockRef`](#l2blockref). - -### Output Method API - -The input and return types here are as defined by the [engine API specs][engine-structures]. - -[engine-structures]: https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#structures - -#### `optimism_outputAtBlock` - -Returns an output root and associated metadata for a given L2 block. - -**Parameters** - -| Name | Type | Description | -| :--- | :--- | :--- | -| `blockNumber` | `QUANTITY`, 64 bits | L2 integer block number | - -**Returns** - -| Name | Type | Description | -| :--- | :--- | :--- | -| `version` | `DATA`, 32 Bytes | Output root version number, beginning with `0` | -| `outputRoot` | `DATA`, 32 Bytes | The output root | -| `blockRef` | `Object` | Instance of [`L2BlockRef`](#l2blockref) | -| `withdrawalStorageRoot` | `DATA`, 32 Bytes | Storage root of the `L2ToL1MessagePasser` contract | -| `stateRoot` | `DATA`, 32 Bytes | The state root | -| `syncStatus` | `Object` | Instance of [`SyncStatus`](#syncstatus) | diff --git a/docs/base-chain/specs/protocol/execution/evm/precompiles.mdx b/docs/base-chain/specs/protocol/execution/evm/precompiles.mdx deleted file mode 100644 index 9e95b8157..000000000 --- a/docs/base-chain/specs/protocol/execution/evm/precompiles.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Precompiles" -description: "Specification of precompiled contracts on Base, including native EVM implementations available at predefined addresses." ---- - -## Overview - -[Precompiled contracts](../../../reference/glossary#precompiled-contract-precompile) exist on Base at -predefined addresses. They are similar to predeploys but are implemented as native code in the EVM as opposed to -bytecode. Precompiles are used for computationally expensive operations, that would be cost prohibitive to implement -in Solidity. Where possible predeploys are preferred, as precompiles must be implemented in every execution client. - -Base contains the [standard Ethereum precompiles](https://www.evm.codes/precompiled) as well as a small -number of additional precompiles. The following table lists each of the additional precompiles. The system version -indicates when the precompile was introduced. - -| Name | Address | Introduced | -|------------| ------------------------------------------ |------------| -| P256VERIFY | 0x0000000000000000000000000000000000000100 | Fjord | - -## P256VERIFY - -The `P256VERIFY` precompile performs signature verification for the secp256r1 elliptic curve. This curve has widespread -adoption. It's used by Passkeys, Apple Secure Enclave and many other systems. - -It is specified as part of [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md) and was added to -the Base protocol in the Fjord release. The op-geth implementation is -[here](https://github.com/ethereum-optimism/op-geth/blob/optimism/core/vm/contracts.go#L1161-L1193). - -Address: `0x0000000000000000000000000000000000000100` diff --git a/docs/docs.json b/docs/docs.json index 9b779b87d..f4cc4801e 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -37,6 +37,7 @@ { "group": "Quickstart", "pages": [ + "get-started/why-base", "get-started/resources-for-ai-agents", "get-started/build-app", "get-started/launch-token", @@ -100,282 +101,267 @@ { "group": "Quickstart", "pages": [ - "base-chain/quickstart/why-base", "base-chain/quickstart/deploy-on-base", - "base-chain/quickstart/connecting-to-base", - "base-chain/quickstart/base-solana-bridge" + "base-chain/quickstart/connecting-to-base" ] }, { "group": "Network Information", "pages": [ - "base-chain/network-information/base-contracts", - "base-chain/network-information/ecosystem-contracts", + "base-chain/network-information/overview", "base-chain/network-information/network-fees", - "base-chain/network-information/block-building", "base-chain/network-information/transaction-finality", - "base-chain/network-information/diffs-ethereum-base", - "base-chain/network-information/troubleshooting-transactions", - "base-chain/network-information/configuration-changelog", - "base-chain/network-information/network-faucets" - ] - }, - { - "group": "Flashblocks", - "pages": [ - "base-chain/flashblocks/overview", - "base-chain/flashblocks/app-integration", - "base-chain/flashblocks/architecture", - "base-chain/flashblocks/faq" + "base-chain/network-information/base-contracts", + "base-chain/network-information/ecosystem-contracts", + "base-chain/network-information/network-faucets", + { + "group": "Bridges", + "pages": [ + "base-chain/network-information/bridges/overview", + "base-chain/network-information/bridges/solana-bridge", + "base-chain/protocol-api/specs/protocol/bridging/bridges", + "base-chain/protocol-api/specs/protocol/bridging/deposits", + "base-chain/protocol-api/specs/protocol/bridging/messengers", + "base-chain/protocol-api/specs/protocol/bridging/withdrawals" + ] + }, + { + "group": "Security", + "pages": [ + "base-chain/network-information/security/security-council", + "base-chain/network-information/security/bug-bounty", + "base-chain/network-information/security/avoid-malicious-flags", + "base-chain/network-information/security/report-vulnerability" + ] + } ] }, { - "group": "Node Operators", + "group": "Infrastructure & Operations", "pages": [ - "base-chain/node-operators/base-v1-upgrade", - "base-chain/node-operators/run-a-base-node", - "base-chain/node-operators/performance-tuning", - "base-chain/node-operators/snapshots", - "base-chain/node-operators/node-providers", - "base-chain/node-operators/troubleshooting" + "base-chain/infrastructure/overview", + "base-chain/infrastructure/block-building", + { + "group": "Node Operators", + "pages": [ + "base-chain/infrastructure/node-operators/run-a-base-node", + "base-chain/infrastructure/node-operators/performance-tuning", + "base-chain/infrastructure/node-operators/snapshots", + "base-chain/infrastructure/node-operators/node-providers", + "base-chain/infrastructure/node-operators/troubleshooting", + "base-chain/infrastructure/node-operators/base-v1-upgrade", + "base-chain/infrastructure/node-operators/troubleshooting-transactions" + ] + }, + { + "group": "Flashblocks", + "pages": [ + "base-chain/infrastructure/flashblocks/overview", + "base-chain/infrastructure/flashblocks/app-integration", + "base-chain/infrastructure/flashblocks/architecture", + "base-chain/infrastructure/flashblocks/faq" + ] + }, + "base-chain/protocol-api/specs/protocol/batcher", + "base-chain/protocol-api/specs/protocol/consensus/index", + "base-chain/protocol-api/specs/protocol/consensus/derivation", + "base-chain/protocol-api/specs/protocol/consensus/p2p" ] }, { - "group": "API Reference", + "group": "Protocol & API", "pages": [ - "base-chain/api-reference/rpc-overview", + "base-chain/protocol-api/overview", { "group": "Ethereum JSON-RPC API", "pages": [ - "base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", - "base-chain/api-reference/ethereum-json-rpc-api/eth_call", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt", - "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", - "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", - "base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", - "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", - "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", - "base-chain/api-reference/ethereum-json-rpc-api/eth_syncing", - "base-chain/api-reference/ethereum-json-rpc-api/net_version", - "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion", - "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", - "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe" + "base-chain/protocol-api/json-rpc/overview", + "base-chain/protocol-api/json-rpc/eth_blockNumber", + "base-chain/protocol-api/json-rpc/eth_getBalance", + "base-chain/protocol-api/json-rpc/eth_getTransactionCount", + "base-chain/protocol-api/json-rpc/eth_getCode", + "base-chain/protocol-api/json-rpc/eth_getStorageAt", + "base-chain/protocol-api/json-rpc/eth_call", + "base-chain/protocol-api/json-rpc/eth_getBlockByNumber", + "base-chain/protocol-api/json-rpc/eth_getBlockByHash", + "base-chain/protocol-api/json-rpc/eth_getBlockReceipts", + "base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByNumber", + "base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByHash", + "base-chain/protocol-api/json-rpc/eth_getTransactionByHash", + "base-chain/protocol-api/json-rpc/eth_getTransactionByBlockHashAndIndex", + "base-chain/protocol-api/json-rpc/eth_getTransactionByBlockNumberAndIndex", + "base-chain/protocol-api/json-rpc/eth_getTransactionReceipt", + "base-chain/protocol-api/json-rpc/eth_sendRawTransaction", + "base-chain/protocol-api/json-rpc/eth_gasPrice", + "base-chain/protocol-api/json-rpc/eth_maxPriorityFeePerGas", + "base-chain/protocol-api/json-rpc/eth_feeHistory", + "base-chain/protocol-api/json-rpc/eth_estimateGas", + "base-chain/protocol-api/json-rpc/eth_getLogs", + "base-chain/protocol-api/json-rpc/eth_chainId", + "base-chain/protocol-api/json-rpc/eth_syncing", + "base-chain/protocol-api/json-rpc/net_version", + "base-chain/protocol-api/json-rpc/web3_clientVersion", + "base-chain/protocol-api/json-rpc/eth_subscribe", + "base-chain/protocol-api/json-rpc/eth_unsubscribe" ] }, { "group": "Flashblocks API", "pages": [ - "base-chain/api-reference/flashblocks-api/flashblocks-api-overview", - "base-chain/api-reference/flashblocks-api/eth_simulateV1", - "base-chain/api-reference/flashblocks-api/base_transactionStatus", - "base-chain/api-reference/flashblocks-api/newFlashblockTransactions", - "base-chain/api-reference/flashblocks-api/pendingLogs", - "base-chain/api-reference/flashblocks-api/newFlashblocks" + "base-chain/protocol-api/flashblocks-api/flashblocks-api-overview", + "base-chain/protocol-api/flashblocks-api/eth_simulateV1", + "base-chain/protocol-api/flashblocks-api/base_transactionStatus", + "base-chain/protocol-api/flashblocks-api/newFlashblockTransactions", + "base-chain/protocol-api/flashblocks-api/pendingLogs", + "base-chain/protocol-api/flashblocks-api/newFlashblocks" ] }, { "group": "Debug API", "pages": [ - "base-chain/api-reference/debug-api/debug_traceTransaction", - "base-chain/api-reference/debug-api/debug_traceBlockByHash", - "base-chain/api-reference/debug-api/debug_traceBlockByNumber" + "base-chain/protocol-api/debug-api/debug_traceTransaction", + "base-chain/protocol-api/debug-api/debug_traceBlockByHash", + "base-chain/protocol-api/debug-api/debug_traceBlockByNumber" ] - } - ] - }, - { - "group": "Protocol Specifications", - "pages": [ - "base-chain/specs/overview", + }, { - "group": "Protocol", + "group": "Protocol Specifications", "pages": [ - "base-chain/specs/protocol/overview", - "base-chain/specs/protocol/batcher", + "base-chain/protocol-api/specs/protocol/overview", { - "group": "Bridging", + "group": "Execution & EVM", "pages": [ - "base-chain/specs/protocol/bridging/bridges", - "base-chain/specs/protocol/bridging/deposits", - "base-chain/specs/protocol/bridging/messengers", - "base-chain/specs/protocol/bridging/withdrawals" + "base-chain/protocol-api/specs/protocol/execution/index", + "base-chain/protocol-api/specs/protocol/execution/evm/precompiles", + "base-chain/protocol-api/specs/protocol/execution/evm/predeploys", + "base-chain/protocol-api/specs/protocol/execution/evm/preinstalls" ] - }, - { - "group": "Consensus", - "pages": [ - "base-chain/specs/protocol/consensus/index", - "base-chain/specs/protocol/consensus/derivation", - "base-chain/specs/protocol/consensus/p2p", - "base-chain/specs/protocol/consensus/rpc" - ] - }, - { - "group": "Execution", - "pages": [ - "base-chain/specs/protocol/execution/index", - "base-chain/specs/protocol/execution/evm/precompiles", - "base-chain/specs/protocol/execution/evm/predeploys", - "base-chain/specs/protocol/execution/evm/preinstalls" - ] - }, + } + ] + }, + { + "group": "Fault Proofs", + "pages": [ + "base-chain/protocol-api/specs/protocol/fault-proofs/overview", + "base-chain/protocol-api/specs/protocol/fault-proofs/cannon-fault-proof-vm", + "base-chain/protocol-api/specs/protocol/fault-proofs/proposer", { - "group": "Fault Proof", + "group": "Stage One", "pages": [ - "base-chain/specs/protocol/fault-proof/index", - "base-chain/specs/protocol/fault-proof/cannon-fault-proof-vm", - "base-chain/specs/protocol/fault-proof/proposer", - { - "group": "Stage One", - "pages": [ - "base-chain/specs/protocol/fault-proof/stage-one/index", - "base-chain/specs/protocol/fault-proof/stage-one/anchor-state-registry", - "base-chain/specs/protocol/fault-proof/stage-one/bond-incentives", - "base-chain/specs/protocol/fault-proof/stage-one/bridge-integration", - "base-chain/specs/protocol/fault-proof/stage-one/dispute-game-interface", - "base-chain/specs/protocol/fault-proof/stage-one/fault-dispute-game", - "base-chain/specs/protocol/fault-proof/stage-one/honest-challenger-fdg", - "base-chain/specs/protocol/fault-proof/stage-one/optimism-portal" - ] - } + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/index", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/anchor-state-registry", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bond-incentives", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bridge-integration", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/dispute-game-interface", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/fault-dispute-game", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/honest-challenger-fdg", + "base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/optimism-portal" ] } ] }, { - "group": "Upgrades", + "group": "Network Upgrades", "pages": [ { "group": "Jovian", "pages": [ - "base-chain/specs/upgrades/jovian/overview", - "base-chain/specs/upgrades/jovian/exec-engine", - "base-chain/specs/upgrades/jovian/derivation", - "base-chain/specs/upgrades/jovian/l1-attributes", - "base-chain/specs/upgrades/jovian/system-config" + "base-chain/protocol-api/specs/upgrades/jovian/overview", + "base-chain/protocol-api/specs/upgrades/jovian/exec-engine", + "base-chain/protocol-api/specs/upgrades/jovian/derivation", + "base-chain/protocol-api/specs/upgrades/jovian/l1-attributes", + "base-chain/protocol-api/specs/upgrades/jovian/system-config" ] }, { "group": "Isthmus", "pages": [ - "base-chain/specs/upgrades/isthmus/overview", - "base-chain/specs/upgrades/isthmus/exec-engine", - "base-chain/specs/upgrades/isthmus/derivation", - "base-chain/specs/upgrades/isthmus/l1-attributes", - "base-chain/specs/upgrades/isthmus/predeploys", - "base-chain/specs/upgrades/isthmus/system-config" + "base-chain/protocol-api/specs/upgrades/isthmus/overview", + "base-chain/protocol-api/specs/upgrades/isthmus/exec-engine", + "base-chain/protocol-api/specs/upgrades/isthmus/derivation", + "base-chain/protocol-api/specs/upgrades/isthmus/l1-attributes", + "base-chain/protocol-api/specs/upgrades/isthmus/predeploys", + "base-chain/protocol-api/specs/upgrades/isthmus/system-config" ] }, { "group": "Holocene", "pages": [ - "base-chain/specs/upgrades/holocene/overview", - "base-chain/specs/upgrades/holocene/exec-engine", - "base-chain/specs/upgrades/holocene/derivation", - "base-chain/specs/upgrades/holocene/system-config" + "base-chain/protocol-api/specs/upgrades/holocene/overview", + "base-chain/protocol-api/specs/upgrades/holocene/exec-engine", + "base-chain/protocol-api/specs/upgrades/holocene/derivation", + "base-chain/protocol-api/specs/upgrades/holocene/system-config" ] }, { "group": "Granite", "pages": [ - "base-chain/specs/upgrades/granite/overview", - "base-chain/specs/upgrades/granite/exec-engine", - "base-chain/specs/upgrades/granite/derivation" + "base-chain/protocol-api/specs/upgrades/granite/overview", + "base-chain/protocol-api/specs/upgrades/granite/exec-engine", + "base-chain/protocol-api/specs/upgrades/granite/derivation" ] }, { "group": "Fjord", "pages": [ - "base-chain/specs/upgrades/fjord/overview", - "base-chain/specs/upgrades/fjord/exec-engine", - "base-chain/specs/upgrades/fjord/derivation", - "base-chain/specs/upgrades/fjord/predeploys" + "base-chain/protocol-api/specs/upgrades/fjord/overview", + "base-chain/protocol-api/specs/upgrades/fjord/exec-engine", + "base-chain/protocol-api/specs/upgrades/fjord/derivation", + "base-chain/protocol-api/specs/upgrades/fjord/predeploys" ] }, { "group": "Ecotone", "pages": [ - "base-chain/specs/upgrades/ecotone/overview", - "base-chain/specs/upgrades/ecotone/derivation", - "base-chain/specs/upgrades/ecotone/l1-attributes" + "base-chain/protocol-api/specs/upgrades/ecotone/overview", + "base-chain/protocol-api/specs/upgrades/ecotone/derivation", + "base-chain/protocol-api/specs/upgrades/ecotone/l1-attributes" ] }, { "group": "Delta", "pages": [ - "base-chain/specs/upgrades/delta/overview", - "base-chain/specs/upgrades/delta/span-batches" + "base-chain/protocol-api/specs/upgrades/delta/overview", + "base-chain/protocol-api/specs/upgrades/delta/span-batches" ] }, { "group": "Canyon", "pages": [ - "base-chain/specs/upgrades/canyon/overview" + "base-chain/protocol-api/specs/upgrades/canyon/overview" ] }, { "group": "Azul", "pages": [ - "base-chain/specs/upgrades/azul/overview", - "base-chain/specs/upgrades/azul/exec-engine", - "base-chain/specs/upgrades/azul/proofs" + "base-chain/protocol-api/specs/upgrades/azul/overview", + "base-chain/protocol-api/specs/upgrades/azul/exec-engine", + "base-chain/protocol-api/specs/upgrades/azul/proofs" ] }, { "group": "Pectra Blob Schedule", "pages": [ - "base-chain/specs/upgrades/pectra-blob-schedule/overview", - "base-chain/specs/upgrades/pectra-blob-schedule/derivation" + "base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/overview", + "base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/derivation" ] } ] }, - { - "group": "Reference", - "pages": [ - "base-chain/specs/reference/glossary", - "base-chain/specs/reference/configurability" - ] - }, + "base-chain/protocol-api/specs/reference/configurability", { "group": "BCPs", "pages": [ - "base-chain/specs/bcps/index", - "base-chain/specs/bcps/bcp-0000" + "base-chain/protocol-api/specs/bcps/index", + "base-chain/protocol-api/specs/bcps/bcp-0000" ] - } - ] - }, - { - "group": "Security", - "pages": [ - "base-chain/security/security-council", - "base-chain/security/avoid-malicious-flags", - "base-chain/security/report-vulnerability" + }, + "base-chain/protocol-api/specs/reference/glossary" ] } ], "global": { "anchors": [ - { - "anchor": "GitHub", - "href": "https://github.com/base", - "icon": "github" - }, { "anchor": "Status", "href": "https://status.base.org/", @@ -391,11 +377,6 @@ "href": "https://basescan.org/", "icon": "magnifying-glass" }, - { - "anchor": "Support", - "href": "https://discord.com/invite/buildonbase", - "icon": "discord" - }, { "anchor": "Blog", "href": "https://blog.base.dev/", @@ -799,27 +780,527 @@ "redirects": [ { "source": "/base-chain/reference/json-rpc-api", - "destination": "/base-chain/api-reference/rpc-overview" + "destination": "/base-chain/protocol-api/json-rpc/overview" }, { "source": "/base-chain/reference/rpc-overview", - "destination": "/base-chain/api-reference/rpc-overview" + "destination": "/base-chain/protocol-api/json-rpc/overview" }, { "source": "/base-chain/reference/flashblocks-stream", - "destination": "/base-chain/api-reference/flashblocks-api/flashblocks-api-overview" + "destination": "/base-chain/protocol-api/flashblocks-api/flashblocks-api-overview" }, { "source": "/base-chain/reference/rpc-methods/:method", - "destination": "/base-chain/api-reference/ethereum-json-rpc-api/:method" + "destination": "/base-chain/protocol-api/json-rpc/:method" }, { "source": "/base-chain/flashblocks/api-reference", - "destination": "/base-chain/api-reference/flashblocks-api/flashblocks-api-overview" + "destination": "/base-chain/protocol-api/flashblocks-api/flashblocks-api-overview" }, { "source": "/base-chain/flashblocks/api-reference#endpoints", - "destination": "/base-chain/api-reference/rpc-overview#endpoints" + "destination": "/base-chain/protocol-api/json-rpc/overview#endpoints" + }, + { + "source": "/base-chain/specs/overview", + "destination": "/base-chain/protocol-api/overview" + }, + { + "source": "/base-chain/network-information/diffs-ethereum-base", + "destination": "/base-chain/protocol-api/specs/protocol/execution/evm/precompiles" + }, + { + "source": "/base-chain/specs/protocol/consensus/rpc", + "destination": "/base-chain/protocol-api/json-rpc/overview" + }, + { + "source": "/base-chain/network-economics", + "destination": "/base-chain/network-information/overview" + }, + { + "source": "/base-chain/infrastructure", + "destination": "/base-chain/infrastructure/overview" + }, + { + "source": "/base-chain/protocol-api", + "destination": "/base-chain/protocol-api/overview" + }, + { + "source": "/base-chain/network-information/bridges", + "destination": "/base-chain/network-information/bridges/overview" + }, + { + "source": "/base-chain/quickstart/base-solana-bridge", + "destination": "/base-chain/network-information/bridges/solana-bridge" + }, + { + "source": "/base-chain/security/security-council", + "destination": "/base-chain/network-information/security/security-council" + }, + { + "source": "/base-chain/security/bug-bounty", + "destination": "/base-chain/network-information/security/bug-bounty" + }, + { + "source": "/base-chain/security/avoid-malicious-flags", + "destination": "/base-chain/network-information/security/avoid-malicious-flags" + }, + { + "source": "/base-chain/security/report-vulnerability", + "destination": "/base-chain/network-information/security/report-vulnerability" + }, + { + "source": "/base-chain/network-information/block-building", + "destination": "/base-chain/infrastructure/block-building" + }, + { + "source": "/base-chain/network-information/troubleshooting-transactions", + "destination": "/base-chain/infrastructure/node-operators/troubleshooting-transactions" + }, + { + "source": "/base-chain/node-operators/run-a-base-node", + "destination": "/base-chain/infrastructure/node-operators/run-a-base-node" + }, + { + "source": "/base-chain/node-operators/performance-tuning", + "destination": "/base-chain/infrastructure/node-operators/performance-tuning" + }, + { + "source": "/base-chain/node-operators/snapshots", + "destination": "/base-chain/infrastructure/node-operators/snapshots" + }, + { + "source": "/base-chain/node-operators/node-providers", + "destination": "/base-chain/infrastructure/node-operators/node-providers" + }, + { + "source": "/base-chain/node-operators/troubleshooting", + "destination": "/base-chain/infrastructure/node-operators/troubleshooting" + }, + { + "source": "/base-chain/node-operators/base-v1-upgrade", + "destination": "/base-chain/infrastructure/node-operators/base-v1-upgrade" + }, + { + "source": "/base-chain/flashblocks/overview", + "destination": "/base-chain/infrastructure/flashblocks/overview" + }, + { + "source": "/base-chain/flashblocks/app-integration", + "destination": "/base-chain/infrastructure/flashblocks/app-integration" + }, + { + "source": "/base-chain/flashblocks/architecture", + "destination": "/base-chain/infrastructure/flashblocks/architecture" + }, + { + "source": "/base-chain/flashblocks/faq", + "destination": "/base-chain/infrastructure/flashblocks/faq" + }, + { + "source": "/base-chain/api-reference/rpc-overview", + "destination": "/base-chain/protocol-api/json-rpc/overview" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber", + "destination": "/base-chain/protocol-api/json-rpc/eth_blockNumber" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBalance" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", + "destination": "/base-chain/protocol-api/json-rpc/eth_getTransactionCount" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", + "destination": "/base-chain/protocol-api/json-rpc/eth_getCode" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", + "destination": "/base-chain/protocol-api/json-rpc/eth_getStorageAt" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_call", + "destination": "/base-chain/protocol-api/json-rpc/eth_call" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBlockByNumber" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBlockByHash" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBlockReceipts" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByNumber" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", + "destination": "/base-chain/protocol-api/json-rpc/eth_getBlockTransactionCountByHash" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", + "destination": "/base-chain/protocol-api/json-rpc/eth_getTransactionByHash" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex", + "destination": "/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockHashAndIndex" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex", + "destination": "/base-chain/protocol-api/json-rpc/eth_getTransactionByBlockNumberAndIndex" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt", + "destination": "/base-chain/protocol-api/json-rpc/eth_getTransactionReceipt" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", + "destination": "/base-chain/protocol-api/json-rpc/eth_sendRawTransaction" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", + "destination": "/base-chain/protocol-api/json-rpc/eth_gasPrice" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", + "destination": "/base-chain/protocol-api/json-rpc/eth_maxPriorityFeePerGas" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", + "destination": "/base-chain/protocol-api/json-rpc/eth_feeHistory" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", + "destination": "/base-chain/protocol-api/json-rpc/eth_estimateGas" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", + "destination": "/base-chain/protocol-api/json-rpc/eth_getLogs" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", + "destination": "/base-chain/protocol-api/json-rpc/eth_chainId" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing", + "destination": "/base-chain/protocol-api/json-rpc/eth_syncing" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/net_version", + "destination": "/base-chain/protocol-api/json-rpc/net_version" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion", + "destination": "/base-chain/protocol-api/json-rpc/web3_clientVersion" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", + "destination": "/base-chain/protocol-api/json-rpc/eth_subscribe" + }, + { + "source": "/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe", + "destination": "/base-chain/protocol-api/json-rpc/eth_unsubscribe" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/flashblocks-api-overview", + "destination": "/base-chain/protocol-api/flashblocks-api/flashblocks-api-overview" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/eth_simulateV1", + "destination": "/base-chain/protocol-api/flashblocks-api/eth_simulateV1" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/base_transactionStatus", + "destination": "/base-chain/protocol-api/flashblocks-api/base_transactionStatus" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/newFlashblockTransactions", + "destination": "/base-chain/protocol-api/flashblocks-api/newFlashblockTransactions" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/pendingLogs", + "destination": "/base-chain/protocol-api/flashblocks-api/pendingLogs" + }, + { + "source": "/base-chain/api-reference/flashblocks-api/newFlashblocks", + "destination": "/base-chain/protocol-api/flashblocks-api/newFlashblocks" + }, + { + "source": "/base-chain/api-reference/debug-api/debug_traceTransaction", + "destination": "/base-chain/protocol-api/debug-api/debug_traceTransaction" + }, + { + "source": "/base-chain/api-reference/debug-api/debug_traceBlockByHash", + "destination": "/base-chain/protocol-api/debug-api/debug_traceBlockByHash" + }, + { + "source": "/base-chain/api-reference/debug-api/debug_traceBlockByNumber", + "destination": "/base-chain/protocol-api/debug-api/debug_traceBlockByNumber" + }, + { + "source": "/base-chain/specs/protocol/batcher", + "destination": "/base-chain/protocol-api/specs/protocol/batcher" + }, + { + "source": "/base-chain/specs/protocol/bridging/bridges", + "destination": "/base-chain/protocol-api/specs/protocol/bridging/bridges" + }, + { + "source": "/base-chain/specs/protocol/bridging/deposits", + "destination": "/base-chain/protocol-api/specs/protocol/bridging/deposits" + }, + { + "source": "/base-chain/specs/protocol/bridging/messengers", + "destination": "/base-chain/protocol-api/specs/protocol/bridging/messengers" + }, + { + "source": "/base-chain/specs/protocol/bridging/withdrawals", + "destination": "/base-chain/protocol-api/specs/protocol/bridging/withdrawals" + }, + { + "source": "/base-chain/specs/protocol/consensus/index", + "destination": "/base-chain/protocol-api/specs/protocol/consensus/index" + }, + { + "source": "/base-chain/specs/protocol/consensus/derivation", + "destination": "/base-chain/protocol-api/specs/protocol/consensus/derivation" + }, + { + "source": "/base-chain/specs/protocol/consensus/p2p", + "destination": "/base-chain/protocol-api/specs/protocol/consensus/p2p" + }, + { + "source": "/base-chain/specs/protocol/execution/index", + "destination": "/base-chain/protocol-api/specs/protocol/execution/index" + }, + { + "source": "/base-chain/specs/protocol/execution/evm/precompiles", + "destination": "/base-chain/protocol-api/specs/protocol/execution/evm/precompiles" + }, + { + "source": "/base-chain/specs/protocol/execution/evm/predeploys", + "destination": "/base-chain/protocol-api/specs/protocol/execution/evm/predeploys" + }, + { + "source": "/base-chain/specs/protocol/execution/evm/preinstalls", + "destination": "/base-chain/protocol-api/specs/protocol/execution/evm/preinstalls" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/index", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/overview" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/fault-proofs/index", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/overview" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/cannon-fault-proof-vm", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/cannon-fault-proof-vm" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/proposer", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/proposer" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/index", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/index" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/anchor-state-registry", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/anchor-state-registry" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/bond-incentives", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bond-incentives" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/bridge-integration", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/bridge-integration" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/dispute-game-interface", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/dispute-game-interface" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/fault-dispute-game", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/fault-dispute-game" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/honest-challenger-fdg", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/honest-challenger-fdg" + }, + { + "source": "/base-chain/specs/protocol/fault-proofs/stage-one/optimism-portal", + "destination": "/base-chain/protocol-api/specs/protocol/fault-proofs/stage-one/optimism-portal" + }, + { + "source": "/base-chain/specs/protocol/overview", + "destination": "/base-chain/protocol-api/specs/protocol/overview" + }, + { + "source": "/base-chain/specs/reference/glossary", + "destination": "/base-chain/protocol-api/specs/reference/glossary" + }, + { + "source": "/base-chain/specs/reference/configurability", + "destination": "/base-chain/protocol-api/specs/reference/configurability" + }, + { + "source": "/base-chain/network-information/configuration-changelog", + "destination": "/base-chain/protocol-api/specs/reference/configurability#changelog" + }, + { + "source": "/base-chain/protocol-api/specs/reference/configuration-changelog", + "destination": "/base-chain/protocol-api/specs/reference/configurability#changelog" + }, + { + "source": "/base-chain/specs/bcps/index", + "destination": "/base-chain/protocol-api/specs/bcps/index" + }, + { + "source": "/base-chain/specs/bcps/bcp-0000", + "destination": "/base-chain/protocol-api/specs/bcps/bcp-0000" + }, + { + "source": "/base-chain/specs/upgrades/jovian/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/jovian/overview" + }, + { + "source": "/base-chain/specs/upgrades/jovian/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/jovian/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/jovian/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/jovian/derivation" + }, + { + "source": "/base-chain/specs/upgrades/jovian/l1-attributes", + "destination": "/base-chain/protocol-api/specs/upgrades/jovian/l1-attributes" + }, + { + "source": "/base-chain/specs/upgrades/jovian/system-config", + "destination": "/base-chain/protocol-api/specs/upgrades/jovian/system-config" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/overview" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/derivation" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/l1-attributes", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/l1-attributes" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/predeploys", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/predeploys" + }, + { + "source": "/base-chain/specs/upgrades/isthmus/system-config", + "destination": "/base-chain/protocol-api/specs/upgrades/isthmus/system-config" + }, + { + "source": "/base-chain/specs/upgrades/holocene/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/holocene/overview" + }, + { + "source": "/base-chain/specs/upgrades/holocene/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/holocene/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/holocene/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/holocene/derivation" + }, + { + "source": "/base-chain/specs/upgrades/holocene/system-config", + "destination": "/base-chain/protocol-api/specs/upgrades/holocene/system-config" + }, + { + "source": "/base-chain/specs/upgrades/granite/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/granite/overview" + }, + { + "source": "/base-chain/specs/upgrades/granite/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/granite/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/granite/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/granite/derivation" + }, + { + "source": "/base-chain/specs/upgrades/fjord/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/fjord/overview" + }, + { + "source": "/base-chain/specs/upgrades/fjord/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/fjord/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/fjord/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/fjord/derivation" + }, + { + "source": "/base-chain/specs/upgrades/fjord/predeploys", + "destination": "/base-chain/protocol-api/specs/upgrades/fjord/predeploys" + }, + { + "source": "/base-chain/specs/upgrades/ecotone/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/ecotone/overview" + }, + { + "source": "/base-chain/specs/upgrades/ecotone/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/ecotone/derivation" + }, + { + "source": "/base-chain/specs/upgrades/ecotone/l1-attributes", + "destination": "/base-chain/protocol-api/specs/upgrades/ecotone/l1-attributes" + }, + { + "source": "/base-chain/specs/upgrades/delta/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/delta/overview" + }, + { + "source": "/base-chain/specs/upgrades/delta/span-batches", + "destination": "/base-chain/protocol-api/specs/upgrades/delta/span-batches" + }, + { + "source": "/base-chain/specs/upgrades/canyon/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/canyon/overview" + }, + { + "source": "/base-chain/specs/upgrades/azul/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/azul/overview" + }, + { + "source": "/base-chain/specs/upgrades/azul/exec-engine", + "destination": "/base-chain/protocol-api/specs/upgrades/azul/exec-engine" + }, + { + "source": "/base-chain/specs/upgrades/azul/proofs", + "destination": "/base-chain/protocol-api/specs/upgrades/azul/proofs" + }, + { + "source": "/base-chain/specs/upgrades/pectra-blob-schedule/overview", + "destination": "/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/overview" + }, + { + "source": "/base-chain/specs/upgrades/pectra-blob-schedule/derivation", + "destination": "/base-chain/protocol-api/specs/upgrades/pectra-blob-schedule/derivation" }, { "source": "/ai-agents/reference/contracts", @@ -2015,7 +2496,7 @@ }, { "source": "/chain/builder-anniversary-nft", - "destination": "/base-chain/quickstart/why-base" + "destination": "/get-started/why-base" }, { "source": "/chain/connecting-to-base", @@ -2035,7 +2516,7 @@ }, { "source": "/chain/decentralizing-base-with-optimism", - "destination": "/base-chain/quickstart/why-base" + "destination": "/get-started/why-base" }, { "source": "/chain/deploy-on-base-quickstart", @@ -2139,7 +2620,11 @@ }, { "source": "/chain/why-base", - "destination": "/base-chain/quickstart/why-base" + "destination": "/get-started/why-base" + }, + { + "source": "/base-chain/quickstart/why-base", + "destination": "/get-started/why-base" }, { "source": "/cookbook/growth/cast-actions", diff --git a/docs/base-chain/quickstart/why-base.mdx b/docs/get-started/why-base.mdx similarity index 100% rename from docs/base-chain/quickstart/why-base.mdx rename to docs/get-started/why-base.mdx From c70200f8c1aa0ed80c0bb625cd04f692c861805d Mon Sep 17 00:00:00 2001 From: roethke Date: Fri, 1 May 2026 11:30:47 -0700 Subject: [PATCH 2/3] fix ordering in overview pages --- docs/base-chain/infrastructure/overview.mdx | 7 ++----- docs/base-chain/network-information/overview.mdx | 8 ++++---- docs/base-chain/protocol-api/overview.mdx | 3 ++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/base-chain/infrastructure/overview.mdx b/docs/base-chain/infrastructure/overview.mdx index 53995ff29..de3908226 100644 --- a/docs/base-chain/infrastructure/overview.mdx +++ b/docs/base-chain/infrastructure/overview.mdx @@ -8,12 +8,9 @@ This section covers everything required to operate Base infrastructure: running | Topic | Description | | :--- | :--- | -| **Run a Base Node** | Step-by-step node setup for op-node + execution client | -| **Performance Tuning** | Hardware recommendations and client configuration for production | -| **Snapshots** | Download chain snapshots to reduce sync time | -| **Node Providers** | Managed RPC providers as an alternative to self-hosted nodes | -| **Flashblocks** | 200ms incremental block updates — overview, integration, and architecture | | **Block Building** | How the sequencer constructs and orders transactions | +| **Node Operators** | Running, configuring, troubleshooting, and upgrading Base nodes | +| **Flashblocks** | 200ms incremental block updates — overview, integration, and architecture | | **Batcher Spec** | How transaction batches are written to L1 | | **Consensus & Derivation** | How the L2 chain is derived from L1 data | | **P2P Networking** | Peer discovery and gossip protocol for the Base network | diff --git a/docs/base-chain/network-information/overview.mdx b/docs/base-chain/network-information/overview.mdx index 3864c23a0..d1d64434a 100644 --- a/docs/base-chain/network-information/overview.mdx +++ b/docs/base-chain/network-information/overview.mdx @@ -10,7 +10,7 @@ This section covers the core properties of Base Chain: fee markets, finality win | :--- | :--- | | **Fees & Gas** | EIP-1559 base fee, priority fee, and L1 data cost components | | **Transaction Finality** | Soft confirmation, hard confirmation, and L1-finalized settlement windows | -| **Contract Addresses** | Canonical protocol contract addresses on mainnet and testnet | -| **Bridges** | How the canonical bridge moves ETH and ERC-20s between Base and Ethereum | -| **Bridge Specifications** | Protocol-level specs for deposits, withdrawals, and cross-chain messengers | -| **Security Council** | Governance structure and upgrade controls | +| **Contract Addresses** | Canonical protocol and ecosystem contract addresses on mainnet and testnet | +| **Network Faucets** | Testnet ETH faucets for Base Sepolia development | +| **Bridges** | How the canonical bridge moves ETH and ERC-20s between Base and Ethereum, including deposit, withdrawal, and messenger specifications | +| **Security** | Security Council governance, bug bounty program, and vulnerability reporting | diff --git a/docs/base-chain/protocol-api/overview.mdx b/docs/base-chain/protocol-api/overview.mdx index 6c679c470..44579961b 100644 --- a/docs/base-chain/protocol-api/overview.mdx +++ b/docs/base-chain/protocol-api/overview.mdx @@ -15,5 +15,6 @@ This section is the authoritative technical reference for Base Chain. It covers | **Execution & EVM** | Execution engine spec, precompiles, predeploys, and preinstalls | | **Fault Proofs** | Full specification for the dispute game, bond incentives, and Cannon VM | | **Network Upgrades** | Per-upgrade changelogs from Canyon through Jovian | -| **Glossary** | Canonical definitions for Base and OP Stack terminology | +| **Configuration** | All consensus, policy, admin, and service role parameters, plus a changelog of network config changes | | **BCPs** | Base Chain Proposals — the governance specification process | +| **Glossary** | Canonical definitions for Base and OP Stack terminology | From 68542d69775d786e6d5fb78246316b3b64407192 Mon Sep 17 00:00:00 2001 From: roethke Date: Thu, 7 May 2026 16:22:48 -0700 Subject: [PATCH 3/3] refactor: reorganize directory structure --- .../protocol => infrastructure}/batcher.mdx | 0 .../consensus/derivation.mdx | 94 +++++++++---------- .../consensus/index.mdx | 20 ++-- .../consensus/p2p.mdx | 0 .../bridges}/bridges.mdx | 0 .../bridges}/deposits.mdx | 20 ++-- .../bridges}/messengers.mdx | 0 .../bridges}/withdrawals.mdx | 8 +- .../protocol-api/specs/protocol/overview.mdx | 22 ++--- .../specs/upgrades/azul/exec-engine.mdx | 12 ++- .../specs/upgrades/azul/overview.mdx | 15 ++- .../specs/upgrades/azul/proofs.mdx | 4 + docs/docs.json | 48 ++++++++-- 13 files changed, 147 insertions(+), 96 deletions(-) rename docs/base-chain/{protocol-api/specs/protocol => infrastructure}/batcher.mdx (100%) rename docs/base-chain/{protocol-api/specs/protocol => infrastructure}/consensus/derivation.mdx (93%) rename docs/base-chain/{protocol-api/specs/protocol => infrastructure}/consensus/index.mdx (77%) rename docs/base-chain/{protocol-api/specs/protocol => infrastructure}/consensus/p2p.mdx (100%) rename docs/base-chain/{protocol-api/specs/protocol/bridging => network-information/bridges}/bridges.mdx (100%) rename docs/base-chain/{protocol-api/specs/protocol/bridging => network-information/bridges}/deposits.mdx (96%) rename docs/base-chain/{protocol-api/specs/protocol/bridging => network-information/bridges}/messengers.mdx (100%) rename docs/base-chain/{protocol-api/specs/protocol/bridging => network-information/bridges}/withdrawals.mdx (97%) diff --git a/docs/base-chain/protocol-api/specs/protocol/batcher.mdx b/docs/base-chain/infrastructure/batcher.mdx similarity index 100% rename from docs/base-chain/protocol-api/specs/protocol/batcher.mdx rename to docs/base-chain/infrastructure/batcher.mdx diff --git a/docs/base-chain/protocol-api/specs/protocol/consensus/derivation.mdx b/docs/base-chain/infrastructure/consensus/derivation.mdx similarity index 93% rename from docs/base-chain/protocol-api/specs/protocol/consensus/derivation.mdx rename to docs/base-chain/infrastructure/consensus/derivation.mdx index 0b27dab71..16ba541ab 100644 --- a/docs/base-chain/protocol-api/specs/protocol/consensus/derivation.mdx +++ b/docs/base-chain/infrastructure/consensus/derivation.mdx @@ -3,45 +3,45 @@ title: "Derivation" description: "Specification of the L2 chain derivation pipeline, describing how L2 blocks are deterministically derived from L1 data and sequencer batches." --- -[g-derivation]: ../../reference/glossary#l2-chain-derivation -[g-payload-attr]: ../../reference/glossary#payload-attributes -[g-block]: ../../reference/glossary#block -[g-exec-engine]: ../../reference/glossary#execution-engine -[g-reorg]: ../../reference/glossary#chain-re-organization -[g-receipts]: ../../reference/glossary#receipt -[g-deposit-contract]: ../../reference/glossary#deposit-contract -[g-deposited]: ../../reference/glossary#deposited-transaction -[g-l1-attr-deposit]: ../../reference/glossary#l1-attributes-deposited-transaction -[g-l1-origin]: ../../reference/glossary#l1-origin -[g-user-deposited]: ../../reference/glossary#user-deposited-transaction -[g-deposits]: ../../reference/glossary#deposits -[g-sequencing]: ../../reference/glossary#sequencing -[g-sequencer]: ../../reference/glossary#sequencer -[g-sequencing-epoch]: ../../reference/glossary#sequencing-epoch -[g-sequencing-window]: ../../reference/glossary#sequencing-window -[g-sequencer-batch]: ../../reference/glossary#sequencer-batch -[g-l2-genesis]: ../../reference/glossary#l2-genesis-block -[g-l2-chain-inception]: ../../reference/glossary#l2-chain-inception -[g-l2-genesis-block]: ../../reference/glossary#l2-genesis-block -[g-batcher-transaction]: ../../reference/glossary#batcher-transaction -[g-avail-provider]: ../../reference/glossary#data-availability-provider -[g-batcher]: ../../reference/glossary#batcher -[g-l2-output]: ../../reference/glossary#l2-output-root -[g-fault-proof]: ../../reference/glossary#fault-proof -[g-channel]: ../../reference/glossary#channel -[g-channel-frame]: ../../reference/glossary#channel-frame -[g-rollup-node]: ../../reference/glossary#rollup-node -[g-block-time]: ../../reference/glossary#block-time -[g-time-slot]: ../../reference/glossary#time-slot -[g-consolidation]: ../../reference/glossary#unsafe-block-consolidation -[g-safe-l2-head]: ../../reference/glossary#safe-l2-head -[g-safe-l2-block]: ../../reference/glossary#safe-l2-block -[g-unsafe-l2-head]: ../../reference/glossary#unsafe-l2-head -[g-unsafe-l2-block]: ../../reference/glossary#unsafe-l2-block -[g-unsafe-sync]: ../../reference/glossary#unsafe-sync -[g-deposit-tx-type]: ../../reference/glossary#deposited-transaction-type -[g-finalized-l2-head]: ../../reference/glossary#finalized-l2-head -[g-system-config]: ../../reference/glossary#system-configuration +[g-derivation]: ../../protocol-api/specs/reference/glossary#l2-chain-derivation +[g-payload-attr]: ../../protocol-api/specs/reference/glossary#payload-attributes +[g-block]: ../../protocol-api/specs/reference/glossary#block +[g-exec-engine]: ../../protocol-api/specs/reference/glossary#execution-engine +[g-reorg]: ../../protocol-api/specs/reference/glossary#chain-re-organization +[g-receipts]: ../../protocol-api/specs/reference/glossary#receipt +[g-deposit-contract]: ../../protocol-api/specs/reference/glossary#deposit-contract +[g-deposited]: ../../protocol-api/specs/reference/glossary#deposited-transaction +[g-l1-attr-deposit]: ../../protocol-api/specs/reference/glossary#l1-attributes-deposited-transaction +[g-l1-origin]: ../../protocol-api/specs/reference/glossary#l1-origin +[g-user-deposited]: ../../protocol-api/specs/reference/glossary#user-deposited-transaction +[g-deposits]: ../../protocol-api/specs/reference/glossary#deposits +[g-sequencing]: ../../protocol-api/specs/reference/glossary#sequencing +[g-sequencer]: ../../protocol-api/specs/reference/glossary#sequencer +[g-sequencing-epoch]: ../../protocol-api/specs/reference/glossary#sequencing-epoch +[g-sequencing-window]: ../../protocol-api/specs/reference/glossary#sequencing-window +[g-sequencer-batch]: ../../protocol-api/specs/reference/glossary#sequencer-batch +[g-l2-genesis]: ../../protocol-api/specs/reference/glossary#l2-genesis-block +[g-l2-chain-inception]: ../../protocol-api/specs/reference/glossary#l2-chain-inception +[g-l2-genesis-block]: ../../protocol-api/specs/reference/glossary#l2-genesis-block +[g-batcher-transaction]: ../../protocol-api/specs/reference/glossary#batcher-transaction +[g-avail-provider]: ../../protocol-api/specs/reference/glossary#data-availability-provider +[g-batcher]: ../../protocol-api/specs/reference/glossary#batcher +[g-l2-output]: ../../protocol-api/specs/reference/glossary#l2-output-root +[g-fault-proof]: ../../protocol-api/specs/reference/glossary#fault-proof +[g-channel]: ../../protocol-api/specs/reference/glossary#channel +[g-channel-frame]: ../../protocol-api/specs/reference/glossary#channel-frame +[g-rollup-node]: ../../protocol-api/specs/reference/glossary#rollup-node +[g-block-time]: ../../protocol-api/specs/reference/glossary#block-time +[g-time-slot]: ../../protocol-api/specs/reference/glossary#time-slot +[g-consolidation]: ../../protocol-api/specs/reference/glossary#unsafe-block-consolidation +[g-safe-l2-head]: ../../protocol-api/specs/reference/glossary#safe-l2-head +[g-safe-l2-block]: ../../protocol-api/specs/reference/glossary#safe-l2-block +[g-unsafe-l2-head]: ../../protocol-api/specs/reference/glossary#unsafe-l2-head +[g-unsafe-l2-block]: ../../protocol-api/specs/reference/glossary#unsafe-l2-block +[g-unsafe-sync]: ../../protocol-api/specs/reference/glossary#unsafe-sync +[g-deposit-tx-type]: ../../protocol-api/specs/reference/glossary#deposited-transaction-type +[g-finalized-l2-head]: ../../protocol-api/specs/reference/glossary#finalized-l2-head +[g-system-config]: ../../protocol-api/specs/reference/glossary#system-configuration ## Overview @@ -135,10 +135,10 @@ protocol upgrades. | Parameter | Bedrock (default) value | Latest (default) value | Changes | Notes | | --------- | ----------------------- | ---------------------- | ------- | ----- | -| `max_sequencer_drift` | 600 | 1800 | [Fjord](../../upgrades/fjord/derivation#constant-maximum-sequencer-drift) | Changed from a chain parameter to a constant with Fjord. | -| `MAX_RLP_BYTES_PER_CHANNEL` | 10,000,000 | 100,000,000 | [Fjord](../../upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size) | Constant increased with Fjord. | -| `MAX_CHANNEL_BANK_SIZE` | 100,000,000 | 1,000,000,000 | [Fjord](../../upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size) | Constant increased with Fjord. | -| `MAX_SPAN_BATCH_ELEMENT_COUNT` | 10,000,000 | 10,000,000 | Effectively introduced in [Fjord](../../upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size)| Number of elements | +| `max_sequencer_drift` | 600 | 1800 | [Fjord](../../protocol-api/specs/upgrades/fjord/derivation#constant-maximum-sequencer-drift) | Changed from a chain parameter to a constant with Fjord. | +| `MAX_RLP_BYTES_PER_CHANNEL` | 10,000,000 | 100,000,000 | [Fjord](../../protocol-api/specs/upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size) | Constant increased with Fjord. | +| `MAX_CHANNEL_BANK_SIZE` | 100,000,000 | 1,000,000,000 | [Fjord](../../protocol-api/specs/upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size) | Constant increased with Fjord. | +| `MAX_SPAN_BATCH_ELEMENT_COUNT` | 10,000,000 | 10,000,000 | Effectively introduced in [Fjord](../../protocol-api/specs/upgrades/fjord/derivation#increasing-max_rlp_bytes_per_channel-and-max_channel_bank_size)| Number of elements | ## System Configuration @@ -369,7 +369,7 @@ where zlib_compress is the ZLIB algorithm (as specified in [RFC-1950][rfc1950]) [rfc1950]: https://www.rfc-editor.org/rfc/rfc1950.html The Fjord upgrade introduces an additional [versioned channel encoding -format](../../upgrades/fjord/derivation#brotli-channel-compression) to support alternate compression +format](../../protocol-api/specs/upgrades/fjord/derivation#brotli-channel-compression) to support alternate compression algorithms. When decompressing a channel, we limit the amount of decompressed data to `MAX_RLP_BYTES_PER_CHANNEL` (defined in the @@ -414,7 +414,7 @@ where: The Delta upgrade introduced an additional batch type, [span batches][span-batches]. -[span-batches]: ../../upgrades/delta/span-batches +[span-batches]: ../../protocol-api/specs/upgrades/delta/span-batches Unknown versions make the batch invalid (it must be ignored by the rollup node), as do malformed contents. @@ -657,7 +657,7 @@ Rules, in validation order: - any transaction that is empty (zero length byte string) - any [deposited transactions][g-deposit-tx-type] (identified by the transaction type prefix byte) - any transaction of a future type > 2 (note that - [Isthmus adds support](../../upgrades/isthmus/derivation#activation) + [Isthmus adds support](../../protocol-api/specs/upgrades/isthmus/derivation#activation) for `SetCode` transactions of type 4) If no batch can be `accept`-ed, and the stage has completed buffering of all batches that can fully be read from the L1 @@ -965,7 +965,7 @@ This is however completely unrelated to the outputs posted on L1, which require zk-proof to finalize. Optimistic-rollup outputs like withdrawals on L1 are only labeled "finalized" after passing a week without dispute (fault proof challenge window), a name-collision with the proof-of-stake finalization. -[merge]: https://ethereum.org/en/upgrades/merge/ +[merge]: https://ethereum.o../../protocol-api/specs/upgrades/merge/ [l1-finality]: https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/#finality --- diff --git a/docs/base-chain/protocol-api/specs/protocol/consensus/index.mdx b/docs/base-chain/infrastructure/consensus/index.mdx similarity index 77% rename from docs/base-chain/protocol-api/specs/protocol/consensus/index.mdx rename to docs/base-chain/infrastructure/consensus/index.mdx index c09e42bce..50fc9d32d 100644 --- a/docs/base-chain/protocol-api/specs/protocol/consensus/index.mdx +++ b/docs/base-chain/infrastructure/consensus/index.mdx @@ -1,16 +1,16 @@ --- -title: "Specification" +title: "Rollup Node" description: "Specification of the Base rollup node, describing its components and role in L2 block derivation and consensus." --- -[g-rollup-node]: ../../reference/glossary#rollup-node -[g-derivation]: ../../reference/glossary#L2-chain-derivation -[g-payload-attr]: ../../reference/glossary#payload-attributes -[g-block]: ../../reference/glossary#block -[g-exec-engine]: ../../reference/glossary#execution-engine -[g-reorg]: ../../reference/glossary#re-organization -[g-rollup-driver]: ../../reference/glossary#rollup-driver -[g-receipts]: ../../reference/glossary#receipt +[g-rollup-node]: ../../protocol-api/specs/reference/glossary#rollup-node +[g-derivation]: ../../protocol-api/specs/reference/glossary#L2-chain-derivation +[g-payload-attr]: ../../protocol-api/specs/reference/glossary#payload-attributes +[g-block]: ../../protocol-api/specs/reference/glossary#block +[g-exec-engine]: ../../protocol-api/specs/reference/glossary#execution-engine +[g-reorg]: ../../protocol-api/specs/reference/glossary#re-organization +[g-rollup-driver]: ../../protocol-api/specs/reference/glossary#rollup-driver +[g-receipts]: ../../protocol-api/specs/reference/glossary#receipt ## Overview @@ -55,7 +55,7 @@ the Protocol Versions contract on L1. This can be implemented through polling in the [Driver](#driver) loop. After polling the Protocol Version, the rollup node SHOULD communicate it with the execution-engine through an -[`engine_signalSuperchainV1`](../execution/index#enginesignalsuperchainv1) call. +[`engine_signalSuperchainV1`](../../protocol-api/specs/protocol/execution/index#enginesignalsuperchainv1) call. The rollup node SHOULD warn the user when the recommended version is newer than the current version supported by the rollup node. diff --git a/docs/base-chain/protocol-api/specs/protocol/consensus/p2p.mdx b/docs/base-chain/infrastructure/consensus/p2p.mdx similarity index 100% rename from docs/base-chain/protocol-api/specs/protocol/consensus/p2p.mdx rename to docs/base-chain/infrastructure/consensus/p2p.mdx diff --git a/docs/base-chain/protocol-api/specs/protocol/bridging/bridges.mdx b/docs/base-chain/network-information/bridges/bridges.mdx similarity index 100% rename from docs/base-chain/protocol-api/specs/protocol/bridging/bridges.mdx rename to docs/base-chain/network-information/bridges/bridges.mdx diff --git a/docs/base-chain/protocol-api/specs/protocol/bridging/deposits.mdx b/docs/base-chain/network-information/bridges/deposits.mdx similarity index 96% rename from docs/base-chain/protocol-api/specs/protocol/bridging/deposits.mdx rename to docs/base-chain/network-information/bridges/deposits.mdx index c09f7b7a1..7017fcb72 100644 --- a/docs/base-chain/protocol-api/specs/protocol/bridging/deposits.mdx +++ b/docs/base-chain/network-information/bridges/deposits.mdx @@ -3,14 +3,14 @@ title: "Deposits" description: "Specification of the deposit mechanism for Base, detailing how L1 transactions are converted into L2 deposit transactions." --- -[g-transaction-type]: ../../reference/glossary#transaction-type -[g-derivation]: ../../reference/glossary#L2-chain-derivation -[g-deposited]: ../../reference/glossary#deposited -[g-deposits]: ../../reference/glossary#deposits -[g-l1-attr-deposit]: ../../reference/glossary#l1-attributes-deposited-transaction -[g-user-deposited]: ../../reference/glossary#user-deposited-transaction -[g-eoa]: ../../reference/glossary#eoa -[g-exec-engine]: ../../reference/glossary#execution-engine +[g-transaction-type]: ../../protocol-api/specs/reference/glossary#transaction-type +[g-derivation]: ../../protocol-api/specs/reference/glossary#L2-chain-derivation +[g-deposited]: ../../protocol-api/specs/reference/glossary#deposited +[g-deposits]: ../../protocol-api/specs/reference/glossary#deposits +[g-l1-attr-deposit]: ../../protocol-api/specs/reference/glossary#l1-attributes-deposited-transaction +[g-user-deposited]: ../../protocol-api/specs/reference/glossary#user-deposited-transaction +[g-eoa]: ../../protocol-api/specs/reference/glossary#eoa +[g-exec-engine]: ../../protocol-api/specs/reference/glossary#execution-engine ## Overview @@ -91,7 +91,7 @@ Without a `sourceHash` in a deposit, two different deposited transactions could The outer `keccak256` hashes the actual uniquely identifying information with a domain, to avoid collisions between different types of sources. -The [Interop derivation spec](../consensus/derivation) introduces two additional kinds of system deposits, +The [Interop derivation spec](../../infrastructure/consensus/derivation) introduces two additional kinds of system deposits, with domains `3` and `4`. We do not use the sender's nonce to ensure uniqueness because this would require an extra L2 EVM state read from the @@ -269,7 +269,7 @@ The predeploy stores the following values: - `sequenceNumber` (`uint64`): This equals the L2 block number relative to the start of the epoch, i.e. the L2 block distance to the L2 block height that the L1 attributes last changed, and reset to 0 at the start of a new epoch. -- System configurables tied to the L1 block, see [System configuration specification](../consensus/derivation#system-configuration): +- System configurables tied to the L1 block, see [System configuration specification](../../infrastructure/consensus/derivation#system-configuration): - `batcherHash` (`bytes32`): A versioned commitment to the batch-submitter(s) currently operating. - `overhead` (`uint256`): The L1 fee overhead to apply to L1 cost computation of transactions in this L2 block. - `scalar` (`uint256`): The L1 fee scalar to apply to L1 cost computation of transactions in this L2 block. diff --git a/docs/base-chain/protocol-api/specs/protocol/bridging/messengers.mdx b/docs/base-chain/network-information/bridges/messengers.mdx similarity index 100% rename from docs/base-chain/protocol-api/specs/protocol/bridging/messengers.mdx rename to docs/base-chain/network-information/bridges/messengers.mdx diff --git a/docs/base-chain/protocol-api/specs/protocol/bridging/withdrawals.mdx b/docs/base-chain/network-information/bridges/withdrawals.mdx similarity index 97% rename from docs/base-chain/protocol-api/specs/protocol/bridging/withdrawals.mdx rename to docs/base-chain/network-information/bridges/withdrawals.mdx index 828b06617..1981be726 100644 --- a/docs/base-chain/protocol-api/specs/protocol/bridging/withdrawals.mdx +++ b/docs/base-chain/network-information/bridges/withdrawals.mdx @@ -3,10 +3,10 @@ title: "Withdrawals" description: "Specification of the withdrawal mechanism for Base, describing how L2 state is proven on L1 and funds are released from the bridge." --- -[g-deposits]: ../../reference/glossary#deposits -[g-withdrawal]: ../../reference/glossary#withdrawal -[g-relayer]: ../../reference/glossary#withdrawals -[g-execution-engine]: ../../reference/glossary#execution-engine +[g-deposits]: ../../protocol-api/specs/reference/glossary#deposits +[g-withdrawal]: ../../protocol-api/specs/reference/glossary#withdrawal +[g-relayer]: ../../protocol-api/specs/reference/glossary#withdrawals +[g-execution-engine]: ../../protocol-api/specs/reference/glossary#execution-engine ## Overview diff --git a/docs/base-chain/protocol-api/specs/protocol/overview.mdx b/docs/base-chain/protocol-api/specs/protocol/overview.mdx index 688f2c01d..f162d9e14 100644 --- a/docs/base-chain/protocol-api/specs/protocol/overview.mdx +++ b/docs/base-chain/protocol-api/specs/protocol/overview.mdx @@ -89,17 +89,17 @@ The following diagram shows how the major protocol components interact across L1 ```mermaid graph LR subgraph "Ethereum L1" - OptimismPortal(OptimismPortal) + OptimismPortal(OptimismPortal) BatchInbox(Batch Inbox Address) DisputeGameFactory(DisputeGameFactory) end subgraph "L2 Node" - RollupNode(Consensus) + RollupNode(Consensus) ExecutionEngine(Execution Engine) end - Batcher(Batcher) + Batcher(Batcher) Proposers(Proposers) Challengers(Challengers) Users(Users) @@ -137,7 +137,7 @@ from the Batch Inbox and deposit events from OptimismPortal, constructs payload execution engine via the Engine API. Unsafe (unconfirmed) blocks are gossiped to other nodes over a dedicated P2P network to give validators low-latency access before batches land on L1. -[Consensus →](./consensus/) +[Consensus →](../../../infrastructure/consensus/) ```mermaid graph LR @@ -178,7 +178,7 @@ start of each L2 block. Withdrawals flow in the opposite direction: a withdrawal a proposer submits an output root to `DisputeGameFactory`, and after the challenge period the user proves and finalizes the withdrawal on L1 via `OptimismPortal`. -[Bridging →](./bridging/deposits) +[Bridging →](../../../network-information/bridges/deposits) ```mermaid graph LR @@ -215,14 +215,14 @@ The batcher is a service run by the sequencer that compresses L2 transaction dat them as calldata (or blobs) to the Batch Inbox Address on L1. This is the data availability layer that allows any validator to independently reconstruct the L2 chain from L1. -[Batcher →](./batcher) +[Batcher →](../../../infrastructure/batcher) ```mermaid graph LR Sequencer(Sequencer) - Batcher(Batcher) + Batcher(Batcher) BatchInbox(Batch Inbox Address) - RollupNode(Rollup Node) + RollupNode(Rollup Node) Sequencer -->|L2 blocks| Batcher Batcher -->|compressed channel frames| BatchInbox @@ -251,7 +251,7 @@ graph LR DGF(DisputeGameFactory) FDG(FaultDisputeGame) Challengers(Challengers) - OP(OptimismPortal) + OP(OptimismPortal) Proposer -->|submit output root| DGF DGF -->|create game| FDG @@ -275,7 +275,7 @@ The following diagram demonstrates this interaction and key Base protocol compon ```mermaid graph TD subgraph "Ethereum L1" - OptimismPortal(OptimismPortal) + OptimismPortal(OptimismPortal) BatchInbox(Batch Inbox Address) end @@ -316,7 +316,7 @@ graph LR BatchInbox(Batch Inbox Address) DisputeGameFactory(DisputeGameFactory) FaultDisputeGame(FaultDisputeGame) - OptimismPortal(OptimismPortal) + OptimismPortal(OptimismPortal) ExternalContracts(External Contracts) end diff --git a/docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx index b36a4bbcc..82e111433 100644 --- a/docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx +++ b/docs/base-chain/protocol-api/specs/upgrades/azul/exec-engine.mdx @@ -44,6 +44,10 @@ Base already has the `p256Verify` precompile at the same address (added in Fjord From Azul, the gas cost increases to 6,900 to match the L1 gas cost specified in EIP-7951, maintaining strict equivalence with L1 precompile pricing. + +This is a breaking change for any application that hardcodes a gas limit of 3,450 for `p256Verify` calls, including passkey-based authentication flows and Smart Wallet operations. Update your gas estimates to at least 6,900 before the Azul activation date. + + ## Networking Changes ### eth/69 @@ -51,12 +55,18 @@ strict equivalence with L1 precompile pricing. [EIP-7642](https://eips.ethereum.org/EIPS/eip-7642) updates the Ethereum wire protocol to version 69, removing legacy fields from the `Status` message and simplifying the handshake. -### Remove Account Balances & Receipts +## Application Changes + +### Flashblocks WebSocket: Remove Account Balances & Receipts The `FlashblocksMetadata` payload transmitted over the Flashblocks WebSocket is simplified in Azul. The `new_account_balances` and `receipts` fields are removed. The `access_list` field remains but will not be populated in Azul. + +This is a breaking change for any integration that reads `new_account_balances` or `receipts` from the Flashblocks WebSocket feed. These fields will no longer be present in the payload after activation. Update your integration to source balance and receipt data from standard JSON-RPC methods instead. + + **Before:** ```json diff --git a/docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx index 735fce9e3..e1189a403 100644 --- a/docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx +++ b/docs/base-chain/protocol-api/specs/upgrades/azul/overview.mdx @@ -9,16 +9,21 @@ description: "Overview of the Azul hardfork, introducing Osaka EVM support, a si Only `base-consensus` and `base-reth-node` will support the Base Azul hardfork. If you are running `op-node`, `op-geth` or any other clients you will need to update prior to the activation date. -- Add Osaka Support -- Simplify Flashblocks Websocket Format -- Enable a new multi-proof system for faster withdrawals and a path to stronger decentralization -- Only Base Node Reth / Base Consensus will be supported +- **Osaka EVM support** — Base gains all EIPs included in Ethereum's Osaka hardfork +- **Fast finality** — Withdrawals to L1 drop from 7 days to 1 day when both TEE and ZK proofs back the same proposal, improving capital efficiency for bridges, exchanges, and payment processors +- **Multi-proof system** — A new TEE + ZK proof architecture replaces the optimistic fault-proof model, reducing economic attack surface and laying the groundwork for Stage 2 decentralization + + +**Breaking changes for integrators:** +- The `secp256r1` precompile (`p256Verify` at `0x100`) gas cost doubles from 3,450 to 6,900. Update any hardcoded gas estimates for passkey or Smart Wallet operations. +- The Flashblocks WebSocket `FlashblocksMetadata` payload removes the `new_account_balances` and `receipts` fields. Any integration consuming these fields must be updated before activation. + ## Activation Timestamps | Network | Activation timestamp | | --------- | -------------------------------------- | -| `mainnet` | `1778695200` (2026-05-13 18:00:00 UTC) | +| `mainnet` | `1779386400` (2026-05-21 18:00:00 UTC) | | `sepolia` | `1776708000` (2026-04-20 18:00:00 UTC) | ## Execution Layer diff --git a/docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx b/docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx index d46368b2b..dc40b3809 100644 --- a/docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx +++ b/docs/base-chain/protocol-api/specs/upgrades/azul/proofs.mdx @@ -13,6 +13,10 @@ later back the same proposal or dispute an invalid one. `AggregateVerifier` dele to dedicated verifier contracts, while a prover registrar keeps the onchain registry of accepted TEE signer identities up to date. + +**Withdrawal finality improves significantly with Azul.** When both TEE and ZK proofs back the same proposal, withdrawals to L1 settle in 1 day instead of 7. This is the expected path for most proposals and directly benefits bridges, payment processors, and market makers that depend on timely L1 capital access. + + ## Why Change the Proof System Base's current [fault-proof system](/base-chain/specs/protocol/fault-proof) is optimistic and interactive: a diff --git a/docs/docs.json b/docs/docs.json index f4cc4801e..3b4b454d9 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -119,10 +119,10 @@ "pages": [ "base-chain/network-information/bridges/overview", "base-chain/network-information/bridges/solana-bridge", - "base-chain/protocol-api/specs/protocol/bridging/bridges", - "base-chain/protocol-api/specs/protocol/bridging/deposits", - "base-chain/protocol-api/specs/protocol/bridging/messengers", - "base-chain/protocol-api/specs/protocol/bridging/withdrawals" + "base-chain/network-information/bridges/bridges", + "base-chain/network-information/bridges/deposits", + "base-chain/network-information/bridges/messengers", + "base-chain/network-information/bridges/withdrawals" ] }, { @@ -162,10 +162,10 @@ "base-chain/infrastructure/flashblocks/faq" ] }, - "base-chain/protocol-api/specs/protocol/batcher", - "base-chain/protocol-api/specs/protocol/consensus/index", - "base-chain/protocol-api/specs/protocol/consensus/derivation", - "base-chain/protocol-api/specs/protocol/consensus/p2p" + "base-chain/infrastructure/batcher", + "base-chain/infrastructure/consensus/index", + "base-chain/infrastructure/consensus/derivation", + "base-chain/infrastructure/consensus/p2p" ] }, { @@ -778,6 +778,38 @@ ] }, "redirects": [ + { + "source": "/base-chain/protocol-api/specs/protocol/batcher", + "destination": "/base-chain/infrastructure/batcher" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/consensus/index", + "destination": "/base-chain/infrastructure/consensus/index" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/consensus/derivation", + "destination": "/base-chain/infrastructure/consensus/derivation" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/consensus/p2p", + "destination": "/base-chain/infrastructure/consensus/p2p" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/bridging/bridges", + "destination": "/base-chain/network-information/bridges/bridges" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/bridging/deposits", + "destination": "/base-chain/network-information/bridges/deposits" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/bridging/messengers", + "destination": "/base-chain/network-information/bridges/messengers" + }, + { + "source": "/base-chain/protocol-api/specs/protocol/bridging/withdrawals", + "destination": "/base-chain/network-information/bridges/withdrawals" + }, { "source": "/base-chain/reference/json-rpc-api", "destination": "/base-chain/protocol-api/json-rpc/overview"