Cover photo

We’re making Base 10x faster with Flashblocks

Bringing near-instant responsiveness to apps on Base Mainnet.

Cody Wang and Danyal Prout

People expect lightning-fast responses when interacting with apps, and a snappy user experience is key to enabling the global onchain economy. With Flashblocks, a technology built by Flashbots, Base chain will have 200-millisecond “preconfirmation blocks” making transactions feel instant. This will make Base 10x faster than it is today, slated to go live this Summer. 

If you're a builder, node operator, or wallet interested in integrating Flashblocks on Base, you can integrate them on Base Sepolia today in preparation for the full rollout on Base Mainnet. We recommend reading ahead to understand what is required to integrate Flashblocks and give your app’s users a 10x faster experience. 


Bringing Flashblocks to Base Mainnet

Currently, Base creates a new block every 2 seconds. Flashblocks are sub-blocks issued by the block builder and streamed to nodes every 200ms, allowing for early confirmation times.

post image

Each Flashblock contains ~10% of the transactions (by gas) of a regular block, and a series of Flashblocks can be combined to recreate a full block. They are an optional addition for nodes and applications that want to have a faster UX. Without making any changes, nodes and applications will continue to function the same way they do today.

Since enabling Flashblocks on Base Sepolia, we’ve seen up to 10x reduction in transaction inclusion times (see appendix below) from users around the world. To experience the speed firsthand, see Flashblocks live on testnet in our demo and try some of the apps that other builders have built. 

post image
Comparison of tx inclusion times with and without Flashblocks

How apps, wallets, and indexers can integrate Flashblocks

Integrating Flashblocks

At a high level, there are two ways you can integrate Flashblocks:

  1. Recommended: Use an RPC provider that supports Flashblocks.

  2. Subscribe to Flashblocks from the websocket.

We strongly recommend that you use an RPC provider instead of subscribing to the websocket as it’ll support the libraries you're familiar with today and supports graceful fallback in the event of a Flashblock outage.

You can find detailed information on how to integrate Flashblocks into your application, RPC endpoint support and which libraries support Flashblocks in our docs. 

Transaction Ordering

Flashblocks will change transaction ordering within blocks in two key ways:

Timing

Flashblocks are built every 200ms, each ordering a portion of the block. Unlike the current system where later-arriving transactions with higher priority fees can be placed at the top of the block, Flashblocks creates a time-based constraint. Once a Flashblock is built and broadcast, its transaction ordering is locked even if a transaction with a higher priority fee arrives later, it cannot be included in earlier, already built Flashblocks.

High Gas Limits

If your app creates transactions with large gas limits, we recommend monitoring to detect any changes in inclusion latency. Transactions with gas limits over 1/10 of the current block gas limit (currently 14 million gas), face additional constraints:

  • Each Flashblock can only use a portion of the block's total gas limit

  • Flashblock 1: up to 1/10 of the total gas

  • Flashblock 2: up to 2/10 of the total gas

  • And so on for subsequent Flashblocks

Consequently, transactions with large gas requirements must wait for later Flashblocks with sufficient gas capacity. For example, a transaction exceeding 1/10 of the block's gas limit cannot be included in Flashblock 1 and must wait for Flashblock 2 or later.

Understanding reverts, reorgs and reliability

Reorgs

When the Flashblocks stream differs from the final block, there has been a reorg. This will result in some RPC responses returning data that could be different from the final block. In our initial release, this may happen. Although we expect it to be very infrequent, your application needs to be able to handle them. We plan to reduce how often these reorgs occur in future updates.

Revert Protection

In our initial release, revert protection will not be enabled. Transactions will continue to revert on Base as they do today. We plan to investigate enabling revert protection in future updates as part of our ongoing development roadmap.

Reliability

If there is a Flashblocks outage the chain will continue to progress, but fallback to the standard two second block times. During an outage:

  • RPC calls and sending transactions will continue to work, with slower transaction inclusion

  • The websocket endpoint will not return any data

Outages are expected to be infrequent - our SLA for Flashblocks uptime is 99.9%.

Node Operator Integrations

Flashblocks are an optional feature for your nodes. When not activated, your nodes will function exactly as they do today. Activating Flashblocks makes two changes to the execution client:

  1. They connect to the Flashblocks data stream

  2. Flashblock information will be used to modify the responses of some ETH RPC endpoints

Enabling Flashblocks

You'll need to run our Base Reth binary with integrated Flashblocks support. If you're interested in seeing Flashblocks compatibility with other execution clients, please submit an issue on the base/node repository, and we'll explore expanding support.

For full configuration instructions and setup guidance, refer to our documentation.

Receiving Flashblocks

As Flashblocks are built, they’re broadcast immediately by the sequencer over a websocket. Our websocket endpoints are publicly available but rate limited. If you operate a large number of nodes please reach out and we can provide you with an authenticated endpoint which will have minimal rate limiting.

RPC Modifications

Receiving a Flashblock, causes the nodes to update their internal in-memory state of the pending block, which is used to modify the responses to some ETH RPC’s.

If you have a caching or routing layer in front of your nodes, you may need to modify the behaviour for certain RPC endpoints. A full list of endpoints can be found here.

Reliability

If there’s an outage of any part of the Flashblocks infrastructure nodes will continue to work as they do today with two second block times and blocks being distributed over the P2P network.

Our SLA for Flashblocks uptime is 99.9%. We’ve designed our infrastructure and node integration to gracefully handle Flashblock outages and fallback to the current situation of two second blocktimes.

Staying in the Loop

We’re really excited to see what you build with Flashblocks. We recommend following @base and subscribing to this blog to receive the latest updates on Flashblocks. 

For questions or support, please reach out to us on Discord or @BuildOnBase.

Appendix

We’re measuring transaction inclusion time as, the total time it takes to:

  1. Send a transaction to Base

  2. Include the transaction in a block 

  3. Share the block to other nodes on the network

  4. User fetch a receipt of inclusion

You can reproduce our results using the transaction latency tester.

By making a handful of internal infrastructure improvements, we believe we can further reduce the transaction inclusion latency by another 80-120ms.

BaseFarcaster
Base
Commented 1 month ago

Flashblocks make Base 10x faster. We're starting to test Flashblocks in a staged rollout on Base, reducing effective block times from 2 seconds to 200 milliseconds. Builders can integrate Flashblocks on testnet today to prepare for the full rollout.

BaseFarcaster
Base
Commented 1 month ago

If you're an app builder, node operator, or wallet interested in integrating Flashblocks, start testing them on Base Sepolia today to prepare for the full rollout on Base Mainnet. Learn more in the full blog:

MrFuego ❤️‍🔥Farcaster
MrFuego ❤️‍🔥
Commented 1 month ago

tandavasFarcaster
tandavas
Commented 1 month ago

🔥🔥🔥

Daniel - BountycasterFarcaster
Daniel - Bountycaster
Commented 1 month ago

@jessepollak do a walk and talk on this

IamCharis.base.ethFarcaster
IamCharis.base.eth
Commented 1 month ago

Still Day one!🫡🔥 Congratulations to y’all on all the achievements so far! Super Based! Best time to build on Base was yesterday, the second best time is now!💯

eldarfaaizFarcaster
eldarfaaiz
Commented 1 month ago

get in here @clanker

tokenbotFarcaster
tokenbot
Commented 1 month ago
sardius.ethFarcaster
sardius.eth
Commented 1 month ago

LFG

Johns | johnsgresham.ethFarcaster
Johns | johnsgresham.eth
Commented 1 month ago

wagmi support please 🫡

Darryl Yeo 🛠️Farcaster
Darryl Yeo 🛠️
Commented 1 month ago

Can’t wait to show this off in the @blockhead interface! https://x.com/darryl__yeo/status/1895583154452512922

nounspaceTom.ethFarcaster
nounspaceTom.eth
Commented 1 month ago

eldarfaaiz.eth, your nounspace is calling! log in with farcaster and let's get this space lookin' (っ⌐◨-◨)っ themed up with some fidgets and tabs. Here's your token space: https://nounspace.com/t/base/0x702220F9492D2079c2898581dFD5De103FB3bb07

We’re making Base 10x faster with Flashblocks