Skip to content

protocol

Base activates Denim: 200ms canonical blocks on mainnet, Flashblocks retired

Base's fourth mainnet hardfork moves the L2 to five canonical blocks per second and replaces the Flashblocks preconfirmation layer. Apps relying on block counts see timelocks shrink 10x.

by 4 min read

Base activated Denim, its fourth mainnet hardfork, on November 5, 2026 at 18:00 UTC, moving the L2 from a two-second block time to five canonical blocks per second — one every 200 milliseconds — and retiring the Flashblocks preconfirmation layer that had delivered the same latency as a sidechannel since July. Base's own documentation at docs.base.org/upgrades/denim/200ms-blocks and docs.base.org/upgrades/denim/overview is the primary source; The Block and Cryptobriefing confirm the mainnet activation. Sepolia activated two weeks earlier, on October 21 at 18:00 UTC.

What Denim ships

  • Canonical 200ms blocks. Each block now has its own hash, state root, receipts, and unsafe / safe / finalized lifecycle, unlike Flashblocks, which were intra-slot previews. The protocol enforces a fixed 200 ms interval between a block and its parent instead of reading the sequencer's wall clock.
  • Flashblocks retired. The preconfirmation sidechannel Base shipped in July 2025 to cut user-perceived latency to 200ms stops being produced. Apps that subscribed to Flashblocks over WebSocket must migrate to standard canonical-block subscriptions.
  • BaseTime: millisecond timestamps. block.timestamp keeps its whole-second resolution (the header format is unchanged for L1 compatibility). A new predeploy at 0x4200000000000000000000000000000000000030 exposes timestampMillisPart() (returns 0, 200, 400, 600 or 800) and timestampMs() (returns 1000 * header.timestamp + millisPart). A BaseTime deposit at tx[1] of every block, source-hash domain 3, supplies the millisecond part. RPC responses and newHeads subscriptions add an optional timestampMs field; logs and mined transactions add blockTimestampMs.
  • B20 compliance extensions. The regulated-asset token standard Base shipped with Beryl gets reusable allow/blocklist policies with a NOT operator, transfer-executor restrictions extended to direct transfers, and a new rule that blocks any transfer, mint or seize that targets the token contract's own address.

The migration trap: block.number advances 10x faster

The change the Base team flagged hardest, and the one application teams have to think through, is simple arithmetic: with five canonical blocks a second instead of one every two, block.number advances ten times faster in wall-clock time. Any contract that used block counts as a duration now runs on a different clock.

  • Timelocks, vesting schedules, cooldowns, deadlines, DAO voting windows measured in blocks shrink to one tenth of their intended duration. A 7,200-block cooldown (4 hours pre-Denim) becomes 24 minutes.
  • Per-block rate limits reset five times per second instead of every two seconds, so an "N units per block" throttle now permits 10× the throughput.
  • Uniswap V3-style TWAP oracles can write one observation per second instead of one per two seconds, which halves the time window covered by a fixed-cardinality oracle. Long lookbacks may start reverting with OLD; integrators need to either grow cardinality or cap the lookback.
  • Immutable contracts that bake block counts into constants need a migration plan — there is no governance knob.

Base's team says governance-tunable parameters can be mechanically remediated: multiply any block-count duration by ten, divide any per-block cap by ten. Everything else needs code.

Context

Denim is Base's fourth independent hardfork of 2026, after Azul, Beryl, and Cobalt. Beryl shipped the B20 token standard and the Reth V2 execution client; Cobalt added validity transactions and B20 compliance extensions. Denim is the first Base upgrade whose changes are visible to every application, not just token issuers or wallet integrators.

Flashblocks itself launched in July 2025 as a stopgap: a way to deliver ~200ms preconfirmations without touching the canonical chain, buying time while the client teams rebuilt block production to run at that cadence natively. Denim is the end of that bridge.

What to watch

  1. TWAP oracles on Base DEXs. Uniswap V3 pools, Aerodrome, and any pool using fixed-cardinality observation rings need their windows recalibrated. Expect integrator fixes in the next 72 hours.
  2. Governance timelocks on Base-native DAOs. Projects whose timelocks are measured in blocks (as opposed to seconds via block.timestamp) now enforce them on a ten-times-faster clock. Watch for emergency votes to adjust constants.
  3. The next Base milestone. Base's roadmap after Denim lists native smart accounts with gas sponsorship and the pull-in of EVM changes from Ethereum's upcoming Glamsterdam upgrade. Neither is in this hardfork.
  4. Client releases. Base has not yet published the final base-reth-node and base-consensus versions for Denim mainnet; node operators should track releases at github.com/base.

What other outlets missed

Most coverage framed Denim as a block-time cut, which it is. The more consequential change is that every Base application now runs on a block-count clock that moves ten times faster, and immutable contracts that encoded durations in blocks have no way to fix themselves. Base's own warning on this is prominent in its docs; the Thursday-afternoon news items so far have not led with it.

Related stories