Changelog
Changelog
Updates to BaseHub and notable Base network and protocol changes, newest first.
This feed is also available as raw Markdown at /changelog.md
and JSON at /changelog.json.
2026
-
Tokenized equities documented as a B20 application
Coinbase tokenized stocks run as B20 native precompiles, not per-asset contracts. Corporate actions reach holders through the multiplier, and Chainlink publishes total-return prices for thirteen equities.
-
Added a Tokenized Stocks integration guide
Covers multiplier arithmetic, transfer policies, announcement events, price-feed staleness handling during corporate actions, and the deployed token and Chainlink feed addresses.
-
B20 page now documents the scheduled multiplier path
The multiplier table listed only the instant updateMultiplier call. It now shows updateUIMultiplier and cancelUIMultiplierUpdate, and marks the instant path deprecated.
-
Denim draft would end Flashblocks in favour of 200ms canonical blocks
A draft spec proposes sealing five full blocks per second, each with its own hash and lifecycle, and retiring the Flashblocks stream. Nothing is scheduled on Sepolia or Mainnet.
-
Added a Denim 200ms native blocks page
Covers the BaseTime deposit and predeploy, the Engine and derivation rules, and the optional timestampMs and blockTimestampMs RPC fields. The Flashblocks overview now points at the draft.
-
BUILDER_EXPIRED is the builder's terminal discard
Where BUILDER_DEFERRED means not yet, the new BUILDER_EXPIRED event means never — an expired bundle validity window or position predicate that no later build attempt can satisfy.
-
Cobalt is unscheduled; native AA has no mainnet date
Base published a dedicated Cobalt upgrade page listing mainnet and Sepolia activation as TBD. EIP-8130 stays experimental and runs only on the vibenet devnet, correcting the earlier September 2026 expectation.
-
BUILDER_DEFERRED marks a move to the parking lot
A new builder event fires each time a transaction leaves the selection queue for the parking lot, repeating on promote-and-repark. Parking-capacity misses still report BUILDER_REJECTED instead.
-
Added a B20 selector stability and release history section
B20 signatures sit on the consensus surface, so the standard only grows by addition and shipped selectors keep their behaviour. The section records mainnet and Sepolia activation dates.
-
Raw-transaction admission events added to the journal
TXPOOL_SEND_RAW_TRANSACTION and TXPOOL_SEND_RAW_TRANSACTION_VALIDITY fire once per submit path at the RPC boundary, before pool insertion. Only the validity event carries data.validity_predicates; join later events back by tx_hash.
-
Final releases build one image and tag it four ways
Publish Release now runs a single base image build under PROFILE=maxperf, then applies the vX.Y.Z, X.Y, X, and latest tags to that same image on ghcr.io/base/node.
-
Upgrade guide: trait method calls fork_condition
The is_azul_active_at_timestamp example now uses the BaseUpgrades trait's own fork_condition accessor. RollupConfig's upgrade_activation is unchanged and still applies at the earlier step.
-
Testing page: system and action tests are required checks
Clarified what actually gates the merge queue. Both tiers are required status checks, so a failure blocks the merge rather than merely being run before landing. The system-test crate's own unit tests run there too.
-
Native account abstraction lands in Cobalt, not Beryl
Upstream reassigned EIP-8130 from a later Beryl phase to a later Cobalt phase and repointed its spec link. The Beryl overview now says so; the September 2026 Cobalt timing is unchanged.
-
audit-archiver now expires transaction events in Postgres
A background worker prunes rows by event type: 3 days for proxy and builder-decision events, 7 for ingress and forwarding, 30 for failures, drops, inclusion, and flashblock. Postgres is working storage, not the archive.
-
Added Standalone Proving guide
How to run the three-container prover stack against a live network without a devnet: ZK backend choices, the four historical RPC endpoints, funding a Succinct requester key, and the basectl propose/finalize/submit flow.
-
Base Mainnet operators must move to reth V2 storage by mid-August
V1 snapshots are being retired over the coming weeks. Pull a fresh V2 snapshot with base-reth-node download, or convert existing data in place with base-reth-node db migrate-v2 (archival nodes only, and much slower).
-
Added B20 Precompile Reference
Selector-level reference for all five B20 interfaces: functions with four-byte selectors, events by topic0, reverts by selector, plus the shared role, policy, and variant constants.
-
B20 spec now documents seizeWithMemo
The standard's seize path moved off the deprecated burnBlocked. Added a Seize section covering SEIZE_ROLE and the inverted SEIZE_HOLDER_POLICY check, and corrected the roles, policy scope, and pause tables.
-
Onchain Nitro attestation validation works again after Fusaka
Fusaka's MODEXP repricing and 16.7M gas cap broke base/nitro-validator. Checked P-384 inverse hints supplied in calldata bring a full cold attestation back to five transactions, each well under the cap.
-
New Block Production Review guide
Covers the halt and stall scenarios reviewers must check on base/base pull requests touching builder, execution, precompile, payload, or flashblocks paths, plus the I/O boundary size gate.
-
Security Council upgrade path is a 2-of-2 multisig
Base contract upgrades need both the CB Signers (a 3-of-6 Coinbase multisig, counted as one signature) and the Security Council (8-of-11). That is 9 approvals across 12 participants, and neither side can proceed alone.
-
basectl pointer added to sync troubleshooting
The stuck-sync entry now points at the basectl operator CLI, which reports richer node state and diagnostics than reading optimism_syncStatus directly.
-
New Testing guide for base/base
Documents the four testing tiers — unit, action, system, and fuzz — plus the static checks and the CI stages that run each one, from pull request through merge queue and nightly.
-
P2P spec: transaction forwarding moved to its own crate
The reader/forwarder pipeline now lives in tx-forwarding rather than txpool, with DestinationReader and DestinationForwarder replacing the old spawned consumer and forwarder types.
-
Development workflow recipes corrected
Static checks are now namespaced as check::<name>, and check::all no longer runs the test suite. Added the just pr recipe, which scopes tests to the crates a branch affects.
-
Snapshot FAQ: Full vs Minimal, and migrating a pruned v1 node
Dropped the stale 31-day retention claim for the Full snapshot and pointed to Reth's storage docs instead. Added guidance for operators moving a pruned v1-storage node onto v2.
-
Vibenet faucet and explorer move to chain.base.org
Base's Vibenet preview network now serves its landing page, faucet, and block explorer under chain.base.org/vibenet. The RPC endpoint at rpc.vibes.base.org is unchanged.
-
Mainnet safe head delayed on July 28
Base Mainnet's safe head lagged for about two hours on July 28. Unsafe block production was unaffected; only the batching of L2 data to Ethereum L1 was delayed. Resolved at 15:13 UTC.
-
Transaction event journal gains segment rotation
The transaction-event/v1 journal config adds max_file_bytes and max_files, capping the size of the active JSONL segment and the number of segments retained on disk.
-
Added Native Account Abstraction
New architecture page.
-
Native Account Abstraction announced (EIP-8130)
Base, with Optimism, Coinbase, and WalletConnect, is moving account abstraction into the protocol via EIP-8130, cutting a USDC transfer from 125,000 to 46,000 gas and adding native batching, sponsorship, and session keys. Ships in the Cobalt upgrade in September 2026.
-
Added Bridging and Withdrawals
New network page.
-
Added June 2026 Block Production Outage
New architecture page.
-
Added Throughput and Limits
New network page.
-
Postmortem: June 25 block production outage
Two mainnet block-production halts on June 25 and 26 traced to a sequencer bug that left the EVM journal state dirty, mischarging gas on a following transaction. Patched in base/base PR #3806.
-
Added Transaction Event Journal
New specification page.
-
Base Beryl upgrade reaches mainnet June 25
Beryl, Base's second network upgrade, adds the B20 native token standard, shortens the withdrawal delay, and raises throughput with Reth V2.
-
Added Jovian L2 Execution Engine
New specification page.
-
Added B20 Native Token Standard
New specification page.
-
Added Beryl Upgrade Overview
New specification page.
-
Added Reth V2
New specification page.
-
Added Glossary
New specification page.
-
Added Azul Execution Engine
New specification page.
-
Added Isthmus L2 Execution Engine
New specification page.
-
Added Protocol Overview
New architecture page.
-
Added Configuration
New specification page.
-
Added Rollup node RPC
New API reference page.
-
Added Azul Node Upgrade Guide
New node operations page.
-
Added Azul Proof System
New specification page.
-
Added Proof Contracts
New specification page.
-
Added TEE Prover
New specification page.
-
Added ZK Prover
New specification page.
-
Added Challenger
New specification page.
-
Added Network Incident History
New network page.
-
Added Proof System Overview
New specification page.
-
Added Proposer
New specification page.
-
Added Engineering Blog Index
New architecture page.
-
Added Multiproofs on Base
New architecture page.
-
Multiproofs live on Base mainnet
Base shipped its multiproof system pairing TEE and ZK provers, the technical bar for Stage 2 decentralization, also speeding withdrawals by removing the optimistic challenge window.
-
Added Azul Upgrade Overview
New specification page.
-
Added TEE Prover Registrar
New specification page.
-
Launched BaseHub
Initial public release — 177 documentation pages mirroring Base as agent-readable Markdown, with every page reachable by appending .md to its URL.