This page is a builder-focused quick reference. For the full feature-by-feature compatibility matrix and “what’s enhanced” coverage, see the canonical EVM Compatibility page.

Quick Reference

Smart Contracts

  • EVM opcodes are supported up to the Prague (Pectra) fork. Osaka (Fusaka) is not active, so Osaka opcodes such as CLZ (EIP-7939) are rejected as invalid. Compile with EVM version prague or earlier (for example evm_version = "prague" in foundry.toml, or evmVersion: "prague" in Hardhat or Remix compiler settings)
  • ERC-20, ERC-721, ERC-1155 and other standards work identically
  • Additional precompiled contracts provide access to Cosmos modules and advanced cryptographic primitives
  • Pre-deployed contracts (Multicall3, Permit2, WETH9, Safe singleton factory, etc.) are available at genesis

Transactions

  • Supported types: Confirm the exact transaction-type matrix against the target ctmd release before relying on newer Ethereum transaction types
  • Dual transaction types: Both Ethereum and Cosmos SDK transactions are supported
  • Ethereum transactions are wrapped in MsgEthereumTx for Cosmos SDK processing
  • Transaction ordering is by effective tip (gas priority), same as Ethereum

Gas & Fees

  • EIP-1559 fee market is fully supported
  • All fees are burned, the priority fee as well as the base fee (see Fee Burn), and fee-market parameters are governed through the governance module
  • Unlike Ethereum, every EVM transaction is charged at least 50% of its gas limit: gas charged = max(gas used, 50% of the gas limit). Keep gasLimit close to the eth_estimateGas result. See Gas.
  • Use eth_estimateGas through the standard EVM RPC flow and verify provider behavior for production transactions

JSON-RPC

  • Common eth_*, web3_*, and net_* methods are expected on Ethereum-compatible endpoints
  • Mining-related methods (eth_mining, eth_hashrate, eth_coinbase, eth_getWork, eth_submitWork, eth_submitHashrate) are not available and return JSON-RPC error -32601 (CometBFT consensus, not PoW)
  • txpool_* methods require compatible node configuration
  • WebSocket endpoints are published; free WebSockets allow 1 connection per IP and paid WebSockets allow 30 connections per API key. See RPC Providers

Account Model

  • Every account has dual representation: 0x hex and c8 Bech32
  • Both reference the same underlying account
  • HD derivation path: m/44'/60'/0'/0/index, so the first account is m/44'/60'/0'/0/0 (Ethereum-compatible, coin type 60)
  • EIP-7702 Set Code is fully supported for EOA code delegation