diff --git a/docs/agents.md b/docs/agents.md
index 07f0ee624..db3897a8c 100644
--- a/docs/agents.md
+++ b/docs/agents.md
@@ -50,7 +50,7 @@ npx skills add base/base-skills
|apps/builder-codes:agent-developers,app-developers,builder-codes,wallet-developers
|apps/growth:rewards
|apps/guides:migrate-to-standard-web-app
-|apps/quickstart:build-app
+|apps/quickstart:build-app,deploy-on-base
|apps/resources:design-resources,templates
|apps/technical-guides:base-notifications
|base-account/basenames:basename-transfer,basenames-faq
@@ -78,10 +78,10 @@ npx skills add base/base-skills
|base-chain/api-reference/debug-api:debug_traceBlockByHash,debug_traceBlockByNumber,debug_traceTransaction
|base-chain/api-reference/ethereum-json-rpc-api:eth_blockNumber,eth_call,eth_chainId,eth_estimateGas,eth_feeHistory,eth_gasPrice,eth_getBalance,eth_getBlockByHash,eth_getBlockByNumber,eth_getBlockReceipts,eth_getBlockTransactionCountByHash,eth_getBlockTransactionCountByNumber,eth_getCode,eth_getLogs,eth_getStorageAt,eth_getTransactionByBlockHashAndIndex,eth_getTransactionByBlockNumberAndIndex,eth_getTransactionByHash,eth_getTransactionCount,eth_getTransactionReceipt,eth_maxPriorityFeePerGas,eth_sendRawTransaction,eth_subscribe,eth_syncing,eth_unsubscribe,net_version,web3_clientVersion
|base-chain/api-reference/flashblocks-api:base_transactionStatus,eth_simulateV1,flashblocks-api-overview,newFlashblockTransactions,newFlashblocks,pendingLogs
-|base-chain/flashblocks:app-integration,architecture,faq,overview
-|base-chain/network-information:base-contracts,block-building,bridges,configuration-changelog,diffs-ethereum-base,ecosystem-contracts,network-faucets,network-fees,transaction-finality,troubleshooting-transactions
+|base-chain:overview
+|base-chain/network-information:base-contracts,base-solana-bridge,block-building,bridges,configuration-changelog,diffs-ethereum-base,ecosystem-contracts,network-faucets,network-fees,networks-and-endpoints,sequencing-policy,throughput-and-limits,transaction-finality,transaction-lifecycle,troubleshooting-transactions
|base-chain/node-operators:base-v1-upgrade,node-providers,performance-tuning,run-a-base-node,snapshots,troubleshooting
-|base-chain/quickstart:base-solana-bridge,connecting-to-base,deploy-on-base,why-base
+|base-chain/quickstart:connecting-to-base
|base-chain/security:avoid-malicious-flags,bug-bounty,report-vulnerability,security-council
|base-chain/specs:overview
|base-chain/specs/bcps:bcp-0000,index
diff --git a/docs/ai-agents/setup/agent-builder-codes.mdx b/docs/ai-agents/setup/agent-builder-codes.mdx
index 89ff1f0fa..8615f2185 100644
--- a/docs/ai-agents/setup/agent-builder-codes.mdx
+++ b/docs/ai-agents/setup/agent-builder-codes.mdx
@@ -1,11 +1,11 @@
---
title: "Builder Codes for Agents"
-description: "Register your agent on Base.dev and append a Builder Code to every transaction to measure onchain activity."
-keywords: ["builder code", "Base.dev", "ERC-8021", "attribution", "onchain activity", "agent attribution", "dataSuffix", "builder codes", "Base builder codes", "agent onchain"]
+description: "Register your agent in Base Dashboard and append a Builder Code to every transaction to measure onchain activity."
+keywords: ["builder code", "Base Dashboard", "ERC-8021", "attribution", "onchain activity", "agent attribution", "dataSuffix", "builder codes", "Base builder codes", "agent onchain"]
tag: "NEW"
---
-[Base.dev](https://base.dev) is the canonical registry for agents on Base. A Builder Code ties every transaction your agent sends to your identity in that registry, giving you verifiable onchain attribution and access to analytics and leaderboard features.
+[Base Dashboard](https://dashboard.base.org) is the canonical registry for agents on Base. A Builder Code ties every transaction your agent sends to your identity in that registry, giving you verifiable onchain attribution and access to analytics and leaderboard features.
## What you get
@@ -52,7 +52,7 @@ If you're using an AI coding tool (Claude Code, Cursor, Codex), install the Base
npx skills add base/skills
```
-Then ask your agent: **"Register my agent for a builder code on Base.dev."**
+Then ask your agent: **"Register my agent for a builder code in Base Dashboard."**
The skill runs three phases:
@@ -75,7 +75,7 @@ The skill runs three phases:
If you're using an AI agent, point it to this page:
```text Prompt
-Get a Builder Code for my agent on Base.dev using the documentation at https://docs.base.org/ai-agents/setup/agent-builder-codes.
+Get a Builder Code for my agent in Base Dashboard using the documentation at https://docs.base.org/ai-agents/setup/agent-builder-codes.
My agent's wallet address: [0x...]
diff --git a/docs/ai-agents/trading/trade-execution.mdx b/docs/ai-agents/trading/trade-execution.mdx
index 6d5675bea..2b3d508b8 100644
--- a/docs/ai-agents/trading/trade-execution.mdx
+++ b/docs/ai-agents/trading/trade-execution.mdx
@@ -49,7 +49,7 @@ curl -X POST "https://api.wallet.paysponge.com/api/swap" \
### Use the preconf endpoint for all reads and submissions
-Always connect to `mainnet-preconf.base.org` (or `sepolia-preconf.base.org` for testnet) rather than the standard endpoint. This is the only way to access Flashblocks `pending` state, preconfirmed transaction streams, and `base_transactionStatus`. See [Flashblocks endpoints](/base-chain/flashblocks/app-integration#rpc-endpoints) for the full list.
+Always connect to `mainnet-preconf.base.org` (or `sepolia-preconf.base.org` for testnet) rather than the standard endpoint. This is the only way to access Flashblocks `pending` state, preconfirmed transaction streams, and `base_transactionStatus`. See [Networks and Endpoints](/base-chain/network-information/networks-and-endpoints) for the full list.
### Simulate against preconfirmed state before signing
@@ -63,7 +63,7 @@ After submission, [`base_transactionStatus`](/base-chain/api-reference/flashbloc
### L2 priority fee heuristics
-Use [`eth_feeHistory`](/base-chain/api-reference/rpc-overview#eth_feehistory) over the last 5–10 blocks with reward percentiles `[50, 90]`:
+Use [`eth_feeHistory`](/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory) over the last 5–10 blocks with reward percentiles `[50, 90]`:
- **50th percentile reward** — standard inclusion within 1–3 Flashblocks
- **90th percentile reward** — fast inclusion within the next Flashblock
@@ -108,7 +108,7 @@ Base exposes data that most chains don't provide at this resolution:
## Related
- [Flashblocks API Reference](/base-chain/api-reference/rpc-overview#flashblocks-api) — `eth_simulateV1`, `base_transactionStatus`, subscription types
-- [Flashblocks Integration Guide](/base-chain/flashblocks/app-integration) — endpoints, library setup (Wagmi, Viem, Ethers)
+- [Base RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix) — endpoint behavior, `pending` support, and preconfirmed by-hash lookups
- [Block Building](/base-chain/network-information/block-building) — Flashblocks timing, per-transaction gas maximum
- [Network Fees](/base-chain/network-information/network-fees) — EIP-1559 parameters, GasPriceOracle methods
- [JSON-RPC API Reference](/base-chain/api-reference/rpc-overview) — complete RPC method reference
diff --git a/docs/apps/builder-codes/agent-developers.mdx b/docs/apps/builder-codes/agent-developers.mdx
index a34a1d1e1..8e755522d 100644
--- a/docs/apps/builder-codes/agent-developers.mdx
+++ b/docs/apps/builder-codes/agent-developers.mdx
@@ -9,7 +9,7 @@ AI agents operate autonomously and send transactions without a user manually tri
## Why agents need Builder Codes
- **Attribution** — Every transaction your agent sends is tied to your identity in the Base registry. Without it, your agent's onchain activity is anonymous.
-- **Analytics** — Track your agent's transaction volume, user reach, and onchain conversion in [base.dev](https://base.dev).
+- **Analytics** — Track your agent's transaction volume, user reach, and onchain conversion in [Base Dashboard](https://dashboard.base.org).
- **Visibility** — Agents with Builder Codes can appear in discovery surfaces like Base's App Leaderboard and ecosystem spotlights.
## How it works
@@ -59,7 +59,7 @@ If you're using an AI coding tool (Claude Code, Cursor, Codex), install the Base
npx skills add base/skills
```
-Then ask your agent: **"Register my agent for a builder code on Base.dev."**
+Then ask your agent: **"Register my agent for a builder code in Base Dashboard."**
The skill handles wallet validation, calls the registration API, writes the returned code to `src/constants/builderCode.ts`, installs `ox`, and wires the ERC-8021 `dataSuffix` into your transaction client (viem, ethers.js, or managed service).
@@ -69,9 +69,9 @@ Read more in the [Builder Codes for Agents guide](/ai-agents/setup/agent-builder
To confirm your Builder Code is being appended correctly:
-**1. Check base.dev**
+**1. Check Base Dashboard**
-- Visit [base.dev](https://base.dev)
+- Visit [Base Dashboard](https://dashboard.base.org)
- Select **Onchain** from the transaction type dropdown
- Under the Total Transactions section, attribution counts increment when transactions with your code are processed
diff --git a/docs/apps/builder-codes/app-developers.mdx b/docs/apps/builder-codes/app-developers.mdx
index 8d3e8f497..76d868364 100644
--- a/docs/apps/builder-codes/app-developers.mdx
+++ b/docs/apps/builder-codes/app-developers.mdx
@@ -6,13 +6,13 @@ description: "Integrate Builder Codes into your app using Wagmi or Viem to attri
## Automatic Attribution on Base
-Once your app is registered on [base.dev](http://base.dev/), the Base App will auto-append your Builder Code to transactions its users make in your app (e.g. via your app, or the Base App's browser). This powers your onchain analytics in [base.dev](http://base.dev/) and qualifies you for potential future rewards.
+Once your app is registered in [Base Dashboard](https://dashboard.base.org), the Base App will auto-append your Builder Code to transactions its users make in your app (e.g. via your app, or the Base App's browser). This powers your onchain analytics in Base Dashboard and qualifies you for potential future rewards.
## Integrating Outside the Base App
If users also access your app on the web or through other clients, you'll need to integrate the `dataSuffix` parameter to capture that activity.
-When you register on [base.dev](https://base.dev/), you will receive a **Builder Code**—a random string (e.g., `bc_b7k3p9da`) that you'll use to generate your attribution suffix. The recommended approach is to configure `dataSuffix` at the client level, which appends your Builder Code to all transactions.
+When you register in [Base Dashboard](https://dashboard.base.org), you will receive a **Builder Code**—a random string (e.g., `bc_b7k3p9da`) that you'll use to generate your attribution suffix. The recommended approach is to configure `dataSuffix` at the client level, which appends your Builder Code to all transactions.
You can find your code anytime under **Settings** → **Builder Code**.
@@ -37,7 +37,7 @@ When you register on [base.dev](https://base.dev/), you will receive a **Builder
import { base } from "wagmi/chains";
import { Attribution } from "ox/erc8021";
- // Get your Builder Code from base.dev > Settings > Builder Codes
+ // Get your Builder Code from Base Dashboard > Settings > Builder Codes
const DATA_SUFFIX = Attribution.toDataSuffix({
codes: ["YOUR-BUILDER-CODE"],
});
@@ -98,7 +98,7 @@ When you register on [base.dev](https://base.dev/), you will receive a **Builder
import { base } from "viem/chains";
import { Attribution } from "ox/erc8021";
- // Get your Builder Code from base.dev > Settings > Builder Codes
+ // Get your Builder Code from Base Dashboard > Settings > Builder Codes
const DATA_SUFFIX = Attribution.toDataSuffix({
codes: ["YOUR-BUILDER-CODE"],
});
@@ -220,9 +220,9 @@ See the [Privy Builder Codes integration guide](https://docs.privy.io/recipes/ev
To confirm your Builder Code is being appended correctly:
-**1. Check base.dev**
+**1. Check Base Dashboard**
-- Visit [base.dev](https://base.dev)
+- Visit [Base Dashboard](https://dashboard.base.org)
- Select **Onchain** from the transaction type dropdown
- Under the Total Transactions section, attribution counts increment when transactions with your code are processed
diff --git a/docs/apps/builder-codes/builder-codes.mdx b/docs/apps/builder-codes/builder-codes.mdx
index 2992079d5..75c1294db 100644
--- a/docs/apps/builder-codes/builder-codes.mdx
+++ b/docs/apps/builder-codes/builder-codes.mdx
@@ -10,7 +10,7 @@ Base Builder Codes are an ERC-721 NFT collection where unique codes (e.g. "abc12
Each code has associated metadata. Onchain metadata primarily includes a "payout address" where each code declares where potential rewards should be sent to. Offchain metadata includes more details about the app including its name and site.
- Get your Builder Code by registering on [base.dev](https://base.dev/). You can find your code under **Settings** → **Builder Code**.
+ Get your Builder Code by registering in [Base Dashboard](https://dashboard.base.org). You can find your code under **Settings** → **Builder Code**.
## Integration Guides
@@ -30,7 +30,7 @@ Each code has associated metadata. Onchain metadata primarily includes a "payout
## Benefits
- **Rewards:** If your app drives transactions, Builder Codes let Base automatically attribute that usage back to you, unlocking rewards as the program expands.
-- **Analytics:** Reliably track onchain usage, user acquisition, and conversion metrics in Base.dev.
+- **Analytics:** Reliably track onchain usage, user acquisition, and conversion metrics in Base Dashboard.
- **Visibility:** Apps with Builder Codes can show up in discovery surfaces like App Leaderboards, Base App store, and ecosystem spotlights.
## FAQ
@@ -59,9 +59,9 @@ The ERC-8021 suffix adds a negligible amount of gas to each transaction at 16 ga
### How Do I Verify That My Transaction Was Properly Attributed?
-**1. Check base.dev**
+**1. Check Base Dashboard**
-- Visit [base.dev](https://base.dev)
+- Visit [Base Dashboard](https://dashboard.base.org)
- Select **Onchain** from the transaction type dropdown
- Under the Total Transactions section, attribution counts increment when transactions with your code are processed
diff --git a/docs/apps/growth/rewards.mdx b/docs/apps/growth/rewards.mdx
index ab08ab298..230cbd95e 100644
--- a/docs/apps/growth/rewards.mdx
+++ b/docs/apps/growth/rewards.mdx
@@ -4,13 +4,13 @@ title: Rewards
description: Earn financial incentives for building high-quality Apps that drive user engagement and onchain transactions
---
-[Base.dev](https://www.base.dev/) rewards developers who build Apps that deliver real value to users and drive meaningful onchain activity. You can earn rewards through verification programs, competitions, and partner opportunities.
+[Base Dashboard](https://dashboard.base.org) rewards developers who build Apps that deliver real value to users and drive meaningful onchain activity. You can earn rewards through verification programs, competitions, and partner opportunities.
## How Rewards Work
- Submit your App to be verified on [Base.dev](https://www.base.dev/). This process validates your ownership of the app by adding Base builder address.
+ Submit your App to be verified in [Base Dashboard](https://dashboard.base.org). This process validates your ownership of the app by adding a Base builder address.
@@ -22,4 +22,3 @@ description: Earn financial incentives for building high-quality Apps that driv
-
diff --git a/docs/apps/guides/migrate-to-standard-web-app.mdx b/docs/apps/guides/migrate-to-standard-web-app.mdx
index afe2fd066..31fb5a297 100644
--- a/docs/apps/guides/migrate-to-standard-web-app.mdx
+++ b/docs/apps/guides/migrate-to-standard-web-app.mdx
@@ -1,6 +1,6 @@
---
title: "Migrate to a Standard Web App"
-description: "Migrate your Farcaster mini-app to work in the Base App. Covers replacing deprecated SDK methods, and registering on Base.dev."
+description: "Migrate your Farcaster mini-app to work in the Base App. Covers replacing deprecated SDK methods and registering in Base Dashboard."
---
@@ -13,15 +13,15 @@ After April 9, 2026, the Base App treats all apps as standard web apps regardles
## What's changing
-The Base App is moving from the Farcaster mini-app spec to a single model: **standard web app + wallet**, powered by Base.dev.
+The Base App is moving from the Farcaster mini-app spec to a single model: **standard web app + wallet**, with app metadata managed in Base Dashboard.
| Before | After |
| --- | --- |
-| Farcaster manifest (`/.well-known/farcaster.json`) | App metadata on [Base.dev](https://www.base.dev) projects. Already registered apps do not need to update metadata. |
+| Farcaster manifest (`/.well-known/farcaster.json`) | App metadata in [Base Dashboard](https://dashboard.base.org) projects. Already registered apps do not need to update metadata. |
| Neynar webhooks for add/remove events | Base-owned backends (Base Account / address preferences) |
| FID-based notifications via Neynar | Wallet-address notifications through the [Notifications API](/apps/technical-guides/base-notifications) |
| Farcaster SDK for auth and actions | wagmi + viem + Sign-In with Ethereum (SIWE) |
-| Search and discovery via Farcaster | Base.dev app metadata + [builder codes](https://docs.base.org/apps/builder-codes/builder-codes) |
+| Search and discovery via Farcaster | Base Dashboard app metadata + [builder codes](https://docs.base.org/apps/builder-codes/builder-codes) |
---
@@ -164,12 +164,12 @@ Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth,
See the [compatibility table](#deprecated-farcaster-sdk-methods-in-the-base-app) for what will and won't work in the Base app, along with standard web alternatives.
-
+
Farcaster-based notifications (via Neynar, FIDs, or tokens) will not reach Base App users. Follow the [Notifications guide](/apps/technical-guides/base-notifications) to fetch opted-in wallet addresses and send notifications through the Base Dashboard API.
-
- If you haven't registered yet, create a project at [Base.dev](https://www.base.dev) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata.
+
+ If you haven't registered yet, create a project in [Base Dashboard](https://dashboard.base.org) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata.
@@ -179,7 +179,7 @@ Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth,
-Your app is already a standard web app. You're mostly done — just verify your stack and register on Base.dev.
+Your app is already a standard web app. You're mostly done — just verify your stack and register in Base Dashboard.
@@ -188,8 +188,8 @@ Your app is already a standard web app. You're mostly done — just verify your
- Uses [SIWE](https://viem.sh/docs/siwe/utilities/createSiweMessage) for authentication where needed
-
- If you haven't registered yet, create a project at [Base.dev](https://www.base.dev) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata.
+
+ If you haven't registered yet, create a project in [Base Dashboard](https://dashboard.base.org) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata.
@@ -238,11 +238,11 @@ Before considering your app migrated, verify the following:
Wallet connection and contract interactions use wagmi + viem. Authentication uses [SIWE](https://viem.sh/docs/siwe/utilities/createSiweMessage) where needed.
-
- Project is registered on [Base.dev](https://www.base.dev) with primary URL set. Name, icon, tagline, screenshots, category, description, and [builder code](/apps/builder-codes/builder-codes) are all filled in.
+
+ Project is registered in [Base Dashboard](https://dashboard.base.org) with primary URL set. Name, icon, tagline, screenshots, category, description, and [builder code](/apps/builder-codes/builder-codes) are all filled in.
-
+
Notifications are sent by wallet address using the [Notifications guide](/apps/technical-guides/base-notifications), not through Neynar, FIDs, or tokens.
diff --git a/docs/apps/llms-full.txt b/docs/apps/llms-full.txt
index 6147f00f1..b46891abc 100644
--- a/docs/apps/llms-full.txt
+++ b/docs/apps/llms-full.txt
@@ -2,12 +2,13 @@
## Apps — deep guide for LLMs
-> The Base App now treats all apps as standard web apps. Migrate from Farcaster-specific SDKs to wagmi + SIWE, register on Base.dev, and earn rewards for driving onchain activity.
+> The Base App now treats all apps as standard web apps. Migrate from Farcaster-specific SDKs to wagmi + SIWE, register in Base Dashboard, and earn rewards for driving onchain activity.
### What you can do here
- Build a Next.js app on Base with wagmi, viem, wallet connection, contract reads, contract writes, and batch transactions
+- Deploy smart contracts to Base Sepolia or Base Mainnet with Foundry
- Migrate an existing Farcaster-embedded app to a standard web app compatible with the Base App
-- Register your app on Base.dev for search, discovery, and rewards eligibility
+- Register your app in Base Dashboard for search, discovery, and rewards eligibility
- Replace deprecated Farcaster SDK methods with standard web equivalents (wagmi, viem, SIWE)
- Earn financial rewards for building apps that drive user engagement and onchain transactions
- Attribute onchain transactions to your app using Builder Codes (ERC-8021)
@@ -17,16 +18,17 @@
### Quickstart
- [Build an App](https://docs.base.org/apps/quickstart/build-app.md) — Step-by-step guide to build a Next.js app on Base with wagmi and viem
+- [Deploy on Base](https://docs.base.org/apps/quickstart/deploy-on-base.md) — Step-by-step guide to deploy a smart contract to Base with Foundry
### Guides
- [Add notifications](https://docs.base.org/apps/technical-guides/base-notifications.md) — REST API (via Base Dashboard) to fetch opted-in users and send in-app notifications; Base App only
-- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app.md) — Step-by-step migration guide: replace Farcaster SDK, update auth and wallet logic, register on Base.dev
+- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app.md) — Step-by-step migration guide: replace Farcaster SDK, update auth and wallet logic, register in Base Dashboard
### Growth
- [Rewards](https://docs.base.org/apps/growth/rewards.md) — Verification programs, competitions, and partner opportunities for earning rewards
### Builder Codes
-- [Builder Codes overview](https://docs.base.org/apps/builder-codes/builder-codes.md) — ERC-8021 NFT codes that attribute onchain transactions to your app; register on base.dev under Settings → Builder Code
+- [Builder Codes overview](https://docs.base.org/apps/builder-codes/builder-codes.md) — ERC-8021 NFT codes that attribute onchain transactions to your app; register in Base Dashboard under Settings → Builder Code
- [For App Developers](https://docs.base.org/apps/builder-codes/app-developers.md) — Append a dataSuffix to transactions using wagmi or viem; no contract changes required
- [For Wallet Developers](https://docs.base.org/apps/builder-codes/wallet-developers.md) — Implement the ERC-5792 DataSuffixCapability so wallets pass through attribution suffixes
- [For Agent Developers](https://docs.base.org/apps/builder-codes/agent-developers.md) — Attribute AI agent transactions via the Builder Codes API
@@ -39,25 +41,25 @@ After April 9, 2026, the Base App treats all apps as standard web apps regardles
| Before | After |
| --- | --- |
-| Farcaster manifest (`/.well-known/farcaster.json`) | App metadata on Base.dev |
+| Farcaster manifest (`/.well-known/farcaster.json`) | App metadata in Base Dashboard |
| Neynar webhooks for add/remove events | Base-owned backends (Base Account / address preferences) |
| FID-based notifications via Neynar | Wallet-address notifications through the Notifications API |
| Farcaster SDK for auth and actions | wagmi + viem + Sign-In with Ethereum (SIWE) |
-| Search and discovery via Farcaster | Base.dev app metadata + builder codes |
+| Search and discovery via Farcaster | Base Dashboard app metadata + builder codes |
Migration options:
- **AI agent migration** — Install the Migration Skill: `npx skills add base/skills`, then ask your agent to migrate your Farcaster-embedded app to a standard web app
-- **Manual migration** — Follow the step-by-step guide to replace SDK methods, update auth, and register on Base.dev
+- **Manual migration** — Follow the step-by-step guide to replace SDK methods, update auth, and register in Base Dashboard
Source: `https://docs.base.org/apps/growth/rewards.md`
-Base.dev rewards developers who build apps that deliver real value and drive meaningful onchain activity:
-1. Submit your app for verification on Base.dev — validates ownership by adding a Base builder address in the manifest
+Base Dashboard rewards developers who build apps that deliver real value and drive meaningful onchain activity:
+1. Submit your app for verification in Base Dashboard — validates ownership by adding a Base builder address in the manifest
2. Access earning opportunities — partner programs, competitions, and special campaigns
Source: `https://docs.base.org/apps/builder-codes/builder-codes.md`
-Builder Codes are ERC-721 NFTs (unique strings like "abc123") that tag transactions with your app identity using ERC-8021 calldata suffixes. No contract changes are required — attribution is extracted offchain. Benefits: automatic reward attribution, analytics on base.dev, and discovery surface visibility. The suffix adds 16 gas per non-zero byte. Works with EOAs, smart wallets (ERC-5792 `dataSuffix` capability), and embedded wallets (Privy, Turnkey).
+Builder Codes are ERC-721 NFTs (unique strings like "abc123") that tag transactions with your app identity using ERC-8021 calldata suffixes. No contract changes are required — attribution is extracted offchain. Benefits: automatic reward attribution, analytics in Base Dashboard, and discovery surface visibility. The suffix adds 16 gas per non-zero byte. Works with EOAs, smart wallets (ERC-5792 `dataSuffix` capability), and embedded wallets (Privy, Turnkey).
Source: `https://docs.base.org/apps/technical-guides/base-notifications.md`
diff --git a/docs/apps/llms.txt b/docs/apps/llms.txt
index 9984d6f6c..68a18dd11 100644
--- a/docs/apps/llms.txt
+++ b/docs/apps/llms.txt
@@ -2,21 +2,21 @@
## Apps documentation
-> Build apps that run in the Base App as standard web apps — no Farcaster SDK required. Register on Base.dev, use wagmi + SIWE for auth, and earn rewards for driving onchain activity.
+> Build apps that run in the Base App as standard web apps — no Farcaster SDK required. Register in Base Dashboard, use wagmi + SIWE for auth, and earn rewards for driving onchain activity.
## Quickstart
- [Build an App](https://docs.base.org/apps/quickstart/build-app.md) — End-to-end guide to ship your first app on Base
+- [Deploy on Base](https://docs.base.org/apps/quickstart/deploy-on-base.md) — Set up Foundry, configure RPCs, and deploy your first contract
## Guides
- [Add notifications](https://docs.base.org/apps/technical-guides/base-notifications.md) — Send in-app notifications to users via the Base Dashboard REST API
-- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app.md) — Replace deprecated Farcaster SDK methods and register your app on Base.dev
+- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app.md) — Replace deprecated Farcaster SDK methods and register your app in Base Dashboard
## Growth
- [Rewards](https://docs.base.org/apps/growth/rewards.md) — Earn financial incentives for building apps that drive user engagement and onchain transactions
## Builder Codes
-- [Builder Codes overview](https://docs.base.org/apps/builder-codes/builder-codes.md) — Attribute onchain activity to your app using ERC-8021 NFT codes; register on base.dev
+- [Builder Codes overview](https://docs.base.org/apps/builder-codes/builder-codes.md) — Attribute onchain activity to your app using ERC-8021 NFT codes; register in Base Dashboard
- [For App Developers](https://docs.base.org/apps/builder-codes/app-developers.md) — Integrate Builder Codes using wagmi or viem
- [For Wallet Developers](https://docs.base.org/apps/builder-codes/wallet-developers.md) — Implement the dataSuffix ERC-5792 capability
- [For Agent Developers](https://docs.base.org/apps/builder-codes/agent-developers.md) — Attribute AI agent transactions via the API
-
diff --git a/docs/base-chain/quickstart/deploy-on-base.mdx b/docs/apps/quickstart/deploy-on-base.mdx
similarity index 96%
rename from docs/base-chain/quickstart/deploy-on-base.mdx
rename to docs/apps/quickstart/deploy-on-base.mdx
index af591acd6..b15b1f479 100644
--- a/docs/base-chain/quickstart/deploy-on-base.mdx
+++ b/docs/apps/quickstart/deploy-on-base.mdx
@@ -1,5 +1,6 @@
---
title: 'Deploy on Base'
+description: Deploy a smart contract to Base Sepolia with Foundry.
---
Welcome to the Base deployment quickstart guide! This comprehensive walkthrough will help you set up your environment and deploy smart contracts on Base. Whether you're a seasoned developer or just starting out, this guide has got you covered.
@@ -122,7 +123,7 @@ Note the format of the contract being deployed is `:
- Learn how to use analytics and Base.dev to optimize your mini app's growth.
+ Learn how to use analytics in Base Dashboard to optimize your mini app's growth.
-
diff --git a/docs/base-account/overview/what-is-base-account.mdx b/docs/base-account/overview/what-is-base-account.mdx
index f996994b9..76d03d276 100644
--- a/docs/base-account/overview/what-is-base-account.mdx
+++ b/docs/base-account/overview/what-is-base-account.mdx
@@ -27,6 +27,23 @@ import SupportedChains from "/snippets/supported-chains.mdx";
* **Cross-app identity** – fetch a verified email or shipping address via the same SDK.
* **Self-custodial** – users hold the keys; you never touch private data or funds.
+## Where Base Account fits
+
+
+
+ Base Accounts power sign-in, payments, identity, and wallet interactions in the Base App.
+
+
+ Register apps, manage Builder Codes, and access app analytics from the developer dashboard.
+
+
+ Build standard web apps that connect through Base Account in the Base App.
+
+
+ Attribute onchain activity from Base Account transactions back to your app.
+
+
+
## Next steps
| Goal | Start here |
diff --git a/docs/base-account/reference/core/capabilities/dataSuffix.mdx b/docs/base-account/reference/core/capabilities/dataSuffix.mdx
index ad8324240..228e05d1d 100644
--- a/docs/base-account/reference/core/capabilities/dataSuffix.mdx
+++ b/docs/base-account/reference/core/capabilities/dataSuffix.mdx
@@ -111,7 +111,7 @@ import { Attribution } from "ox/erc8021";
// Example: Using Builder Code with dataSuffix.
// Using the ox/erc8021 package to generate the ERC-8021 suffix from your builder code.
const builderCodeSuffix = Attribution.toDataSuffix({
- codes: ['bc_foobar'], // Get your code from base.dev
+ codes: ['bc_foobar'], // Get your code from Base Dashboard
});
await provider.request({
@@ -135,16 +135,16 @@ await provider.request({
});
```
-Register on [base.dev](https://base.dev) to get your Builder Code for proper attribution.
+Register in [Base Dashboard](https://dashboard.base.org) to get your Builder Code for proper attribution.
## Best Practices
-1. **Use with Builder Codes**: Register on [base.dev](https://base.dev) to get your Builder Code for proper attribution
+1. **Use with Builder Codes**: Register in [Base Dashboard](https://dashboard.base.org) to get your Builder Code for proper attribution
2. **Set optional appropriately**: Use `optional: true` if your app can function without attribution tracking
3. **Keep suffixes small**: Larger suffixes increase gas costs
-For wallet developers implementing dataSuffix support, see the [For Wallet Developers](/apps/builder-codes/builder-codes#for-wallet-developers) section in the Builder Codes guide.
+For wallet developers implementing dataSuffix support, see the [Builder Codes for Wallet Developers](/apps/builder-codes/wallet-developers) guide.
## Related Capabilities
diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx
index a9dcad6dc..2383fdc78 100644
--- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx
+++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx
@@ -11,7 +11,7 @@ Executes a message call immediately without broadcasting a transaction to the ne
-**`eth_call "pending"` block context on Flashblocks nodes:** Block-context properties (`block.number`, `block.timestamp`, `block.basefee`) may reflect a block several behind tip due to how nodes cache historical Flashblocks. See the [FAQ](/base-chain/flashblocks/faq#why-does-eth_call-pending-report-a-block-context-several-blocks-behind-tip) for details.
+**`eth_call "pending"` block context on Flashblocks nodes:** Block-context properties (`block.number`, `block.timestamp`, `block.basefee`) may reflect a block several behind tip because Flashblocks-aware nodes keep historical Flashblocks state to tolerate propagation differences. The call result still reflects received Flashblocks state applied on top of that base context, but contracts that depend on block context properties should account for this behavior.
## Parameters
@@ -65,7 +65,7 @@ Executes a message call immediately without broadcasting a transaction to the ne
## Example
-
+
```bash Standard (latest)
curl https://mainnet.base.org \
-X POST \
@@ -101,7 +101,9 @@ curl https://mainnet-preconf.base.org \
"id": 1
}'
```
+
+
```json Response
{
"jsonrpc": "2.0",
@@ -109,4 +111,4 @@ curl https://mainnet-preconf.base.org \
"result": "0x0000000000000000000000000000000000000000000000000000000005f5e100"
}
```
-
+
diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx
index 1fa83cf57..7720617cc 100644
--- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx
+++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx
@@ -26,8 +26,8 @@ Returns information about a block by its number.
A block object, or `null` if no block was found.
- Block number in hex. `null` when pending.
- Block hash. `null` when pending.
+ Block number in hex. Standard `"pending"` responses may return `null`; Flashblocks `"pending"` returns the current block number being built.
+ Block hash. Standard `"pending"` responses may return `null`; Flashblocks `"pending"` returns the partial block hash at the current Flashblock index.Hash of the parent block.PoW nonce. Always `"0x0000000000000000"` on Base (PoS).Hash of the uncles list. Always empty on Base.
diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx
index cbb40be0e..5c298e7b7 100644
--- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx
+++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx
@@ -1,14 +1,14 @@
---
title: 'eth_getTransactionReceipt'
sidebarTitle: 'eth_getTransactionReceipt'
-description: 'Returns the receipt for a mined transaction. Receipts are only available after a transaction is included in a block.'
+description: 'Returns the receipt for a transaction. Flashblocks endpoints can return preconfirmed receipt data from cache before the block seals.'
---
-Returns the receipt for a transaction by its hash. Returns `null` for transactions that are pending or have not been mined.
+Returns the receipt for a transaction by its hash. On Standard RPC endpoints, receipts are available after a transaction is included in a sealed block. On Flashblocks RPC endpoints, this method can return preconfirmed receipt data from the Flashblocks cache before the block seals.
-
-Receipts are only available for mined transactions. To monitor a transaction before it is sealed, use [`base_transactionStatus`](/base-chain/api-reference/flashblocks-api/base_transactionStatus) to confirm it is in the mempool, or subscribe to [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) to detect its pre-confirmation in a Flashblock.
-
+
+Preconfirmed receipts are reorg-able until the full L2 block seals. This method does not accept a `pending` parameter; Flashblocks behavior is selected by using a Flashblocks RPC endpoint. See the [RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix) for the canonical method matrix.
+
## Parameters
@@ -19,7 +19,7 @@ Receipts are only available for mined transactions. To monitor a transaction bef
## Returns
- The transaction receipt object, or `null` if the transaction has not been mined.
+ The transaction receipt object, or `null` if the transaction was not found. On Flashblocks endpoints, the result can be a preconfirmed receipt from the Flashblocks cache.
32-byte transaction hash.
@@ -49,7 +49,7 @@ Receipts are only available for mined transactions. To monitor a transaction bef
## Flashblock-Specific Response Fields
-The Flashblocks infrastructure stream includes pre-confirmed receipt data inside the `metadata.receipts` object of each Flashblock payload before the block seals. This abbreviated receipt matches the full receipt shape:
+Before Azul, the Flashblocks infrastructure stream included pre-confirmed receipt data inside the `metadata.receipts` object of each Flashblock payload before the block sealed. Azul removes receipts from the raw WebSocket payload. Applications should use Flashblocks RPC by-hash lookups or subscriptions instead of depending on raw stream receipt payloads.
| Field | Flashblock `metadata.receipts[hash]` |
| --- | --- |
diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx
index 80a96ea75..e27cae755 100644
--- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx
+++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx
@@ -1,7 +1,7 @@
---
title: 'eth_sendRawTransaction'
sidebarTitle: 'eth_sendRawTransaction'
-description: 'Submits a pre-signed transaction to the network. Submit to a Flashblocks preconf endpoint to get 200ms pre-confirmation.'
+description: 'Submits a pre-signed transaction to the network. Use a Flashblocks preconf endpoint when you need faster pre-confirmation signals.'
---
Submits a pre-signed, RLP-encoded transaction to the network and returns its hash.
@@ -33,7 +33,7 @@ Submits a pre-signed, RLP-encoded transaction to the network and returns its has
## Example
-
+
```bash Standard
curl https://mainnet.base.org \
-X POST -H "Content-Type: application/json" \
@@ -45,7 +45,9 @@ curl https://mainnet-preconf.base.org \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0x02f86b82210501843b9aca008477359400825208944200000000000000000000000000000000000006872c68af0bb1400080c001a0..."],"id":1}'
```
+
+
```json Response
{
"jsonrpc": "2.0",
@@ -53,4 +55,4 @@ curl https://mainnet-preconf.base.org \
"result": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
}
```
-
+
diff --git a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx
index 18c24eccb..537b47317 100644
--- a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx
+++ b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx
@@ -66,7 +66,7 @@ Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `h
## Example
-
+
```bash cURL
curl https://sepolia-preconf.base.org \
-X POST \
@@ -90,7 +90,9 @@ curl https://sepolia-preconf.base.org \
"id": 1
}'
```
+
+
```json Response
{
"jsonrpc": "2.0",
@@ -109,4 +111,4 @@ curl https://sepolia-preconf.base.org \
]
}
```
-
+
diff --git a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx
index e3c88fa5a..893ef7e79 100644
--- a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx
+++ b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx
@@ -35,6 +35,10 @@ The raw Flashblocks infrastructure stream is the upstream WebSocket feed consume
**Applications should not connect directly to the infrastructure stream.** These endpoints are for node operators only. App developers should use the [WebSocket subscription methods](#websocket-subscriptions) above via a Flashblocks-aware RPC provider.
+
+Azul simplifies the raw Flashblocks WebSocket payload. Account balances and receipts are not populated in the raw stream after Azul. Applications that need preconfirmed transaction or receipt data should use Flashblocks RPC behavior described in the [RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix).
+
+
| Network | Raw stream URL |
| :--- | :--- |
| Mainnet | `wss://mainnet.flashblocks.base.org/ws` |
@@ -44,13 +48,13 @@ The raw Flashblocks infrastructure stream is the upstream WebSocket feed consume
The root structure of each infrastructure stream message.
-
+
Unique identifier for the block being built. Remains consistent across all Flashblocks within a single full block.
-Flashblock index within the current block. Starts at 0 (system transactions only). User transactions begin at index 1. Typically reaches 9–10 per block, but [may exceed 10](/base-chain/flashblocks/faq#why-can-the-flashblock-index-exceed-10) during sequencer timing drift.
+Flashblock index within the current block. Starts at 0 (system transactions only). User transactions begin at index 1. Typically reaches 9-10 per block, but can exceed 10 during sequencer timing drift. Do not hardcode a final index; use `payload_id` changes or full block confirmation via standard RPC as the signal that the block has advanced.
@@ -70,7 +74,7 @@ Supplemental data. **Unstable — fields may change without notice.** See [Metad
Contains full block header properties. **Only present in the `index: 0` message** (the first Flashblock of each full block).
-
+Hash of the parent block.Address receiving transaction fees (coinbase).Block number in hex.
@@ -85,7 +89,7 @@ Contains full block header properties. **Only present in the `index: 0` message*
Contains the incremental block state changes for this specific Flashblock. Present in every message.
-
+Merkle root of the state trie after applying this Flashblock's transactions.Hash of the partial block at this Flashblock index. Changes with each Flashblock as more transactions are pre-confirmed.Cumulative gas used up to and including this Flashblock (hex).
@@ -100,34 +104,13 @@ Contains the incremental block state changes for this specific Flashblock. Prese
### Metadata Object
-**The `metadata` object is not stable.** Fields may be added, modified, or removed without prior notice. Do not build production dependencies on it — use the [`diff`](#diff-object) object or query finalized block data via standard RPC instead.
+**The `metadata` object is not stable.** Fields may be added, modified, or removed without prior notice. Do not build production dependencies on it — use the [`diff`](#diff-object), Flashblocks RPC methods, or finalized block data via standard RPC instead.
-
-Block number as a decimal integer.
-Map of addresses to their updated ETH balances (hex). Only includes accounts whose balances changed in this Flashblock.
-Map of transaction hashes to their [Receipt](#receipt-object) objects.
-
-
-### Receipt Object
-
-The abbreviated transaction receipt included in `metadata.receipts`. Check the `type` field to determine transaction type.
+After Azul, the raw infrastructure stream does not populate account balances or transaction receipts in `metadata`. Use Flashblocks RPC by-hash lookups, `pendingLogs`, or `newFlashblockTransactions` when you need preconfirmed transaction, receipt, or log data.
-
-Transaction type: `0x0` Legacy, `0x1` Access List, `0x2` EIP-1559, `0x7e` Deposit (L1→L2).
-Transaction status: `0x1` for success, `0x0` for failure.
-Total gas used in the block up to and including this transaction (hex).
-Array of event logs emitted by the transaction. See [Log Object](#log-object).
-Bloom filter for the logs in this receipt.
-Index of the transaction within the block (hex).
-
-
-### Log Object
-
-
-Contract address that emitted the event.
-Array of indexed event parameters. Topic 0 is typically the event signature hash.
-ABI-encoded non-indexed event parameters.
+
+Block number as a decimal integer.
### Complete Examples
@@ -154,20 +137,7 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the `
"withdrawals": []
},
"metadata": {
- "block_number": 22585577,
- "new_account_balances": {
- "0x000f3df6d732807ef1319fb7b8bb8522d0beac02": "0x0"
- },
- "receipts": {
- "0x07d7f06b06fea714c1d1d446efa2790c6970aa74ee006186a32b5b7dd8ca2d82": {
- "type": "0x7e",
- "status": "0x1",
- "cumulativeGasUsed": "0xab3f",
- "logs": [],
- "logsBloom": "0x00000000...",
- "transactionIndex": "0x0"
- }
- }
+ "block_number": 22585577
}
}
```
@@ -186,20 +156,7 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the `
"withdrawals": []
},
"metadata": {
- "block_number": 22585577,
- "new_account_balances": {
- "0x4200000000000000000000000000000000000015": "0x1234"
- },
- "receipts": {
- "0x7c69632dc315f13a...": {
- "type": "0x2",
- "status": "0x1",
- "cumulativeGasUsed": "0x1234f",
- "logs": [],
- "logsBloom": "0x00000000...",
- "transactionIndex": "0x1"
- }
- }
+ "block_number": 22585577
}
}
```
diff --git a/docs/base-chain/api-reference/rpc-overview.mdx b/docs/base-chain/api-reference/rpc-overview.mdx
index 688e56fcb..b4802b7d1 100644
--- a/docs/base-chain/api-reference/rpc-overview.mdx
+++ b/docs/base-chain/api-reference/rpc-overview.mdx
@@ -1,113 +1,179 @@
---
title: 'Base RPC Overview'
sidebarTitle: 'Overview'
-description: 'Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes.'
+description: 'How to choose between Standard RPC, Flashblocks RPC, and API method families on Base.'
---
-Base exposes a single, fully EVM-compatible JSON-RPC API across two performance tiers. You can move from 2-second block confirmations to 200ms pre-confirmations by switching one URL and one block tag.
+import BaseNetworks from "/snippets/base-networks.mdx";
-## Networks
+Base exposes an EVM-compatible JSON-RPC API through two RPC tiers:
-| Network | Chain ID | Type | Archive |
-| :--- | :--- | :--- | :--- |
-| Mainnet | `8453` | Production | Yes |
-| Sepolia | `84532` | Testnet | Yes |
+- **Standard RPC** for normal Ethereum-compatible reads, writes, logs, and debugging against sealed blocks and standard pending state.
+- **Flashblocks RPC** for apps that need preconfirmed state and transaction signals before the next L2 block seals.
-## Endpoints
+Most apps should start with Standard RPC. Use Flashblocks RPC when faster state reads, transaction feedback, or realtime subscriptions materially improve the user experience.
-
-
- | Tier | HTTP | WSS |
- | :--- | :--- | :--- |
- | Standard | `https://mainnet.base.org` | `wss://mainnet.base.org` |
- | Flashblocks | `https://mainnet-preconf.base.org` | `wss://mainnet-preconf.base.org` |
-
-
- | Tier | HTTP | WSS |
- | :--- | :--- | :--- |
- | Standard | `https://sepolia.base.org` | `wss://sepolia.base.org` |
- | Flashblocks | `https://sepolia-preconf.base.org` | `wss://sepolia-preconf.base.org` |
-
-
+## Choose an RPC Tier
+
+| If your app needs to... | Use... | Notes |
+| :--- | :--- | :--- |
+| Read confirmed chain state | Standard RPC with `"latest"` | Default choice for balances, contract reads, blocks, receipts, and logs. |
+| Submit transactions | Standard or Flashblocks RPC | `eth_sendRawTransaction` broadcasts the signed transaction; confirmation behavior depends on how you read it back. |
+| Read preconfirmed state | Flashblocks RPC with `"pending"` | Useful for balances, storage, `eth_call`, gas estimation, pending logs, and block reads before the L2 block seals. |
+| Track a transaction before it seals | Flashblocks RPC by hash, `base_transactionStatus`, or subscriptions | Preconfirmed transaction and receipt responses are strong signals, not finality guarantees. |
+| Operate RPC or node infrastructure | Flashblocks RPC plus the raw Flashblocks stream when needed | The raw stream is infrastructure-oriented. Apps should usually use RPC methods and subscriptions. |
-
-The public endpoints above are rate-limited and not suitable for production traffic. For production use, connect through a [node provider](/base-chain/node-operators/node-providers).
-
+
+For many app reads, the practical change is switching to a Flashblocks endpoint and using the `"pending"` block tag.
+
## What is the Flashblocks Tier?
-Flashblocks endpoints are fully EVM-equivalent; every standard `eth_` method works identically. The difference is in what the `pending` block tag returns:
+Flashblocks are sub-block preconfirmations produced while Base is building the next L2 block. Standard L2 blocks seal about every 2 seconds. Flashblocks expose the block-in-progress at about 200ms resolution, so apps can read sequencer-ordered state before the full L2 block is sealed.
-- On **Standard** endpoints, `pending` reflects the transaction pool (unmined state).
-- On **Flashblocks** endpoints, `pending` reflects the current **pre-confirmed block in progress**, updated every ~200ms with new batches of sequencer-ordered transactions.
+On **Standard RPC**, `"pending"` follows normal Ethereum JSON-RPC behavior and reflects pending transaction pool state.
-Calls like `eth_getBalance`, `eth_getStorageAt`, and `eth_call` run against real sequencer state up to 1.8 seconds before the block seals, with sub-second latency.
+On **Flashblocks RPC**, `"pending"` reflects the current preconfirmed block-in-progress. Methods such as `eth_getBalance`, `eth_getStorageAt`, `eth_call`, and `eth_estimateGas` can use that preconfirmed state.
-## API Reference
+
+Preconfirmed responses are reorg-able until the full L2 block seals. For finality stages and the Flashblock reorg SLO, see [Transaction Finality](/base-chain/network-information/transaction-finality).
+
-### Ethereum JSON-RPC API
+## Common Tasks
-Core Ethereum protocol methods for account queries, block and transaction data, gas estimation, and log filtering. All methods work on both Standard and Flashblocks endpoints.
+
+
+ Use `eth_call`, `eth_getBalance`, `eth_getStorageAt`, `eth_getCode`, and `eth_getTransactionCount`. Add `"pending"` on Flashblocks RPC to read preconfirmed state.
+
+
+ Broadcast signed transactions with `eth_sendRawTransaction`, then choose Standard or Flashblocks reads depending on the confirmation signal your app needs.
+
+
+ Use transaction and receipt lookups for sealed data. On Flashblocks RPC, by-hash lookups can also return preconfirmed cache data before the L2 block seals.
+
+
+ Use WebSocket subscriptions such as `eth_subscribe`, `newFlashblockTransactions`, `pendingLogs`, and `newFlashblocks` when polling is too slow.
+
+
+ Use `eth_simulateV1` to simulate bundles against preconfirmed state on Flashblocks endpoints.
+
+
+ Use debug methods for local development, transaction traces, and block replay. Availability and rate limits vary by provider.
+
+
-
-Methods marked ✓ support the `"pending"` block tag on Flashblocks endpoints.
-
+## Endpoint URLs
-| Method | Description | Flashblocks `pending` |
-| :--- | :--- | :--- |
-| [eth_blockNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber) | Current block number | — |
-| [eth_getBalance](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance) | Account ETH balance | ✓ |
-| [eth_getTransactionCount](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount) | Account nonce / tx count | ✓ |
-| [eth_getCode](/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode) | Deployed contract bytecode | ✓ |
-| [eth_getStorageAt](/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt) | Contract storage slot value | ✓ |
-| [eth_call](/base-chain/api-reference/ethereum-json-rpc-api/eth_call) | Execute read-only call | ✓ |
-| [eth_getBlockByNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber) | Block data by number | ✓ |
-| [eth_getBlockByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash) | Block data by hash | — |
-| [eth_getBlockReceipts](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts) | All receipts for a block | ✓ |
-| [eth_getBlockTransactionCountByNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber) | Tx count by block number | ✓ |
-| [eth_getBlockTransactionCountByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash) | Tx count by block hash | — |
-| [eth_getTransactionByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash) | Transaction data by hash | — |
-| [eth_getTransactionByBlockHashAndIndex](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex) | Tx by block hash and index | — |
-| [eth_getTransactionByBlockNumberAndIndex](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex) | Tx by block number and index | — |
-| [eth_getTransactionReceipt](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt) | Receipt for a mined tx | — |
-| [eth_sendRawTransaction](/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction) | Submit signed transaction | — |
-| [eth_gasPrice](/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice) | Current gas price | — |
-| [eth_maxPriorityFeePerGas](/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas) | Max priority fee estimate | — |
-| [eth_feeHistory](/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory) | Historical base fee and rewards | — |
-| [eth_estimateGas](/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas) | Estimate gas for a tx | ✓ |
-| [eth_getLogs](/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs) | Query event logs by filter | ✓ |
-| [eth_chainId](/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId) | Network chain ID | — |
-| [eth_syncing](/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing) | Node sync status | — |
-| [net_version](/base-chain/api-reference/ethereum-json-rpc-api/net_version) | Network version ID | — |
-| [web3_clientVersion](/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion) | Client version string | — |
-| [eth_subscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe) | Subscribe to events (WSS) | ✓ |
-| [eth_unsubscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe) | Cancel a subscription (WSS) | — |
+Most readers can use their provider's Base endpoint directly. Expand this section when you need the public Base RPC URLs, chain IDs, explorers, or Flashblocks endpoint URLs.
-### Flashblocks API
+
+
+
-Pre-confirmation methods for sub-second transaction signals on Base. These methods are only available on Flashblocks endpoints and enable reading state, simulating bundles, and streaming events up to ~1.8 seconds before a block seals.
+## API Surfaces
-| Method | Description |
-| --- | --- |
-| [eth_simulateV1](/base-chain/api-reference/flashblocks-api/eth_simulateV1) | Simulate transaction bundles against pre-confirmed state |
-| [base_transactionStatus](/base-chain/api-reference/flashblocks-api/base_transactionStatus) | Check if a transaction has been received by the mempool |
-| [newFlashblockTransactions](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) | Subscribe to individual pre-confirmed transactions |
-| [pendingLogs](/base-chain/api-reference/flashblocks-api/pendingLogs) | Subscribe to filtered logs from pre-confirmed transactions |
-| [newFlashblocks](/base-chain/api-reference/flashblocks-api/newFlashblocks) | Subscribe to full Flashblock payload stream |
+### Ethereum JSON-RPC API
+
+Core Ethereum protocol methods for account queries, contract calls, block and transaction data, gas estimation, log filtering, transaction submission, and WebSocket subscriptions. These methods work on both Standard and Flashblocks endpoints.
+
+
+
+ `eth_call`, `eth_getBalance`, `eth_getStorageAt`, `eth_getCode`, `eth_getTransactionCount`
+
+
+ `eth_getBlockByNumber`, `eth_getBlockByHash`, transaction count methods, transaction lookups, receipts
+
+
+ `eth_estimateGas`, `eth_gasPrice`, `eth_maxPriorityFeePerGas`, `eth_feeHistory`
+
+
+ `eth_getLogs`, `eth_subscribe`, `eth_unsubscribe`
+
+
+
+### Flashblocks API
+
+Flashblocks methods provide preconfirmation-specific capabilities on Flashblocks endpoints. Use them when your app needs sub-second transaction status, filtered pending logs, preconfirmed transaction streams, or bundle simulation.
+
+
+
+ Check whether a transaction has reached the mempool before it is sealed into an L2 block.
+
+
+ Subscribe to filtered logs from preconfirmed transactions.
+
+
+ Subscribe to individual preconfirmed transactions.
+
+
+ Subscribe to Flashblock payloads. Most apps should prefer higher-level RPC methods unless they need the raw payload shape.
+
+
### Debug API
-Development and debugging utilities for deep transaction inspection and block replay. Debug methods replay transactions and are computationally expensive — availability and rate limits vary by [node provider](/base-chain/node-operators/node-providers).
+Debug methods replay transactions and blocks for development and incident analysis. They are computationally expensive, so availability and rate limits vary by [node provider](/base-chain/node-operators/node-providers).
+
+
+
+ Inspect full EVM execution for a transaction.
+
+
+ Replay all transactions in a block by number or hash.
+
+
+
+## Flashblocks Behavior Matrix
+
+The table below is the canonical behavior summary for pages that need exact Flashblocks semantics. Most app developers only need the decision table above; use this section when you are choosing method-level behavior or documenting provider expectations.
+
+
+
+ Use the Flashblocks endpoint with the `"pending"` block tag when you want preconfirmed state.
+
+ | Surface | Standard RPC | Flashblocks RPC |
+ | :--- | :--- | :--- |
+ | State reads: `eth_call`, `eth_getBalance`, `eth_getStorageAt`, `eth_getCode`, `eth_getTransactionCount` | Ethereum JSON-RPC behavior against sealed blocks or standard pending state. | With `"pending"`, reflects the current Flashblock state. |
+ | Block reads: `eth_getBlockByNumber`, `eth_getBlockReceipts`, block transaction counts by number | Ethereum JSON-RPC behavior against sealed blocks. | With `"pending"`, reflects the current Flashblock state. |
+
+ `eth_getBlockByHash` and block transaction counts by hash do not use a `"pending"` tag because they identify an explicit block hash.
+
+
+
+ Transaction and receipt lookups by hash do not accept a `"pending"` parameter. Flashblocks behavior is selected by using a Flashblocks RPC endpoint.
+
+ | Method | Standard RPC | Flashblocks RPC |
+ | :--- | :--- | :--- |
+ | `eth_getTransactionByHash` | Returns sealed transaction data, or `null` if not found. | Can return preconfirmed transaction data from the Flashblocks cache before the L2 block seals. |
+ | `eth_getTransactionReceipt` | Returns sealed receipt data, or `null` if not found. | Can return preconfirmed receipt data from the Flashblocks cache before the L2 block seals. |
+
+ Preconfirmed by-hash responses can be reorged before the full L2 block seals.
+
+
+
+ Flashblocks-only methods and subscriptions are available only on Flashblocks endpoints.
+
+ | Surface | Behavior |
+ | :--- | :--- |
+ | `eth_simulateV1` | Simulates bundles against preconfirmed state. |
+ | `base_transactionStatus` | Checks whether a transaction has reached the mempool. |
+ | `newFlashblockTransactions` | Streams individual preconfirmed transactions. |
+ | `pendingLogs` | Streams filtered logs from preconfirmed transactions. |
+ | `newFlashblocks` | Streams Flashblock payloads over WebSocket. |
+
+
+
+ The raw Flashblocks WebSocket stream is intended for infrastructure and node operators, not normal application polling. Applications should usually use RPC methods, by-hash lookups, or Flashblocks subscriptions instead.
+
+ Azul removes account balances and receipts from the raw WebSocket payload. Apps that need preconfirmed transaction or receipt data should use Flashblocks RPC behavior rather than depending on raw stream payload fields.
+
+
-| Method | Description |
-| --- | --- |
-| [debug_traceTransaction](/base-chain/api-reference/debug-api/debug_traceTransaction) | Full EVM execution trace for a transaction |
-| [debug_traceBlockByHash](/base-chain/api-reference/debug-api/debug_traceBlockByHash) | EVM traces for all transactions in a block by hash |
-| [debug_traceBlockByNumber](/base-chain/api-reference/debug-api/debug_traceBlockByNumber) | EVM traces for all transactions in a block by number |
+## Request and Response Format
-## Request & Response Format
+All JSON-RPC requests are HTTP POST requests with `Content-Type: application/json`.
-All requests are HTTP POST with `Content-Type: application/json`.
+Every request includes the JSON-RPC version, method name, ordered parameters, and an ID that is echoed back in the response.
| Field | Type | Description |
| :--- | :--- | :--- |
@@ -116,39 +182,7 @@ All requests are HTTP POST with `Content-Type: application/json`.
| `params` | array | Method parameters in order |
| `id` | number \| string | Identifier echoed back in the response |
-**Request:**
-
-```json
-{
- "jsonrpc": "2.0",
- "method": "eth_getBalance",
- "params": ["0x742d35Cc6634C0532925a3b8D4C9dD0b4f3BaEa", "pending"],
- "id": 1
-}
-```
-
-**Success response:**
-
-```json
-{
- "jsonrpc": "2.0",
- "id": 1,
- "result": "0x1a055690d9db80000"
-}
-```
-
-**Error response:**
-
-```json
-{
- "jsonrpc": "2.0",
- "id": 1,
- "error": {
- "code": -32602,
- "message": "Invalid params"
- }
-}
-```
+Successful responses include `jsonrpc`, `id`, and `result`. Error responses include `jsonrpc`, `id`, and an `error` object with a numeric `code` and human-readable `message`.
## Error Codes
@@ -159,14 +193,14 @@ All requests are HTTP POST with `Content-Type: application/json`.
| `-32601` | Method not found | Method does not exist or is unavailable |
| `-32602` | Invalid params | Invalid method parameters |
| `-32603` | Internal error | Internal JSON-RPC error |
-| `-32000` | Server error | Node-specific error (see message) |
+| `-32000` | Server error | Node-specific error. See the returned message for details. |
## Block Parameters
-| Value | Standard | Flashblocks |
+| Value | Standard RPC | Flashblocks RPC |
| --- | --- | --- |
| `"latest"` | Most recently sealed block | Most recently sealed block |
-| `"pending"` | Unmined transaction pool state | **Current Flashblock in progress (~200ms resolution)** |
+| `"pending"` | Unmined transaction pool state | Current Flashblock in progress, at about 200ms resolution |
| `"safe"` | Latest safe block | Latest safe block |
| `"finalized"` | Latest finalized block | Latest finalized block |
| `"earliest"` | Genesis block | Genesis block |
diff --git a/docs/base-chain/flashblocks/app-integration.mdx b/docs/base-chain/flashblocks/app-integration.mdx
deleted file mode 100644
index 9c3b3c890..000000000
--- a/docs/base-chain/flashblocks/app-integration.mdx
+++ /dev/null
@@ -1,203 +0,0 @@
----
-title: App Integration
-sidebarTitle: App Integration
-description: Integrate Flashblocks into your app for 200ms transaction confirmations using RPC APIs and popular libraries like Ethers, Wagmi and Viem.
----
-
-Choose the integration method that fits your use case:
-
-| Use Case | Recommended Approach | Documentation |
-|----------|---------------------|---------------|
-| **Apps needing instant UX** | Flashblocks-aware RPC with `pending` tag | [API Reference](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview) |
-| **Infrastructure providers** | Host Flashblocks-aware RPC nodes | [Enable Flashblocks](/base-chain/node-operators/run-a-base-node#enable-flashblocks) |
-| **Standard apps** | Continue using regular RPCs | [JSON-RPC API Reference](/base-chain/api-reference/rpc-overview) |
-
-
-Applications should avoid hard dependencies on the WebSocket stream. RPCs provide stable behavior and automatic failover to regular blocks if Flashblocks go down.
-
-
-## RPC Endpoints
-
-For HTTP and WebSocket endpoint URLs, see the [Flashblocks API Reference](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview). Public endpoints are rate-limited. For production use, connect through a Flashblocks-enabled node provider such as Alchemy, QuickNode, or dRPC.
-
-## Performance Characteristics
-
-| Metric | Value |
-|--------|-------|
-| Flashblock build time (P50) | ~10ms |
-| Preconfirmation latency | ~200ms |
-| Full block time | 2 seconds |
-| Flashblocks per block | 10 |
-| Reorg rate | < 0.1% |
-
-## Gas & Transaction Sizing
-
-The gas budget is **cumulative**, not per-Flashblock. Each Flashblock unlocks an additional 1/10 of the total block gas:
-
-| Flashblock | Cumulative Gas Available |
-|------------|--------------------------|
-| 1 | 1/10 of block limit (~18.75M gas) |
-| 2 | 2/10 of block limit (~37.5M gas) |
-| 3 | 3/10 of block limit (~56.25M gas) |
-| ... | ... |
-| 10 | Full block limit (~187.5M gas) |
-
-
-**Unused gas carries forward.** If Flashblock 1 only uses 0.3/10 of gas, Flashblock 2 can use up to 1.7/10 (the cumulative 2/10 limit minus what's already been used).
-
-
-**Implications for large transactions:**
-- Transactions exceeding 1/10 of block gas (~18.75M) may not land in the first Flashblock — they wait until enough cumulative capacity exists.
-- There is a separate **max gas limit per transaction** on Base, distinct from Flashblock capacity.
-- If confirmation speed matters, keep individual transactions under ~18.75M gas to maximize the chance of inclusion in the earliest Flashblock.
-
-## Reliability & Fallback
-
-Base targets a **< 0.1% Flashblock reorg rate** — meaning a preconfirmation was streamed but not included in the final block. This is rare, but apps should account for it.
-
-
-**Implement fallback logic.** Treat preconfirmations as strong signals, not guarantees. For critical operations, confirm against finalized block data. Check live reorg metrics at [base.org/stats](https://base.org/stats).
-
-
-If Flashblocks become unavailable, the sequencer continues operating normally and confirmation falls back to standard 2-second blocks. Build your app to handle both cases gracefully.
-
-## Library Examples
-
-You will need to use a Flashblocks-aware RPC endpoint to use Flashblocks with the following libraries:
-
-### [Wagmi](https://wagmi.sh)
-
-To use Flashblocks with Wagmi, you will need to use the `basePreconf` chain in the Wagmi Config (see `config.ts`).
-
-
-
-```tsx Example.tsx
-import { useSendTransaction, useWaitForTransactionReceipt } from "wagmi";
-
-function SendTransaction() {
- const { data: hash, sendTransaction } = useSendTransaction();
- const { data: receipt } = useWaitForTransactionReceipt({ hash });
-
- return (
-
-
- {hash &&
Hash: {hash}
}
- {receipt &&
Included on block number: {receipt.blockNumber}
}
-
- )
-}
-```
-
-```tsx App.tsx
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
-import { WagmiProvider, useAccount } from 'wagmi'
-import { config } from './config'
-import { Example } from './Example'
-
-const queryClient = new QueryClient()
-
-function App() {
- return (
-
-
-
-
-
- )
-}
-```
-
-```tsx config.ts
-import { createConfig, http } from "wagmi";
-import { baseSepoliaPreconf } from "wagmi/chains";
-import { baseAccount } from "wagmi/connectors";
-
-export const config = createConfig({
- chains: [baseSepoliaPreconf],
- connectors: [baseAccount()],
- transports: {
- [baseSepoliaPreconf.id]: http(),
- },
-});
-```
-
-
-
-### [Viem](https://viem.sh)
-
-```ts
-import { createWalletClient, http, parseEther, publicActions } from "viem";
-import { privateKeyToAccount } from "viem/accounts";
-import { baseSepoliaPreconf } from "viem/chains";
-
-// Create client with the Flashblocks-aware chain.
-const account = privateKeyToAccount(`0x${process.env.PRIVATE_KEY}`);
-const client = createWalletClient({
- account,
- chain: baseSepoliaPreconf,
- transport: http(),
-})
- .extend(publicActions);
-
-const submissionTime = new Date();
-console.log(`Submitting transaction at: ${submissionTime.toISOString()}`);
-
-// Send transaction.
-const hash = await client.sendTransaction({
- to: "0x...",
- value: parseEther('0.0001'),
-});
-console.log(`Transaction hash: ${hash}`);
-
-// Wait for transaction to be included.
-const receipt = await client.waitForTransactionReceipt({ hash });
-const confirmTime = new Date();
-
-console.log(`Transaction included at: ${confirmTime.toISOString()}`);
-console.log(`Time difference: ${confirmTime - submissionTime}ms`);
-```
-
-### [Ethers](https://github.com/ethers-io/ethers.js)
-
-```jsx
- const providerA = new ethers.JsonRpcProvider(
- "https://sepolia-preconf.base.org"
- );
-
- const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, providerA);
-
- try {
- // Create a simple transaction (sending 0.001 ETH to a random address)
- const tx = {
- to: "",
- value: ethers.parseEther("0.0000001"),
- };
-
- // Submit transaction
- const submissionTime = new Date();
- const transaction = await wallet.sendTransaction(tx);
-
- console.log(`Submitting transaction at: ${submissionTime.toISOString()}`);
- console.log(`Transaction hash: ${transaction.hash}`);
-
- await transaction.wait(0); // Make sure to set the confirmation count to 0
-
- console.log("Transaction confirmed");
- const confirmationTime = new Date();
- console.log(`Transaction confirmed at: ${confirmationTime.toISOString()}`);
- console.log(`Time difference: ${confirmationTime - submissionTime}ms`);
- }
-```
-
-You should see the confirmation time significantly lower than the standard RPC endpoint.
-
-## Support
-
-For feedback, support or questions about Flashblocks, please don't hesitate to contact us in the `#developer-chat` channel in the [Base Discord](https://base.org/discord).
diff --git a/docs/base-chain/flashblocks/architecture.mdx b/docs/base-chain/flashblocks/architecture.mdx
deleted file mode 100644
index a60e3914d..000000000
--- a/docs/base-chain/flashblocks/architecture.mdx
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Flashblocks Architecture
-sidebarTitle: Architecture
-description: Understand the sequencer architecture and infrastructure components that power Flashblocks on Base.
----
-
-## Before Flashblocks
-
-Base operates a high-availability sequencer system with five sequencer instances:
-
-| Component | Role |
-|-----------|------|
-| **op-node** | Standard OP Stack consensus layer (CL) |
-| **op-geth** | Standard OP Stack execution layer (EL) |
-| **op-conductor** | High availability controller with Raft consensus for leader election |
-
-One sequencer instance acts as the **leader**, responsible for building blocks and propagating them via P2P. The remaining four act as **followers** that sync the chain. Leadership transfers if the current leader stops producing blocks.
-
-## With Flashblocks
-
-Flashblocks introduce several new infrastructure components:
-
-| Component | Purpose | What It Unlocks |
-|-----------|---------|-----------------|
-| **rollup-boost** | CL↔EL Engine API proxy | Enables sharing Flashblocks with the EL without modifying the CL. Provides a stable seam for future block-building evolutions (multi-builder, etc.) |
-| **op-rbuilder** | Out-of-protocol builder at 200ms cadence | Produces the sub-second Flashblocks, decoupled from the EL. Enables pluggable builder mechanisms |
-| **websocket-proxy** | Flashblocks stream fan-out | Broadcast layer so many consumers can read the stream without overwhelming the builder |
-| **[base](https://github.com/base/base)** | RPC surface exposing preconfirmations | Converts streamed Flashblocks into familiar RPCs so apps and wallets can consume preconfirmation state |
-
-Both [rollup-boost](https://github.com/flashbots/rollup-boost) and [op-rbuilder](https://github.com/flashbots/op-rbuilder) are built and maintained by Flashbots, while Base maintains the websocket-proxy and [base](https://github.com/base/base) components.
-
----
-
-## Further Reading
-
-- [Flashblocks Overview](/base-chain/flashblocks/overview) — Key concepts and transaction lifecycle
-- [Enable Flashblocks](/base-chain/node-operators/run-a-base-node#enable-flashblocks) — Run your own Flashblocks-aware RPC node
-- [API Reference](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview) — RPC methods, WebSocket subscriptions, and infrastructure stream schema
-- [Flashblocks Deep Dive](https://blog.base.dev/flashblocks-deep-dive) — Engineering blog post with implementation details
diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/flashblocks/faq.mdx
deleted file mode 100644
index 84afdaabe..000000000
--- a/docs/base-chain/flashblocks/faq.mdx
+++ /dev/null
@@ -1,165 +0,0 @@
----
-title: Flashblocks FAQ
-sidebarTitle: FAQ
-description: Frequently asked questions about Flashblocks, including block building, WebSocket data, RPC usage, and node setup.
----
-
-
-For a comprehensive introduction to how Flashblocks work, see the [Flashblocks Overview](/base-chain/flashblocks/overview).
-
-
-## Block Building
-
-
-
- All Base blocks are built by the Flashblocks builder, meaning **Flashblocks are always live**. However, apps may choose not to rely on preconfirmations and can continue using standard RPCs without any Flashblocks integration.
-
-
-
- No significant differences—both order transactions by fee. The main difference is timing: Flashblocks occur every 200ms instead of every 2 seconds.
-
- See [Block Building](/base-chain/network-information/block-building#flashblocks) for details.
-
-
-
- The sequencer will not stop publishing Flashblocks unless an extreme circumstance makes running them unsafe. If this happens, preconfirmations are disabled network-wide and confirmations fall back to standard 2-second blocks. The sequencer continues operating normally.
-
-
-
- Transactions with large gas limits (> ~18.75M gas, which is 1/10 of the ~187.5M block limit) may have longer inclusion times. This is because the builder allocates gas cumulatively—each Flashblock `j` can use up to `j/10` of the total block gas limit. Large transactions can be included once enough cumulative capacity exists.
-
- See [Gas & Transaction Sizing](/base-chain/flashblocks/app-integration#gas-&-transaction-sizing) for the full breakdown.
-
-
-
- There's no way to guarantee which Flashblock a transaction lands in, similar to how you can't guarantee a specific block. To improve chances of quick inclusion:
-
- - Set a higher priority fee
- - Keep gas limits below ~18.75M (1/10 of block limit) to be eligible for Flashblock 1
-
-
-
- The Flashblock builder uses a **dynamic mempool** that continuously accepts new transactions while building. This design prioritizes **low inclusion latency** over strict fee ordering.
-
- **What this means:**
- - Transactions are ordered by fee *at the time they're selected* for inclusion
- - If a high-fee transaction arrives after a lower-fee transaction has already been committed to the current Flashblock, the high-fee transaction will appear after it (or in the next Flashblock)
- - This is expected behavior, not a bug—the builder doesn't "reorder" already-committed transactions
-
- **Why this tradeoff?**
-
- A "snapshot" mempool (freezing the transaction pool at the start of each block) would guarantee strict fee ordering but increase inclusion latency. The dynamic approach gets transactions included faster at the cost of occasionally "breaking" the expected priority gas auction (PGA) order.
-
- **For traders and bots:** If strict fee-based ordering is critical for your use case, be aware that arrival timing matters as much as fee amount within a 200ms Flashblock window.
-
-
-
- Base targets a Flashblock reorg rate of < 0.1%. While reorgs are rare, applications should implement fallback logic for critical operations.
-
- Check current metrics at [base.org/stats](https://base.org/stats).
-
-
-
- A reorg means a Flashblock was streamed as a preconfirmation but wasn't included in the final block. This is rare due to architectural improvements in rollup-boost that prevent tail Flashblock reorgs. Apps should handle this possibility gracefully, but occurrences are minimal.
-
-
-
----
-
-## WebSocket
-
-
-
- **No.** The raw Flashblocks WebSocket (`wss://mainnet.flashblocks.base.org/ws`) is reserved for infrastructure-to-node data syncing. Applications should not connect to it directly.
-
- Instead, query your RPC node or node provider (e.g., QuickNode, Alchemy, Infura, dRPC) for Flashblocks data via:
- - **RPC API**: Standard JSON-RPC methods with the `pending` tag
- - **WebSocket subscriptions**: Use `eth_subscribe` via your node provider's WebSocket endpoint
-
- See [App Integration](/base-chain/flashblocks/app-integration) for implementation details.
-
-
-
- Index 0 contains only system transactions and doesn't use any gas limit. Indexes 1-10 are the actual Flashblocks that pull pending transactions from the txpool.
-
-
-
- This is expected. When the previous block takes longer to build, the system compensates by allocating less time to the next block, resulting in fewer Flashblocks.
-
-
-
- **No, it is not a bug.** Seeing indices of 10, 11, or higher is expected behavior.
-
- The standard math — 2-second block time ÷ 200ms per Flashblock — gives exactly 10 Flashblocks (indices 0–9). In practice, however, the transition from one full L2 block to the next is not always perfectly synchronized with the 200ms timer. Two things can cause extra indices:
-
- 1. **Sequencer delay:** If the sequencer takes slightly longer than 2000ms to finalize and seal the full block, the Flashblock stream continues emitting incremental updates for the current block to keep the stream live.
- 2. **Timing drift:** If the internal 200ms clock drifts or starts early relative to the L2 block's canonical start time, an extra update can fit within the 2-second window.
-
- **What this means for your implementation:**
- - Do not hardcode `9` or `10` as the final index — the last Flashblock for a given block is not predictable by index alone.
- - Watch the `payloadId` instead. The most reliable signal that a block has finished is when `payloadId` changes, or when the full block is confirmed via standard RPC. All Flashblocks sharing the same `payloadId` belong to the same block, regardless of how high the index goes.
- - Once the sequencer advances to the next block, `payloadId` resets and `index` returns to `0`.
-
-
-
- Transaction data in the [`diff.transactions`](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#diff-object) array is Recursive Length Prefix (RLP) encoded.
-
-
-
- The public WebSocket has a maximum connection limit. For production use, we recommend:
-
- 1. Running your own [Flashblocks-aware RPC node](/base-chain/node-operators/run-a-base-node#enable-flashblocks)
- 2. Using a third-party node provider with Flashblocks support
-
-
-
----
-
-## RPC
-
-
-
- The public endpoint has explicit rate limiting. For production use:
-
- - Use a third-party node provider with Flashblocks support (Alchemy, Infura, QuickNode, dRPC)
- - Run your own [Flashblocks-aware RPC node](/base-chain/node-operators/run-a-base-node#enable-flashblocks)
-
-
-
- This is expected behavior. Flashblocks-aware nodes store up to 5 historical blocks worth of Flashblocks state to prevent race conditions. When `eth_call "pending"` is called, it operates on top of that historical base, so the block number visible in the call context (e.g. `block.number`) may appear to be N-5.
-
- When `eth_call "pending"` executes, the entire block context — `block.number`, `block.timestamp`, `block.basefee`, and all other block properties — corresponds to that historical base block (potentially N-5), not the current chain tip. **The call result is correct** in that it reflects all received Flashblocks state applied on top, but contracts that rely on block context properties should be aware that those values may be several blocks behind.
-
- If you operate a node in a geographic region where your P2P latency is not significantly higher than the WebSocket stream latency, you can reduce this difference by lowering the `MAX_PENDING_BLOCKS_DEPTH` configuration value. This controls the maximum number of historical blocks worth of Flashblocks your node stores, so a lower value will make the block context closer to tip at the cost of reduced tolerance for P2P latency spikes.
-
-
-
- The following methods are Flashblocks-enabled:
-
- | Method | Usage |
- |--------|-------|
- | `eth_getBlockByNumber` | Use `pending` tag |
- | `eth_getBalance` | Use `pending` tag |
- | `eth_getTransactionReceipt` | Returns preconfirmed receipts |
- | `eth_getTransactionByHash` | Use `pending` tag |
- | `eth_getTransactionCount` | Use `pending` tag |
- | `eth_call` | Use `pending` tag |
- | `eth_simulateV1` | Use `pending` tag |
- | `eth_estimateGas` | Use `pending` tag |
- | `eth_getLogs` | Use `pending` for `toBlock` |
- | `eth_subscribe` | Stream Flashblock data in real-time |
- | `base_transactionStatus` | Check if transaction is in mempool (Beta) |
-
- See the [Flashblocks API Reference](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview) for full method details and examples.
-
-
-
----
-
-## Node Setup
-
-
-
- Use the Reth binary from the [Base node repository](https://github.com/base/node/tree/main/reth). See the [Enable Flashblocks guide](/base-chain/node-operators/run-a-base-node#enable-flashblocks) for complete setup instructions.
-
-
\ No newline at end of file
diff --git a/docs/base-chain/flashblocks/overview.mdx b/docs/base-chain/flashblocks/overview.mdx
deleted file mode 100644
index 04bc24596..000000000
--- a/docs/base-chain/flashblocks/overview.mdx
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Flashblocks Overview
-sidebarTitle: Overview
-description: Understand the sequencer architecture, block building algorithm, and integration options for Flashblocks on Base.
----
-
-## What are Flashblocks?
-
-Flashblocks introduce **200ms** incremental state updates to Base, significantly reducing perceived latency for users.
-
-Built in collaboration with [Flashbots](https://www.flashbots.net/), this mechanism streams sub-blocks within the standard 2-second block interval, providing near-instant sequencer preconfirmations, allowing applications to reflect state changes long before the full block is gossiped to the rest of the network.
-
-
-Flashblocks are always live on Base. All blocks are built by the Flashblocks builder. Apps can choose whether to consume preconfirmations or wait for standard 2-second block finality.
-
-
-### Key Concepts
-
-| Term | Definition |
-|------|------------|
-| **Flashblock** | A 200ms sub-block containing a portion of the full block's transactions |
-| **Preconfirmation** | An ultra-fast signal that a transaction will be included, before the full block is sealed |
-| **Full Block** | A series of 10 Flashblocks combined to form the complete 2-second block |
-
-Each block contains **10 Flashblocks** (indexes 1-10), each arriving every 200ms. Index 0 exists but only contains system transactions. See [Gas & Transaction Sizing](/base-chain/flashblocks/app-integration#gas-&-transaction-sizing) for how gas budgets work.
-
-
-## Architecture
-
-For details on the sequencer system and Flashblocks infrastructure components (rollup-boost, op-rbuilder, websocket-proxy, and base), see the [Architecture](/base-chain/flashblocks/architecture) page.
-
-## Transaction Lifecycle
-
-When you send a transaction to Base, here's what happens:
-
-### 1. Submission
-```
-User → DNS (mainnet.base.org) → Load Balancer → Proxyd → Mempool
-```
-
-The transaction reaches the private mempool and is inserted into the txpool as pending.
-
-### 2. Distribution
-The mempool maintains P2P connections with execution layers (op-reth, op-rbuilder), ensuring all pending transactions are synced for block building.
-
-### 3. Block Building
-During each 200ms block building loop, op-rbuilder selects transactions based on:
-
-1. **Transaction fee** — transactions are ordered by fee (highest first)
-2. **Gas limit and remaining capacity** — each Flashblock `j` can use up to `j/10` of the total block gas limit
-
-
-**Dynamic Mempool:** The builder uses a dynamic mempool that continuously accepts new transactions while building. This minimizes inclusion latency but means a late-arriving high-fee transaction may appear after an already-committed lower-fee transaction within the same Flashblock. This is expected behavior, not a violation of fee priority—transactions are ordered by fee *at the time they're selected*.
-
-
-### 4. Block Building Algorithm
-
-The builder follows this process for each 2-second block:
-
-```
-FOR each flashblock j FROM 0 TO 10:
- 1. Wait until next 200ms window
- 2. Calculate available gas: (j / 10) × total_block_gas_limit
- 3. Sort pending transactions by fee (descending)
- 4. Select top transactions that fit within available gas
- 5. Execute transactions and update state
- 6. Stream flashblock to websocket-proxy
-```
-
-
-**Index 0** contains only system transactions and doesn't use any gas limit. **Indexes 1-10** are the actual Flashblocks that pull pending transactions from the txpool.
-
-
-### 5. Preconfirmation Delivery
-Once a transaction is included in a Flashblock, it's streamed to the websocket-proxy, which RPC nodes listen to. When you call a Flashblocks-aware RPC method (like `eth_getTransactionReceipt`), the node retrieves the preconfirmed data from its cache.
-
-
-For the complete infrastructure stream schema, see the [Flashblocks API Overview](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview) reference: [Flashblock](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#flashblock-object), [Diff](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#diff-object), [Metadata](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#metadata-object), [Receipt](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#receipt-object).
-
-
-## Further Reading
-- [FAQ](/base-chain/flashblocks/faq) — Common questions about Flashblocks
-- [Block Building](/base-chain/network-information/block-building) — Detailed block ordering configuration
-- [Flashblocks Deep Dive](https://blog.base.dev/flashblocks-deep-dive) — Engineering blog post with implementation details
diff --git a/docs/base-chain/llms-full.txt b/docs/base-chain/llms-full.txt
index f3401cbf9..771a43b3b 100644
--- a/docs/base-chain/llms-full.txt
+++ b/docs/base-chain/llms-full.txt
@@ -2,47 +2,42 @@
## Base Chain — Deep Guide for LLMs
-> Base is a fast, low‑cost Ethereum L2 built on the OP Stack. This guide orients an LLM to deployment, connectivity, network details, node operations, and security across the Base Chain docs.
+> Base is a fast, low‑cost Ethereum L2 built on the OP Stack. This guide orients an LLM to connectivity, network details, node operations, and security across the Base Chain docs.
### What you can do here
-- Deploy smart contracts quickly (testnet and mainnet)
- Connect apps to read/write on Base
- Understand fees, contracts, and bridges
- Use the full Ethereum JSON-RPC API and Flashblocks pre-confirmation API
- Operate performant nodes
- Obtain testnet ETH from faucets
-- Discover Flashblocks resources
- Follow security disclosure guidance
## Navigation (with brief descriptions)
-### Quickstart
-- [Why Base](https://docs.base.org/base-chain/quickstart/why-base.md) — Platform value prop
-- [Deploy on Base](https://docs.base.org/base-chain/quickstart/deploy-on-base.md) — Deploy contracts (Foundry)
-- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base.md) — App connectivity
-- [Base-Solana Bridge](https://docs.base.org/base-chain/quickstart/base-solana-bridge.md) — Bridge between Base and Solana
-
### Network Information
-- [Base Contracts](https://docs.base.org/base-chain/network-information/base-contracts.md) — Canonical addresses
+- [Chain Overview](https://docs.base.org/base-chain/overview.md) — Entry point for Base Chain docs
+- [Transaction Lifecycle](https://docs.base.org/base-chain/network-information/transaction-lifecycle.md) — Transaction flow across fees, sequencing, preconfirmation, inclusion, and finality
- [Network Fees](https://docs.base.org/base-chain/network-information/network-fees.md) — Fee model
-- [Ecosystem Contracts](https://docs.base.org/base-chain/network-information/ecosystem-contracts.md) — Third‑party addresses
-- [Block Building](https://docs.base.org/base-chain/network-information/block-building.md) — Block production
+- [Block Building](https://docs.base.org/base-chain/network-information/block-building.md) — Block production, Flashblocks, gas allocation, and per-transaction limits
- [Diffs vs Ethereum](https://docs.base.org/base-chain/network-information/diffs-ethereum-base.md) — Differences from L1
-- [Bridges](https://docs.base.org/base-chain/network-information/bridges.md) — Bridges
+- [Bridging](https://docs.base.org/base-chain/network-information/bridges.md) — How assets and messages move between Base, Ethereum, Solana, Bitcoin, and other chains
+- [Base-Solana Bridge](https://docs.base.org/base-chain/network-information/base-solana-bridge.md) — Bridge assets and messages between Base and Solana
- [Transaction Finality](https://docs.base.org/base-chain/network-information/transaction-finality.md) — Finality model
+- [Throughput and Limits](https://docs.base.org/base-chain/network-information/throughput-and-limits.md) — Capacity, gas, fee, and endpoint limits
+- [Sequencing Policy](https://docs.base.org/base-chain/network-information/sequencing-policy.md) — Ordering, inclusion, and sequencing behavior
+
+### Network Reference
+- [Networks and Endpoints](https://docs.base.org/base-chain/network-information/networks-and-endpoints.md) — Chain IDs, RPC URLs, Flashblocks endpoints, and explorers
+- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base.md) — App connectivity and wallet network setup
+- [Base Contracts](https://docs.base.org/base-chain/network-information/base-contracts.md) — Canonical addresses
+- [Ecosystem Contracts](https://docs.base.org/base-chain/network-information/ecosystem-contracts.md) — Third-party addresses
- [Troubleshooting Transactions](https://docs.base.org/base-chain/network-information/troubleshooting-transactions.md) — Diagnose common transaction issues
- [Configuration Changelog](https://docs.base.org/base-chain/network-information/configuration-changelog.md) — Network config changes
- [Network Faucets](https://docs.base.org/base-chain/network-information/network-faucets.md) — Testnet ETH for Base Sepolia
-### Flashblocks
-- [Overview](https://docs.base.org/base-chain/flashblocks/overview.md) — What Flashblocks is and how the two-tier RPC system works
-- [App Integration](https://docs.base.org/base-chain/flashblocks/app-integration.md) — Apps using Flashblocks
-- [Architecture](https://docs.base.org/base-chain/flashblocks/architecture.md) — How the sequencer emits Flashblocks and nodes consume them
-- [FAQ](https://docs.base.org/base-chain/flashblocks/faq.md) — Frequently asked questions about Flashblocks
-
### API Reference
-- [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Networks, endpoints (Standard and Flashblocks), request/response format, error codes, block parameters, and full method index for all three API groups
-- [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods: account state, blocks, transactions, gas, logs, chain info, and WebSocket subscriptions (28 methods total)
+- [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Human overview of Standard and Flashblocks endpoints, request/response format, error codes, and block parameters
+- [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods: account state, blocks, transactions, gas, logs, chain info, and WebSocket subscriptions (27 method pages)
- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific HTTP methods (eth_simulateV1, base_transactionStatus), WebSocket subscriptions (newFlashblockTransactions, pendingLogs, newFlashblocks), and the raw infrastructure stream schema
- [Debug API](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md) — EVM execution tracing: debug_traceTransaction, debug_traceBlockByHash, debug_traceBlockByNumber
@@ -105,18 +100,63 @@
- [Bug Bounty](https://docs.base.org/base-chain/security/bug-bounty.md) — Bug bounty program
-## Quickstart (excerpts)
-
-Source: `https://docs.base.org/base-chain/quickstart/deploy-on-base.md`
-
-Deploy with Foundry to Base Sepolia:
-
-```bash
-forge create src/Contract.sol:Contract \
- --rpc-url $BASE_SEPOLIA_RPC \
- --private-key $PRIVATE_KEY \
- --verify --verifier blockscout --verifier-url https://base-sepolia.blockscout.com/api
-```
+## API Method Inventory
+
+Use this section as the agent-facing complete index. The human [API Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) explains endpoint selection and JSON-RPC request shape; the method inventory below links to the canonical per-method pages.
+
+### Ethereum JSON-RPC API
+
+| Method | Purpose | Flashblocks note |
+| :--- | :--- | :--- |
+| [eth_blockNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) | Returns the most recently mined block number. | Standard behavior. |
+| [eth_getBalance](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.md) | Returns an account ETH balance at a block. | Use `pending` on a Flashblocks endpoint for preconfirmed balances. |
+| [eth_getTransactionCount](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.md) | Returns the account nonce / transaction count. | Use `pending` on a Flashblocks endpoint for preconfirmed nonce state. |
+| [eth_getCode](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.md) | Returns contract bytecode at an address. | Use `pending` on a Flashblocks endpoint to detect newly deployed contracts before the block seals. |
+| [eth_getStorageAt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.md) | Returns a contract storage slot value. | Use `pending` on a Flashblocks endpoint for preconfirmed storage reads. |
+| [eth_call](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_call.md) | Executes a read-only call without creating a transaction. | Use `pending` on a Flashblocks endpoint to simulate against preconfirmed state. |
+| [eth_getBlockByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.md) | Returns block information by block number or tag. | `pending` returns the live preconfirmed block on Flashblocks endpoints. |
+| [eth_getBlockByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.md) | Returns block information by hash. | Standard behavior. |
+| [eth_getBlockReceipts](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.md) | Returns all transaction receipts for a block. | Use `pending` on a Flashblocks endpoint for preconfirmed receipts. |
+| [eth_getBlockTransactionCountByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.md) | Returns transaction count in a block by number. | Use `pending` on a Flashblocks endpoint for current preconfirmed block count. |
+| [eth_getBlockTransactionCountByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash.md) | Returns transaction count in a block by hash. | Standard behavior. |
+| [eth_getTransactionByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.md) | Returns transaction data by transaction hash. | Flashblocks endpoints can return preconfirmed cache data; no `pending` parameter. |
+| [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.md) | Returns a transaction by block hash and index. | Standard behavior. |
+| [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.md) | Returns a transaction by block number and index. | Standard behavior. |
+| [eth_getTransactionReceipt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.md) | Returns a transaction receipt by transaction hash. | Flashblocks endpoints can return preconfirmed receipt cache data; no `pending` parameter. |
+| [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.md) | Submits a pre-signed transaction. | Submit to Flashblocks preconf endpoints for faster preconfirmation feedback. |
+| [eth_gasPrice](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.md) | Returns the current gas price in wei. | Standard behavior. |
+| [eth_maxPriorityFeePerGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.md) | Returns suggested EIP-1559 priority fee per gas. | Standard behavior. |
+| [eth_feeHistory](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.md) | Returns base fee and priority fee history for a block range. | Standard behavior. |
+| [eth_estimateGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.md) | Estimates gas required for a transaction. | Use `pending` on a Flashblocks endpoint to estimate against preconfirmed state. |
+| [eth_getLogs](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.md) | Returns logs matching a filter. | Use `pending` on Flashblocks endpoints for preconfirmed logs; use `pendingLogs` for streaming. |
+| [eth_chainId](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId.md) | Returns the chain ID. | Standard behavior. |
+| [eth_syncing](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing.md) | Returns node sync status. | Standard behavior. |
+| [net_version](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/net_version.md) | Returns the network ID as a string. | Standard behavior. |
+| [web3_clientVersion](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.md) | Returns the client version string. | Standard behavior. |
+| [eth_subscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.md) | Creates a WebSocket subscription. | Flashblocks endpoints add subscription types and emit `newHeads` per Flashblock. |
+| [eth_unsubscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe.md) | Cancels a WebSocket subscription. | Standard behavior. |
+
+### Flashblocks API
+
+| Method or surface | Purpose |
+| :--- | :--- |
+| [eth_simulateV1](https://docs.base.org/base-chain/api-reference/flashblocks-api/eth_simulateV1.md) | Simulates one or more transaction bundles against current preconfirmed Flashblock state. |
+| [base_transactionStatus](https://docs.base.org/base-chain/api-reference/flashblocks-api/base_transactionStatus.md) | Checks whether a transaction is in the node mempool. |
+| [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.md) | WebSocket subscription for each transaction as it is preconfirmed into a Flashblock. |
+| [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs.md) | WebSocket subscription for filtered logs from preconfirmed transactions. |
+| [newFlashblocks](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblocks.md) | WebSocket subscription for the full Flashblock payload stream. |
+| [Raw infrastructure stream schema](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) | Node-operator stream consumed by Flashblocks-aware RPC infrastructure; applications should use Flashblocks RPC methods and subscriptions instead. |
+
+### Debug API
+
+| Method | Purpose |
+| :--- | :--- |
+| [debug_traceTransaction](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md) | Returns the full EVM execution trace for a transaction. |
+| [debug_traceBlockByHash](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByHash.md) | Returns EVM execution traces for all transactions in a block by hash. |
+| [debug_traceBlockByNumber](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByNumber.md) | Returns EVM execution traces for all transactions in a block by number. |
+
+
+## Connection Reference (excerpts)
Source: `https://docs.base.org/base-chain/quickstart/connecting-to-base.md`
@@ -139,7 +179,7 @@ Source: `https://docs.base.org/base-chain/network-information/diffs-ethereum-bas
- Source: `https://docs.base.org/base-chain/network-information/network-fees.md`
- Canonical contracts: Use published address lists for bridges, system contracts, and registry.
- Source: `https://docs.base.org/base-chain/network-information/base-contracts.md`
-- Bridges: Official and third‑party bridge options for moving assets to/from Base.
+- Bridging: How assets and messages move between Base, Ethereum, Solana, Bitcoin, and other chains.
- Source: `https://docs.base.org/base-chain/network-information/bridges.md`
@@ -176,17 +216,20 @@ curl -s -X POST "$BASE_RPC" -H 'content-type: application/json' \
```
-## Flashblocks (excerpts)
+## Flashblocks (where to read)
Sources:
-- `https://docs.base.org/base-chain/flashblocks/faq.md`
-- `https://docs.base.org/base-chain/flashblocks/app-integration.md`
+- `https://docs.base.org/base-chain/network-information/block-building.md`
+- `https://docs.base.org/base-chain/network-information/transaction-finality.md`
+- `https://docs.base.org/base-chain/api-reference/rpc-overview.md`
+- `https://docs.base.org/base-chain/node-operators/run-a-base-node.md`
- `https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md`
-- Overview: Flashblocks provide sub-200ms preconfirmed block state on Base, enabling lower-latency reads and faster transaction confirmation signals.
-- Ecosystem: Review apps that make use of Flashblocks‑related infra and the node providers who support relevant capabilities.
-- When to consider: High‑frequency reads/writes, market‑sensitive UX, or services where propagation and data freshness are critical.
-- Integration: Connect to `mainnet-preconf.base.org` (or `sepolia-preconf.base.org`); use `"pending"` block tag to query preconfirmed state. Follow provider documentation and the Flashblocks docs for setup and operational guidance.
+- Block building: Read Block Building for Flashblocks sequencing, gas allocation, and per-transaction limits.
+- Finality: Read Transaction Finality for preconfirmation, L2 block inclusion, L1 batching, and finality stages.
+- API behavior: Read Base RPC Overview for Standard RPC, Flashblocks RPC, by-hash cache behavior, and raw stream differences.
+- Node operation: Read Run a Base Node and Flashblocks API Overview for raw stream infrastructure and schema details.
+- Integration: Connect to `mainnet-preconf.base.org` or `sepolia-preconf.base.org`; use `"pending"` block tag on Flashblocks endpoints for preconfirmed state where supported.
- Validation: Measure end‑to‑end latency and consistency across providers as part of your rollout plan.
Simple latency probe (conceptual):
diff --git a/docs/base-chain/llms.txt b/docs/base-chain/llms.txt
index 8c790637b..11ac9a4b5 100644
--- a/docs/base-chain/llms.txt
+++ b/docs/base-chain/llms.txt
@@ -2,37 +2,46 @@
## Base Chain Documentation
-> Base is a fast, low-cost Ethereum L2 for building global onchain apps; start here to deploy, connect, and operate reliably.
+> Base is a fast, low-cost Ethereum L2 for building global onchain apps; start here to connect, understand, and operate reliably.
-## Quickstart
-- [Why Base](https://docs.base.org/base-chain/quickstart/why-base.md) — Why build on Base
-- [Deploy on Base](https://docs.base.org/base-chain/quickstart/deploy-on-base.md) — Set up Foundry, configure RPCs, and deploy your first contract
-- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base.md) — Configure providers and clients to read/write on Base
-- [Base-Solana Bridge](https://docs.base.org/base-chain/quickstart/base-solana-bridge.md) — Bridge assets between Base and Solana
+## Introduction
+- [Chain Overview](https://docs.base.org/base-chain/overview.md) — Entry point for Base Chain docs and canonical destinations
## Network Information
+- [Transaction Lifecycle](https://docs.base.org/base-chain/network-information/transaction-lifecycle.md) — Transaction flow across fees, sequencing, preconfirmation, inclusion, and finality
+- [Block Building](https://docs.base.org/base-chain/network-information/block-building.md) — Sequencing, Flashblocks, gas allocation, and per-transaction limits
+- [Transaction Finality](https://docs.base.org/base-chain/network-information/transaction-finality.md) — Preconfirmation, L2 block inclusion, L1 batching, and finality stages
+- [Throughput and Limits](https://docs.base.org/base-chain/network-information/throughput-and-limits.md) — Entry point for capacity, gas, fee, and endpoint limits
+- [Sequencing Policy](https://docs.base.org/base-chain/network-information/sequencing-policy.md) — How Base orders, includes, and preconfirms transactions
- [Network Fees](https://docs.base.org/base-chain/network-information/network-fees.md) — L2 execution and L1 data costs on Base
-- [Base Contracts](https://docs.base.org/base-chain/network-information/base-contracts.md) — Core contracts and addresses
-- [Block Building](https://docs.base.org/base-chain/network-information/block-building.md) — How blocks are ordered and built on Base
-- [Bridges](https://docs.base.org/base-chain/network-information/bridges.md) — Official and third-party bridge options
+- [Bridging](https://docs.base.org/base-chain/network-information/bridges.md) — How assets and messages move between Base, Ethereum, Solana, Bitcoin, and other chains
+- [Base-Solana Bridge](https://docs.base.org/base-chain/network-information/base-solana-bridge.md) — Bridge assets and messages between Base and Solana
- [Differences: Ethereum & Base](https://docs.base.org/base-chain/network-information/diffs-ethereum-base.md) — Behavioral differences between Base and Ethereum
-- [Transaction Finality](https://docs.base.org/base-chain/network-information/transaction-finality.md) — When transactions become irreversible on Base
+
+## Network Reference
+- [Networks and Endpoints](https://docs.base.org/base-chain/network-information/networks-and-endpoints.md) — Chain IDs, RPC URLs, Flashblocks endpoints, and explorers
+- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base.md) — Configure providers and clients to read/write on Base
+- [Base Contracts](https://docs.base.org/base-chain/network-information/base-contracts.md) — Core contracts and addresses
+- [Ecosystem Contracts](https://docs.base.org/base-chain/network-information/ecosystem-contracts.md) — Common ecosystem contract addresses
- [Troubleshooting Transactions](https://docs.base.org/base-chain/network-information/troubleshooting-transactions.md) — Diagnose and fix common transaction issues
- [Configuration Changelog](https://docs.base.org/base-chain/network-information/configuration-changelog.md) — Log of network configuration changes
- [Network Faucets](https://docs.base.org/base-chain/network-information/network-faucets.md) — Obtain testnet ETH for Base Sepolia
-## Flashblocks
-- [Overview](https://docs.base.org/base-chain/flashblocks/overview.md) — What Flashblocks is and how it works
-- [App Integration](https://docs.base.org/base-chain/flashblocks/app-integration.md) — How apps integrate with Flashblocks
-- [Architecture](https://docs.base.org/base-chain/flashblocks/architecture.md) — Sequencer architecture and infrastructure components
-- [FAQ](https://docs.base.org/base-chain/flashblocks/faq.md) — Frequently asked questions about Flashblocks
-
## API Reference
-- [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Networks, endpoints, request/response format, and full method index
-- [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods (eth_, net_, web3_)
-- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific methods, WebSocket subscriptions, and infrastructure stream schema
+- [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Human overview of endpoints, request/response format, errors, and block parameters
+- [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods (27 method pages)
+- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific HTTP methods, WebSocket subscriptions, and raw stream schema
- [Debug API](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md) — EVM execution tracing and block replay
+### API Method Inventory
+- Ethereum JSON-RPC state/execution: [eth_getBalance](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.md), [eth_getTransactionCount](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.md), [eth_getCode](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.md), [eth_getStorageAt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.md), [eth_call](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_call.md), [eth_estimateGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.md)
+- Ethereum JSON-RPC blocks: [eth_blockNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md), [eth_getBlockByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.md), [eth_getBlockByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.md), [eth_getBlockReceipts](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.md), [eth_getBlockTransactionCountByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.md), [eth_getBlockTransactionCountByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash.md)
+- Ethereum JSON-RPC transactions: [eth_getTransactionByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.md), [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.md), [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.md), [eth_getTransactionReceipt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.md), [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.md)
+- Ethereum JSON-RPC fees/logs/chain/node: [eth_gasPrice](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.md), [eth_maxPriorityFeePerGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.md), [eth_feeHistory](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.md), [eth_getLogs](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.md), [eth_chainId](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId.md), [eth_syncing](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing.md), [net_version](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/net_version.md), [web3_clientVersion](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.md)
+- Ethereum JSON-RPC WebSocket: [eth_subscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.md), [eth_unsubscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe.md)
+- Flashblocks API: [eth_simulateV1](https://docs.base.org/base-chain/api-reference/flashblocks-api/eth_simulateV1.md), [base_transactionStatus](https://docs.base.org/base-chain/api-reference/flashblocks-api/base_transactionStatus.md), [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.md), [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs.md), [newFlashblocks](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblocks.md); raw infrastructure stream schema lives in [Flashblocks API Overview](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md)
+- Debug API: [debug_traceTransaction](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md), [debug_traceBlockByHash](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByHash.md), [debug_traceBlockByNumber](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByNumber.md)
+
## Node Operators
- [Run a Base Node](https://docs.base.org/base-chain/node-operators/run-a-base-node.md) — Setup and operations guide
- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade.md) — Migrate to base-reth-node and base-consensus for Azul
diff --git a/docs/base-chain/network-information/base-contracts.mdx b/docs/base-chain/network-information/base-contracts.mdx
index 16158e179..f2e06da71 100644
--- a/docs/base-chain/network-information/base-contracts.mdx
+++ b/docs/base-chain/network-information/base-contracts.mdx
@@ -8,47 +8,47 @@ description: A comprehensive list of L2 contract addresses for Base Mainnet and
### Base Mainnet
-| Name | Address |
-| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------- |
-| WETH9 | [0x4200000000000000000000000000000000000006](https://basescan.org/address/0x4200000000000000000000000000000000000006) |
-| L2CrossDomainMessenger | [0x4200000000000000000000000000000000000007](https://basescan.org/address/0x4200000000000000000000000000000000000007) |
-| L2StandardBridge | [0x4200000000000000000000000000000000000010](https://basescan.org/address/0x4200000000000000000000000000000000000010) |
-| SequencerFeeVault | [0x4200000000000000000000000000000000000011](https://basescan.org/address/0x4200000000000000000000000000000000000011) |
-| OptimismMintableERC20Factory | [0xF10122D428B4bc8A9d050D06a2037259b4c4B83B](https://basescan.org/address/0xF10122D428B4bc8A9d050D06a2037259b4c4B83B) |
-| GasPriceOracle | [0x420000000000000000000000000000000000000F](https://basescan.org/address/0x420000000000000000000000000000000000000F) |
-| L1Block | [0x4200000000000000000000000000000000000015](https://basescan.org/address/0x4200000000000000000000000000000000000015) |
-| L2ToL1MessagePasser | [0x4200000000000000000000000000000000000016](https://basescan.org/address/0x4200000000000000000000000000000000000016) |
-| L2ERC721Bridge | [0x4200000000000000000000000000000000000014](https://basescan.org/address/0x4200000000000000000000000000000000000014) |
-| OptimismMintableERC721Factory | [0x4200000000000000000000000000000000000017](https://basescan.org/address/0x4200000000000000000000000000000000000017) |
-| ProxyAdmin | [0x4200000000000000000000000000000000000018](https://basescan.org/address/0x4200000000000000000000000000000000000018) |
-| BaseFeeVault | [0x4200000000000000000000000000000000000019](https://basescan.org/address/0x4200000000000000000000000000000000000019) |
-| L1FeeVault | [0x420000000000000000000000000000000000001a](https://basescan.org/address/0x420000000000000000000000000000000000001a) |
-| EAS | [0x4200000000000000000000000000000000000021](https://basescan.org/address/0x4200000000000000000000000000000000000021) |
-| EASSchemaRegistry | [0x4200000000000000000000000000000000000020](https://basescan.org/address/0x4200000000000000000000000000000000000020) |
-| LegacyERC20ETH | [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://basescan.org/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000) |
+| Name | Address | Network note |
+| :---------------------------- | :------ | :----------- |
+| WETH9 | [0x4200000000000000000000000000000000000006](https://basescan.org/address/0x4200000000000000000000000000000000000006) | Same as Sepolia |
+| L2CrossDomainMessenger | [0x4200000000000000000000000000000000000007](https://basescan.org/address/0x4200000000000000000000000000000000000007) | Same as Sepolia |
+| L2StandardBridge | [0x4200000000000000000000000000000000000010](https://basescan.org/address/0x4200000000000000000000000000000000000010) | Same as Sepolia |
+| SequencerFeeVault | [0x4200000000000000000000000000000000000011](https://basescan.org/address/0x4200000000000000000000000000000000000011) | Same as Sepolia |
+| OptimismMintableERC20Factory | [0xF10122D428B4bc8A9d050D06a2037259b4c4B83B](https://basescan.org/address/0xF10122D428B4bc8A9d050D06a2037259b4c4B83B) | Differs by network |
+| GasPriceOracle | [0x420000000000000000000000000000000000000F](https://basescan.org/address/0x420000000000000000000000000000000000000F) | Same as Sepolia |
+| L1Block | [0x4200000000000000000000000000000000000015](https://basescan.org/address/0x4200000000000000000000000000000000000015) | Same as Sepolia |
+| L2ToL1MessagePasser | [0x4200000000000000000000000000000000000016](https://basescan.org/address/0x4200000000000000000000000000000000000016) | Same as Sepolia |
+| L2ERC721Bridge | [0x4200000000000000000000000000000000000014](https://basescan.org/address/0x4200000000000000000000000000000000000014) | Same as Sepolia |
+| OptimismMintableERC721Factory | [0x4200000000000000000000000000000000000017](https://basescan.org/address/0x4200000000000000000000000000000000000017) | Same as Sepolia |
+| ProxyAdmin | [0x4200000000000000000000000000000000000018](https://basescan.org/address/0x4200000000000000000000000000000000000018) | Same as Sepolia |
+| BaseFeeVault | [0x4200000000000000000000000000000000000019](https://basescan.org/address/0x4200000000000000000000000000000000000019) | Same as Sepolia |
+| L1FeeVault | [0x420000000000000000000000000000000000001a](https://basescan.org/address/0x420000000000000000000000000000000000001a) | Same as Sepolia |
+| EAS | [0x4200000000000000000000000000000000000021](https://basescan.org/address/0x4200000000000000000000000000000000000021) | Same as Sepolia |
+| EASSchemaRegistry | [0x4200000000000000000000000000000000000020](https://basescan.org/address/0x4200000000000000000000000000000000000020) | Same as Sepolia |
+| LegacyERC20ETH | [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://basescan.org/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000) | Same as Sepolia |
### Base Testnet (Sepolia)
-| Name | Address |
-| :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
-| WETH9 | [0x4200000000000000000000000000000000000006](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006) |
-| L2CrossDomainMessenger | [0x4200000000000000000000000000000000000007](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000007) |
-| L2StandardBridge | [0x4200000000000000000000000000000000000010](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000010) |
-| SequencerFeeVault | [0x4200000000000000000000000000000000000011](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000011) |
-| OptimismMintableERC20Factory | [0x4200000000000000000000000000000000000012](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000012) |
-| GasPriceOracle | [0x420000000000000000000000000000000000000F](https://sepolia.basescan.org/address/0x420000000000000000000000000000000000000F) |
-| L1Block | [0x4200000000000000000000000000000000000015](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000015) |
-| L2ToL1MessagePasser | [0x4200000000000000000000000000000000000016](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000016) |
-| L2ERC721Bridge | [0x4200000000000000000000000000000000000014](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000014) |
-| OptimismMintableERC721Factory | [0x4200000000000000000000000000000000000017](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000017) |
-| ProxyAdmin | [0x4200000000000000000000000000000000000018](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000018) |
-| BaseFeeVault | [0x4200000000000000000000000000000000000019](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000019) |
-| L1FeeVault | [0x420000000000000000000000000000000000001a](https://sepolia.basescan.org/address/0x420000000000000000000000000000000000001a) |
-| EAS | [0x4200000000000000000000000000000000000021](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000021) |
-| EASSchemaRegistry | [0x4200000000000000000000000000000000000020](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000020) |
-| LegacyERC20ETH | [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://sepolia.basescan.org/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000) |
-
-\*_L2 contract addresses are the same on both mainnet and testnet._
+| Name | Address | Network note |
+| :---------------------------- | :------ | :----------- |
+| WETH9 | [0x4200000000000000000000000000000000000006](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006) | Same as Mainnet |
+| L2CrossDomainMessenger | [0x4200000000000000000000000000000000000007](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000007) | Same as Mainnet |
+| L2StandardBridge | [0x4200000000000000000000000000000000000010](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000010) | Same as Mainnet |
+| SequencerFeeVault | [0x4200000000000000000000000000000000000011](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000011) | Same as Mainnet |
+| OptimismMintableERC20Factory | [0x4200000000000000000000000000000000000012](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000012) | Differs by network |
+| GasPriceOracle | [0x420000000000000000000000000000000000000F](https://sepolia.basescan.org/address/0x420000000000000000000000000000000000000F) | Same as Mainnet |
+| L1Block | [0x4200000000000000000000000000000000000015](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000015) | Same as Mainnet |
+| L2ToL1MessagePasser | [0x4200000000000000000000000000000000000016](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000016) | Same as Mainnet |
+| L2ERC721Bridge | [0x4200000000000000000000000000000000000014](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000014) | Same as Mainnet |
+| OptimismMintableERC721Factory | [0x4200000000000000000000000000000000000017](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000017) | Same as Mainnet |
+| ProxyAdmin | [0x4200000000000000000000000000000000000018](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000018) | Same as Mainnet |
+| BaseFeeVault | [0x4200000000000000000000000000000000000019](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000019) | Same as Mainnet |
+| L1FeeVault | [0x420000000000000000000000000000000000001a](https://sepolia.basescan.org/address/0x420000000000000000000000000000000000001a) | Same as Mainnet |
+| EAS | [0x4200000000000000000000000000000000000021](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000021) | Same as Mainnet |
+| EASSchemaRegistry | [0x4200000000000000000000000000000000000020](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000020) | Same as Mainnet |
+| LegacyERC20ETH | [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://sepolia.basescan.org/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000) | Same as Mainnet |
+
+\*_Most predeploy addresses are shared across Mainnet and Sepolia; exceptions are listed explicitly._
## L1 Contract Addresses
diff --git a/docs/base-chain/quickstart/base-solana-bridge.mdx b/docs/base-chain/network-information/base-solana-bridge.mdx
similarity index 100%
rename from docs/base-chain/quickstart/base-solana-bridge.mdx
rename to docs/base-chain/network-information/base-solana-bridge.mdx
diff --git a/docs/base-chain/network-information/block-building.mdx b/docs/base-chain/network-information/block-building.mdx
index 12eb9d12f..c54363fb4 100644
--- a/docs/base-chain/network-information/block-building.mdx
+++ b/docs/base-chain/network-information/block-building.mdx
@@ -22,46 +22,50 @@ See the [Configuration Changelog](/base-chain/network-information/configuration-
### Flashblocks
-Blocks are built using [op-rbuilder](https://github.com/flashbots/op-rbuilder) with priority fee auctions occurring every **200ms**. This reduces effective block times from 2 seconds to 200 milliseconds through preconfirmations.
+The Base sequencer produces Flashblocks every **200ms**, committing to transaction ordering incrementally while the next L2 block is being built. Flashblocks provide preconfirmation signals before the full L2 block seals.
-For a comprehensive technical deep dive into Flashblocks architecture, see the [Flashblocks Overview](/base-chain/flashblocks/overview).
+For the protocol-level sequencer role, see the [Protocol Overview](/base-chain/specs/protocol/overview#sequencers). For how preconfirmed state is exposed to applications, see the [Base RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix). For node operation, see [Run a Base Node](/base-chain/node-operators/run-a-base-node#enable-flashblocks).
*There are three key differences from vanilla ordering:*
1. **Timing** — Flashblocks are built every 200ms, each ordering a portion of the block. Once built and broadcast, transaction ordering is locked. Later-arriving transactions with higher priority fees cannot be included in earlier Flashblocks.
-2. **Gas Allocation** — Each Flashblock has an incrementally increasing gas budget. Flashblock 1 can use 1/10 of the block gas limit, Flashblock 2 can use 2/10, and so on until Flashblock 10 has access to the full limit.
+2. **Gas Allocation** — Each Flashblock has an incrementally increasing gas budget. Flashblock `j` can use up to `j/10` of the full block gas limit, minus gas already consumed by earlier Flashblocks in the same block.
- | Flashblock | Available Gas |
- |------------|---------------|
- | 1 | ~14M gas (1/10) |
- | 2 | ~28M gas (2/10) |
- | 3 | ~42M gas (3/10) |
- | ... | ... |
- | 10 | ~140M gas (full) |
+
+ **Current parameters, last verified 2026-05-08**
-
- Transactions exceeding 14M gas cannot fit in Flashblock 1 and must wait for later Flashblocks. Monitor inclusion latency if your app creates large transactions.
-
+ | Network | Full block gas limit | Flashblock 1 cumulative budget |
+ |---------|----------------------|--------------------------------|
+ | Base Mainnet | 400M gas | 40M gas |
+ | Base Sepolia | 1.2B gas | 120M gas |
-3. **Dynamic Mempool** — The builder continuously accepts new transactions while building each Flashblock. This minimizes inclusion latency but means transactions are ordered by fee *at the time of selection*, not globally across all transactions that arrive during the 200ms window. A late-arriving high-fee transaction may appear after an already-committed lower-fee transaction.
+ Base Sepolia's block gas limit is scheduled to increase every 2 weeks. See the [Configuration Changelog](/base-chain/network-information/configuration-changelog) for network parameter history.
+
+
+ For example, on Base Mainnet, Flashblock 1 can use up to 40M gas, Flashblock 2 can use up to 80M gas minus gas already consumed by Flashblock 1, and Flashblock 10 can use up to the full 400M gas limit minus gas already consumed.
+
+3. **Incremental ordering** — Flashblocks commit to transaction ordering as the L2 block is being built. Do not assume the sequencer performs one global fee-ranked ordering pass over every transaction that arrives during the full 2 second L2 block interval.
- This is a deliberate tradeoff: faster inclusion at the cost of occasionally "breaking" expected priority gas auction (PGA) ordering within a Flashblock. See the [Flashblocks FAQ](/base-chain/flashblocks/faq) for more details.
+ Priority fees can affect transaction inclusion and ordering, but Flashblocks are not a formalized priority-fee auction mechanism. If ordering is critical for your workflow, account for transaction propagation, arrival timing, and fee settings.
### Per-Transaction Gas Maximum
-Base enforces a per-transaction gas maximum of **25,000,000 gas**. Transactions that specify a gas limit above this value are **rejected by the mempool before inclusion**. `eth_sendTransaction` or `eth_sendRawTransaction` will return a JSON-RPC error (for example: `exceeds maximum per-transaction gas limit`). This cap does **not** change the block gas limit or the block validity conditions.
+Base enforces a per-transaction gas maximum. Transactions that specify a gas limit above the active maximum are **rejected by the mempool before inclusion**. `eth_sendTransaction` or `eth_sendRawTransaction` will return a JSON-RPC error (for example: `exceeds maximum per-transaction gas limit`). This cap does **not** change the block gas limit or the block validity conditions.
-Fusaka's [EIP 7825](https://eips.ethereum.org/EIPS/eip-7825) **will** change the block validity conditions and enforce a lower per-transaction gas maximum of 16,777,216 gas (2^24). We expect this protocol change to be adopted in all OP Stack chains around January 2026.
+| Network | Active per-transaction gas maximum |
+|---------|------------------------------------|
+| Base Mainnet | 25,000,000 gas until Azul activates on May 21, 2026 at 18:00 UTC; 16,777,216 gas after activation |
+| Base Sepolia | 16,777,216 gas, active since April 20, 2026 at 18:00 UTC |
-Bundler operators for smart contract wallets must configure their systems to limit the bundle size to fit within this cap.
+For the Azul protocol change that enforces the 16,777,216 gas cap, see the [Azul execution engine specification](/base-chain/specs/upgrades/azul/exec-engine#transaction-gas-limit-cap).
-### Vanilla
+Bundler operators for smart contract wallets must configure their systems to limit the bundle size to fit within this cap.
-Blocks are built every 2s by [op-geth](https://github.com/ethereum-optimism/op-geth). Transactions within those blocks are ordered by
-priority fee, see the ([code](https://github.com/ethereum-optimism/op-geth/blob/optimism/miner/worker.go#L627)).
+### Client support
+Azul requires Base-native clients. For operator migration guidance and supported client combinations, see [Base Azul Upgrade](/base-chain/node-operators/base-v1-upgrade) and [Run a Base Node](/base-chain/node-operators/run-a-base-node#supported-client-combinations).
diff --git a/docs/base-chain/network-information/bridges.mdx b/docs/base-chain/network-information/bridges.mdx
index 258a15b70..4edba81a4 100644
--- a/docs/base-chain/network-information/bridges.mdx
+++ b/docs/base-chain/network-information/bridges.mdx
@@ -1,36 +1,50 @@
---
-title: Bridges
-description: Documentation for bridging assets to Base. This page covers how to bridge assets between Ethereum, Solana, Bitcoin, and Base.
-
+title: Bridging
+description: How assets and messages move between Base, Ethereum, Solana, Bitcoin, and other chains.
---
-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.
+Bridging moves assets or messages between Base and another chain. The user experience can look like a single transfer, but the underlying mechanism depends on the source chain, destination chain, asset, and bridge provider.
-For questions, see our [FAQ](#faq).
+Base supports several bridging paths, including canonical Ethereum ↔ Base bridging, Base ↔ Solana bridging, and third-party bridges for assets such as BTC. For protocol-level details, see the [bridging specifications](/base-chain/specs/protocol/bridging/bridges).
----
+## How bridging works
+
+Most bridge designs use one of three patterns:
+
+- **Lock and mint:** the source-chain asset is locked in a bridge contract or custody system, and a representation is minted on the destination chain.
+- **Burn and release:** a bridged representation is burned on one chain, and the original or equivalent asset is released on the other chain.
+- **Message passing:** a source-chain action emits a message that is verified and executed on the destination chain.
+
+The trust model depends on who verifies the source-chain event and who can release or mint the destination-chain asset. Native Ethereum ↔ Base bridging uses the OP Stack bridge and fault proof system. Other bridge providers may use different validator sets, liquidity networks, or custody models.
+
+
+Bridge security and withdrawal timing vary by provider and route. Always verify the destination token, bridge provider, and withdrawal assumptions before moving significant funds.
+
## Ethereum ↔ Base
-### Superbridge
+Ethereum is Base's L1 settlement layer. Native deposits and withdrawals between Ethereum and Base use OP Stack bridge contracts and cross-domain messaging.
-Superbridge enables you to bridge ETH and other supported assets from Ethereum mainnet (L1) directly to Base.
+### Deposits to Base
-#### Supported Networks
+Deposits start on Ethereum. A user deposits ETH or an ERC-20 through an L1 bridge contract, the deposit is included on Ethereum, and the corresponding L2 transaction is derived and executed on Base. Deposits typically complete much faster than withdrawals because they do not need the fault proof challenge window.
-- [Base Mainnet](https://superbridge.app/base)
-- [Base Sepolia (Testnet)](https://superbridge.app/base-sepolia)
+### Withdrawals to Ethereum
-### Brid.gg
+Withdrawals start on Base and complete on Ethereum. The user initiates a withdrawal on Base, the withdrawal is proven against an output root on Ethereum, and the funds can be finalized after the fault proof challenge window if the output root remains valid.
-Brid.gg is another option that also helps you bridge ETH and supported assets between Ethereum mainnet (L1) and Base.
+
+Only Base-to-Ethereum withdrawals through the native bridge use the 7 day finality period. Normal Base transactions do not wait 7 days. See [Transaction Finality](/base-chain/network-information/transaction-finality#finality-for-withdrawal-transactions).
+
-#### Supported Networks
+### Bridge providers
-- [Base Mainnet](https://brid.gg/base)
-- [Base Sepolia (Testnet)](https://testnet.brid.gg/base-sepolia)
+Several bridge interfaces support Ethereum ↔ Base transfers:
-### Programmatic Bridging (Ethereum)
+- [Superbridge Base Mainnet](https://superbridge.app/base)
+- [Superbridge Base Sepolia](https://superbridge.app/base-sepolia)
+- [Brid.gg Base Mainnet](https://brid.gg/base)
+- [Brid.gg Base Sepolia](https://testnet.brid.gg/base-sepolia)
See the [sample code repository](https://github.com/base-org/guides/tree/main/bridge/native) to see how to bridge ETH and ERC-20s from Ethereum to Base.
@@ -47,57 +61,52 @@ This implementation can only bridge assets to Base. Do not attempt to alter the
code to withdraw the assets.
-### For Token Issuers
-
-If you have an ERC-20 token deployed on Ethereum and want to enable bridging to Base, see our guide on [Bridging an L1 Token to Base](/base-chain/quickstart/bridge-token). This covers deploying your token on Base using the standard bridge contracts and getting it listed on the Superchain token list.
-
----
-
## Solana ↔ Base
-The Base-Solana bridge enables bidirectional token transfers and message passing between Base and Solana networks.
+The Base-Solana bridge enables bidirectional token transfers and message passing between Base and Solana. It uses bridge contracts/programs and validators to verify cross-chain messages between the two ecosystems.
-**Key Features:**
-- Transfer SOL and SPL tokens between Base and Solana
-- Send arbitrary cross-chain messages
-- Deploy wrapped tokens on either chain
-- Optional auto-relay for instant execution
+Use this route when you need to move SOL, SPL tokens, wrapped tokens, or application messages between Solana and Base.
-
- Complete guide with code examples and contract addresses
+
+ Read the implementation guide, contract addresses, token wrapping flow, and message passing examples.
- Production terminal UI for bridging + contract calls
+ Use a production terminal UI for bridging and cross-chain contract calls.
-### Contract Addresses
-
-| Network | Contract | Address |
-|---------|----------|---------|
-| Base Mainnet | Bridge | `0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188` |
-| Base Mainnet | SOL Token | `0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82` |
-| Solana Mainnet | Bridge Program | `HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM` |
-
-For testnet addresses and full implementation details, see the [Base-Solana Bridge documentation](/base-chain/quickstart/base-solana-bridge#contract-addresses).
+For Mainnet, Sepolia, and Solana Devnet addresses, see the [Base-Solana Bridge documentation](/base-chain/network-information/base-solana-bridge#contract-addresses).
---
## Bitcoin → Base
-### Garden
-
Garden is a fast non-custodial Bitcoin bridge that enables you to bridge BTC and other supported assets from Ethereum, Solana, and more, directly to Base.
-#### Supported Networks
+### Supported networks
- [Base Mainnet](https://app.garden.finance/?output-chain=base&output-asset=cbBTC)
- [Base Sepolia (Testnet)](https://testnet.garden.finance/?output-chain=base_sepolia&output-asset=USDT)
----
+## Choosing a route
+
+| Goal | Typical route |
+| --- | --- |
+| Move ETH or canonical ERC-20s between Ethereum and Base | Use an Ethereum ↔ Base bridge such as Superbridge or Brid.gg. |
+| Withdraw from Base to Ethereum with native security assumptions | Use the native withdrawal path and account for the 7 day challenge window. |
+| Move assets or messages between Solana and Base | Use the Base-Solana bridge. |
+| Move BTC or BTC-like assets to Base | Use a provider that supports Bitcoin routes to Base, such as Garden. |
+
+## Related specs and references
+
+- [Standard Bridges spec](/base-chain/specs/protocol/bridging/bridges) explains the protocol bridge model.
+- [Deposits spec](/base-chain/specs/protocol/bridging/deposits) describes Ethereum-to-Base deposits.
+- [Withdrawals spec](/base-chain/specs/protocol/bridging/withdrawals) describes Base-to-Ethereum withdrawals.
+- [Base contracts](/base-chain/network-information/base-contracts) lists deployed bridge contract addresses.
+- [Transaction Finality](/base-chain/network-information/transaction-finality) explains withdrawal finality.
## Disclaimer
@@ -126,7 +135,7 @@ Superchain Bridges are operated by third parties, not by Coinbase Technologies,
-The Base-Solana bridge uses validators to verify cross-chain messages. When bridging from Solana to Base, tokens are locked on Solana and minted on Base. When bridging from Base to Solana, tokens are burned on Base and unlocked on Solana. See the [full documentation](/base-chain/quickstart/base-solana-bridge) for implementation details.
+The Base-Solana bridge uses validators to verify cross-chain messages. When bridging from Solana to Base, tokens are locked on Solana and minted on Base. When bridging from Base to Solana, tokens are burned on Base and unlocked on Solana. See the [full documentation](/base-chain/network-information/base-solana-bridge) for implementation details.
diff --git a/docs/base-chain/network-information/configuration-changelog.mdx b/docs/base-chain/network-information/configuration-changelog.mdx
index 905bc3253..00089ac65 100644
--- a/docs/base-chain/network-information/configuration-changelog.mdx
+++ b/docs/base-chain/network-information/configuration-changelog.mdx
@@ -4,7 +4,7 @@ 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.
+This page tracks historical configuration changes to the Base networks, including updates to block building, network fees, and other network parameters. For current fee behavior and active fee values, see [Network Fees](/base-chain/network-information/network-fees).
## Base Mainnet
diff --git a/docs/base-chain/network-information/diffs-ethereum-base.mdx b/docs/base-chain/network-information/diffs-ethereum-base.mdx
index 191af4491..c3b0f7079 100644
--- a/docs/base-chain/network-information/diffs-ethereum-base.mdx
+++ b/docs/base-chain/network-information/diffs-ethereum-base.mdx
@@ -9,10 +9,10 @@ However, there are still some minor discrepancies between the behavior of Base a
These minor differences include:
-- [Flashblocks](https://docs.base.org/base-chain/flashblocks/app-integration)
+- [Flashblocks](/base-chain/network-information/block-building#flashblocks)
- [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
+- [Chain Finality](https://docs.optimism.io/stack/differences#chain-finality)
diff --git a/docs/base-chain/network-information/network-fees.mdx b/docs/base-chain/network-information/network-fees.mdx
index 0f67b06c5..6859dc76d 100644
--- a/docs/base-chain/network-information/network-fees.mdx
+++ b/docs/base-chain/network-information/network-fees.mdx
@@ -28,9 +28,9 @@ documentation](https://docs.optimism.io/stack/transactions/fees).
## Minimum Base Fee
-As part of the [Jovian upgrade], Base introduced a minimum base fee. This feature sets a floor for the L2 base fee, preventing it from dropping to extremely low levels during periods of low network activity.
+Base uses a minimum base fee, which sets a floor for the L2 base fee and prevents it from dropping to extremely low levels during periods of low network activity.
-The minimum base fee for Base Mainnet is 5,000,000 wei (0.005 gwei). This value may be periodically adjusted as we gather data on how it affects the chain. For reference, a minimum base fee of 0.005 gwei results in a cost of approximately \$0.002 for a typical 200,000 gas transaction at an ETH price of \$2000.
+The current minimum base fee for Base Mainnet and Base Sepolia is 5,000,000 wei (0.005 gwei). This value may be periodically adjusted as we gather data on how it affects the chain. For reference, a minimum base fee of 0.005 gwei results in a cost of approximately \$0.002 for a typical 200,000 gas transaction at an ETH price of \$2000.
### Benefits
@@ -45,7 +45,7 @@ The minimum base fee for Base Mainnet is 5,000,000 wei (0.005 gwei). This value
| Base Mainnet | 5,000,000 wei (0.005 gwei) |
| Base Sepolia | 5,000,000 wei (0.005 gwei) |
-See the [Configuration Changelog](/base-chain/network-information/configuration-changelog) for a history of changes to the minimum base fee and other network parameters.
+Last verified: May 8, 2026. Last changed on February 19, 2026 for both networks. See the [Configuration Changelog](/base-chain/network-information/configuration-changelog) for the history of changes to the minimum base fee and other network parameters.
## EIP-1559 Fee Parameters
@@ -78,6 +78,8 @@ This gradual adjustment helps prevent extreme fee volatility during traffic spik
| Base Mainnet | 6 | 125 | 4% |
| Base Sepolia | 6 | 125 | 4% |
+Last verified: May 8, 2026. The denominator was last changed on February 4, 2026 for Base Mainnet and February 10, 2026 for Base Sepolia. See the [Configuration Changelog](/base-chain/network-information/configuration-changelog) for historical parameter changes.
+
## Querying the L1 Fee
The **GasPriceOracle** predeployment at `0x420000000000000000000000000000000000000F` (listed in [Contract Addresses](/base-chain/network-information/base-contracts)) lets you programmatically estimate the L1 fee component before signing and submitting a transaction.
@@ -92,5 +94,3 @@ The **GasPriceOracle** predeployment at `0x4200000000000000000000000000000000000
| `blobBaseFeeScalar()` | Scalar applied to the blob base fee component |
Use `getL1FeeUpperBound` when you need a quick estimate before the transaction is fully constructed. Use `getL1Fee` with the complete serialized transaction for an exact value before signing.
-
-[Jovian upgrade]: https://docs.optimism.io/notices/upgrade-17
diff --git a/docs/base-chain/network-information/networks-and-endpoints.mdx b/docs/base-chain/network-information/networks-and-endpoints.mdx
new file mode 100644
index 000000000..ac52fbfe7
--- /dev/null
+++ b/docs/base-chain/network-information/networks-and-endpoints.mdx
@@ -0,0 +1,20 @@
+---
+title: Networks and Endpoints
+description: Base Mainnet and Base Sepolia chain IDs, public RPC URLs, WebSocket URLs, Flashblocks endpoints, and explorers.
+---
+
+import BaseNetworks from "/snippets/base-networks.mdx";
+
+Use this page to find public Base network connection details. For app and wallet setup steps, see [Connecting to Base](/base-chain/quickstart/connecting-to-base).
+
+## Public networks
+
+
+
+## Related references
+
+- [Base RPC Overview](/base-chain/api-reference/rpc-overview) explains API behavior across Standard and Flashblocks endpoints.
+- [Node Providers](/base-chain/node-operators/node-providers) lists production infrastructure providers.
+- [Run a Base Node](/base-chain/node-operators/run-a-base-node) explains how to operate your own Base node.
+- [Network Faucets](/base-chain/network-information/network-faucets) lists testnet faucets.
+- [Contract Addresses](/base-chain/network-information/base-contracts) lists L1 and L2 protocol contract deployments.
diff --git a/docs/base-chain/network-information/sequencing-policy.mdx b/docs/base-chain/network-information/sequencing-policy.mdx
new file mode 100644
index 000000000..0e987cccf
--- /dev/null
+++ b/docs/base-chain/network-information/sequencing-policy.mdx
@@ -0,0 +1,70 @@
+---
+title: Sequencing Policy
+description: How Base orders, includes, and preconfirms transactions.
+---
+
+Base transactions are ordered by the Base sequencer before they become sealed L2 blocks. This page explains the practical sequencing model app developers, traders, market makers, and infrastructure operators should account for when they submit or monitor transactions.
+
+## What the sequencer does
+
+The sequencer receives signed transactions, validates them against current account state and network rules, chooses which valid transactions to include, and produces ordered L2 blocks. Validators can independently derive and verify the resulting L2 chain from data posted to Ethereum.
+
+Sequencing is separate from finality. A transaction can be:
+
+- **Received** by an RPC endpoint or mempool.
+- **Preconfirmed** in a Flashblock before the full L2 block seals.
+- **Included** in a sealed L2 block.
+- **Batched** to Ethereum.
+- **Finalized** once the Ethereum batch reaches L1 finality.
+
+For the timing and guarantees of those stages, see [Transaction Lifecycle](/base-chain/network-information/transaction-lifecycle) and [Transaction Finality](/base-chain/network-information/transaction-finality).
+
+## How transactions are selected
+
+Base uses Flashblocks for block production. The block-in-progress is divided into roughly 200ms Flashblocks. Each Flashblock orders a portion of the next full L2 block.
+
+Transaction selection is affected by:
+
+- **Validity:** invalid nonce, insufficient balance, gas-limit violations, or reverted execution can prevent inclusion.
+- **Priority fee:** higher-priority transactions are more likely to be selected earlier, but Flashblocks are not a formalized priority-fee auction mechanism.
+- **Arrival timing:** a transaction that arrives after an earlier Flashblock has already been produced should not be assumed to reorder that earlier Flashblock, even if it pays a higher fee.
+- **Gas budget:** each Flashblock has an incrementally increasing gas budget within the full L2 block gas limit.
+- **Per-transaction gas maximum:** transactions above the active per-transaction gas cap are rejected before inclusion.
+
+
+Flashblocks improve inclusion latency, but they do not create a single global fee-ranked ordering pass over every transaction that arrives during the full 2 second block window. For latency-sensitive workflows, arrival timing and propagation path matter alongside fee settings.
+
+
+## What preconfirmation means
+
+When a transaction appears in Flashblocks data, it has been sequencer-ordered into the current block-in-progress. This is a strong preconfirmation signal, not the same thing as L2 block inclusion.
+
+Applications can use Flashblocks-aware RPC endpoints and subscriptions to display faster state updates, pending logs, transaction status, or preconfirmed receipts. They should still reconcile against sealed L2 block data before treating the transaction as fully included.
+
+## Practical guidance
+
+For apps and wallets:
+
+- Submit transactions with realistic fee settings and handle RPC rejection errors clearly.
+- Track transactions by hash until a sealed receipt is available.
+- If using preconfirmed state, label optimistic UI states and reconcile after L2 inclusion.
+
+For market makers and latency-sensitive systems:
+
+- Account for transaction propagation and arrival time, not only priority fee.
+- Monitor both preconfirmation signals and sealed block receipts.
+- Avoid assuming that a later high-fee transaction can reorder already-built Flashblocks.
+
+For infrastructure providers:
+
+- Expose Standard and Flashblocks endpoint behavior clearly to users.
+- Document whether by-hash lookups can return preconfirmed cache data.
+- Keep raw Flashblocks stream dependencies separate from application-facing RPC behavior.
+
+## Related references
+
+- [Block Building](/base-chain/network-information/block-building) documents Flashblocks timing, gas allocation, and active gas limits.
+- [Base RPC Overview](/base-chain/api-reference/rpc-overview) explains how sequencing and preconfirmed state are exposed over RPC.
+- [eth_sendRawTransaction](/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction) documents transaction submission behavior.
+- [eth_getTransactionReceipt](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt) documents sealed and preconfirmed receipt lookups.
+- [Protocol Overview](/base-chain/specs/protocol/overview) describes sequencer and validator roles at the specification layer.
diff --git a/docs/base-chain/network-information/throughput-and-limits.mdx b/docs/base-chain/network-information/throughput-and-limits.mdx
new file mode 100644
index 000000000..bdb19ed96
--- /dev/null
+++ b/docs/base-chain/network-information/throughput-and-limits.mdx
@@ -0,0 +1,24 @@
+---
+title: Throughput and Limits
+description: Entry point for Base block capacity, per-transaction gas limits, fee limits, endpoint rate limits, and related configuration.
+---
+
+This page collects the current destinations for Base throughput and limit topics. Keep live values on the canonical reference pages below.
+
+## Capacity and gas limits
+
+- [Block Building](/base-chain/network-information/block-building) documents block building mode, Flashblocks gas allocation, and the active per-transaction gas maximum.
+- [Network Fees](/base-chain/network-information/network-fees) documents L2 execution fees, L1 security fees, minimum base fee, and EIP-1559 parameters.
+- [Configuration Changelog](/base-chain/network-information/configuration-changelog) tracks changes to block building, fees, and other network parameters.
+
+## API and endpoint limits
+
+- [Networks and Endpoints](/base-chain/network-information/networks-and-endpoints) lists public Standard and Flashblocks endpoints.
+- [Base RPC Overview](/base-chain/api-reference/rpc-overview) documents method behavior across Standard and Flashblocks endpoints.
+- [Node Providers](/base-chain/node-operators/node-providers) lists infrastructure providers for production traffic.
+- [Run a Base Node](/base-chain/node-operators/run-a-base-node) explains how to operate your own RPC infrastructure.
+
+## Troubleshooting
+
+- [Troubleshooting Transactions](/base-chain/network-information/troubleshooting-transactions) covers transaction inclusion, rejection, nonce, and confirmation issues.
+- [Node Troubleshooting](/base-chain/node-operators/troubleshooting) covers node setup, sync, snapshot, and performance issues.
diff --git a/docs/base-chain/network-information/transaction-finality.mdx b/docs/base-chain/network-information/transaction-finality.mdx
index 01ae09508..1af493b4e 100644
--- a/docs/base-chain/network-information/transaction-finality.mdx
+++ b/docs/base-chain/network-information/transaction-finality.mdx
@@ -26,9 +26,9 @@ For transactions on Base, finality is not a single time to wait for. Instead, th
After roughly 200ms, the transaction is included in a preconfirmation block (Flashblock) by the Base sequencer.
-
-* Flashblocks reorg less than 0.001% of the time
-* You can see the reorg history in our [public stats page.](https://base.org/stats)
+
+* Base targets a Flashblock reorg SLO of less than 0.01%.
+* This is a target SLO, not an observed reorg rate. Check current metrics in the [public stats page.](https://base.org/stats)
@@ -85,4 +85,3 @@ Transactions moving funds from Ethereum L1 to Base must be initiated on Ethereum
No. The output proposal that was challenged is marked invalid, and any actions that used it's output root become invalid. Specifically, withdrawals from Base to L1 that proved against this output root must now prove against a different and valid one.
-
diff --git a/docs/base-chain/network-information/transaction-lifecycle.mdx b/docs/base-chain/network-information/transaction-lifecycle.mdx
new file mode 100644
index 000000000..495b43b0c
--- /dev/null
+++ b/docs/base-chain/network-information/transaction-lifecycle.mdx
@@ -0,0 +1,71 @@
+---
+title: Transaction Lifecycle
+description: Follow a Base transaction from submission through sequencing, preconfirmation, L2 inclusion, L1 batching, and finality.
+---
+
+Most transactions on Base follow the same high-level path: a wallet signs a transaction, an RPC endpoint accepts it, the sequencer orders it, Base exposes the result through preconfirmed and sealed block data, and the batcher posts the transaction data to Ethereum.
+
+For normal L2 activity, such as transfers, swaps, mints, contract calls, and app interactions, this process completes quickly. The 7 day waiting period only applies to withdrawals from Base back to Ethereum.
+
+
+Only Base-to-Ethereum withdrawals use the 7 day fault proof window. Regular transactions on Base do not wait 7 days before apps can treat them as complete.
+
+
+## Lifecycle at a glance
+
+| Stage | Typical timing | What happens | What apps can do |
+| --- | --- | --- | --- |
+| Submit and price | Immediate | The wallet signs a transaction and sends it to an RPC endpoint. The transaction must pay the required L2 execution fee and L1 data fee. | Surface wallet or RPC errors, show the transaction as submitted, and keep tracking by hash. |
+| Sequence | Sub-second | The sequencer admits valid transactions, orders them, and begins building the next L2 block. | Treat the transaction as pending until it appears in preconfirmed or sealed block data. |
+| Flashblock preconfirmation | About 200 ms | Flashblocks-aware infrastructure can expose preconfirmed transaction and state updates before the full L2 block is sealed. | Use Flashblocks endpoints for faster UI updates when your product can tolerate preconfirmation semantics. |
+| L2 block inclusion | About 2 seconds | The transaction is included in a sealed L2 block distributed to Base nodes. | Show the transaction as included on Base and read its receipt through standard JSON-RPC. |
+| L1 batch inclusion | About 2 minutes | The batcher posts Base transaction data to Ethereum. | Treat the transaction as having stronger settlement guarantees because the data has been posted to L1. |
+| L1 finality | About 20 minutes | The Ethereum block containing the batch reaches Ethereum finality. | Treat the transaction as finalized for normal L2 app and accounting workflows. |
+| Withdrawal finality | 7 days | For Base-to-Ethereum withdrawals only, the withdrawal must pass the fault proof challenge window before funds can be released on L1. | Keep withdrawal-specific UX separate from normal L2 transaction confirmation. |
+
+## Submission and fees
+
+A Base transaction starts the same way as an Ethereum transaction: a wallet signs calldata, gas parameters, nonce, chain ID, and value. The transaction is then sent to a Base RPC endpoint with `eth_sendRawTransaction`.
+
+Before a transaction can be included, it must be valid for the current account state and fee market. Common reasons for rejection or delay include an underpriced fee, an incorrect nonce, insufficient funds for gas, reverted execution, or endpoint rate limits. Base fees include L2 execution costs and the L1 data cost of eventually posting transaction data to Ethereum.
+
+## Sequencing and preconfirmation
+
+The Base sequencer orders admitted transactions and builds L2 blocks. With Flashblocks, the sequencer also emits preconfirmation data before the full L2 block is sealed. This gives apps a faster signal that a transaction is likely to land.
+
+Preconfirmed state is useful for low-latency UX, but it is not the same as L2 block inclusion. Apps should label or handle preconfirmed state separately when the distinction matters. For example, an app can optimistically update an order, mint, or transfer view from Flashblocks data, then reconcile the final receipt after L2 block inclusion.
+
+## L2 inclusion and receipts
+
+Once a transaction is included in a sealed L2 block, standard JSON-RPC methods such as `eth_getTransactionReceipt`, `eth_getTransactionByHash`, and `eth_getBlockByNumber` can return the canonical L2 result. This is the main confirmation point most apps use for normal Base activity.
+
+At this point, the receipt tells you whether execution succeeded, which logs were emitted, how much gas was used, and which block included the transaction. If a transaction is missing, still pending, or replaced by another transaction with the same nonce, handle that as a transaction tracking problem rather than a finality problem.
+
+## L1 batching and finality
+
+After L2 inclusion, Base batches transaction data and posts it to Ethereum. L1 batch inclusion gives the transaction stronger guarantees because the data needed to derive the L2 chain has been published to Ethereum.
+
+When the Ethereum block containing the batch reaches finality, the transaction has reached the strongest finality stage relevant to normal L2 app workflows. This is separate from withdrawal finality, which protects cross-chain withdrawals through the fault proof system.
+
+## Withdrawals are different
+
+Deposits from Ethereum to Base and normal transactions on Base do not use the 7 day withdrawal period. The 7 day window applies when a user withdraws from Base to Ethereum through the native bridge.
+
+During a withdrawal, the user initiates the withdrawal on Base, a proposer submits an output root to Ethereum, and the withdrawal can be finalized after the fault proof challenge window if the output root remains valid. If a challenge invalidates an output root, the L2 chain itself does not reorg, but withdrawals proven against that invalid output need to be proven again against a valid output.
+
+## Related docs
+
+
+
+ Understand L2 execution fees, L1 data fees, and minimum base fee settings.
+
+
+ Learn how Base sequences transactions, builds Flashblocks, and enforces gas limits.
+
+
+ Compare Standard and Flashblocks endpoint behavior by method.
+
+
+ Compare preconfirmation, L2 inclusion, L1 batching, L1 finality, and withdrawal finality.
+
+
diff --git a/docs/base-chain/network-information/troubleshooting-transactions.mdx b/docs/base-chain/network-information/troubleshooting-transactions.mdx
index 275fa3d57..fc0d66034 100644
--- a/docs/base-chain/network-information/troubleshooting-transactions.mdx
+++ b/docs/base-chain/network-information/troubleshooting-transactions.mdx
@@ -50,11 +50,11 @@ If you submit a transaction with a nonce that has already been used, it will be
### Gas Limit Exceeds Maximum
-Base enforces a [per-transaction gas maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum) of **25,000,000 gas**. Transactions specifying a higher gas limit are rejected by the mempool before inclusion.
+Base enforces a [per-transaction gas maximum](/base-chain/network-information/block-building#per-transaction-gas-maximum). The active cap is network- and activation-dependent: Base Sepolia uses 16,777,216 gas, while Base Mainnet uses 25,000,000 gas until Azul activates on May 21, 2026 at 18:00 UTC and 16,777,216 gas after activation. Transactions specifying a higher gas limit are rejected by the mempool before inclusion.
**Error**: `exceeds maximum per-transaction gas limit`
-**Solution**: Reduce the gas limit to 25,000,000 or below. If your transaction genuinely requires more gas, you'll need to break it into multiple transactions.
+**Solution**: Reduce the gas limit to the active per-transaction cap for the network. If your transaction genuinely requires more gas, you'll need to break it into multiple transactions.
## Transaction Included But Failed
@@ -76,16 +76,7 @@ The contract execution encountered a revert condition.
### Understanding Confirmation Times
-Base produces blocks every 2 seconds, but [Flashblocks](/base-chain/flashblocks/app-integration) provide preconfirmations every 200ms.
-
-| Confirmation Level | Time | Description |
-|-------------------|------|-------------|
-| Flashblock preconfirmation | ~200ms | Transaction included in a preconfirmation |
-| L2 block inclusion | ~2s | Transaction included in a sealed L2 block |
-| L1 batch inclusion | ~2m | Transaction posted to Ethereum |
-| L1 finality | ~20m | Ethereum batch is finalized |
-
-See [Transaction Finality](/base-chain/network-information/transaction-finality) for more details.
+First identify which confirmation stage your app or wallet is waiting for. The canonical lifecycle and timing from Flashblock preconfirmation through L1 finality is documented in [Transaction Finality](/base-chain/network-information/transaction-finality).
### Using Flashblocks for Faster Confirmations
@@ -98,6 +89,8 @@ To get the fastest possible confirmation, use a Flashblocks-aware RPC endpoint:
These endpoints return transaction receipts as soon as a transaction is included in a Flashblock, rather than waiting for the full L2 block.
+If a transaction appears on a Flashblocks-aware endpoint but not yet on a standard RPC endpoint, continue polling the standard endpoint before treating it as a regular L2 block inclusion. If neither endpoint returns a receipt, continue with the fee, nonce, and gas-limit checks above.
+
## Debugging Tools
- **[Basescan](https://basescan.org)**: View transaction status, logs, and revert reasons
diff --git a/docs/base-chain/node-operators/base-v1-upgrade.mdx b/docs/base-chain/node-operators/base-v1-upgrade.mdx
index a555eff75..24b394b78 100644
--- a/docs/base-chain/node-operators/base-v1-upgrade.mdx
+++ b/docs/base-chain/node-operators/base-v1-upgrade.mdx
@@ -26,12 +26,8 @@ The mainnet activation date is tentative and subject to change. Follow [@buildon
| Layer | Software | Mainnet | Testnet |
|-------|----------|---------|-------------------|
-| Execution (EL) | `base-reth-node` | v0.9.0+ *(coming soon)* | [v0.7.0+](https://github.com/base/base/releases/tag/v0.7.0) |
-| Consensus (CL) | `base-consensus` | v0.9.0+ *(coming soon)* | [v0.7.0+](https://github.com/base/base/releases/tag/v0.7.0) |
-
-
-Release links for v0.9.0 will be added once published to [base/base releases](https://github.com/base/base/releases).
-
+| Execution (EL) | `base-reth-node` | [v0.8.0+](https://github.com/base/base/releases/tag/v0.8.0) | [v0.8.0+](https://github.com/base/base/releases/tag/v0.8.0) |
+| Consensus (CL) | `base-consensus` | [v0.8.0+](https://github.com/base/base/releases/tag/v0.8.0) | [v0.8.0+](https://github.com/base/base/releases/tag/v0.8.0) |
Both clients are available from the [base/node](https://github.com/base/node/releases) repository, where most configuration is preconfigured and can be overridden via environment variables. See the `.env.mainnet` and `.env.sepolia` files for the full list of configurable options.
@@ -63,7 +59,7 @@ If you are already running OP Reth via [base/node](https://github.com/base/node)
docker compose up
```
-4. Verify client version: `web3_clientVersion` should include `base` in the version string (e.g. `reth/v1.11.3-.../base/v0.7.0`)
+4. Verify client version: `web3_clientVersion` should include `base` in the version string (e.g. `reth/v1.11.3-.../base/v0.8.0`)
### Migrating from another client
@@ -109,11 +105,12 @@ Replace `op-node` with `base-consensus` by updating your environment variables.
4. Verify:
- Check consensus logs: `docker compose logs -f node`
- - Confirm sync status: `optimism_syncStatus` continues to work
+ - Confirm sync status with `optimism_syncStatus` on the base-consensus RPC port
### Environment Variable Mapping
If you use [base/node](https://github.com/base/node), most variables are already set in `.env.mainnet` and `.env.sepolia`. If you build from [base/base](https://github.com/base/base), use the table below to map your `op-node` environment variables to `base-consensus`. Most are optional. Run `base-consensus node --help` for the full list.
+
| `op-node` | `base-consensus` |
|-----------|-------------------|
| `OP_NODE_NETWORK` | `BASE_NODE_NETWORK` |
@@ -125,7 +122,7 @@ If you use [base/node](https://github.com/base/node), most variables are already
| `OP_NODE_L1_TRUST_RPC` | `BASE_NODE_L1_TRUST_RPC` |
| `OP_NODE_L2_ENGINE_RPC` | `BASE_NODE_L2_ENGINE_RPC` |
| `OP_NODE_L2_ENGINE_AUTH` | `BASE_NODE_L2_ENGINE_AUTH` |
-| — | `BASE_NODE_L2_ENGINE_AUTH_ENCODED` |
+| — | `BASE_NODE_L2_ENGINE_AUTH_RAW` |
| `OP_NODE_P2P_BOOTNODES` | `BASE_NODE_P2P_BOOTNODES` |
| `OP_NODE_P2P_LISTEN_IP` | `BASE_NODE_P2P_LISTEN_IP` |
| `OP_NODE_P2P_LISTEN_TCP_PORT` | `BASE_NODE_P2P_LISTEN_TCP_PORT` |
@@ -147,7 +144,7 @@ If you use [base/node](https://github.com/base/node), most variables are already
| `OP_NODE_RPC_ADMIN_STATE` | `BASE_NODE_RPC_ADMIN_STATE` |
| `OP_NODE_SAFEDB_PATH` | `BASE_NODE_SAFEDB_PATH` |
| `OP_NODE_SYNCMODE` | — |
-| `OP_NODE_VERIFIER_L1_CONFS` | — |
+| `OP_NODE_VERIFIER_L1_CONFS` | `BASE_NODE_VERIFIER_L1_CONFS` |
| `OP_NODE_L2_ENGINE_KIND` | — |
| `OP_NODE_L1_RPC_KIND` | — |
| `OP_NODE_L1_BEACON_FETCH_ALL_SIDECARS` | — |
diff --git a/docs/base-chain/node-operators/run-a-base-node.mdx b/docs/base-chain/node-operators/run-a-base-node.mdx
index 075134131..8aa5121dd 100644
--- a/docs/base-chain/node-operators/run-a-base-node.mdx
+++ b/docs/base-chain/node-operators/run-a-base-node.mdx
@@ -3,6 +3,8 @@ title: Run a Node
description: A tutorial that teaches how to set up and run a Base Node.
---
+import BaseNetworks from "/snippets/base-networks.mdx";
+
This tutorial will walk you through setting up your own [Base Node](https://github.com/base/node).
## Objectives
@@ -17,16 +19,13 @@ By the end of this tutorial you should be able to:
Running a node is time consuming, resource expensive, and potentially costly. If you don't already know why you want to run your own node, you probably don't need to.
-If you're just getting started and need an RPC URL, you can use our free endpoints:
-
-- **Mainnet**: `https://mainnet.base.org`
-- **Testnet (Sepolia)**: `https://sepolia.base.org`
-
-**Note:** Our RPCs are rate-limited, they are not suitable for production apps.
+If you're just getting started and need an RPC URL, you can use the public endpoints listed below. These endpoints are rate-limited and are not suitable for production apps.
If you're looking to harden your app and avoid rate-limiting for your users, please consider using an endpoint from one of our [partners](/base-chain/node-operators/node-providers).
+
+
### Hardware requirements
See the [Node Performance guide](/base-chain/node-operators/performance-tuning#hardware) for full hardware specifications, storage requirements, and production hardware examples.
@@ -52,10 +51,21 @@ This tutorial assumes you are familiar with [Docker](https://www.docker.com/) an
You'll need your own L1 RPC URL. This can be one that you run yourself, or via a third-party provider, such as our [partners](/base-chain/node-operators/node-providers).
+### Supported Client Combinations
+
+| Network | Activation status | Supported execution client | Supported consensus client | Env-var family | Sync RPC |
+|---------|-------------------|----------------------------|----------------------------|----------------|----------|
+| Base Mainnet | Azul activates May 21, 2026 18:00 UTC | `base-reth-node` v0.8.0+ after activation | `base-consensus` v0.8.0+ after activation | `BASE_NODE_*` | `optimism_syncStatus` on `BASE_NODE_RPC_PORT` |
+| Base Sepolia | Azul activated April 20, 2026 18:00 UTC | `base-reth-node` v0.8.0+ | `base-consensus` v0.8.0+ | `BASE_NODE_*` | `optimism_syncStatus` on `BASE_NODE_RPC_PORT` |
+
+
+Use supported Base-native client combinations for Azul. The `CLIENT=geth` + `BASE_CONSENSUS=true` combination crash-loops in v0.15.5 and should not be used.
+
+
## Running a Node
1. Clone the [repo](https://github.com/base/node).
-2. Ensure you have an Ethereum L1 full node RPC available (not Base), and set `OP_NODE_L1_ETH_RPC` & `OP_NODE_L1_BEACON` (in the `.env.*` file if using `docker-compose`). If running your own L1 node, it needs to be synced before Base will be able to fully sync.
+2. Ensure you have an Ethereum L1 full node RPC available (not Base), and set `BASE_NODE_L1_ETH_RPC` and `BASE_NODE_L1_BEACON` (in the `.env.*` file if using `docker-compose`). If running your own L1 node, it needs to be synced before Base will be able to fully sync.
3. Uncomment the line relevant to your network (`.env.sepolia`, or `.env.mainnet`) under the 2 `env_file` keys in `docker-compose.yml`.
4. Run `docker compose up`. Confirm you get a response from:
@@ -79,7 +89,7 @@ You can monitor the progress of your sync with:
```bash Terminal
echo Latest synced block behind by: $((($(date +%s)-$( \
curl -d '{"id":0,"jsonrpc":"2.0","method":"optimism_syncStatus"}' \
- -H "Content-Type: application/json" http://localhost:7545 | \
+ -H "Content-Type: application/json" http://localhost:${BASE_NODE_RPC_PORT:-7545} | \
jq -r .result.unsafe_l2.timestamp))/60)) minutes
```
@@ -115,7 +125,7 @@ NODE_TYPE=base CLIENT=reth RETH_FB_WEBSOCKET_URL="wss://mainnet.flashblocks.base
**These WebSocket endpoints are for node infrastructure only.**
-Applications should not connect directly to `wss://mainnet.flashblocks.base.org/ws`. Instead, apps should query your RPC node for Flashblocks data. See the [App Integration guide](/base-chain/flashblocks/app-integration) for details.
+Applications should not connect directly to `wss://mainnet.flashblocks.base.org/ws`. Instead, apps should query your RPC node for Flashblocks data. See the [Base RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix) for endpoint behavior.
diff --git a/docs/base-chain/node-operators/troubleshooting.mdx b/docs/base-chain/node-operators/troubleshooting.mdx
index abd92dc65..7911067cb 100644
--- a/docs/base-chain/node-operators/troubleshooting.mdx
+++ b/docs/base-chain/node-operators/troubleshooting.mdx
@@ -33,23 +33,22 @@ Before diving into specific issues, here are some general steps that often help:
- **Check**: Are you in the correct directory (the cloned `node` directory containing `docker-compose.yml`)?
- **Check**: Syntax errors in the command (e.g., misspelled `NETWORK_ENV` or `CLIENT`).
-- **Issue**: Container fails to start, logs show errors related to `.env` files or environment variables.
- - **Check**: Did you correctly configure the L1 endpoints (`OP_NODE_L1_ETH_RPC`, `OP_NODE_L1_BEACON`) in the correct `.env` file (`.env.mainnet` or `.env.sepolia`)?
- - **Check**: Is the `OP_NODE_L1_BEACON_ARCHIVER` endpoint set if required by your configuration or L1 node?
- - **Check**: Is `OP_NODE_L1_RPC_KIND` set correctly for your L1 provider?
+- **Issue**: Container fails to start, logs show errors related to `.env` files or environment variables.
+ - **Check**: Did you correctly configure the L1 endpoints (`BASE_NODE_L1_ETH_RPC`, `BASE_NODE_L1_BEACON`) in the correct `.env` file (`.env.mainnet` or `.env.sepolia`)?
+ - **Check**: Is the `BASE_NODE_L1_BEACON_ARCHIVER` endpoint set if required by your configuration or L1 node?
- **Check**: (Reth) Are `RETH_CHAIN` and `RETH_SEQUENCER_HTTP` correctly set in the `.env` file?
-- **Issue**: Errors related to JWT secret or authentication between `op-node` and L2 client.
- - **Check**: Ensure you haven't manually modified the `OP_NODE_L2_ENGINE_AUTH` variable or the JWT file path (`$OP_NODE_L2_ENGINE_AUTH`) unless you know what you're doing. The `docker-compose` setup usually handles this automatically.
+- **Issue**: Errors related to JWT secret or authentication between `base-consensus` and the execution client.
+ - **Check**: Ensure you haven't manually modified `BASE_NODE_L2_ENGINE_AUTH_RAW`, `BASE_NODE_L2_ENGINE_AUTH`, or the JWT file path unless you know what you're doing. The `docker-compose` setup usually handles this automatically.
- **Issue**: Permission errors related to data volumes (`./reth-data`).
- **Check**: Ensure the user running `docker compose` has write permissions to the directory where the `node` repository was cloned. Docker needs to be able to write to `./reth-data`. Sometimes running Docker commands with `sudo` can cause permission issues later; try running as a non-root user added to the `docker` group.
### Syncing Problems
-- **Issue**: Node doesn't start syncing or appears stuck (block height not increasing).
- - **Check**: `op-node` logs. Look for errors connecting to L1 endpoints or the L2 client.
- - **Check**: Look at logs for the execution client. Look for errors connecting to `op-node` via the Engine API (port `8551`) or P2P issues.
+- **Issue**: Node doesn't start syncing or appears stuck (block height not increasing).
+ - **Check**: `base-consensus` logs. Look for errors connecting to L1 endpoints or the execution client.
+ - **Check**: Look at logs for the execution client. Look for errors connecting to `base-consensus` via the Engine API (port `8551`) or P2P issues.
- **Check**: L1 node health and sync status. Is the L1 node accessible and fully synced?
- **Check**: System time. Ensure the server’s clock is accurately synchronized (use `ntp` or `chrony`). Significant time drift can cause P2P issues.
@@ -57,14 +56,14 @@ Before diving into specific issues, here are some general steps that often help:
- **Check**: Hardware specifications. Are you meeting the recommended specs (especially RAM and **NVMe SSD**) outlined in the [Node Performance](/base-chain/node-operators/performance-tuning) guide? Disk I/O is often the bottleneck.
- **Check**: L1 node performance. Is your L1 RPC endpoint responsive? A slow L1 node will slow down L2 sync.
- **Check**: Network connection quality and bandwidth.
- - **Check**: `op-node` and L2 client logs for any performance warnings or errors.
+ - **Check**: `base-consensus` and execution client logs for any performance warnings or errors.
-- **Issue**: `optimism_syncStatus` (port `7545` on `op-node`) shows a large time difference or errors.
+- **Issue**: `optimism_syncStatus` on the base-consensus RPC port (`BASE_NODE_RPC_PORT`) shows a large time difference or errors.
- **Action**: Check the logs for both the rollup node and the L2 execution client around the time the status was checked to identify the root cause (e.g., L1 connection issues, L2 client issues).
- **Issue**: `Error: nonce has already been used` when trying to send transactions.
- **Cause**: The node is not yet fully synced to the head of the chain.
- - **Action**: Wait for the node to fully sync. Monitor progress using `optimism_syncStatus` or logs.
+ - **Action**: Wait for the node to fully sync. Monitor progress using `optimism_syncStatus` on the base-consensus RPC port or logs.
### Performance Issues
diff --git a/docs/base-chain/overview.mdx b/docs/base-chain/overview.mdx
new file mode 100644
index 000000000..ae8552e24
--- /dev/null
+++ b/docs/base-chain/overview.mdx
@@ -0,0 +1,55 @@
+---
+title: Chain Overview
+description: Start here for Base Chain docs, including network configuration, transaction lifecycle, APIs, protocol specifications, and node operations.
+---
+
+Base is an Ethereum L2. These docs explain how transactions move through Base, how blocks are built, how assets move across chains, and where to find the lower-level references for integration and operations.
+
+## Start here
+
+
+
+ Follow a transaction from submission through preconfirmation, L2 inclusion, L1 batching, and finality.
+
+
+ Learn how Base orders transactions, builds Flashblocks, and enforces network limits.
+
+
+ Understand how assets move between Base, Ethereum, Solana, Bitcoin, and other chains.
+
+
+ Learn where batch transactions, sponsored gas, spend permissions, and smart account UX live in the Base docs.
+
+
+ Operate Base infrastructure, including Flashblocks-aware RPC nodes.
+
+
+ Use Base JSON-RPC, Flashblocks API methods, subscriptions, and debug APIs.
+
+
+
+## Reference areas
+
+
+
+ Learn how Base blocks are built, how transactions are ordered, and how network limits are configured.
+
+
+ Look up RPC endpoints, chain IDs, contract addresses, faucets, and configuration history.
+
+
+ Build account abstraction UX on Base, including batching, paymasters, spend permissions, and sub-accounts.
+
+
+ Read the cohesive Base Chain protocol specification, upgrades, BCPs, and protocol reference.
+
+
+
+## Where Flashblocks content lives
+
+Flashblocks is part of Base block production, transaction confirmation, RPC behavior, and node operation. Start with:
+
+- [Block Building](/base-chain/network-information/block-building#flashblocks) for sequencing and gas allocation.
+- [Transaction Finality](/base-chain/network-information/transaction-finality) for preconfirmation and finality stages.
+- [Base RPC Overview](/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix) for API behavior.
+- [Run a Base Node](/base-chain/node-operators/run-a-base-node#enable-flashblocks) for node operation.
diff --git a/docs/base-chain/quickstart/connecting-to-base.mdx b/docs/base-chain/quickstart/connecting-to-base.mdx
index 17e708dfe..f9af19daa 100644
--- a/docs/base-chain/quickstart/connecting-to-base.mdx
+++ b/docs/base-chain/quickstart/connecting-to-base.mdx
@@ -3,29 +3,11 @@ title: 'Connecting to Base'
description: Documentation about Base Mainnet and Base Testnet. This page covers network information for the Base network, including network names, descriptions, RPC endpoints, chain IDs, currency symbols, and block explorers.
---
-## Base Mainnet
-
-| Name | Value |
-| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
-| Network Name | Base Mainnet |
-| Description | The public mainnet for Base. |
-| RPC Endpoint | [https://mainnet.base.org](https://mainnet.base.org) _Rate limited and not for production systems._ |
-| Flashblocks RPC Endpoint | [ https://mainnet-preconf.base.org]( https://mainnet-preconf.base.org) _Rate limited and not for production systems._ |
-| Chain ID | 8453 |
-| Currency Symbol | ETH |
-| Block Explorer | [https://base.blockscout.com/](https://base.blockscout.com/) |
-
-## Base Testnet (Sepolia)
-
-| Name | Value |
-| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
-| Network Name | Base Sepolia |
-| Description | A public testnet for Base. |
-| RPC Endpoint | [https://sepolia.base.org](https://sepolia.base.org) _Rate limited and not for production systems._ |
-| Flashblocks RPC Endpoint | [ https://sepolia-preconf.base.org]( https://sepolia-preconf.base.org) _Rate limited and not for production systems._ |
-| Chain ID | 84532 |
-| Currency Symbol | ETH |
-| Block Explorer | [https://sepolia-explorer.base.org](https://sepolia-explorer.base.org) |
+import BaseNetworks from "/snippets/base-networks.mdx";
+
+## Base Networks
+
+
L1 & L2 protocol and network-related smart contract deployments can be found on the [Base Contracts](/base-chain/network-information/base-contracts) page.
@@ -73,7 +55,7 @@ To add Base as a custom network to MetaMask:
| RPC Endpoint | [https://mainnet.base.org](https://mainnet.base.org) |
| Chain ID | 8453 |
| Currency Symbol | ETH |
- | Block Explorer | [https://base.blockscout.com/](https://base.blockscout.com/) |
+ | Block Explorer | [https://basescan.org](https://basescan.org) |
6. Tap the Save button to save Base as a network.
@@ -116,7 +98,7 @@ To add Base Sepolia as a custom network in MetaMask:
| RPC Endpoint | [https://sepolia.base.org](https://sepolia.base.org) |
| Chain ID | 84532 |
| Currency Symbol | ETH |
- | Block Explorer | [https://sepolia-explorer.base.org](https://sepolia-explorer.base.org) |
+ | Block Explorer | [https://sepolia.basescan.org](https://sepolia.basescan.org) |
6. Tap the Save button to save Base Sepolia as a network.
diff --git a/docs/base-chain/quickstart/why-base.mdx b/docs/base-chain/quickstart/why-base.mdx
deleted file mode 100644
index ffa86161d..000000000
--- a/docs/base-chain/quickstart/why-base.mdx
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: 'Why Base?'
----
-
-## TL;DR
-
-- **Cheap, fast, and open platform:** Base is a globally available platform that provides 1-second and <1-cent transactions to anyone in the world.
-- **Access to high-quality tooling:** Builders have access to tools to build incredible onchain experiences for AI, social, media, and entertainment.
-- **A place to earn:** Base has delivered grants to more than 1,000 builders, with plans to continue supporting more.
-- **Reach more users:** Base is committed to helping developers grow their user base by distributing their apps through official Base channels.
-
-
-## A platform for building innovative apps
-
-Base is a global onchain economy of people, builders, and businesses creating the next generation of the open internet. It enables builders to:
-
-- Focus on solving real user problems
-- Scale apps globally by default
-- Onboard users with a click
-- Accept payments from anyone, easily
-
-It’s fast, cheap, and permissionless, meaning anyone can build and use applications on Base.
-
-Base has become the hub for innovative use cases in media, entertainment, social, and even artificial intelligence. [Clanker](https://www.clanker.world), an autonomous AI agent on Base, generated more than $13 million in revenue within three months of its inception. As a cultivator of innovation, Base enables developers to focus on improving their products while retaining more of the upside they generate.
-
-Traditional app distribution models often require developers to sacrifice 30% of their revenue to app marketplaces. These platforms may incentivize predatory practices—selling user data or requiring personal information—and can restrict or deny access at their discretion. For instance, someone in Nairobi might be unable to use many U.S.-based fintech services.
-
-In contrast, decentralized finance (DeFi) apps—an onchain development sector—like [Moonwell](https://moonwell.fi) allow people anywhere in the world to access financial services directly from their phones. This means someone in Nairobi has the same level of access as someone in the U.S., opening opportunities that were previously inaccessible.
-
-
-
-## Expansive developer tools
-
-Developers choose Base for its:
-
-- Always-on global payment rail operating at internet speed
-- Low transaction costs (often less than a cent)
-- Robust developer tooling
-
-But there’s more: Base apps can be launched in hours, not days or weeks, thanks to an extensive suite of tools—many of which are open source. We’re reviving the spirit of innovation where two builders in a garage can create a massively successful business.
-
-Some of the tooling that makes this possible:
-
-- **Base Account:** Onboard your users quickly and securely. Users never have to worry about seed phrases again.
-- **Coinbase Developer Platform:** Access specialized developer services for onchain development, such as free node software, sponsored transactions, and other tools to help you fine-tune your application.
-- **Basenames:** More than just human-readable text to replace an address—Basenames are the front page to a builder’s onchain profile.
-- **Verifications:** Enable unique experiences for users with verified credentials.
-
diff --git a/docs/base-chain/specs/protocol/overview.mdx b/docs/base-chain/specs/protocol/overview.mdx
index 688f2c01d..041ded635 100644
--- a/docs/base-chain/specs/protocol/overview.mdx
+++ b/docs/base-chain/specs/protocol/overview.mdx
@@ -7,6 +7,11 @@ Base is a rollup built on Ethereum. L2 transaction data is posted to Ethereum fo
and proofs allow anyone to challenge invalid state transitions. This page gives a high-level tour of the
protocol components and the core user flows.
+Some implementation names in the protocol specifications, such as `op-node`, `op-geth`, and
+`op-program`, are inherited OP Stack protocol or reference terminology. Current Base operator guidance
+uses `base-consensus` and `base-reth-node`; see [Run a Node](/base-chain/node-operators/run-a-base-node)
+and the [Azul upgrade guide](/base-chain/node-operators/base-v1-upgrade).
+
## Network Participants
There are three primary actors that interact with Base: users, sequencers, and validators.
diff --git a/docs/changes.md b/docs/changes.md
index 58d5ecc97..edc35a649 100644
--- a/docs/changes.md
+++ b/docs/changes.md
@@ -23,7 +23,7 @@ These are **config and visible docs only** (not hidden MDX):
|--------|------------|
| Destinations pointed at **`/apps/overview`** (no page) | Now **`/apps/quickstart/create-new-app`** (matches prior `/mini-apps/overview` behavior). |
| **`/mini-apps/features/links`** → missing `technical-guides/links` | Destination is **`/apps/core-concepts/navigation`**. |
-| **`/mini-apps/growth/data-driven-growth`** → missing `technical-guides/data-driven-growth` | Destination is **`https://base.dev`** (same as the `technical-guides/data-driven-growth` redirect). |
+| **`/mini-apps/growth/data-driven-growth`** → missing `technical-guides/data-driven-growth` | Destination is **`https://dashboard.base.org`** (same as the `technical-guides/data-driven-growth` redirect). |
| **`/apps/features/manifest`** (base-app minikit redirects) | **`/apps/core-concepts/manifest`**. |
| **`/mini-apps/quickstart/new-apps/features`** → missing `features/overview` | **`/apps/featured-guidelines/overview`**. |
diff --git a/docs/docs.json b/docs/docs.json
index 241800d27..7c8023f70 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -38,7 +38,6 @@
"group": "Quickstart",
"pages": [
"get-started/resources-for-ai-agents",
- "get-started/build-app",
"get-started/launch-token",
"get-started/deploy-smart-contracts",
"get-started/learning-resources"
@@ -83,7 +82,7 @@
},
{
"anchor": "Bridge",
- "href": "https://docs.base.org/base-chain/network-information/bridges-mainnet",
+ "href": "https://docs.base.org/base-chain/network-information/bridges",
"icon": "coin"
},
{
@@ -98,42 +97,47 @@
"tab": "Chain",
"groups": [
{
- "group": "Quickstart",
+ "group": "Introduction",
"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/overview"
]
},
{
- "group": "Network Information",
+ "group": "Concepts",
"pages": [
- "base-chain/network-information/base-contracts",
- "base-chain/network-information/ecosystem-contracts",
- "base-chain/network-information/network-fees",
+ "base-chain/network-information/transaction-lifecycle",
"base-chain/network-information/block-building",
+ "base-chain/network-information/sequencing-policy",
"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"
+ "base-chain/network-information/throughput-and-limits",
+ "base-chain/network-information/network-fees",
+ {
+ "group": "Bridging",
+ "pages": [
+ "base-chain/network-information/bridges",
+ "base-chain/network-information/base-solana-bridge"
+ ]
+ },
+ "base-chain/network-information/diffs-ethereum-base"
]
},
{
- "group": "Flashblocks",
+ "group": "Network Reference",
"pages": [
- "base-chain/flashblocks/overview",
- "base-chain/flashblocks/app-integration",
- "base-chain/flashblocks/architecture",
- "base-chain/flashblocks/faq"
+ "base-chain/network-information/networks-and-endpoints",
+ "base-chain/quickstart/connecting-to-base",
+ "base-chain/network-information/base-contracts",
+ "base-chain/network-information/ecosystem-contracts",
+ "base-chain/network-information/network-faucets",
+ "base-chain/network-information/configuration-changelog",
+ "base-chain/network-information/troubleshooting-transactions"
]
},
{
"group": "Node Operators",
"pages": [
- "base-chain/node-operators/base-v1-upgrade",
"base-chain/node-operators/run-a-base-node",
+ "base-chain/node-operators/base-v1-upgrade",
"base-chain/node-operators/performance-tuning",
"base-chain/node-operators/snapshots",
"base-chain/node-operators/node-providers",
@@ -373,7 +377,7 @@
"anchors": [
{
"anchor": "GitHub",
- "href": "https://github.com/base",
+ "href": "https://github.com/base/base",
"icon": "github"
},
{
@@ -391,11 +395,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/",
@@ -631,11 +630,6 @@
"anchor": "GitHub",
"href": "https://github.com/base/account-sdk",
"icon": "github"
- },
- {
- "anchor": "Support",
- "href": "https://discord.com/invite/buildonbase",
- "icon": "discord"
}
]
}
@@ -646,7 +640,8 @@
{
"group": "Quickstart",
"pages": [
- "apps/quickstart/build-app"
+ "apps/quickstart/build-app",
+ "apps/quickstart/deploy-on-base"
]
},
{
@@ -759,8 +754,8 @@
],
"primary": {
"type": "button",
- "label": "Base Build",
- "href": "https://base.dev"
+ "label": "Dashboard",
+ "href": "https://dashboard.base.org"
}
},
"footer": {
@@ -800,6 +795,18 @@
},
"redirects": [
+ {
+ "source": "/base-chain/quickstart/base-solana-bridge",
+ "destination": "/base-chain/network-information/base-solana-bridge"
+ },
+ {
+ "source": "/base-chain/quickstart/deploy-on-base",
+ "destination": "/apps/quickstart/deploy-on-base"
+ },
+ {
+ "source": "/base-chain/network-information/specs-vs-network-reference",
+ "destination": "/base-chain/overview"
+ },
{
"source": "/base-chain/reference/json-rpc-api",
"destination": "/base-chain/api-reference/rpc-overview"
@@ -824,6 +831,22 @@
"source": "/base-chain/flashblocks/api-reference#endpoints",
"destination": "/base-chain/api-reference/rpc-overview#endpoints"
},
+ {
+ "source": "/base-chain/flashblocks/overview",
+ "destination": "/base-chain/network-information/block-building#flashblocks"
+ },
+ {
+ "source": "/base-chain/flashblocks/app-integration",
+ "destination": "/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix"
+ },
+ {
+ "source": "/base-chain/flashblocks/architecture",
+ "destination": "/base-chain/node-operators/run-a-base-node#enable-flashblocks"
+ },
+ {
+ "source": "/base-chain/flashblocks/faq",
+ "destination": "/base-chain/network-information/transaction-lifecycle"
+ },
{
"source": "/ai-agents/reference/contracts",
"destination": "/ai-agents/index"
@@ -1790,11 +1813,11 @@
},
{
"source": "/mini-apps/growth/data-driven-growth",
- "destination": "https://base.dev"
+ "destination": "https://dashboard.base.org"
},
{
"source": "/mini-apps/technical-guides/data-driven-growth",
- "destination": "https://base.dev"
+ "destination": "https://dashboard.base.org"
},
{
"source": "/mini-apps/features/links",
@@ -2014,11 +2037,11 @@
},
{
"source": "/chain/bridges-mainnet",
- "destination": "/base-chain/network-information/bridges-mainnet"
+ "destination": "/base-chain/network-information/bridges"
},
{
"source": "/chain/builder-anniversary-nft",
- "destination": "/base-chain/quickstart/why-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/chain/connecting-to-base",
@@ -2038,11 +2061,11 @@
},
{
"source": "/chain/decentralizing-base-with-optimism",
- "destination": "/base-chain/quickstart/why-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/chain/deploy-on-base-quickstart",
- "destination": "/base-chain/quickstart/deploy-on-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/chain/differences-between-ethereum-and-base",
@@ -2054,15 +2077,15 @@
},
{
"source": "/chain/flashblocks",
- "destination": "/base-chain/flashblocks/app-integration"
+ "destination": "/base-chain/network-information/block-building#flashblocks"
},
{
"source": "/chain/flashblocks/apps",
- "destination": "/base-chain/flashblocks/app-integration"
+ "destination": "/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix"
},
{
"source": "/base-chain/flashblocks/apps",
- "destination": "/base-chain/flashblocks/app-integration"
+ "destination": "/base-chain/api-reference/rpc-overview#flashblocks-behavior-matrix"
},
{
"source": "/chain/flashblocks/node-providers",
@@ -2142,7 +2165,11 @@
},
{
"source": "/chain/why-base",
- "destination": "/base-chain/quickstart/why-base"
+ "destination": "/base-chain/overview"
+ },
+ {
+ "source": "/base-chain/quickstart/why-base",
+ "destination": "/base-chain/overview"
},
{
"source": "/cookbook/growth/cast-actions",
@@ -2614,11 +2641,11 @@
},
{
"source": "/tutorials/deploy-with-foundry",
- "destination": "/base-chain/quickstart/deploy-on-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/tutorials/deploy-with-remix",
- "destination": "/base-chain/quickstart/deploy-on-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/use-cases/accept-crypto-payments",
@@ -2914,7 +2941,7 @@
},
{
"source": "/cookbook/testing-onchain-apps",
- "destination": "/base-chain/quickstart/deploy-on-base"
+ "destination": "/apps/quickstart/deploy-on-base"
},
{
"source": "/cookbook/ai-prompting",
diff --git a/docs/get-started/base.mdx b/docs/get-started/base.mdx
index df5fdeee7..4fcbdf6bc 100644
--- a/docs/get-started/base.mdx
+++ b/docs/get-started/base.mdx
@@ -20,7 +20,7 @@ mode: "wide"
### Tokens
[Launch a Token](/get-started/launch-token)
- [Bridge from Solana](/base-chain/quickstart/base-solana-bridge)
+ [Bridge from Solana](/base-chain/network-information/base-solana-bridge)
[Bridge from Ethereum](/base-chain/network-information/bridges)
@@ -28,7 +28,7 @@ mode: "wide"
### Products
-
+
Network, nodes, and infrastructure
@@ -37,7 +37,7 @@ mode: "wide"
Build and deploy autonomous onchain agents
-
+
Cross-chain asset transfers
diff --git a/docs/get-started/learning-resources.mdx b/docs/get-started/learning-resources.mdx
index e2d014f01..77ac467d4 100644
--- a/docs/get-started/learning-resources.mdx
+++ b/docs/get-started/learning-resources.mdx
@@ -18,6 +18,6 @@ We will be adding more learning resources to help you build on Base. Stay tuned
- New educational content
In the meantime, check out the following resources:
-- [Base Account](/base-account/overview/what-is-base-account), [Apps](/apps/quickstart/create-new-app), and [Base Chain](/base-chain/quickstart/why-base) for building on Base.
+- [Base Account](/base-account/overview/what-is-base-account), [Apps](/apps/quickstart/build-app), and [Base Chain](/base-chain/overview) for building on Base.
- [CryptoZombies](https://cryptozombies.io/) and [Solidity by Example](https://solidity-by-example.org/) for learning Solidity.
-- [Base Prompt Library](/get-started/prompt-library) for building with AI.
\ No newline at end of file
+- [Base Prompt Library](/get-started/prompt-library) for building with AI.
diff --git a/docs/get-started/resources-for-ai-agents.mdx b/docs/get-started/resources-for-ai-agents.mdx
index 922b2ace0..63625ebb1 100644
--- a/docs/get-started/resources-for-ai-agents.mdx
+++ b/docs/get-started/resources-for-ai-agents.mdx
@@ -79,7 +79,7 @@ Once your agent has docs context, point it at the section that matches what you'
| Adding payments or onchain transactions | [Pay for services with x402](/ai-agents/payments/pay-for-services-with-x402) |
| Verifying identity between agents and services | [Agent registration & identity](/ai-agents/setup/agent-registration) |
| Using AI tools with Base Account | [Base Account quickstart for AI tools](/base-account/quickstart/ai-tools-available-for-devs) |
-| Deploying contracts | [Deploy on Base](/base-chain/quickstart/deploy-on-base) |
+| Deploying contracts | [Deploy on Base](/apps/quickstart/deploy-on-base) |
| Building an app on Base | [Build a Base app](/apps/quickstart/build-app) |
## Example prompts
diff --git a/docs/llms-full.txt b/docs/llms-full.txt
index 6725d0223..d18f4c4e3 100644
--- a/docs/llms-full.txt
+++ b/docs/llms-full.txt
@@ -108,7 +108,6 @@ const client = createPublicClient({ chain: base, transport: http() })
- [Resources for AI agents](https://docs.base.org/get-started/resources-for-ai-agents): Base-first resources for AI agents, including docs indexes, MCP access, skills, and recommended starting points
## Base Chain
-- [Flashblocks Overview](https://docs.base.org/base-chain/flashblocks/overview): Understand the sequencer architecture, block building algorithm, and integration options for Flashblocks on Base.
- [Base Change Proposals (BCPs)](https://docs.base.org/base-chain/specs/bcps/index): Index of Base Chain Proposals (BCPs) — design documents describing proposed changes to the Base Chain protocol.
- [Overview](https://docs.base.org/base-chain/specs/overview): Technical specification of the Base Chain protocol, covering block derivation, execution, transaction propagation, and state verification.
- [Specification](https://docs.base.org/base-chain/specs/protocol/consensus/index): Specification of the Base rollup node, describing its components and role in L2 block derivation and consensus.
@@ -150,7 +149,7 @@ const client = createPublicClient({ chain: base, transport: http() })
- [eth_getTransactionCount](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount): Returns the number of transactions sent from an address (the nonce). Use pending on a Flashblocks endpoint to get the pre-confirmed nonce.
- [eth_getTransactionReceipt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt): Returns the receipt for a mined transaction. Receipts are only available after a transaction is included in a block.
- [eth_maxPriorityFeePerGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas): Returns the suggested EIP-1559 priority fee (tip) per gas.
-- [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction): Submits a pre-signed transaction to the network. Submit to a Flashblocks preconf endpoint to get 200ms pre-confirmation.
+- [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction): Submits a pre-signed transaction to the network. Use a Flashblocks preconf endpoint when you need faster pre-confirmation signals.
- [eth_subscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe): Creates a real-time WebSocket subscription. Flashblocks endpoints add three extra subscription types and emit newHeads every ~200ms.
- [eth_syncing](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing): Returns the sync status of the node.
- [eth_unsubscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe): Cancels an active WebSocket subscription.
@@ -162,13 +161,10 @@ const client = createPublicClient({ chain: base, transport: http() })
- [newFlashblocks](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblocks): Subscribe to receive full Flashblock payload stream as each pre-confirmed block is built. Only available on Flashblocks WebSocket endpoints.
- [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions): Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints.
- [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs): Subscribe to logs from pre-confirmed transactions matching an optional filter. Only available on Flashblocks WebSocket endpoints.
-- [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes.
-- [App Integration](https://docs.base.org/base-chain/flashblocks/app-integration): Integrate Flashblocks into your app for 200ms transaction confirmations using RPC APIs and popular libraries like Ethers, Wagmi and Viem.
-- [Flashblocks Architecture](https://docs.base.org/base-chain/flashblocks/architecture): Understand the sequencer architecture and infrastructure components that power Flashblocks on Base.
-- [Flashblocks FAQ](https://docs.base.org/base-chain/flashblocks/faq): Frequently asked questions about Flashblocks, including block building, WebSocket data, RPC usage, and node setup.
+- [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Human overview of Standard and Flashblocks endpoints, request/response format, error codes, and block parameters.
- [Contract Addresses](https://docs.base.org/base-chain/network-information/base-contracts): A comprehensive list of L2 contract addresses for Base Mainnet and Base Testnet, including links to their respective blockchain explorers.
- [Block Building](https://docs.base.org/base-chain/network-information/block-building): This page outlines how Base blocks are built.
-- [Bridges](https://docs.base.org/base-chain/network-information/bridges): Documentation for bridging assets to Base. This page covers how to bridge assets between Ethereum, Solana, Bitcoin, and Base.
+- [Bridging](https://docs.base.org/base-chain/network-information/bridges): How assets and messages move between Base, Ethereum, Solana, Bitcoin, and other chains.
- [Configuration Changelog](https://docs.base.org/base-chain/network-information/configuration-changelog): A log of configuration changes to the Base networks.
- [Differences between Ethereum and Base](https://docs.base.org/base-chain/network-information/diffs-ethereum-base)
- [Ecosystem Contracts](https://docs.base.org/base-chain/network-information/ecosystem-contracts)
@@ -182,10 +178,10 @@ const client = createPublicClient({ chain: base, transport: http() })
- [Run a Node](https://docs.base.org/base-chain/node-operators/run-a-base-node): A tutorial that teaches how to set up and run a Base Node.
- [Node Snapshots](https://docs.base.org/base-chain/node-operators/snapshots): Download and restore Base node snapshots to significantly reduce initial sync time for both archive and pruned nodes.
- [Node Troubleshooting](https://docs.base.org/base-chain/node-operators/troubleshooting): Solutions to common issues when setting up and running a Base node, covering sync problems, networking, snapshots, and performance.
-- [Base-Solana Bridge](https://docs.base.org/base-chain/quickstart/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet
+- [Base-Solana Bridge](https://docs.base.org/base-chain/network-information/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet
- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base): Documentation about Base Mainnet and Base Testnet. This page covers network information for the Base network, including network names, descriptions, RPC endpoints, chain IDs, currency symbols, and block explorers.
-- [Deploy on Base](https://docs.base.org/base-chain/quickstart/deploy-on-base)
-- [Why Base?](https://docs.base.org/base-chain/quickstart/why-base)
+- [Deploy on Base](https://docs.base.org/apps/quickstart/deploy-on-base)
+- [Chain Overview](https://docs.base.org/base-chain/overview)
- [How to avoid getting your app flagged as malicious](https://docs.base.org/base-chain/security/avoid-malicious-flags): The Base bug bounty program and procedures for reporting vulnerabilities.
- [Bug Bounty](https://docs.base.org/base-chain/security/bug-bounty)
- [Reporting Vulnerabilities](https://docs.base.org/base-chain/security/report-vulnerability): The Base procedures for reporting vulnerabilities.
@@ -398,6 +394,7 @@ const client = createPublicClient({ chain: base, transport: http() })
- [Rewards](https://docs.base.org/apps/growth/rewards): Earn financial incentives for building high-quality Apps that drive user engagement and onchain transactions
- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app): Migrate your Farcaster mini-app to work in the Base App. Covers replacing deprecated SDK methods, and registering on Base.dev.
- [Build an app on Base](https://docs.base.org/apps/quickstart/build-app): A step-by-step guide to building a Next.js tally app on Base using wagmi and viem, with wallet connection, contract reads and writes, and batch transaction support.
+- [Deploy on Base](https://docs.base.org/apps/quickstart/deploy-on-base): Deploy a smart contract to Base Sepolia with Foundry.
- [Add notifications](https://docs.base.org/apps/technical-guides/base-notifications): Send in-app notifications to your app's users through the Base Dashboard REST API.
## Optional
diff --git a/docs/llms.txt b/docs/llms.txt
index 9e763930c..5439306da 100644
--- a/docs/llms.txt
+++ b/docs/llms.txt
@@ -1,319 +1,123 @@
-# Base Documentation
+# https://docs.base.org/llms.txt
+## Base Documentation — LLM Entry Point
-> Build on Base — Coinbase's Ethereum L2. Smart Wallet, OnchainKit, MiniKit, Base Chain RPCs, and AI Agents. This index points AI assistants at the canonical page for each topic; follow the links for full context.
+> High‑signal index of section guides. Jump to a section's llms.txt for concise intros, curated links, and fast navigation.
-## Get Started
-- [Base](https://docs.base.org/get-started/base): The #1 Ethereum Layer 2, incubated by Coinbase
-- [Base Mentorship Program](https://docs.base.org/get-started/base-mentorship-program): Connect with experienced builders and industry leaders to accelerate your journey on Base
-- [Base Services Hub](https://docs.base.org/get-started/base-services-hub): A collection of services for building on Base.
-- [Block Explorers](https://docs.base.org/get-started/block-explorers): Documentation for block explorers for the Base network.
-- [Core Concepts](https://docs.base.org/get-started/concepts)
-- [Country Leads & Ambassadors](https://docs.base.org/get-started/country-leads-and-ambassadors): Connect with local Base community leaders and ambassadors around the world
-- [Data Indexers](https://docs.base.org/get-started/data-indexers): Documentation for data indexing platforms for Base network.
-- [Deploy Smart Contracts](https://docs.base.org/get-started/deploy-smart-contracts): Step-by-step guide to deploying smart contracts on Base.
-- [Static Docs Files](https://docs.base.org/get-started/docs-llms): Use llms.txt and llms-full.txt to give AI assistants access to Base documentation.
-- [MCP Server](https://docs.base.org/get-started/docs-mcp): Connect your AI coding assistant to Base documentation using Model Context Protocol for real-time access.
-- [Get Funded](https://docs.base.org/get-started/get-funded): The Base ecosystem offers multiple funding pathways designed specifically for builders at every stage—from weekend experiments to full-scale ventures.
-- [Launch a Token](https://docs.base.org/get-started/launch-token)
-- [Learning Resources](https://docs.base.org/get-started/learning-resources): Find educational content for learning Solidity, Ethereum, and blockchain development
-- [Developer's Guide to Effective AI Prompting](https://docs.base.org/get-started/prompt-library): Learn practical AI prompting techniques to enhance your coding workflow and get better results from AI coding assistants.
-- [Resources for AI agents](https://docs.base.org/get-started/resources-for-ai-agents): Base-first resources for AI agents, including docs indexes, MCP access, skills, and recommended starting points
+- [Get Started](./get-started/llms.txt) — Orientation, products, use cases, and quickstarts
+- [Base Chain](./base-chain/llms.txt) — Connect, network info, tools, node ops, security
+- [Base Account](./base-account/llms.txt) — Passkey smart wallet, payments, social verification, spend permissions, sponsored gas, sub‑accounts
+- [AI Agents](./ai-agents/llms.txt) — Build onchain AI agents: wallets, payments, identity, trading, and installable skills
+- [Apps](./apps/llms.txt) — Build apps on Base, migrate to standard web apps, register on Base.dev, earn rewards
-## Base Chain
-- [Flashblocks Overview](https://docs.base.org/base-chain/flashblocks/overview): Understand the sequencer architecture, block building algorithm, and integration options for Flashblocks on Base.
-- [Base Change Proposals (BCPs)](https://docs.base.org/base-chain/specs/bcps/index): Index of Base Chain Proposals (BCPs) — design documents describing proposed changes to the Base Chain protocol.
-- [Overview](https://docs.base.org/base-chain/specs/overview): Technical specification of the Base Chain protocol, covering block derivation, execution, transaction propagation, and state verification.
-- [Specification](https://docs.base.org/base-chain/specs/protocol/consensus/index): Specification of the Base rollup node, describing its components and role in L2 block derivation and consensus.
-- [L2 Execution Engine](https://docs.base.org/base-chain/specs/protocol/execution/index): Specification of the L2 execution engine, detailing EIP-1559 parameters, fee vaults, Engine API usage, and execution layer behavior.
-- [Fault Proof](https://docs.base.org/base-chain/specs/protocol/fault-proof/index): Overview of the Base fault proof system, describing the program, virtual machine, and interactive dispute game components that verify L2 state.
-- [Stage One Decentralization](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/index): Specification of the stage one fault proof system for Base Chain decentralization, covering output proposals and dispute game integration.
-- [Overview](https://docs.base.org/base-chain/specs/protocol/overview): High-level overview of the Base Chain protocol, covering rollup architecture, core components, and user flows for deposits, transactions, and withdrawals.
-- [Azul](https://docs.base.org/base-chain/specs/upgrades/azul/overview): Overview of the Azul hardfork, introducing Osaka EVM support, a simplified execution client, and a multi-proof system for L2 checkpoints.
-- [Canyon](https://docs.base.org/base-chain/specs/upgrades/canyon/overview): Overview of the Canyon hardfork, bringing Ethereum Shanghai EIPs (EIP-3651, EIP-3855, EIP-3860) to the Base execution layer.
-- [Delta](https://docs.base.org/base-chain/specs/upgrades/delta/overview): Overview of the Delta hardfork, introducing span batches to reduce L1 data costs by compressing multiple L2 blocks into single batcher transactions.
-- [Ecotone](https://docs.base.org/base-chain/specs/upgrades/ecotone/overview): Overview of the Ecotone hardfork, integrating Ethereum Dencun changes including EIP-4844 blob transactions and EIP-4788 beacon block roots.
-- [Fjord](https://docs.base.org/base-chain/specs/upgrades/fjord/overview): Overview of the Fjord hardfork, introducing FastLZ-based L1 fee estimation, the RIP-7212 secp256r1 precompile, and brotli channel compression.
-- [Granite](https://docs.base.org/base-chain/specs/upgrades/granite/overview): Overview of the Granite hardfork, adding bn256Pairing precompile input size restrictions and CHANNEL_TIMEOUT parameter changes.
-- [Holocene](https://docs.base.org/base-chain/specs/upgrades/holocene/overview): Overview of the Holocene hardfork, introducing dynamic EIP-1559 parameters configurable via SystemConfig and stricter block derivation rules.
-- [Isthmus](https://docs.base.org/base-chain/specs/upgrades/isthmus/overview): Overview of the Isthmus hardfork, incorporating Ethereum Pectra EIPs and introducing the operator fee mechanism for sequencer revenue.
-- [Jovian](https://docs.base.org/base-chain/specs/upgrades/jovian/overview): Overview of the Jovian hardfork, introducing a configurable minimum base fee and a DA footprint gas scalar for improved fee market stability.
-- [Pectra Blob Schedule (Sepolia)](https://docs.base.org/base-chain/specs/upgrades/pectra-blob-schedule/overview): Overview of the Pectra Blob Schedule hardfork, an optional upgrade that delays adoption of Ethereum's increased blob count schedule on Base.
-- [debug_traceBlockByHash](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByHash): Returns EVM execution traces for all transactions in a block by block hash.
-- [debug_traceBlockByNumber](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByNumber): Returns EVM execution traces for all transactions in a block by block number.
-- [debug_traceTransaction](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction): Returns the full EVM execution trace for a transaction. Requires a node with debug APIs enabled.
-- [eth_blockNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber): Returns the number of the most recently mined block.
-- [eth_call](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_call): Executes a message call without creating a transaction. Use pending on a Flashblocks endpoint to simulate against pre-confirmed state.
-- [eth_chainId](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId): Returns the chain ID of the current network.
-- [eth_estimateGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas): Estimates the gas required for a transaction. Use pending on a Flashblocks endpoint to estimate against pre-confirmed state.
-- [eth_feeHistory](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory): Returns historical base fees and priority fee percentiles for a range of blocks.
-- [eth_gasPrice](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice): Returns the current gas price in wei.
-- [eth_getBalance](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance): Returns the ETH balance of an account at a given block. Use the pending tag on a Flashblocks endpoint for 200ms pre-confirmed balances.
-- [eth_getBlockByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash): Returns block information by block hash.
-- [eth_getBlockByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber): Returns block information by number. On Flashblocks endpoints, the pending tag returns the live pre-confirmed block updated every ~200ms.
-- [eth_getBlockReceipts](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts): Returns all transaction receipts for a block. Use pending on a Flashblocks endpoint for pre-confirmed receipts.
-- [eth_getBlockTransactionCountByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash): Returns the number of transactions in a block by block hash.
-- [eth_getBlockTransactionCountByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber): Returns the number of transactions in a block by block number.
-- [eth_getCode](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode): Returns the contract bytecode at an address. Use pending on a Flashblocks endpoint to detect newly deployed contracts before block finalization.
-- [eth_getLogs](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs): Returns logs matching a filter. Use pending on a Flashblocks endpoint to query logs from pre-confirmed transactions.
-- [eth_getStorageAt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt): Returns the value of a storage slot at an address. Use pending on a Flashblocks endpoint for pre-confirmed storage reads.
-- [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex): Returns a transaction by block hash and index position.
-- [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex): Returns a transaction by block number and index position.
-- [eth_getTransactionByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash): Returns a transaction by its hash.
-- [eth_getTransactionCount](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount): Returns the number of transactions sent from an address (the nonce). Use pending on a Flashblocks endpoint to get the pre-confirmed nonce.
-- [eth_getTransactionReceipt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt): Returns the receipt for a mined transaction. Receipts are only available after a transaction is included in a block.
-- [eth_maxPriorityFeePerGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas): Returns the suggested EIP-1559 priority fee (tip) per gas.
-- [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction): Submits a pre-signed transaction to the network. Submit to a Flashblocks preconf endpoint to get 200ms pre-confirmation.
-- [eth_subscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe): Creates a real-time WebSocket subscription. Flashblocks endpoints add three extra subscription types and emit newHeads every ~200ms.
-- [eth_syncing](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing): Returns the sync status of the node.
-- [eth_unsubscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe): Cancels an active WebSocket subscription.
-- [net_version](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/net_version): Returns the current network ID as a string.
-- [web3_clientVersion](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion): Returns the current client version string.
-- [base_transactionStatus](https://docs.base.org/base-chain/api-reference/flashblocks-api/base_transactionStatus): Checks whether a transaction is in the node mempool. Only available on Flashblocks endpoints.
-- [eth_simulateV1](https://docs.base.org/base-chain/api-reference/flashblocks-api/eth_simulateV1): Simulates one or more transaction bundles against the current pre-confirmed Flashblock state. Only available on Flashblocks endpoints.
-- [Overview](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview): Flashblocks-specific RPC methods, WebSocket subscriptions, and the infrastructure stream schema for Base pre-confirmations.
-- [newFlashblocks](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblocks): Subscribe to receive full Flashblock payload stream as each pre-confirmed block is built. Only available on Flashblocks WebSocket endpoints.
-- [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions): Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints.
-- [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs): Subscribe to logs from pre-confirmed transactions matching an optional filter. Only available on Flashblocks WebSocket endpoints.
-- [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes.
-- [App Integration](https://docs.base.org/base-chain/flashblocks/app-integration): Integrate Flashblocks into your app for 200ms transaction confirmations using RPC APIs and popular libraries like Ethers, Wagmi and Viem.
-- [Flashblocks Architecture](https://docs.base.org/base-chain/flashblocks/architecture): Understand the sequencer architecture and infrastructure components that power Flashblocks on Base.
-- [Flashblocks FAQ](https://docs.base.org/base-chain/flashblocks/faq): Frequently asked questions about Flashblocks, including block building, WebSocket data, RPC usage, and node setup.
-- [Contract Addresses](https://docs.base.org/base-chain/network-information/base-contracts): A comprehensive list of L2 contract addresses for Base Mainnet and Base Testnet, including links to their respective blockchain explorers.
-- [Block Building](https://docs.base.org/base-chain/network-information/block-building): This page outlines how Base blocks are built.
-- [Bridges](https://docs.base.org/base-chain/network-information/bridges): Documentation for bridging assets to Base. This page covers how to bridge assets between Ethereum, Solana, Bitcoin, and Base.
-- [Configuration Changelog](https://docs.base.org/base-chain/network-information/configuration-changelog): A log of configuration changes to the Base networks.
-- [Differences between Ethereum and Base](https://docs.base.org/base-chain/network-information/diffs-ethereum-base)
-- [Ecosystem Contracts](https://docs.base.org/base-chain/network-information/ecosystem-contracts)
-- [Network Faucets](https://docs.base.org/base-chain/network-information/network-faucets): Documentation for Testnet Faucets on the Base network.
-- [Network Fees](https://docs.base.org/base-chain/network-information/network-fees): Documentation about network fees on Base. This page covers details of the two-component cost system involving L2 execution fees and L1 security fees, and offers insights on fee variations and cost-saving strategies.
-- [Transaction Finality](https://docs.base.org/base-chain/network-information/transaction-finality): Detailed information about transaction finality on Base.
-- [Troubleshooting Transactions](https://docs.base.org/base-chain/network-information/troubleshooting-transactions): Guide to diagnosing and resolving transaction issues on Base.
-- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade): Migrate your Base node to base-reth-node and base-consensus for Azul.
-- [Node Providers](https://docs.base.org/base-chain/node-operators/node-providers): Documentation for Node Providers for the Base network. Including details on their services, supported networks, and pricing plans.
-- [Node Performance](https://docs.base.org/base-chain/node-operators/performance-tuning): Hardware specifications, storage requirements, client recommendations, and configuration settings for running a performant Base node.
-- [Run a Node](https://docs.base.org/base-chain/node-operators/run-a-base-node): A tutorial that teaches how to set up and run a Base Node.
-- [Node Snapshots](https://docs.base.org/base-chain/node-operators/snapshots): Download and restore Base node snapshots to significantly reduce initial sync time for both archive and pruned nodes.
-- [Node Troubleshooting](https://docs.base.org/base-chain/node-operators/troubleshooting): Solutions to common issues when setting up and running a Base node, covering sync problems, networking, snapshots, and performance.
-- [Base-Solana Bridge](https://docs.base.org/base-chain/quickstart/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet
-- [Connecting to Base](https://docs.base.org/base-chain/quickstart/connecting-to-base): Documentation about Base Mainnet and Base Testnet. This page covers network information for the Base network, including network names, descriptions, RPC endpoints, chain IDs, currency symbols, and block explorers.
-- [Deploy on Base](https://docs.base.org/base-chain/quickstart/deploy-on-base)
-- [Why Base?](https://docs.base.org/base-chain/quickstart/why-base)
-- [How to avoid getting your app flagged as malicious](https://docs.base.org/base-chain/security/avoid-malicious-flags): The Base bug bounty program and procedures for reporting vulnerabilities.
-- [Bug Bounty](https://docs.base.org/base-chain/security/bug-bounty)
-- [Reporting Vulnerabilities](https://docs.base.org/base-chain/security/report-vulnerability): The Base procedures for reporting vulnerabilities.
-- [Security Council for Base](https://docs.base.org/base-chain/security/security-council): This page outlines the purpose, goals, structure, and responsibilities of the Security Council for Base.
-- [BCP-0000: BCP Process](https://docs.base.org/base-chain/specs/bcps/bcp-0000): BCP-0000 defines the Base Change Proposal process, establishing the template and standards for proposing, reviewing, and accepting protocol changes.
-- [Batcher](https://docs.base.org/base-chain/specs/protocol/batcher): Specification of the batcher (batch submitter), the component responsible for posting L2 sequencer data to L1 for data availability.
-- [Standard Bridges](https://docs.base.org/base-chain/specs/protocol/bridging/bridges): Specification of the standard bridges enabling cross-domain ETH and ERC20 token transfers between L1 and L2 on Base.
-- [Deposits](https://docs.base.org/base-chain/specs/protocol/bridging/deposits): Specification of the deposit mechanism for Base, detailing how L1 transactions are converted into L2 deposit transactions.
-- [Cross Domain Messengers](https://docs.base.org/base-chain/specs/protocol/bridging/messengers): Specification of the cross-domain messenger contracts, providing a higher-level API for sending messages between L1 and L2 on Base.
-- [Withdrawals](https://docs.base.org/base-chain/specs/protocol/bridging/withdrawals): Specification of the withdrawal mechanism for Base, describing how L2 state is proven on L1 and funds are released from the bridge.
-- [Derivation](https://docs.base.org/base-chain/specs/protocol/consensus/derivation): Specification of the L2 chain derivation pipeline, describing how L2 blocks are deterministically derived from L1 data and sequencer batches.
-- [P2P](https://docs.base.org/base-chain/specs/protocol/consensus/p2p): Specification of the rollup node peer-to-peer network, covering node discovery, gossip protocol, and unsafe block propagation.
-- [RPC](https://docs.base.org/base-chain/specs/protocol/consensus/rpc): Specification of the rollup node RPC interface, including the optimism_outputAtBlock method for retrieving L2 output roots.
-- [Precompiles](https://docs.base.org/base-chain/specs/protocol/execution/evm/precompiles): Specification of precompiled contracts on Base, including native EVM implementations available at predefined addresses.
-- [Predeploys](https://docs.base.org/base-chain/specs/protocol/execution/evm/predeploys): Specification of predeployed smart contracts on Base, including system contracts deployed at predetermined addresses in genesis state.
-- [Preinstalls](https://docs.base.org/base-chain/specs/protocol/execution/evm/preinstalls): Specification of preinstalled smart contracts on Base, including utility contracts deployed in genesis state that run directly in the EVM.
-- [Multithreaded Cannon Fault Proof Virtual Machine](https://docs.base.org/base-chain/specs/protocol/fault-proof/cannon-fault-proof-vm): Specification of the Cannon Fault Proof Virtual Machine (FPVM), the multithreaded VM used for executing programs in dispute game resolution.
-- [Proposer](https://docs.base.org/base-chain/specs/protocol/fault-proof/proposer): Specification of the L2 output proposer, which publishes L2 output roots and withdrawal hashes to L1 for use in the fault proof system.
-- [AnchorStateRegistry](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/anchor-state-registry): Specification of the AnchorStateRegistry contract, which stores verified dispute game results as anchor states for new dispute game instances.
-- [Bond Incentives](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/bond-incentives): Specification of the bond incentive system for the Fault Dispute Game, adding financial rewards and penalties to enforce honest challenger behavior.
-- [Bridge Integration](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/bridge-integration): Specification of how fault proofs integrate with the Base bridge, replacing the trusted proposer withdrawal path with dispute-game-based proof verification.
-- [Dispute Game Interface](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/dispute-game-interface): Specification of the dispute game interface, defining the common contract interface for games that resolve contested L2 state claims.
-- [Fault Dispute Game](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/fault-dispute-game): Specification of the Fault Dispute Game (FDG), a bisection-based protocol for verifying the validity of L2 output roots via interactive dispute resolution.
-- [Honest Challenger (Fault Dispute Game)](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/honest-challenger-fdg): Specification of the honest challenger agent in the Fault Dispute Game, defining correct behavior for supporting valid claims and disputing invalid ones.
-- [OptimismPortal](https://docs.base.org/base-chain/specs/protocol/fault-proof/stage-one/optimism-portal): Specification of the OptimismPortal contract, the primary L1 interface for deposits and withdrawals between L1 and L2 on Base.
-- [Configuration](https://docs.base.org/base-chain/specs/reference/configurability): Reference for Base Chain configuration parameters across consensus, policy, admin, and sequencer categories.
-- [Glossary](https://docs.base.org/base-chain/specs/reference/glossary): Glossary of terms and definitions used throughout the Base Chain protocol specification.
-- [Azul: Execution Engine](https://docs.base.org/base-chain/specs/upgrades/azul/exec-engine): Execution engine changes in the Azul hardfork, including the EIP-7825 transaction gas limit cap and secp256r1 precompile cost updates.
-- [Azul: Proof System](https://docs.base.org/base-chain/specs/upgrades/azul/proofs): Specification of the Azul multi-proof system, replacing the single output proposer with an AggregateVerifier contract for L2 checkpoint security.
-- [Span-batches](https://docs.base.org/base-chain/specs/upgrades/delta/span-batches): Specification of span batches introduced in Delta, a new batch format that compresses sequences of L2 blocks for more efficient L1 data posting.
-- [Derivation](https://docs.base.org/base-chain/specs/upgrades/ecotone/derivation): Derivation changes in the Ecotone upgrade, extending the retrieval stage to support EIP-4844 blobs as an additional data availability source.
-- [Ecotone L1 Attributes](https://docs.base.org/base-chain/specs/upgrades/ecotone/l1-attributes): L1 attributes transaction changes in the Ecotone upgrade, updating calldata format to support the new blob-based fee calculation model.
-- [Fjord L2 Chain Derivation Changes](https://docs.base.org/base-chain/specs/upgrades/fjord/derivation): Derivation changes in the Fjord upgrade, updating protocol parameters for max sequencer drift, channel bank size, and adding brotli compression support.
-- [L2 Execution Engine](https://docs.base.org/base-chain/specs/upgrades/fjord/exec-engine): Execution engine changes in the Fjord upgrade, replacing the L1 cost fee estimator with a FastLZ-based compression model.
-- [Predeploys](https://docs.base.org/base-chain/specs/upgrades/fjord/predeploys): Predeploy changes in the Fjord upgrade, adding FastLZ fee computation constants to the GasPriceOracle contract.
-- [Granite L2 Chain Derivation Changes](https://docs.base.org/base-chain/specs/upgrades/granite/derivation): Derivation changes in the Granite upgrade, updating the CHANNEL_TIMEOUT protocol parameter.
-- [L2 Execution Engine](https://docs.base.org/base-chain/specs/upgrades/granite/exec-engine): Execution engine changes in the Granite upgrade, restricting bn256Pairing precompile input size to prevent unbounded gas consumption.
-- [Holocene L2 Chain Derivation Changes](https://docs.base.org/base-chain/specs/upgrades/holocene/derivation): Derivation changes in the Holocene upgrade, introducing stricter pipeline rules that simplify derivation and improve fault proof worst-case behavior.
-- [L2 Execution Engine](https://docs.base.org/base-chain/specs/upgrades/holocene/exec-engine): Execution engine changes in the Holocene upgrade, enabling dynamic EIP-1559 parameters encoded in block headers and configured via SystemConfig.
-- [System Config](https://docs.base.org/base-chain/specs/upgrades/holocene/system-config): SystemConfig changes in the Holocene upgrade, adding dynamic EIP-1559 parameter configuration via ConfigUpdate events.
-- [Isthmus L2 Chain Derivation Changes](https://docs.base.org/base-chain/specs/upgrades/isthmus/derivation): Derivation changes in the Isthmus upgrade, specifying network upgrade automation transactions executed at hardfork activation.
-- [L2 Execution Engine](https://docs.base.org/base-chain/specs/upgrades/isthmus/exec-engine): Execution engine changes in the Isthmus upgrade, including L2ToL1MessagePasser storage root in block headers and operator fee collection.
-- [L1 Block Attributes](https://docs.base.org/base-chain/specs/upgrades/isthmus/l1-attributes): L1 attributes transaction changes in the Isthmus upgrade, extending calldata to include operator fee scalar and constant parameters.
-- [Predeploys](https://docs.base.org/base-chain/specs/upgrades/isthmus/predeploys): Predeploy changes in the Isthmus upgrade, including updates to L1Block and the new OperatorFeeVault contract.
-- [Isthmus: System Config](https://docs.base.org/base-chain/specs/upgrades/isthmus/system-config): SystemConfig changes in the Isthmus upgrade, adding operatorFeeScalar and operatorFeeConstant configuration variables.
-- [Derivation](https://docs.base.org/base-chain/specs/upgrades/jovian/derivation): Derivation changes in the Jovian upgrade, specifying activation block rules and gas computation behavior at hardfork activation.
-- [Jovian: Execution Engine](https://docs.base.org/base-chain/specs/upgrades/jovian/exec-engine): Execution engine changes in the Jovian upgrade, introducing a configurable minimum base fee via SystemConfig to reduce priority-fee auction durations.
-- [L1 Block Attributes](https://docs.base.org/base-chain/specs/upgrades/jovian/l1-attributes): L1 attributes transaction changes in the Jovian upgrade, extending calldata to include the DA footprint gas scalar.
-- [Jovian: System Config](https://docs.base.org/base-chain/specs/upgrades/jovian/system-config): SystemConfig changes in the Jovian upgrade, adding a minimum base fee configuration variable for the EIP-1559 fee market.
-- [Pectra Blob Schedule Derivation](https://docs.base.org/base-chain/specs/upgrades/pectra-blob-schedule/derivation): Derivation changes for the Pectra Blob Schedule hardfork, specifying how blob fee parameters are handled in L1 attributes transactions.
+## Tools available for AI assistants
-## Base Account
-- [Capabilities Overview](https://docs.base.org/base-account/reference/core/capabilities/overview): Understand how to use Base Account capabilities with wallet_connect and wallet_sendCalls
-- [Basename Transfer Guide](https://docs.base.org/base-account/basenames/basename-transfer): Step-by-step guide for Base App users to transfer their Basenames to new wallet addresses.
-- [Basenames FAQ](https://docs.base.org/base-account/basenames/basenames-faq): Frequently asked questions on basenames.
-- [Contribute to the Base Account Docs](https://docs.base.org/base-account/contribute/contribute-to-base-account-docs)
-- [Security and Bug Bounty](https://docs.base.org/base-account/contribute/security-and-bug-bounty)
-- [Coinbase Developer Platform](https://docs.base.org/base-account/framework-integrations/cdp): Build onchain apps supporting both Base Account and CDP Embedded Wallets
-- [Auth (Sign In With Base)](https://docs.base.org/base-account/framework-integrations/privy/authentication): Manage user authentication with Privy and Base Account
-- [Setup](https://docs.base.org/base-account/framework-integrations/privy/setup): Configure Privy with Base Account for your React application
-- [Spend Permissions](https://docs.base.org/base-account/framework-integrations/privy/spend-permissions): Enable trusted spenders to move assets without additional signatures
-- [Sub Accounts](https://docs.base.org/base-account/framework-integrations/privy/sub-accounts): Create and manage app-specific wallet accounts with Base Account
-- [Wallet Actions](https://docs.base.org/base-account/framework-integrations/privy/wallet-actions): Sign messages, transactions, and typed data with Privy wallets
-- [RainbowKit](https://docs.base.org/base-account/framework-integrations/rainbowkit): Integrate Base Account with RainbowKit
-- [Reown](https://docs.base.org/base-account/framework-integrations/reown): Integrate Base Account with Reown AppKit for your React application
-- [Thirdweb](https://docs.base.org/base-account/framework-integrations/thirdweb): Configure Thirdweb with Base Account for your React application
-- [Base Pay](https://docs.base.org/base-account/framework-integrations/wagmi/base-pay): Accept USDC payments with Base Pay in your Wagmi-powered React application
-- [Basenames](https://docs.base.org/base-account/framework-integrations/wagmi/basenames): Add support for Base names in your application using Wagmi and Viem
-- [Batch Transactions](https://docs.base.org/base-account/framework-integrations/wagmi/batch-transactions): Send multiple onchain calls in a single transaction with Wagmi and Base Account
-- [Other Use Cases](https://docs.base.org/base-account/framework-integrations/wagmi/other-use-cases): Access the Base Account provider from Wagmi for advanced functionality like Sub Accounts, Spend Permissions, and more
-- [Setup](https://docs.base.org/base-account/framework-integrations/wagmi/setup): Configure Wagmi with Base Account connector for your React application
-- [Sign in with Base](https://docs.base.org/base-account/framework-integrations/wagmi/sign-in-with-base): Implement Base Account authentication using the proper SIWE flow with Wagmi
-- [Using Sub Accounts](https://docs.base.org/base-account/framework-integrations/wagmi/sub-accounts): Implement Base Account Sub Accounts using Wagmi
-- [Accept Payments](https://docs.base.org/base-account/guides/accept-payments): Add one-tap USDC payments to your app with the pay() helper and Base Pay Button.
-- [Accept Recurring Payments](https://docs.base.org/base-account/guides/accept-recurring-payments): Enable subscription-based revenue models with automatic USDC payments
-- [Authenticate Users](https://docs.base.org/base-account/guides/authenticate-users): Let a user click “Sign in with Base,” prove ownership of their onchain account, and give your server everything it needs to create a session – using open standards and no passwords
-- [Migrate from Coinbase Wallet SDK](https://docs.base.org/base-account/guides/migration-guide): A guide to migrating from the Coinbase Wallet SDK to the Base Account SDK
-- [Sign and Verify Typed Data](https://docs.base.org/base-account/guides/sign-and-verify-typed-data): EIP-712 structured data signing and verification for Base Account
-- [Transaction Simulation Data](https://docs.base.org/base-account/guides/tips/inspect-txn-simulation)
-- [Popup Tips](https://docs.base.org/base-account/guides/tips/popup-tips)
-- [Verify Social Accounts](https://docs.base.org/base-account/guides/verify-social-accounts): Use Base Verify to let users prove ownership of verified accounts (X, Coinbase, Instagram, TikTok) without sharing credentials, enabling Sybil-resistant airdrops, gated content, and identity-based rewards.
-- [Batch Transactions](https://docs.base.org/base-account/improve-ux/batch-transactions)
-- [Use Spend Permissions](https://docs.base.org/base-account/improve-ux/spend-permissions): Learn how to use Spend Permissions to allow a trusted spender to spend user assets
-- [Pay Gas in ERC20 tokens](https://docs.base.org/base-account/improve-ux/sponsor-gas/erc20-paymasters): Base Account enables users to pay for gas in ERC20 tokens
-- [Sponsor Gas](https://docs.base.org/base-account/improve-ux/sponsor-gas/paymasters): Use Paymasters to sponsor your users' transactions
-- [Use Sub Accounts](https://docs.base.org/base-account/improve-ux/sub-accounts): Learn how to create and use Sub Accounts using Base Account SDK
-- [Base Gasless Campaign](https://docs.base.org/base-account/more/base-gasless-campaign)
-- [Telemetry · Base Account](https://docs.base.org/base-account/more/telemetry): Understanding Base Account's anonymous telemetry system and how to configure it.
-- [Gas Usage](https://docs.base.org/base-account/more/troubleshooting/usage-details/gas-usage)
-- [Popup Tips](https://docs.base.org/base-account/more/troubleshooting/usage-details/popups)
-- [Transaction Simulation Data](https://docs.base.org/base-account/more/troubleshooting/usage-details/simulations)
-- [Unsupported Calls](https://docs.base.org/base-account/more/troubleshooting/usage-details/unsupported-calls)
-- [Wallet Library Support](https://docs.base.org/base-account/more/troubleshooting/usage-details/wallet-library-support)
-- [Base Account Overview](https://docs.base.org/base-account/overview/what-is-base-account): What is a Base Account and how the Base Account SDK lets you add universal sign-in and one-tap USDC payments to any app.
-- [AI Tools for Base Account Developers](https://docs.base.org/base-account/quickstart/ai-tools-available-for-devs)
-- [Mobile (React Native)](https://docs.base.org/base-account/quickstart/mobile-integration)
-- [Web (HTML + JS)](https://docs.base.org/base-account/quickstart/web): Integrate Sign in with Base and Base Pay using nothing but HTML and JavaScript.
-- [Web (Next.js)](https://docs.base.org/base-account/quickstart/web-react): Quickly add Sign in with Base and Base Pay to any Next.js app
-- [subscription.charge](https://docs.base.org/base-account/reference/base-pay/charge): Execute subscription charges from your backend using CDP server wallets
-- [subscription.getOrCreateSubscriptionOwnerWallet](https://docs.base.org/base-account/reference/base-pay/getOrCreateSubscriptionOwnerWallet): Create or retrieve a CDP smart wallet to act as subscription owner
-- [getPaymentStatus](https://docs.base.org/base-account/reference/base-pay/getPaymentStatus): Check the status of a payment transaction
-- [subscription.getStatus](https://docs.base.org/base-account/reference/base-pay/getStatus): Check the status and details of an existing subscription
-- [pay](https://docs.base.org/base-account/reference/base-pay/pay): Send USDC payments on the Base network
-- [subscription.prepareCharge](https://docs.base.org/base-account/reference/base-pay/prepareCharge): Prepare transaction calls to charge a subscription (advanced)
-- [subscription.prepareRevoke](https://docs.base.org/base-account/reference/base-pay/prepareRevoke): Prepare transaction calls to revoke a subscription (advanced)
-- [subscription.revoke](https://docs.base.org/base-account/reference/base-pay/revoke): Revoke subscriptions from your backend using CDP server wallets
-- [subscription.subscribe](https://docs.base.org/base-account/reference/base-pay/subscribe): Create USDC subscriptions with spend permissions on Base network
-- [Subscriptions Overview](https://docs.base.org/base-account/reference/base-pay/subscriptions-overview): Accept recurring USDC payments using spend permissions on Base
-- [atomic](https://docs.base.org/base-account/reference/core/capabilities/atomic): Ensures batched transactions are executed atomically and contiguously
-- [auxiliaryFunds](https://docs.base.org/base-account/reference/core/capabilities/auxiliaryFunds): Indicates wallet access to funds beyond on-chain balance verification
-- [dataCallback](https://docs.base.org/base-account/reference/core/capabilities/datacallback): Base Account allows you to collect personal information like email addresses, physical addresses, phone numbers, and names during transactions.
-- [dataSuffix](https://docs.base.org/base-account/reference/core/capabilities/dataSuffix): Append arbitrary data to transaction calldata for attribution tracking
-- [flowControl](https://docs.base.org/base-account/reference/core/capabilities/flowControl): Control transaction batch behavior after failed or reverted calls
-- [gasLimitOverride](https://docs.base.org/base-account/reference/core/capabilities/gasLimitOverride): Override gas limits for individual calls in a wallet_sendCalls batch
-- [paymasterService](https://docs.base.org/base-account/reference/core/capabilities/paymasterService): Enable sponsored transactions using ERC-4337 paymaster web services
-- [signInWithEthereum](https://docs.base.org/base-account/reference/core/capabilities/signInWithEthereum): Enable secure authentication using the Sign-In With Ethereum (SIWE) standard
-- [createBaseAccountSDK](https://docs.base.org/base-account/reference/core/createBaseAccount): Create a Base Account SDK instance with EIP-1193 compliant provider
-- [generateKeyPair](https://docs.base.org/base-account/reference/core/generateKeyPair): Generate a new P256 key pair for use with Base Account
-- [getCryptoKeyAccount](https://docs.base.org/base-account/reference/core/getCryptoKeyAccount): Retrieve the current crypto key account associated with the user's session
-- [getKeypair](https://docs.base.org/base-account/reference/core/getKeypair): Retrieve an existing P256 key pair from storage
-- [getProvider](https://docs.base.org/base-account/reference/core/getProvider): Get an Ethereum provider instance from the Base Account SDK
-- [coinbase_fetchPermission](https://docs.base.org/base-account/reference/core/provider-rpc-methods/coinbase_fetchPermission): Retrieve a single permission by its hash
-- [coinbase_fetchPermissions](https://docs.base.org/base-account/reference/core/provider-rpc-methods/coinbase_fetchPermissions): Retrieve permissions for a specific spender and chain, optionally filtered by account
-- [eth_accounts](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_accounts): Returns a list of addresses owned by the connected wallet without prompting user authorization
-- [eth_blockNumber](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_blockNumber): Get the number of the most recent block
-- [eth_chainId](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_chainId): Get the currently configured chain ID
-- [eth_coinbase](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_coinbase): Get the client coinbase address
-- [eth_estimateGas](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_estimateGas): Estimate gas needed for a transaction
-- [eth_feeHistory](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_feeHistory): Get historical gas fee information for a range of blocks
-- [eth_gasPrice](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_gasPrice): Get the current gas price
-- [eth_getBalance](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getBalance): Get the balance of an account at a given block
-- [eth_getBlockByHash](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getBlockByHash): Get information about a block by block hash
-- [eth_getBlockByNumber](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getBlockByNumber): Get information about a block by block number
-- [eth_getBlockTransactionCountByHash](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByHash): Get the number of transactions in a block by block hash
-- [eth_getBlockTransactionCountByNumber](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByNumber): Get the number of transactions in a block by block number
-- [eth_getCode](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getCode): Get the bytecode at a given address
-- [eth_getLogs](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getLogs): Get an array of all logs matching a given filter object
-- [eth_getProof](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getProof): Get the Merkle proof for account and storage values
-- [eth_getStorageAt](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getStorageAt): Get the value from a storage position at a given address
-- [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockHashAndIndex): Get a transaction by block hash and transaction index position
-- [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockNumberAndIndex): Get a transaction by block number and transaction index position
-- [eth_getTransactionByHash](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getTransactionByHash): Get transaction details by transaction hash
-- [eth_getTransactionCount](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getTransactionCount): Get the number of transactions sent from an address
-- [eth_getTransactionReceipt](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getTransactionReceipt): Get the receipt of a transaction by transaction hash
-- [eth_getUncleCountByBlockHash](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockHash): Get the number of uncles in a block by block hash
-- [eth_getUncleCountByBlockNumber](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockNumber): Get the number of uncles in a block by block number
-- [eth_requestAccounts](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_requestAccounts): Request account access and authorization from the user
-- [eth_sendRawTransaction](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_sendRawTransaction): Submit a signed transaction to the network
-- [eth_sendTransaction](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_sendTransaction): Create and send a new transaction or message call
-- [eth_signTypedData_v4](https://docs.base.org/base-account/reference/core/provider-rpc-methods/eth_signTypedData_v4): Sign structured data according to EIP-712
-- [personal_sign](https://docs.base.org/base-account/reference/core/provider-rpc-methods/personal_sign): Sign data using a specific account with Ethereum-specific signature format
-- [Overview](https://docs.base.org/base-account/reference/core/provider-rpc-methods/request-overview)
-- [SDK Overview](https://docs.base.org/base-account/reference/core/provider-rpc-methods/sdk-overview)
-- [Standard RPC Methods](https://docs.base.org/base-account/reference/core/provider-rpc-methods/standard-rpc-methods): Standard Ethereum RPC methods supported by Base Account
-- [wallet_addEthereumChain](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_addEthereumChain): Add a new Ethereum chain to the wallet
-- [wallet_addSubAccount](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_addSubAccount): Add a sub account to the wallet
-- [wallet_connect](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_connect): Connect wallet and request account access
-- [wallet_getCallsStatus](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_getCallsStatus): Get the status of a call batch sent via wallet_sendCalls
-- [wallet_getCapabilities](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_getCapabilities): Get the wallet's supported capabilities for the given account
-- [wallet_getSubAccounts](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_getSubAccounts): Fetch the sub accounts of the wallet
-- [wallet_sendCalls](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_sendCalls): Submit a batch of calls to the wallet for execution
-- [wallet_switchEthereumChain](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_switchEthereumChain): Switch the wallet to a different Ethereum chain
-- [wallet_watchAsset](https://docs.base.org/base-account/reference/core/provider-rpc-methods/wallet_watchAsset): Add a token to the wallet's asset watchlist
-- [web3_clientVersion](https://docs.base.org/base-account/reference/core/provider-rpc-methods/web3_clientVersion): Get the current client version
-- [SDK Utilities](https://docs.base.org/base-account/reference/core/sdk-utilities): Core utility functions for key management and account access
-- [Basenames](https://docs.base.org/base-account/reference/onchain-contracts/basenames): Decentralized naming system that allows users to register human-readable names (like 'alice.base.eth') on Base.
-- [Smart Wallet](https://docs.base.org/base-account/reference/onchain-contracts/smart-wallet): ERC-4337 compliant smart contract wallet that serves as the foundation for Base Account.
-- [Spend Permissions](https://docs.base.org/base-account/reference/onchain-contracts/spend-permissions)
-- [createProlinkUrl](https://docs.base.org/base-account/reference/prolink-utilities/createProlinkUrl): Create a link with a prolink query parameter
-- [decodeProlink](https://docs.base.org/base-account/reference/prolink-utilities/decodeProlink): Decode a prolink payload back to a JSON-RPC request
-- [encodeProlink](https://docs.base.org/base-account/reference/prolink-utilities/encodeProlink): Encode a JSON-RPC request into a compressed, URL-safe prolink payload
-- [fetchPermission](https://docs.base.org/base-account/reference/spend-permission-utilities/fetchPermission): Retrieve a single Spend Permission by its hash
-- [fetchPermissions](https://docs.base.org/base-account/reference/spend-permission-utilities/fetchPermissions): Retrieve available Spend Permissions for an account and chain, optionally filtered by spender
-- [getPermissionStatus](https://docs.base.org/base-account/reference/spend-permission-utilities/getPermissionStatus): Gets the current status of a Spend Permission
-- [prepareRevokeCallData](https://docs.base.org/base-account/reference/spend-permission-utilities/prepareRevokeCallData): Construct calldata so your app's spender can revoke a Spend Permission without user interaction
-- [prepareSpendCallData](https://docs.base.org/base-account/reference/spend-permission-utilities/prepareSpendCallData): Prepare calldata to approve (if needed) and spend using a Spend Permission
-- [requestRevoke](https://docs.base.org/base-account/reference/spend-permission-utilities/requestRevoke): Request the user's approval to revoke a Spend Permission
-- [requestSpendPermission](https://docs.base.org/base-account/reference/spend-permission-utilities/requestSpendPermission): Create and sign an EIP-712 Spend Permission for a user's Base Account
-- [BasePayButton](https://docs.base.org/base-account/reference/ui-elements/base-pay-button): Pre-built React component for accepting payments with Base Account
-- [Brand Guidelines](https://docs.base.org/base-account/reference/ui-elements/brand-guidelines): Design and brand guidelines for Sign in With Base and Base Pay buttons
-- [SignInWithBaseButton](https://docs.base.org/base-account/reference/ui-elements/sign-in-with-base-button): Pre-built React component for user authentication with Base Account
+These resources give AI assistants direct access to Base documentation and reusable workflows.
-## AI Agents
-- [AI Agents on Base](https://docs.base.org/ai-agents/index): Build AI agents that trade, earn, and transact autonomously on Base
-- [Overview](https://docs.base.org/ai-agents/skills/index): Installable agent capabilities for wallets, payments, and trading on Base
-- [Accepting Payments (x402)](https://docs.base.org/ai-agents/payments/accepting-payments): Gate your agent's endpoints with x402 to charge other agents per request
-- [Pay for APIs & Services (x402)](https://docs.base.org/ai-agents/payments/pay-for-services-with-x402): How x402 works, how your agent makes payments, and which networks and tokens are supported
-- [Get Started with Payments](https://docs.base.org/ai-agents/quickstart/payments): Build an agent that makes and accepts x402 payments on Base in under 10 minutes
-- [Get Started with Trading](https://docs.base.org/ai-agents/quickstart/trading): Build an agent that fetches live market data and executes token swaps on Base
-- [Builder Codes for Agents](https://docs.base.org/ai-agents/setup/agent-builder-codes): Register your agent on Base.dev and append a Builder Code to every transaction to measure onchain activity.
-- [Agent Registration & Identity](https://docs.base.org/ai-agents/setup/agent-registration): Register your agent's identity onchain, get a Basename, and authenticate with services using Sign In With Agent (SIWA)
-- [Wallet Setup for Agents](https://docs.base.org/ai-agents/setup/wallet-setup): Give your AI agent a dedicated wallet on Base to hold funds, send payments, sign messages, and interact with onchain protocols securely.
-- [CDP Payment Skills](https://docs.base.org/ai-agents/skills/payments/cdp-payment-skills): Skills for discovering, paying for, and monetizing x402 API services via the CDP Agentic Wallet
-- [Sponge x402](https://docs.base.org/ai-agents/skills/payments/sponge-x402): Skill for discovering and paying for x402 services automatically using Sponge Wallet's built-in proxy
-- [Alchemy Agentic Gateway](https://docs.base.org/ai-agents/skills/trading/alchemy-agentic-gateway): Skill for accessing Alchemy's blockchain APIs — token balances, NFTs, portfolio data, and prices — via x402 SIWE auth
-- [CoinGecko](https://docs.base.org/ai-agents/skills/trading/coingecko): Skill for fetching live crypto price feeds, market cap, and OHLCV data via x402 — no API key required
-- [Swap Execution](https://docs.base.org/ai-agents/skills/trading/swap-execution): Skills for executing token swaps on Base using wallet-native tools across Bankr, CDP Agentic Wallet, and Sponge
-- [Bankr](https://docs.base.org/ai-agents/skills/wallets/bankr): Skill that gives your AI agent a cross-chain wallet with built-in swaps, gas sponsorship, and token launching
-- [CDP Agentic Wallet](https://docs.base.org/ai-agents/skills/wallets/cdp-agentic-wallet): Skill that gives your AI agent an email-authenticated wallet on Base with x402 payments built in
-- [Sponge Wallet](https://docs.base.org/ai-agents/skills/wallets/sponge-wallet): Skill that gives your AI agent a multi-chain wallet with native x402 payments, swaps, bridges, and banking
-- [Fetching Market Data](https://docs.base.org/ai-agents/trading/data-fetching): Use x402 to access live market data from CoinGecko, Alchemy, and other sources — no API key management required
-- [Trade Execution on Base](https://docs.base.org/ai-agents/trading/trade-execution): Base-specific patterns, fee calibration, and onchain signals for trading agents
+### Base MCP server
-## Apps
-- [Build an app on Base](https://docs.base.org/apps/index): A step-by-step guide to building a Next.js tally app on Base using wagmi and viem, with wallet connection, contract reads and writes, and batch transaction support.
-- [Builder Codes for Agent Developers](https://docs.base.org/apps/builder-codes/agent-developers): Attribute your AI agent's onchain transactions to your identity on Base and unlock analytics and leaderboard features.
-- [Builder Codes for App Developers](https://docs.base.org/apps/builder-codes/app-developers): Integrate Builder Codes into your app using Wagmi or Viem to attribute onchain activity.
-- [Base Builder Codes](https://docs.base.org/apps/builder-codes/builder-codes): Attribute onchain activity to your app, wallet or agent with Builder Codes.
-- [Builder Codes for Wallet Developers](https://docs.base.org/apps/builder-codes/wallet-developers): Implement the dataSuffix capability in your wallet to enable Builder Code attribution.
-- [Rewards](https://docs.base.org/apps/growth/rewards): Earn financial incentives for building high-quality Apps that drive user engagement and onchain transactions
-- [Migrate to a Standard Web App](https://docs.base.org/apps/guides/migrate-to-standard-web-app): Migrate your Farcaster mini-app to work in the Base App. Covers replacing deprecated SDK methods, and registering on Base.dev.
-- [Build an app on Base](https://docs.base.org/apps/quickstart/build-app): A step-by-step guide to building a Next.js tally app on Base using wagmi and viem, with wallet connection, contract reads and writes, and batch transaction support.
-- [Add notifications](https://docs.base.org/apps/technical-guides/base-notifications): Send in-app notifications to your app's users through the Base Dashboard REST API.
+`https://docs.base.org/mcp`
-## Optional
-- [Base MCP server](https://docs.base.org/mcp): Direct AI access to Base documentation
-- [Base skills](https://github.com/base/skills): Installable agent skills (`npx skills add base/base-skills`)
-- [Full context (llms-full.txt)](https://docs.base.org/llms-full.txt): Same index plus cross-cutting concept guides
+### Base skills
+
+AI agents can use Base skills to perform onchain actions directly from their tool loop — no custom integration required. Available skills include:
+
+[https://github.com/base/skills](https://github.com/base/skills)
+
+Install Base skills for your AI assistant:
+
+```
+npx skills add base/base-skills
+```
+## Recommended starting points
+
+Narrow context to a specific type of work:
+
+- [AI Agents overview](https://docs.base.org/ai-agents) — Overall agent building model on Base
+- [Wallet Setup](https://docs.base.org/ai-agents/setup/wallet-setup) — Agent wallets, signing, and funded execution
+- [Pay for Services with x402](https://docs.base.org/ai-agents/payments/pay-for-services-with-x402) — x402 payments and onchain transactions
+- [Agent Registration](https://docs.base.org/ai-agents/setup/agent-registration) — Verification and trust between agents and services
+- [Base Account quickstart for AI tools](https://docs.base.org/base-account/quickstart/ai-tools-available-for-devs) — Agent-assisted wallet and account flows
+- [Deploy on Base](https://docs.base.org/apps/quickstart/deploy-on-base) — Contract deployment on Base
+- [Build a Base app](https://docs.base.org/apps/quickstart/build-app)
+
+### Docs index
+
+[https://docs.base.org/llms.txt](https://docs.base.org/llms.txt)
+
+```
+# Base Docs Index
+IMPORTANT: Prefer retrieval-led reasoning. Read relevant docs before generating code.
+Base is an Ethereum L2 by Coinbase. Docs for: Base Chain, Smart Wallet, OnchainKit, MiniKit.
+[Docs]|root:./docs
+|ai-agents:index
+|ai-agents/payments:accepting-payments,pay-for-services-with-x402
+|ai-agents/quickstart:payments,trading
+|ai-agents/setup:agent-builder-codes,agent-registration,wallet-setup
+|ai-agents/skills:index
+|ai-agents/skills/payments:cdp-payment-skills,sponge-x402
+|ai-agents/skills/trading:alchemy-agentic-gateway,coingecko,swap-execution
+|ai-agents/skills/wallets:bankr,cdp-agentic-wallet,sponge-wallet
+|ai-agents/trading:data-fetching,trade-execution
+|apps/builder-codes:agent-developers,app-developers,builder-codes,wallet-developers
+|apps/growth:rewards
+|apps/guides:migrate-to-standard-web-app
+|apps/quickstart:build-app,deploy-on-base
+|apps/resources:design-resources,templates
+|apps/technical-guides:base-notifications
+|base-account/basenames:basename-transfer,basenames-faq
+|base-account/contribute:contribute-to-base-account-docs,security-and-bug-bounty
+|base-account/framework-integrations:cdp,rainbowkit,reown,thirdweb
+|base-account/framework-integrations/privy:authentication,setup,spend-permissions,sub-accounts,wallet-actions
+|base-account/framework-integrations/wagmi:base-pay,basenames,batch-transactions,other-use-cases,setup,sign-in-with-base,sub-accounts
+|base-account/guides:accept-payments,accept-recurring-payments,authenticate-users,migration-guide,sign-and-verify-typed-data,verify-social-accounts
+|base-account/guides/tips:inspect-txn-simulation,popup-tips
+|base-account/improve-ux:batch-transactions,spend-permissions,sub-accounts
+|base-account/improve-ux/sponsor-gas:erc20-paymasters,paymasters
+|base-account/more:base-gasless-campaign,telemetry
+|base-account/more/troubleshooting/usage-details:gas-usage,popups,simulations,unsupported-calls,wallet-library-support
+|base-account/overview:what-is-base-account
+|base-account/quickstart:ai-tools-available-for-devs,mobile-integration,web-react,web
+|base-account/reference/base-pay:charge,getOrCreateSubscriptionOwnerWallet,getPaymentStatus,getStatus,pay,prepareCharge,prepareRevoke,revoke,subscribe,subscriptions-overview
+|base-account/reference/core:createBaseAccount,generateKeyPair,getCryptoKeyAccount,getKeypair,getProvider,sdk-utilities
+|base-account/reference/core/capabilities:atomic,auxiliaryFunds,dataSuffix,datacallback,flowControl,gasLimitOverride,overview,paymasterService,signInWithEthereum
+|base-account/reference/core/provider-rpc-methods:coinbase_fetchPermission,coinbase_fetchPermissions,eth_accounts,eth_blockNumber,eth_chainId,eth_coinbase,eth_estimateGas,eth_feeHistory,eth_gasPrice,eth_getBalance,eth_getBlockByHash,eth_getBlockByNumber,eth_getBlockTransactionCountByHash,eth_getBlockTransactionCountByNumber,eth_getCode,eth_getLogs,eth_getProof,eth_getStorageAt,eth_getTransactionByBlockHashAndIndex,eth_getTransactionByBlockNumberAndIndex,eth_getTransactionByHash,eth_getTransactionCount,eth_getTransactionReceipt,eth_getUncleCountByBlockHash,eth_getUncleCountByBlockNumber,eth_requestAccounts,eth_sendRawTransaction,eth_sendTransaction,eth_signTypedData_v4,personal_sign,request-overview,sdk-overview,standard-rpc-methods,wallet_addEthereumChain,wallet_addSubAccount,wallet_connect,wallet_getCallsStatus,wallet_getCapabilities,wallet_getSubAccounts,wallet_sendCalls,wallet_switchEthereumChain,wallet_watchAsset,web3_clientVersion
+|base-account/reference/onchain-contracts:basenames,smart-wallet,spend-permissions
+|base-account/reference/prolink-utilities:createProlinkUrl,decodeProlink,encodeProlink
+|base-account/reference/spend-permission-utilities:fetchPermission,fetchPermissions,getPermissionStatus,prepareRevokeCallData,prepareSpendCallData,requestRevoke,requestSpendPermission
+|base-account/reference/ui-elements:base-pay-button,brand-guidelines,sign-in-with-base-button
+|base-chain/api-reference:rpc-overview
+|base-chain/api-reference/debug-api:debug_traceBlockByHash,debug_traceBlockByNumber,debug_traceTransaction
+|base-chain/api-reference/ethereum-json-rpc-api:eth_blockNumber,eth_call,eth_chainId,eth_estimateGas,eth_feeHistory,eth_gasPrice,eth_getBalance,eth_getBlockByHash,eth_getBlockByNumber,eth_getBlockReceipts,eth_getBlockTransactionCountByHash,eth_getBlockTransactionCountByNumber,eth_getCode,eth_getLogs,eth_getStorageAt,eth_getTransactionByBlockHashAndIndex,eth_getTransactionByBlockNumberAndIndex,eth_getTransactionByHash,eth_getTransactionCount,eth_getTransactionReceipt,eth_maxPriorityFeePerGas,eth_sendRawTransaction,eth_subscribe,eth_syncing,eth_unsubscribe,net_version,web3_clientVersion
+|base-chain/api-reference/flashblocks-api:base_transactionStatus,eth_simulateV1,flashblocks-api-overview,newFlashblockTransactions,newFlashblocks,pendingLogs
+|base-chain:overview
+|base-chain/network-information:base-contracts,base-solana-bridge,block-building,bridges,configuration-changelog,diffs-ethereum-base,ecosystem-contracts,network-faucets,network-fees,networks-and-endpoints,sequencing-policy,throughput-and-limits,transaction-finality,transaction-lifecycle,troubleshooting-transactions
+|base-chain/node-operators:base-v1-upgrade,node-providers,performance-tuning,run-a-base-node,snapshots,troubleshooting
+|base-chain/quickstart:connecting-to-base
+|base-chain/security:avoid-malicious-flags,bug-bounty,report-vulnerability,security-council
+||base-chain/specs:index
+||base-chain/specs/protocol:overview,batcher
+||base-chain/specs/protocol/bridging:bridges,deposits,messengers,withdrawals
+||base-chain/specs/protocol/consensus:index,derivation,p2p,rpc
+||base-chain/specs/protocol/execution:index
+||base-chain/specs/protocol/execution/evm:precompiles,predeploys,preinstalls,rpc
+||base-chain/specs/protocol/fault-proof:index,cannon-fault-proof-vm,proposer
+||base-chain/specs/protocol/fault-proof/stage-one:index,anchor-state-registry,bond-incentives,bridge-integration,dispute-game-interface,fault-dispute-game,honest-challenger-fdg,optimism-portal
+||base-chain/specs/upgrades/jovian:overview,exec-engine,derivation,l1-attributes,system-config
+||base-chain/specs/upgrades/isthmus:overview,exec-engine,derivation,l1-attributes,predeploys,system-config
+||base-chain/specs/upgrades/holocene:overview,exec-engine,derivation,system-config
+||base-chain/specs/upgrades/granite:overview,exec-engine,derivation
+||base-chain/specs/upgrades/fjord:overview,exec-engine,derivation,predeploys
+||base-chain/specs/upgrades/ecotone:overview,derivation,l1-attributes
+||base-chain/specs/upgrades/delta:overview,span-batches
+||base-chain/specs/upgrades/canyon:overview
+||base-chain/specs/upgrades/azul:overview,exec-engine,proofs
+||base-chain/specs/upgrades/pectra-blob-schedule:overview,derivation
+||base-chain/specs/reference:glossary,configurability
+||base-chain/specs/bcps:index,bcp-0000
+|get-started:base-mentorship-program,base-services-hub,base,block-explorers,concepts,country-leads-and-ambassadors,data-indexers,deploy-smart-contracts,docs-llms,docs-mcp,get-funded,launch-token,learning-resources,prompt-library,resources-for-ai-agents
+|apps/quickstart:migrate-to-standard-web-app
+|apps/growth:rewards
+|onchainkit:migrate-from-onchainkit
+|root:agents,changes,cookie-policy,privacy-policy,terms-of-service,tone_of_voice
+```
diff --git a/docs/snippets/base-networks.mdx b/docs/snippets/base-networks.mdx
new file mode 100644
index 000000000..8ca901d6c
--- /dev/null
+++ b/docs/snippets/base-networks.mdx
@@ -0,0 +1,8 @@
+| Network | Chain ID | Standard RPC | Standard WSS | Flashblocks RPC | Flashblocks WSS | Explorer |
+| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
+| Base Mainnet | `8453` | `https://mainnet.base.org` | `wss://mainnet.base.org` | `https://mainnet-preconf.base.org` | `wss://mainnet-preconf.base.org` | [BaseScan](https://basescan.org) |
+| Base Sepolia | `84532` | `https://sepolia.base.org` | `wss://sepolia.base.org` | `https://sepolia-preconf.base.org` | `wss://sepolia-preconf.base.org` | [BaseScan Sepolia](https://sepolia.basescan.org) |
+
+
+Public RPC and Flashblocks RPC endpoints are rate-limited and are not suitable for production traffic. For production systems, use a [node provider](/base-chain/node-operators/node-providers) or [run your own Base node](/base-chain/node-operators/run-a-base-node). For more explorer options, see the [block explorer catalog](/get-started/block-explorers).
+