Base, the layer 2 built by Coinbase, retired its Flashblocks data feeds in the Nov. 5 Denim upgrade. Apps that used those feeds need to migrate. The tricky part is that old WebSocket endpoints may still accept connections. They just do not send data anymore, according to Base’s migration instructions.
The old connection still opens
That creates a quiet compatibility trap. An open socket can look healthy in logs while the app receives nothing. Reconnecting to a retired Flashblocks endpoint does not fix the integration. It only repeats the same failed handshake. I think this is the sort of breakage that can sit unnoticed until a dashboard or a transaction flow starts to lag.
What Denim changed
Denim activated on mainnet at 18:00 UTC on Nov. 5. Base describes complete canonical blocks every 200 milliseconds, each with its own hash, state root and receipts. Those are the chain’s blocks, not previews of a block that is still being built. Developers should replace Flashblocks connections with subscriptions through a WebSocket-capable RPC provider or their own node. Base’s replacement map lists three main subscription changes, so teams need to read that map against their current setup.
The pending block tag still works, but it now points to the latest canonical block. It no longer shows Flashblocks preconfirmation state, and there is no direct equivalent for that former preview. That matters for balance reads, transaction counts and simulated contract results against pending state. An app can keep the old assumption and treat an accepted response as a preview, even when it is reading canonical state.
Transaction handling changes too. Apps can still poll eth_getTransactionReceipt. A receipt becomes available once the transaction enters a canonical 200ms block. Preconfirmed receipts and preconfirmed transaction results are no longer available.
What teams should inspect
Base recommends inventorying Flashblocks subscriptions, WebSocket connections, pending-tag requests, flashblock_index usage and node flags. It also advises testing migrated integrations on Base Sepolia or Vibenet. The Denim upgrade notice was still marked Verifying on Nov. 9. A Nov. 5 update at 18:14 UTC said Base was investigating periodic transaction inclusion delays and a higher than expected rate of empty blocks. The notice had no later resolution update in the text provided.
Cadence is not inclusion or finality
A 200ms block cadence says how often blocks arrive. It does not promise that every submitted transaction enters the next block. Inclusion also remains separate from finality. Base says a block becomes safe when its batch is posted to Ethereum and final when Ethereum finalizes that batch. Apps that need those stronger guarantees still have to distinguish them from the arrival of a canonical block.






