Original report published by ChainCatcher on November 9, 2026, at 22:59:43 UTC+8.
Base discontinued Flashblocks with its Denim upgrade, replacing them with a complete canonical block every 200 milliseconds. According to ChainCatcher, Denim activated on Base Sepolia on October 21, 2026, at 18:00 UTC, and on Base mainnet on November 5 at 18:00 UTC.
After activation, both networks stopped producing Flashblocks. Flashblocks subscriptions, WebSocket streams and pending-state interfaces no longer return data.
Subscription and RPC changes
The official documentation cited in the report notes that endpoints such as wss://mainnet.flashblocks.base.org/ws still accept connections but no longer push any data. A successful connection therefore does not mean the stream remains operational.
Developers need to migrate their integrations as follows:
- Replace
eth_subscribe("newFlashblocks")witheth_subscribe("newHeads"). - Replace
pendingLogswithlogs. - Replace
newFlashblockTransactionsby subscribing tonewHeadsand then fetching transactions from the corresponding canonical blocks. - Change RPC calls using the
"pending"block tag to read the latest canonical block and state instead.
Node versions and configuration
Mainnet nodes require base/base v1.5.1 or later; Sepolia nodes require v1.5.0 or later. Operators also need to remove Flashblocks-related settings, including:
RETH_FB_WEBSOCKET_URL--flashblocks-url--max-pending-blocks-depth--flashblocks.ping-interval
Transactions containing a flashblock_index validity predicate will be rejected. The official recommendation is to use block_number to constrain the applicable range instead.
The documented migration shifts integrations from Flashblocks-specific streams and pending-state reads to canonical block notifications and state. The supplied report specifies the operational changes but provides no performance measurements beyond the stated 200-millisecond block interval.