Important
Mandatory upgrade.
This release activates a hardfork. All node operators must upgrade to v2.5.0 before the following block heights:
Interstellar Hardfork
Testnet Hardfork: Block 25,891,380 ~ Wed, 9 Sep 2026 11:14:40 UTC
Mainnet Hardfork: Block 25,902,540 ~ Wed, 16 Sep 2026 11:15:10 UTC
What's Changed
Interstellar brings the VeChainThor EVM up to date with Ethereum's Cancun, Prague and Osaka releases in a single upgrade, as specified in VIP-255. It closes the gap that has grown since Galactica (Shanghai), so that current Solidity and Vyper output, and libraries that rely on transient storage, MCOPY, BLS12-381 or secp256r1, run on VeChainThor unchanged.
No configuration changes are required; operators can upgrade in-place. Ethereum transaction equivalence is not part of this upgrade and will be specified in its own VIP.
EVM Upgrades (activated at the Interstellar block)
Opcodes
- EIP-1153 Transient storage opcodes
TLOAD/TSTORE(#1601) - EIP-5656
MCOPYmemory copying instruction (#1580) - EIP-6780
SELFDESTRUCTonly in same transaction (#1590) - EIP-7939
CLZcount leading zeros opcode (#1593)
Precompiled Contracts
- EIP-2537 BLS12-381 curve operations at addresses
0x0b–0x11(#1583) - EIP-7951 secp256r1
P256VERIFYat address0x0100(#1602) - EIP-7823 Upper bounds for
MODEXPinputs (#1595, #1606) - EIP-7883
MODEXPgas cost increase (#1587)
Core
- EIP-2935 Historical block hashes served from state via the contract at
0x0000F90827F1C53a10cb7A02335B175320002935(#1661) - EIP-7825 Per-transaction gas limit cap of 16,777,216 gas (#1581)
- EIP-7934 RLP block size limit of 8 MiB (8,388,608 bytes) (#1594)
Warning
Notable behavioural changes for contract and dApp developers
All of the following take effect at the Interstellar block. See Deviations from Ethereum in VIP-255 for the full description.
- Transaction gas cap. Transactions with
gasabove 16,777,216 are rejected by the txpool and are invalid in blocks. Split large multi-clause transactions accordingly. SELFDESTRUCTsemantics. A contract is deleted only when it was created in the same clause. Otherwise the account is retained and only its VET and VTHO balances are transferred to the recipient.- Transient storage is clause-scoped.
TSTOREvalues are discarded at the end of each clause, not at the end of the transaction. - Blob features are unassigned.
BLOBHASH(0x49),BLOBBASEFEE(0x4a) and the KZG point-evaluation precompile (0x0a) are not available. Bytecode referencing these opcodes fails with an invalid instruction. - Precompile addresses hold code. Every precompile address, including the new ones, holds an inert 8-byte bytecode, so
EXTCODESIZEreturns 8 rather than 0. - EIP-2935 returns block IDs. The history contract preserves the EIP calling convention but returns VeChainThor block IDs, matching the existing
BLOCKHASHbehaviour.
Hardening & Robustness
Alongside the fork, v2.5.0 carries robustness improvements across networking, block processing, the EVM interpreter and the API. These do not change consensus rules.
- Networking: hardened P2P message decoding and RLPx handshake handling; peer capacity reserved for outbound dials; back-off and log rate-limiting on temporary accept errors (#1663).
- Block processing: stricter validation of block bodies during decoding; refined admission and eviction for the future-block cache; the proposer adopt loop is bounded by a wall-clock deadline (#1667).
- BFT: never walk into genesis when computing BFT state (#1640).
- EVM interpreter: internal refinements to call input / return data handling and to code analysis caching.
- API:
/logs/eventand/logs/transfernow stream results instead of materialising them in memory; fixed theobsoleteflag on block subscription messages (#1668).
Release Verification
Starting with v2.5.0, release assets are published as archives only. Each archive contains the binary together with a detached OpenPGP signature made by the VeChain Thor release key; standalone binaries are no longer attached to releases, so update any download scripts accordingly. See docs/verifying-releases.md for the key fingerprint and verification steps (#1674).
CI, Build & Dependencies
- Added
gnark-cryptoandgo-bigmodexpfixfor the new precompiles; bumpedgorilla/websocketto 1.5.3 (#1670). - Ethereum test vectors for BLS12-381,
P256VERIFY,MODEXP,MCOPY, the history contract and the block size limit are included in the test suite (#1658, #1659, #1662, #1664). - CI workflow tidy-up and Node.js 24 in GitHub Actions (#1638, #1644, #1657).
Contributors
Huge thanks to everyone who brought Interstellar to life:
Full Changelog: v2.4.4...v2.5.0