> ## Documentation Index
> Fetch the complete documentation index at: https://docs.berachain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Protocol Features

> Berachain-supported EIPs and chain-level capabilities for developers.

Berachain supports core Ethereum upgrades plus newer transaction UX standards. This section is a high-level map of what is live onchain today, with detailed guides in the sidebar.

## Upgrade Timeline

| Upgrade                                            | Mainnet activation | Bepolia activation | Status      |
| -------------------------------------------------- | ------------------ | ------------------ | ----------- |
| Pre-merge hardforks (Frontier through GrayGlacier) | Genesis            | Genesis            | Live        |
| Merge (Paris)                                      | Genesis            | Genesis            | Live        |
| Shanghai                                           | Genesis            | Genesis            | Live        |
| Cancun                                             | Genesis            | Genesis            | Live        |
| Prague / Pectra                                    | 2025-06-04         | 2025-05-07         | Live        |
| Berachain Prague1                                  | 2025-09-03         | 2025-08-06         | Live        |
| Berachain Prague2                                  | 2025-09-30         | 2025-09-17         | Live        |
| Fulu + Osaka = Fusaka                              | 2026-06-24         | 2026-05-27         | Coming soon |

## Fusaka Upgrade Features

The Fusaka upgrade activates several execution-layer features on the Berachain EVM:

* **EIP-6110 (in-payload deposits):** Deposit requests are included in execution payloads and consumed by consensus **in the same block**, replacing the eth1 follow-distance deposit queue. Berachain processes deposits **per block** and emits a chain-specific deposit event for tooling that monitors stake flows.
* **EIP-7951 (P-256 precompile):** Native verification of passkey and hardware-key signatures, usable for smart-account flows backed by WebAuthn, Apple Secure Enclave, Android Keystore, and HSMs.
* **EIP-7939 (CLZ opcode):** A faster bit-math primitive that returns the position of the leading set bit in a single opcode.
* **EIP-7823 & EIP-7883 (MODEXP repricing and bounds):** Repriced modular exponentiation, with an input-size bound (capped at 8,192 bits) that rejects oversized arguments outright.
* **Code-size limits (EIP-7954 aligned):** Expanded contract code and initcode size limits (32 KB and 64 KB, respectively), raising the ceiling on what a single contract can deploy.
* **EIP-7934 & EIP-7825 (Size caps):** Defense-in-depth caps on block size (10 MiB) and per-transaction gas (16.7M gas), sized well above current usage.

## EIP-7702 — Native Account Abstraction

EIP-7702 allows externally owned accounts to temporarily behave like smart contracts within a single transaction. This unlocks batched calls, gas sponsorship, and other account-abstraction patterns without deploying a separate contract wallet.

* [Basics](/build/protocol/eip7702-basics) — understand the fundamentals
* [Batch Transactions](/build/protocol/eip7702-batch-transactions) — combine multiple calls into one transaction
* [Gas Sponsorship](/build/protocol/eip7702-gas-sponsorship) — let a third party pay for gas

## EIP-5792 — Wallet Batching Capabilities

EIP-5792 introduces `wallet_sendCalls`, enabling applications to request wallets to process batches of on-chain write calls and check their status.

* [Overview](/build/protocol/eip5792-overview) — how wallet batching works
* [MetaMask reference docs](https://docs.metamask.io/wallet/how-to/send-transactions/send-batch-transactions) — implementation details and wallet behavior
