Base’s Azul Hard Fork Is Coming. Execution Data Is the Next Bottleneck
bloXroute Team3 min read·Just now--
Base ships its Azul hard fork tomorrow (May 13th), bringing it closer to Ethereum mainnet equivalence.
The changes themselves are straightforward. Gas caps, precompile repricing, a new opcode, networking upgrades. Nothing here rewrites how Base works. But something else has already changed:
The point in the block lifecycle where data is useful has moved earlier.
Flashblocks introduced a ~200ms pre-confirmation cadence. That compresses the window in which systems can observe, decide, and act. In that environment, post-state snapshots are often too late.
To address this, we’re extending Flashblocks StateDiff to include execution logs, delivered in real time at Flashblock cadence.
What Azul Actually Changes
Azul is an equivalence upgrade. The relevant changes:
- EIP-7825 caps per-transaction gas at 16.7M, matching Ethereum’s per-tx gas ceiling
- EIP-7823 & 7883 adjust MODEXP limits, restricting input sizes and increasing gas costs for intensive operations
- EIP-7939 introduces the CLZ opcode for cheaper bit-level computations in contracts
- EIP-7951 reprices the secp256r1 precompile to match Ethereum’s cost model
- Networking moves to eth/69 for improved compatibility and standardized peer communication
For most applications, these are parameter updates, not behavioral shifts.
Where they do matter:
- Any system modeling gas costs needs to update assumptions
- Contracts relying on MODEXP or precompiles will see execution differences
- Simulation pipelines encoding constants will drift if not updated
Why State Alone Stopped Being Enough
State diffs tell you what changed. They don’t always tell you:
- Which logs were emitted, and in what order
- Which transaction produced a relevant event
- How execution-result data maps to state changes
- Whether your system needs to react before the full block is finalized
That distinction used to be tolerable. With Flashblocks, it isn’t.
When your decision window is on the order of hundreds of milliseconds, the difference between “state updated” and “execution understood” is the difference between reacting in time and reacting after the opportunity is gone.
What We’re Shipping
We’re extending the existing Base Flashblocks StateDiff stream with a new optional include_logs parameter. When enabled, each relevant state diff update can include execution logs directly alongside the state changes.
Execution logs
- Topics
- Data
- block_position, representing the transaction’s actual index within the full block
Delivery
- Aligned to Flashblock cadence
- Available through the existing GetBdnFBTxnStateDiffStream
- Compatible with existing StateDiff consumers unless they choose to enable include_logs
- Supports existing address filters, so customers can scope updates to the contracts they care about
This gives customers a practical way to continue accessing execution-result data after Azul without running their own node or building a separate tracing pipeline.
Versus Running It Yourself
You can build this stack yourself:
- Reth archive node with tracing
- debug_traceBlock on every block
- A pipeline to align traces with Flashblock updates
- Enough hardware to keep latency within your decision window
This gives you the data but it doesn’t necessarily give you the data at the right time.
Tracing a full block introduces delay. In practice, execution traces arrive after the block is built, often hundreds of milliseconds later depending on infra and load.
If your system needs to act inside the next Flashblock window, that latency is already too high.
bloXroute’s stream delivers execution logs alongside state diffs, pushed at Flashblock cadence.
What This Unlocks
We’re seeing teams move toward:
- MEV / sandwich detection based on actual execution paths, not inferred state changes
- Simulation systems that replay real execution instead of approximating
- Real-time risk monitoring for lending and perps based on emitted events
- Routing analytics that evaluate how transactions actually traversed aggregators
All of these depend on the same thing:
Execution visibility inside the block, delivered fast enough to matter.
Get Access
Start trading on Base today with a free Introductory account
Want to chat with a member of our team? https://bloxroute.com/book-a-meeting