Elysium mainnet is live! Get your lightning-fast RPC endpoints now.    Start building
  • Agents
  • Pricing

Flashblocks on Base: what they were and what replaced them (Denim 200 ms blocks)

Created Aug 11, 2025 Updated Nov 6, 2026
Base Flashblocks

Update, November 6, 2026: Flashblocks on Base have been retired. Base’s Denim upgrade activated on Base Sepolia on October 21, 2026 and on Base Mainnet on November 5, 2026 (block 53,556,127). Denim replaces Flashblocks with a full canonical block every 200 ms instead of every 2 seconds. The newFlashblocks, newFlashblockTransactions, and pendingLogs subscriptions deliver nothing, and the pending tag has no direct equivalent: read latest instead.

Until November 5, 2026, a standard transaction on Base waited up to ~2 seconds for the next block. For real-time low-latency trading, onchain games, and time-sensitive user flows, those two seconds could still feel like a delay.

Flashblocks, a transaction preconfirmation feature developed by Flashbots, streamed “partial blocks” ahead of each new seal, giving transaction feedback in as little as 200 milliseconds. Denim now delivers that cadence directly: Base seals a full block every 200 ms, each with its own hash, state root, and receipts. Data from these blocks is sealed canonical data, not preconfirmed data.

In this post, we cover what Flashblocks were, what replaced them, and how to move your code from the pending tag and Flashblocks subscriptions to latest, newHeads, and logs, with JSON-RPC and curl examples.

What were Flashblocks on Base?

Flashblocks streamed committed transactions as they were added to the block-in-progress, giving apps an early view of the next 2-second block through the pending tag. Denim retired this mechanism. Because Base now seals a block every 200 ms, there is no in-progress block to preview: read latest for the freshest state.

Each 200 ms block has its own block number, hash, state root, receipts, and unsafe, safe, and finalized lifecycle. block.number now advances ten times faster in wall-clock time, while block.timestamp stays in whole seconds, so about five consecutive blocks share one timestamp. Block responses also carry a timestampMs field.

Bringing Flashblocks To Base Mainnet logo

Standard Ethereum JSON-RPC methods keep working. Replace Flashblocks-era calls as follows, and see the Base Denim docs for the full mapping:

  • eth_subscribe("newFlashblocks") becomes eth_subscribe("newHeads")
  • eth_subscribe("newFlashblockTransactions") becomes eth_subscribe("newHeads"), then fetch the transactions of each block
  • eth_subscribe("pendingLogs") becomes eth_subscribe("logs")
  • eth_getBlockByNumber("pending") becomes eth_getBlockByNumber("latest")
  • eth_getBalance, eth_getTransactionCount, eth_call, eth_estimateGas, and eth_simulateV1 at "pending" become the same call at "latest"
  • eth_getLogs with toBlock set to "pending" becomes toBlock set to "latest"

What Denim gives you instead of Flashblocks

Denim makes confirmations faster by changing the chain itself, so you don’t need a special endpoint or tag. Here’s what changes when you use a Base RPC endpoint by Chainstack.

Get faster transaction signals

Your app no longer waits two seconds to update the UI. A new block lands every 200 ms, about five per second, and you can read it with latest or subscribe to newHeads. Because this is sealed canonical data, you get fast signals without preconfirmation caveats, for swaps, games, bots, or a simple onboarding flow.

Low-latency RPC access, globally distributed

Chainstack Global Nodes for Base are optimized for intensive traffic. We route requests through the closest available region, whether that’s the US, EU, or Asia, and serve responses from high-performance nodes.

That means even when network traffic spikes, your app stays fast.

# Example: Fetch the latest 200 ms block via Chainstack Base RPC
curl -X POST <YOUR_CHAINSTACK_BASE_RPC_URL> \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_getBlockByNumber",
    "params": ["latest", false]
  }'

Works with standard Ethereum RPC methods

Denim works with the standard RPC methods available on Base. Use the "latest" tag with:

  • eth_getBlockByNumber
  • eth_getTransactionReceipt
  • eth_getBalance
  • eth_getTransactionCount

You get the freshest canonical data without touching your existing tools.

Getting started with 200 ms blocks on Base via Chainstack

  1. Create a Base RPC endpoint on Chainstack Denim is live on Base Sepolia (since October 21, 2026) and Base Mainnet (since November 5, 2026). You can create new endpoints in just a few clicks.
  2. Connect your app, script, or tool Use your Chainstack RPC URL in your web3 app, wallet, script, or curl requests. All standard Ethereum JSON-RPC methods are supported; read latest or subscribe to newHeads and logs.

Denim’s 200 ms blocks make Base near-instant for anything time-sensitive, with no preconfirmation caveats.

Conclusion

Denim changes how fast apps can respond on Base. Blocks are sealed every 200 ms, so a transaction’s inclusion shows up in a canonical block, not in a preview. Update code that relied on pending or the Flashblocks subscriptions to read latest and newHeads. Because block.number advances ten times faster, anything written in block counts (polling, timelocks, voting periods) now covers a tenth of the time. Chainstack limits that count blocks changed the same way: a request 127 or more blocks behind the tip bills as archive (2 RU), now about 25 seconds, and eth_getLogs ranges are 100 blocks (20 seconds) on the Developer plan and 10,000 blocks (about 33 minutes) on paid plans.

Use any Chainstack Base Mainnet or Testnet Sepolia endpoint to start reading 200 ms blocks today.

SHARE THIS ARTICLE
Customer Stories

Eldarune

Eldarune successfully tackled multichain performance bottlenecks for a superior AI-driven Web3 gaming experience.

LinkPool

Maintaining unparalleled performance and up time under heavy network strain in securing the Chainlink oracle network.

CertiK

CertiK cut Ethereum archive infrastructure costs by 70%+ for its radical take on Web3 security.