Appearance
EVM compatibility
ACE runs EVM bytecode via an embedded revm engine as one of its N-VM execution domains. Standard Solidity contracts deploy and run unchanged. This page states exactly what is and is not supported, so tooling expectations are grounded rather than assumed.
Execution
| Status | |
|---|---|
| EVM opcodes / precompiles | Full (revm) |
| Standard Solidity contracts | Deploy and run unchanged |
| Transaction types | Legacy, EIP-2930 (0x01), EIP-1559 (0x02) supported |
| EIP-4844 blob (0x03), EIP-7702 (0x04) | Not supported (rejected at execution) |
JSON-RPC surface
Implemented eth_* methods include:
eth_chainId eth_blockNumber eth_gasPrice
eth_getBalance eth_getCode eth_getStorageAt
eth_call eth_estimateGas eth_getTransactionCount
eth_sendRawTransaction
eth_getTransactionReceipt eth_getTransactionByHash
eth_getBlockByNumber eth_getBlockByHash
eth_getLogs eth_newFilter eth_getFilterChanges eth_getFilterLogs
eth_subscribe / eth_unsubscribe (WebSocket)
eth_feeHistory eth_maxPriorityFeePerGas eth_syncing eth_accounts
net_version net_listening net_peerCount web3_clientVersionThis covers what wallets (MetaMask), libraries (ethers.js, viem, web3.js), and contract frameworks (Hardhat, Foundry) need for deploy/call/test flows.
Differences from Ethereum (read before assuming parity)
| Area | Difference |
|---|---|
| Gas token | Gas is paid in the ACE native token, not ETH. Fund accounts accordingly. |
| Identity | EVM addresses map into ACE's account namespace via a deterministic mapping; not a bare Ethereum account model. |
eth_sendTransaction | Not provided — the node holds no keys. Wallets sign locally and use eth_sendRawTransaction (standard for remote nodes). |
debug_* / trace_* | Not implemented — tracing-dependent tools (some Foundry debug, Tenderly) are limited. |
| Finality / consensus | Block structure is mapped; reorg semantics differ from PoW/PoS. |
Bonus: beyond vanilla EVM
EVM contracts can operate ACE native tokens as standard ERC-20s at their synthetic addresses — see N-VM shared state. A plain EVM chain cannot do this.
Positioning: EVM-compatible, not Ethereum-identical. Use your existing Solidity, Foundry, MetaMask, and ethers skills; mind the gas token, identity model, and the absent tracing namespace.
