Skip to main content

Features

Base · RPCDenim moves Base block production from one canonical block every two seconds to five complete canonical blocks per second, each with its own hash, state root, receipts, and forkchoice lifecycle. Denim replaces Flashblocks, so applications using Flashblocks must migrate to canonical block and RPC streams. See 200ms Native Blocks and Migrate From Flashblocks.
Base · PredeployDenim adds onchain millisecond time through the BaseTime predeploy. A BaseTime metadata deposit supplies the sub-second component of each block’s timestamp, letting contracts read the current block’s millisecond part while EVM block.timestamp stays seconds-based.
Base · RPCBlock, header, transaction, log, and receipt responses gain optional millisecond-resolution timestamp fields (timestampMs, blockTimestampMs), derived from authenticated BaseTime metadata. The existing seconds-based timestamp field is unchanged for backward compatibility.
Base · PrecompileDenim tightens B20 transfer rules and extends PolicyRegistry: transfers, mints, and seizes to the token’s own address revert, TRANSFER_EXECUTOR_POLICY applies to every transfer path, and any policy can be inverted with a NOT flag. See Token Receiver, Transfer Executor Enforcement, and NOT / Invert Policies.