github Galxe/gravity-sdk v1.9.1
Gravity v1.9.1

latest releases: v1.10.1-testnet, v1.10.0-pre
27 days ago

Mainnet Beta and Osaka hardfork schedule

Gravity v1.9.1 schedules the coordinated mainnet Beta and Osaka hardforks for Gravity chain ID 127001. Both forks share the same wall-clock activation.

Mainnet operators running v1.9.0 (or any binary without these timestamps) must upgrade to v1.9.1 before activation. Older binaries will not apply Beta / Osaka rules and will diverge once the hardfork fires.

Activation

  • Beijing: 2026-08-18 10:00:00 UTC+08:00
  • UTC: 2026-08-18 02:00:00 UTC
  • Unix timestamp: 1787018400
  • Mainnet chain ID: 127001

Beta (betaTime) and Osaka (osakaTime) are pinned to the same value.

This release only changes the mainnet hardfork schedule table. The bundled gravity-reth pin is unchanged from v1.9.0 (bc817c64…).

What's changed

Schedule mainnet Beta + Osaka

#812 extends the binary-authoritative HARDCODED table and override path so mainnet pins:

  • extra_fields["betaTime"] → Gravity Beta (EL)
  • typed osakaTime → Ethereum Osaka (EL)

If the supplied genesis omits either field or disagrees with the binary, startup overrides it and emits a grep-friendly warning. Non-mainnet chain IDs continue to use genesis-provided values.

Delay to 2026-08-18 02:00 UTC

#816 moves the coordinated timestamp from the originally planned 2026-08-17 05:00:00 UTC (1786942800) to 2026-08-18 02:00:00 UTC (1787018400). Beta and Osaka still activate together.

What activates at Beta / Osaka

With the greth v2.3.0 pin already shipped in v1.9.0, this schedule turns those dormant rules on:

At Beta (betaTime):

  • EIP-7702 lockdown ends (gravity-reth#412): SetCode (type-4) transactions and txs involving delegated accounts are no longer force-filtered by the emergency lockdown path.
  • Block-gas last-gate packing (gravity-reth#414): packing validates first and applies gas as the last gate, discarding non-fitting transactions instead of prefix-cutting the ordered list into near-empty blocks.

At Osaka (osakaTime, same instant):

  • 30M per-tx gas cap (gravity-reth#401): Gravity uses a flat Monad-style 30_000_000 cap (aligned with system-transaction gas limit), enforced in executor config, consensus block checks, and the pipe tx_filter guard.

Compatibility and operator notes

  • Coordinated upgrade required before activation: every mainnet validator and full node must run v1.9.1 (or a later binary that carries betaTime / osakaTime = 1787018400) before 2026-08-18 02:00:00 UTC.
  • Do not stay on v1.9.0 past the deadline: v1.9.0 has no mainnet Beta/Osaka schedule; after activation it will execute under different fork rules than v1.9.1.
  • EIP-7702 returns at Beta: SetCode and delegated-account traffic become valid again at the activation instant, subject to the durable skip path for recoverable invalids.
  • No runtime override: hardfork times remain binary-authoritative. Changing them requires another release binary.
  • Dependency pin unchanged: no greth or gaptos revision bump in this release.

Docker image

The release pipeline publishes:

docker pull ghcr.io/galxe/gravity_node:v1.9.1

Dependency revision

  • gravity-reth: unchanged at bc817c642c9c3816cc4e22754e13e3c9633419dd
  • gravity-aptos: unchanged at b1f68dc85781ef0d28a568d9d64604b153be9d9e

Full changelogs

Don't miss a new gravity-sdk release

NewReleases is sending notifications on new releases.