August 2025 Berachain Upgrade 🔱
Our next upgrade brings to Berachain four approved Improvement Proposals.
- BRIP-0001 - Execution Layer Forked Clients
- BRIP-0002 - Gas Fee Modifications
- BRIP-0003 - Stable Block Time
- BRIP-0004 - Enshrined PoL Reward Distribution
Bera-Reth and Bera-Geth are new forks of ParadymXYZ's reth and Ethereum Foundation's go-ethereum, under the upstream software licenses.
WARNING
All users, whether hosting an RPC or running a validator, must upgrade their Execution Client to either Bera-Reth or Bera-Geth, and upgrade to Beacon Kit 1.3.1, to continue following the chain.
August September 2025 Upgrade Timeline
Date | Milestone |
---|---|
July 30, 2025 | Beacon-Kit, Bera-Geth/Reth release candidates out for installation to Bepolia |
August 6, 2025 | Bepolia upgrade activated |
August 13, 2025 | Final versions of Beacon-Kit, Bera-Geth/Reth released for installation to Mainnet and Bepolia. |
August 18, 2025 | Updated releases + fork activation date |
September 3, 2025 @ 1600 GMT / 1200 EDT | Mainnet hardfork activates |
Upgrade Details
Berachain will release stand-alone executables and Docker images for Linux ARM and AMD64 architectures for Beacon Kit, Bera-Reth, and Bera-Geth. All clients are easily compiled for other systems and architectures with a few minutes' time; review their respective READMEs for details.
Executable names are changed: geth
→ bera-geth
and reth
→ bera-reth
, in our release binaries and Docker images.
Operators currently running Geth or Reth can switch to our forked versions while retaining their current chain data files. Note that Bera-Geth will update the data store by by renaming geth
directory to bera-geth
on the first run.
New genesis files are required for Bera-Reth/Geth.
No configuration changes are required for CL/EL config files.
Upgrade instructions
Test your modifications on non-production infrastructure to verify your new startup process that refers to the new executable names bera-reth
and bera-geth
.
TIP
If you duplicate your installation to test, don't duplicate these identity files to avoid interfering with your production node's peering:
- Bera-Reth:
discovery_secret
file - Bera-Geth:
nodekey
file - Beacon-Kit:
priv_validator_key.json
file
WARNING
If you compile your own build, do so against the recommended release branches.
Stop all clients.
Install Beacon-Kit 1.3.1 and the release version of either Bera-Geth or Bera-Reth, linked below, into place.
Install the new Reth/Geth genesis files linked below into place, and verify the hash with
md5sum <file>
. Then:Bera-Reth: overwrite
$RETH_DATA/genesis.json
.Bera-Geth: run
bera-geth init
against your Geth data directory with the supplied genesis file. We recommend making this a permanent part of everybera-geth
startup, especially in kubernetes. Our recommended startup process now includes this.bera-geth init --datadir /path/to/geth/datadir /path/to/eth-genesis.json
Start all clients.
Download links
Chain | Github release page | Release date |
---|---|---|
Mainnet & Bepolia | Bera-Geth v1.011602.3 | August 19 |
Mainnet & Bepolia | Bera-Reth v1.0.1 | August 18 |
Mainnet & Bepolia | Beacon-Kit v1.3.1 | August 18 |
Bera-Reth/Geth Genesis File | Updated | Download link & md5 hash |
---|---|---|
Bepolia | July 29 | b659cbef86a6eded371d8e443abf2c0b |
Mainnet | August 18 | 51ec047b71b06f7fbca9689037ec1d60 |
Confirm upgrade
Beacon-Kit should log the fork timestamp:
+ ⭐️ Star BeaconKit on GitHub @ https://github.com/berachain/beacon-kit +
+ 🧩 Your node is running version: v1.3.1 +
+ 💾 Your system: linux/amd64 +
+ 🍴 Deneb1 Fork Time: 1738415507 +
+ 🍴 Electra Fork Time: 1749056400 +
+ 🍴 Electra1 Fork Time: 1756915200 +
+ 🦺 Please report issues @ https://github.com/berachain/beacon-kit/issues +
+==========================================================================+
Bera-Geth should log the fork timestamp:
+ 🍴 Electra1 Fork Time: 1756915200 +
...
INFO - Prague1: prague1(time: 1756915200, baseFeeChangeDenominator: 48, minimumBaseFeeWei: 1000000000, polDistributorAddress: 0xD2f19a79b026Fb636A7c300bF5947df11394076
Bera-Reth should log fork timestamp:
- Prague1 @1756915200
...
Berachain Prague1 configuration: {time=1756915200, base_fee_denominator=48, min_base_fee=1 gwei, pol_distributor=0xD2f19a79b026Fb636A7c300bF5947df113940761}
FAQ
Where's my Geth data directory?
The geth datadir
should contain the following directories:
tree datadir;
# [Expected Output]:
# datadir
# ├── keystore
# └── geth
# ├── blobpool
# └── chaindata