StableNet is fully EVM-compatible with one exclusion (blob opcodes) and one addition (Anzeon BLS precompile).
Supported instruction set
StableNet uses the Anzeon EVM instruction set, which equalsLondon + Shanghai with partial Cancun support:
| Fork | Status | Notes |
|---|---|---|
| Frontier – Istanbul | Supported | All base opcodes |
| Berlin | Supported | EIP-2929 access lists |
| London | Supported | BASEFEE opcode |
| Shanghai | Supported | PUSH0 opcode |
| Cancun (partial) | Partial | Blob opcodes excluded — see below |
Tool configuration
SetevmVersion to shanghai in all your tooling. Using cancun causes compilation errors or runtime failures.
Hardhat (hardhat.config.js):
foundry.toml):
Foundry defaults to shanghai for Solidity 0.8.20+. No change needed unless you explicitly set evm_version in your profile.
Excluded: blob opcodes
The following Cancun opcodes are not supported:| Opcode | EIP | Status |
|---|---|---|
BLOBHASH | EIP-4844 | Not supported |
BLOBBASEFEE | EIP-7516 | Not supported |
evmVersion: "cancun" in Solidity compiler settings.
Added: Anzeon precompile
StableNet adds one custom precompile:| Address | Name | Purpose |
|---|---|---|
0x00000000000000000000000000000000000b0001 | blsPoP | Anzeon BLS Proof-of-Possession verification |
Standard precompiles
All standard EVM precompiles are available at their canonical addresses:| Address | Name |
|---|---|
0x01 | ecRecover |
0x02 | SHA-256 |
0x03 | RIPEMD-160 |
0x04 | Identity |
0x05 | ModExp (EIP-198) |
0x06 | ecAdd (EIP-196) |
0x07 | ecMul (EIP-196) |
0x08 | ecPairing (EIP-197) |
0x09 | Blake2f (EIP-152) |
Native system contracts
StableNet also includes Go-implemented system contracts that participate in the normal CALL flow:| Address | Name | Purpose |
|---|---|---|
0x00000000000000000000000000000000000b0002 | NativeCoinManager | Direct native balance manipulation (used by NativeCoinAdapter) |
0x00000000000000000000000000000000000b0003 | AccountManager | Account extra-data management (blacklist, authorized flag) |
StableNet-specific behavior
The following behaviors differ from standard Ethereum EVM execution:| Behavior | Details |
|---|---|
| Maximum call stack depth | 1024 (same as Ethereum) |
| Value transfer restrictions | Anzeon enforces additional destination restrictions on value transfers during CALL execution |
| Blacklist checks | Every CALL checks the blacklist flag in the sender’s and recipient’s Extra account field — transfers to or from blacklisted addresses revert |
0x…1004) and is stored in each account’s Extra field. These checks occur at the EVM level, not the RPC level — a transaction to a blacklisted address will revert even if it passes eth_estimateGas at the time of estimation.
Developer benefits
- All existing Solidity libraries and patterns work without modification
- EIP-2930 access lists and EIP-1559 fees are supported
- Multicall3, OpenZeppelin contracts, and standard tooling work out of the box
Related
- What is StableNet — architecture overview
- Contract Addresses — full address reference
- Deploy with Hardhat —
evmVersionin practice

