DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

EVM on EmpoorioChain: Frontier, Chain ID 2026 and the Precompiles

EmpoorioChain's native model is pallets, but the largest developer population in the industry writes Solidity, and the tooling they use — MetaMask, Hardhat, Foundry, Remix — speaks Ethereum JSON-RPC. Frontier is how EmpoorioChain speaks it back. This post covers what works, the one number you must get right, and the precompiles that make the EVM here different from an Ethereum clone.

What Frontier gives you

The runtime includes the Frontier pallets Evm, Ethereum, BaseFee, DynamicFee and EvmChainId. Practically:

  • Standard eth_, net_ and web3_ RPC namespaces on the public nodes.
  • EIP-1559 fee mechanics (base fee plus priority fee) so wallets estimate gas the way they expect.
  • Solidity contracts deploy and run unmodified. The public-sale contract, for example, was written in Solidity 0.8.24 and verified on Sourcify.
  • Ethereum-style H160 addresses that map deterministically to native accounts, so DMS moves between the EVM and native sides without a bridge.

Since runtime 211 the chain also accepts self-contained Ethereum transactions — the signed-transaction format MetaMask produces — which an earlier runtime rejected because its extrinsic type was generic. That was measured on 2026-09-06, fixed, and confirmed live in runtime 213: the EVM accepts real transactions from real wallets.

The one number: chain id 2026

The EVM chain id is 2026 (0x7ea). It is fixed by the runtime (DefaultChainId: u64 = 2026), not by a deployment parameter, and it was verified against the live chain: eth_chainId returns 0x7ea.

Why insist on it? Because under EIP-155 the chain id is part of the signed transaction. A wallet configured with the wrong id produces signatures the chain rejects — and, worse, loses replay protection. Several wrong values have circulated in older documents and sites (9000, 1337, 9911, 27777). They are all incorrect. If you see one, the authoritative registry is RED.json in the chain repository, and scripts/verificar_chain_id.py checks it against the node.

MetaMask configuration for the testnet:

Network name:  EmpoorioChain Testnet
RPC URL:       https://rpc.testnet.empooriochain.org
Chain ID:      2026
Symbol:        DMS
Explorer:      https://empooscan.com

There is no mainnet. Any RPC URL claiming to be one is not ours.

Precompiles

The standard Ethereum precompiles (0x010x09: ecrecover, sha256, ripemd160, identity, modexp, the BN254 pairing set, blake2f) are present. EmpoorioChain adds interoperability precompiles that reach into the native runtime:

  • 0xAA — AI Oracle. Lets a Solidity contract request an AI computation from the Ailoos network and receive a result verified by the chain's AI-serving pallets. Gas for these calls is dynamic and proportional to the compute weight requested. This is the bridge between EVM applications and the ecosystem's inference layer.
  • 0x72 — ERC-721 bridge. Exposes native NFT pallets to Solidity as an ERC-721 surface.
  • 0x1155 — multi-token bridge. The same for the native asset pallets as ERC-1155.

A former precompile at 0xEB (a token-bridge shim for DMS) has been retired: DMS's canonical liquidity lives in the runtime, and the EVM view of a balance is the native balance.

Memory, storage and cost

EVM contract storage is real chain state and is priced accordingly — the same state-rent and weight logic applies underneath Frontier's gas accounting. If you are designing a contract that accumulates unbounded storage, the native side has a better home for that data: commit a blob through pallet-blob-storage and keep a hash in the contract.

When to use the EVM, and when not to

Use Frontier when you are migrating existing Solidity, when MetaMask compatibility is a requirement, or when Ethereum tooling is simply your fastest path. Use native pallets when you want protocol-level enforcement — compliance, royalties, account abstraction, MEV protection — or when your SDK users should never have to see an ABI. Both operate on the same ledger, and Eoonia shows both.

Based on 02_CORE_SYSTEMS/EVM_AND_L2.md, EIP_COVERAGE.md, RED.json and the runtime 211/213 verification notes.

Share this article