Cosmos EVM provides full Ethereum compatibility for Cosmos-SDK based chains. All standard / common Ethereum dApps, tools, and workflows work seamlessly while gaining the benefits of Cosmos consensus and interoperability.
All the tools and workflows you rely on work exactly as they should. Deploy contracts seamlessly, connect with MetaMask, and build with Web3.js/Ethers, Hardhat, Remix, Foundry—the full Ethereum toolkit.

Critical EVM Compatibility Features

Full Ethereum Compatibility: Cosmos EVM maintains all critical EVM behaviors that developers expect. The table below shows how we’ve addressed each compatibility requirement.
FeatureEthereum BehaviorCosmos EVM ImplementationCompatible?
Transaction OrderingGas price + nonce orderingFee priority + nonce orderingYes
Multiple Txs per BlockMultiple per accountMultiple per accountYes
Mempool BehaviorPending pool for transactionsStandard mempool (experimental 2-tier available)Yes
Nonce ManagementSequential nonce enforcementSequential nonce enforcementYes
EIP-1559 (Dynamic Fees)Base fee + priority feeBase fee + priority fee (distributed, not burned)Yes
Address Format0x addresses0x addresses (+ cosmos1 alias)Yes
Smart ContractsEVM bytecode executionFull EVM bytecode executionYes
Gas MeteringStandard gas costsStandard gas costsYes
Event LogsEthereum event systemFull event compatibilityYes
JSON-RPC APIStandard Ethereum RPCFull RPC implementationYes
Block Time12 seconds1-2 secondsFaster
Finality12+ blocks (~3min)1 block (~2s)Instant
ReorganizationsPossibleNot possibleMore secure
Cross-chainBridge protocolsNative IBCEnhanced

What This Means for Developers

You can build on Cosmos EVM exactly like you would on Ethereum. Every essential feature works identically - from deploying contracts to managing transactions. The enhancements (faster blocks, instant finality, IBC) are pure additions that don’t break any existing patterns or workflows.

Architectural Improvements Over Ethereum

Faster & Final Transactions

Instant Finality: Transactions are final after one block (~2 seconds) thanks to Tendermint BFT consensus. No waiting for confirmations, no reorganizations possible. Validator Set: Fixed validator set with stake-based voting power. Requires 2/3+ stake agreement for consensus.

Gas & Fees

Base Fee Distribution: Unlike Ethereum where base fees are burned, Cosmos EVM distributes them to validators, preserving token economics.
  • EIP-1559 Support: Dynamic base fee adjustments based on block utilization
  • Configurable: Base fee can be disabled (NoBaseFee parameter)
  • Priority Calculation: min(gas_tip_cap, gas_fee_cap - base_fee)
  • Minimum Gas Price: Chain-wide floor price configuration

Address System

Every account has two representations:
Ethereum: 0x742d35cc6644c068532fddb11B4C36A58D6D3eAb
Cosmos:   cosmos1wskntvnryr5qxpe4tv5k64rhc6kx6ma4dxjmav
Both formats reference the same account - use either based on your needs.

Chain ID Architecture

Two Independent Chain IDs: Cosmos EVM uses separate chain IDs:
  • Cosmos Chain ID: [String] (e.g., “cosmosevm-1”) for native features
  • EVM Chain ID: [integer] (e.g., 9000) for EVM compatibility
Unlike with legacy Ethermint, these values are independent.

Precompiled Contracts

Cosmos Precompiles

Access Cosmos SDK modules (staking, governance, IBC) via precompiled contracts.

Standard Precompiles

All Ethereum cryptographic precompiles supported (ecrecover, sha256, etc.)

Key Precompile Addresses

FunctionAddress
Staking0x0000000000000000000000000000000000000800
Distribution0x0000000000000000000000000000000000000801
IBC Transfer0x0000000000000000000000000000000000000802
Bank0x0000000000000000000000000000000000000804
Governance0x0000000000000000000000000000000000000805

JSON-RPC API

Ethereum RPC Compatibility

Most standard Ethereum JSON-RPC methods are supported, with some returning stub values for compatibility. View the complete reference.
Core functionality for developers:
  • All standard transaction methods (eth_sendRawTransaction, eth_call, eth_estimateGas)
  • Block and receipt queries
  • Account balances and nonces
  • Event logs and filters
  • Web3 utilities and net info
  • Debug namespace (partial - tracing and profiling methods available)
  • Websocket subscription support
Implementation notes:
  • Some methods return stub values for compatibility (e.g., eth_gasPrice returns 0)
  • Mining-related methods are not applicable (Cosmos uses Tendermint consensus)
  • txpool methods require experimental mempool configuration
  • Debug namespace includes functional tracing and profiling tools

EIP Support

EIP Compatibility Matrix

Interactive table showing support status for Ethereum Improvement Proposals.

Notable Implementation Details

  • EIP-1559: Fully supported - with base fee distributed to validators instead of burned
  • EIP-155: Partial - enforced through chain-wide params (full support in PR #415)
  • EIP-3651: Partial - COINBASE always returns empty address currently
  • EIP-7702: Set EOA code - planned for v0.5.0
  • Custom Improvement Proposals (CIPs): Chain-specific optimizations available

Developer Experience

Familiarity Out Of The Box

Your Ethereum skills and tools work unchanged:
  • Deploy contracts with Hardhat, Foundry, or Remix
  • Connect MetaMask and other Web3 wallets
  • Use Web3.js, Ethers.js, Viem, or any Web3 library
  • All ERC standards work (ERC20, ERC721, ERC1155, etc.)
  • Solidity and Vyper compile and run identically
  • Standard tooling like OpenZeppelin contracts work perfectly

Additional Benefits

Enhanced capabilities without breaking compatibility:
  • Native IBC: Built-in cross-chain communication to any Cosmos chain
  • Lower Costs: Typically much lower gas fees than Ethereum mainnet
  • Faster Blocks: 1-2 second block times vs 12 seconds on Ethereum
  • Enhanced Security: Byzantine Fault Tolerant consensus prevents attacks

Transaction Pool

Standard Ethereum mempool behavior is fully supported. Transactions are ordered by gas price and nonce, multiple transactions per account per block work perfectly.
Optional Enhancement: An experimental two-tiered mempool is available that adds intelligent nonce gap handling and automatic transaction promotion. This is purely optional - the standard mempool works exactly like Ethereum.

Migration from Ethermint/Evmos

Key breaking changes when migrating:
  1. Chain ID Format: Cannot use Ethermint format (evmos_9001-2). Must configure two separate IDs.
  2. Module Names: x/evmx/vm
  3. Parameter Types: Several parameter type changes (e.g., MinGasPrice: string → sdk.Dec)
  4. Precompile Addresses: Different addresses than Ethermint

Migration Guide

Detailed steps for migrating from Ethermint-based chains.

Security & Reliability

Battle-tested and audited:
  • Security Audited: Full audit by Sherlock (July 2025)
  • Production Ready: Core EVM implementation is stable and deployed on multiple mainnets
  • Enhanced Security: No reorganization attacks possible due to instant finality
  • Byzantine Fault Tolerant: Requires 2/3+ validator stake for any state changes
  • Proven Stack: Built on Cosmos SDK and Tendermint, powering hundreds of chains

Resources