---
title: "Azul Upgrade Overview"
description: "Summary of the Azul hardfork — Osaka EVM features, a streamlined Flashblocks websocket format, and a multi-proof system for L2 checkpoints."
source: https://basehub.org/specifications/azul-overview/
---
import { Aside } from '@astrojs/starlight/components';

Azul is the first Base-specific hardfork. It folds Osaka-era EVM changes onto the Base execution layer, trims the Flashblocks websocket payload, and turns on a multi-proof system that shortens withdrawal latency and lays the groundwork for stronger decentralization. It also drops support for non-Base clients.

<Aside type="caution">
The Azul hardfork is only honored by `base-consensus` and `base-reth-node`. Anyone still running `op-node`, `op-geth`, or another client must migrate before activation.
</Aside>

## What Azul ships

- Osaka EVM support on Base.
- A simplified Flashblocks websocket message format.
- A multi-proof system that unlocks faster withdrawals and a credible path toward decentralization.
- Base-native clients (`base-reth-node` + `base-consensus`) as the only supported stack.

## Activation timestamps

| Network | Activation timestamp |
|---------|----------------------|
| `mainnet` | `1779991200` (2026-05-28 18:00:00 UTC) |
| `sepolia` | `1776708000` (2026-04-20 18:00:00 UTC) |

Both timestamps are now confirmed: Azul shipped to Sepolia first and activated on mainnet on 2026-05-28. Operators who have not yet moved to the Base-native stack should follow the [Azul node upgrade guide](/node-operations/azul-node-upgrade/) to stay on the chain.

## Required software

| Layer | Software | Mainnet | Sepolia |
|-------|----------|---------|---------|
| Execution (EL) | `base-reth-node` | [v0.9.0+](https://github.com/base/base/releases/tag/v0.9.0) | [v0.7.0+](https://github.com/base/base/releases/tag/v0.7.0) |
| Consensus (CL) | `base-consensus` | [v0.9.0+](https://github.com/base/base/releases/tag/v0.9.0) | [v0.7.0+](https://github.com/base/base/releases/tag/v0.7.0) |
| - | `base/node` | [v0.16.0+](https://github.com/base/node/releases/tag/v0.16.0) | [v0.15.0+](https://github.com/base/node/releases/tag/v0.15.0) |

## Execution layer changes

The [Azul execution engine](/specifications/azul-exec-engine/) page covers each of these in full; the list below links straight to the relevant section:

- [EIP-7823: Upper-Bound MODEXP](/specifications/azul-exec-engine/#upper-bound-modexp)
- [EIP-7825: Transaction Gas Limit Cap](/specifications/azul-exec-engine/#transaction-gas-limit-cap)
- [EIP-7883: MODEXP Gas Cost Increase](/specifications/azul-exec-engine/#modexp-gas-cost-increase)
- [EIP-7939: CLZ Opcode](/specifications/azul-exec-engine/#clz-opcode)
- [EIP-7951: secp256r1 Precompile](/specifications/azul-exec-engine/#secp256r1-precompile-gas-cost)
- [EIP-7642: eth/69](/specifications/azul-exec-engine/#eth69)
- [EIP-7910: eth_config RPC Method](/specifications/azul-exec-engine/#eth_config-rpc-method)
- [Remove Account Balances & Receipts](/specifications/azul-exec-engine/#remove-account-balances--receipts)
- [Discovery protocol now uses `basev0`](/specifications/azul-exec-engine/#discovery-protocol-now-uses-basev0-protocol-id)

## Proof system

Azul introduces the components that make multi-proof withdrawals possible. The [Azul proof system](/specifications/azul-proofs/) page covers the design in full — the `AggregateVerifier` dispute game, the TEE and ZK proof paths, and the finality windows. The individual roles are documented separately:

- [Azul proof system](/specifications/azul-proofs/) — AggregateVerifier, finality model, and why the proof system changed
- [Proposer](/specifications/proposer/)
- [Challenger](/specifications/challenger/)
- [TEE provers](/specifications/tee-prover/)
- [ZK provers](/specifications/zk-prover/)
- [Prover registrar](/specifications/registrar/)
- [Proof contracts](/specifications/contracts/)
