Skip to main content
Base Denim shortens block timers and tightens token transfers

Base Denim shortens block timers and tightens token transfers

DeFi Prime
5 lis 2026, 20:29DeFi
Oryginał
3 min read

Base’s Denim upgrade went live on mainnet on November 5, 2026, replacing Flashblocks with native 200ms blocks and tightening transfer checks for B20 tokens.

Base’s Denim upgrade went live on mainnet on November 5, 2026, replacing Flashblocks with native 200ms blocks and tightening transfer checks for B20 tokens.

The protocol now produces a canonical block every 200 milliseconds, validating a full timestamp exactly 200ms after the parent block with no skipped slots.

This change means block numbers advance ten times faster in wall-clock time, while block.timestamp continues to advance in whole seconds.

Base says a block becomes safe when its batch is posted to Ethereum and final when Ethereum finalizes that batch.

Applications that display inclusion in a native block need to keep those stages distinct when reporting settlement to users.

Contract teams must adjust timing logic

The announcement warns that contracts using block-based delays now run those delays in one tenth of the intended wall-clock time.

Affected code includes timelocks, cooldowns, exit delays, vesting schedules, emission schedules, per-block rate limits and deadlines expressed as expirationBlock = block.number + N.

A cap that resets with each new block now resets more frequently, while a block-based deadline arrives sooner.

Governance contracts face the same change when voting delay and voting period use blocks, including ERC20Votes with its default block-number clock.

The documentation says voting windows shrink ten times while stored checkpoints stay correct.

Where a block count is governance-tunable, multiply it by ten.

Base activation announcement

However, the specification recommends dividing by ten at activation, creating a contradiction that teams must resolve before submitting a parameter change.

Both sources recommend replacing block-count durations with block.timestamp comparisons where redeployment or upgrades are possible.

Immutable block-count constants cannot be retuned, so teams need to assess their impact and plan a migration before activation.

Oracle and client changes

Base has stopped producing Flashblocks streams, and the pending block tag no longer returns preconfirmed state.

Applications using eth_subscribe("newFlashblocks") must move to eth_subscribe("newHeads"), and pendingLogs subscriptions move to logs.

Clients using newFlashblockTransactions need to subscribe to new heads and fetch each block’s transactions.

The new millisecond fields are conditional; clients derive timestampMs from authenticated BaseTime metadata and cannot estimate it from the whole-second timestamp.

Responses omit the field when the historical block body or metadata has been pruned or is unavailable.

Mined transaction objects gain an optional blockTimestampMs field, and indexers reading historical records must handle records with no millisecond metadata.

B20 transfer policies tighten

Denim also changes who can initiate transfers of restricted B20 tokens.

TRANSFER_EXECUTOR_POLICY previously applied only to transferFrom calls made by someone other than the holder.

A holder calling transfer directly could bypass the executor allowlist, even when the issuer intended an approved party to initiate every transfer.

The policy now checks msg.sender on every transfer path, matching the sender and receiver policy checks.

Base announcement

Tokens launched with an executor policy automatically inherit the new behavior, so a holder’s direct transfer can now fail an executor check that the same call previously bypassed.

Tokens that never set an executor policy keep the always-allow default, so this check does not change their transfer behavior.

Denim also adds a way to compose policies, introducing NOT through a reserved bit that inverts a policy ID.

An issuer can use the same address list for inclusion in one scope and exclusion in another without maintaining duplicate membership lists.

A transfer, mint or seizure addressed to the token’s own address now reverts with InvalidReceiver.

Balances previously sent to the token’s own address were stuck unless the issuer seized them back, but an issuer can still recover them through seizeWithMemo if it opted into seizure functionality.

Next steps and open issues

Base’s status notice says Denim successfully activated and reports an investigation into periodic transaction inclusion delays causing a higher-than-expected rate of empty blocks.

The operator notice instructed mainnet node operators to upgrade to base/base v1.5.1 before activation.

Operators upgrading from an older release must remove --enable-experimental-validity-transactions from the base-reth-node command if present, as leaving the flag in place causes the node to fail to start.

Z.ai
Article written by AI
Z.ai GLM-4.7-FlashFree
Free AI articles150 of 150
No limit after signing in with Telegram