Key Compatibility Areas
Cosmos EVM maintains all critical EVM behaviors that developers expect. The table below shows how we’ve addressed each compatibility requirement.| Feature | Ethereum Behavior | Cosmos EVM Implementation | Compatible? |
|---|---|---|---|
| Transaction Ordering | Gas price + nonce ordering | Fee priority + nonce ordering with configurable MinTip | Yes |
| Multiple Txs per Block | Multiple per account | Multiple per account | Yes |
| Mempool Behavior | Pending pool for transactions | ExperimentalEVMMempool with unified EVM/Cosmos pools | Yes |
| Nonce Management | Sequential nonce enforcement | Sequential nonce enforcement with gap queuing | Yes |
| EIP-1559 (Dynamic Fees) | Base fee + priority fee | Base fee + priority fee (distributed, not burned) | Yes |
| EIP-7702 (Set Code) | Account code delegation | Full support with authorization lists | Yes |
| Address Format | 0x addresses | 0x addresses (+ cosmos1 alias) | Yes |
| Smart Contracts | EVM bytecode execution | Full EVM bytecode execution | Yes |
| Gas Metering | Standard gas costs | Standard gas costs | Yes |
| Event Logs | Ethereum event system | Full event compatibility | Yes |
| JSON-RPC API | Standard Ethereum RPC | Full RPC implementation | Yes |
| Block Time | 12 seconds | 1-2 seconds | Faster |
| Finality | 12+ blocks (~3min) | 1 block (~2s) | Instant |
| Reorganizations | Possible | Not possible | More secure |
| Cross-chain | Bridge protocols | Native IBC | Enhanced |
Supported EIPs
Cosmos EVM supports all standard EVM opcodes up to the Prague hard fork. The following are notable examples; the full list is much longer.| EIP | Name | Purpose |
|---|---|---|
| EIP-155 | Replay Protection | Chain ID in signatures prevents cross-chain replay attacks |
| EIP-712 | Typed Structured Data Signing | Sign structured data, human-readable messages, and custom Cosmos transactions |
| EIP-1559 | Dynamic Fees | Base fee + priority fee model; base fee is distributed to validators rather than burned |
| EIP-2535 | Diamond Standard | Proxy pattern for upgradeable contracts with multiple implementation facets |
| EIP-2935 | Historical Block Hashes | BLOCKHASH opcode provides access to up to 8192 previous block hashes (configurable) |
| EIP-4337 | Account Abstraction | Smart contract wallets can pay fees, batch transactions, and use custom auth schemes |
| EIP-7702 | Set Code for EOA | Temporarily assigns contract code to an EOA for sponsored transactions and complex auth |
Supported ERCs
Cosmos EVM supports all standard ERC token interfaces. The following are the most commonly used—any ERC standard that runs on the EVM is compatible.- ERC-20 — Fungible Tokens: Standard interface for currency representations with transfer, approval, and allowance mechanisms.
- ERC-721 — Non-Fungible Tokens: Standard for unique asset identifiers, digital certificates, or proof of ownership records.
- ERC-1155 — Multi-Token Standard: Supports both fungible and non-fungible assets in a single contract, enabling batch operations and reduced deployment costs for complex asset systems.
Supported Opcodes
Cosmos EVM supports all EVM opcodes up to the Prague hard fork. For the full reference, see evm.codes. The following are not supported:- EIP-4844 — Blob-Carrying Transactions: Blob data and L2-specific functionality.
- EIP-4399 — PREVRANDAO: The replacement of the
DIFFICULTYopcode withPREVRANDAO.
Supported Tools
You can build on Cosmos EVM exactly as you would on Ethereum. Solidity contracts compile and deploy unchanged, and the full standard toolchain is supported without any custom configuration.| Tool | Category | Docs |
|---|---|---|
| Hardhat, Foundry, Remix | Contract development | Tooling guides |
| OpenZeppelin | Smart contract libraries | Tooling guides |
| Forge, Hardhat test | Testing & fuzzing | Testing guide |
| MetaMask, WalletConnect, Rabby | Wallets | Wallet integration |
| ethers.js, viem, web3.js, wagmi | JavaScript libraries | Tooling guides |
| Blockscout | Block explorer | Block explorers |
Capabilities Beyond Ethereum
The following features come on top of full Ethereum compatibility. None of the following change how existing contracts or tooling behave, but instead they add additional capabilities.Finality
Cosmos EVM transactions are final after one block (~2 seconds) via CometBFT consensus—no waiting for confirmations, no reorganizations possible. The validator set requires 2/3+ stake agreement for any block to be committed.Gas & fees
Cosmos EVM uses EIP-1559 dynamic fees. Unlike Ethereum, the base fee is distributed to validators and delegators rather than burned. The base fee can also be disabled entirely via theNoBaseFee parameter, and a chain-wide minimum gas price floor is configurable.
Address system
Every account has two representations that reference the same underlying key:Chain IDs
Cosmos EVM uses two independent chain IDs: a Cosmos Chain ID (string, e.g.cosmosevm-1) and an EVM Chain ID (integer, e.g. 9000). These are configured separately, unlike legacy Ethermint where the format was coupled.
Precompiled Contracts
Cosmos Precompiles
Access Cosmos SDK modules (staking, governance, IBC) via precompiled contracts.
Standard Precompiles
All Ethereum cryptographic precompiles are supported (ecrecover, sha256, etc.)
Key Precompile Addresses
| Function | Address |
|---|---|
| Staking | 0x0000000000000000000000000000000000000800 |
| Distribution | 0x0000000000000000000000000000000000000801 |
| IBC Transfer | 0x0000000000000000000000000000000000000802 |
| Bank | 0x0000000000000000000000000000000000000804 |
| Governance | 0x0000000000000000000000000000000000000805 |
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.
- 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
- Some methods return stub values for compatibility (e.g.,
eth_gasPricereturns 0) - Mining-related methods are not applicable (Cosmos uses CometBFT consensus)
txpoolmethods require experimental mempool configuration- Debug namespace includes functional tracing and profiling tools
Performance
Cosmos EVM gas estimation is optimized: plain ETH transfers return 21000 immediately without simulation, and complex transactions use initial execution results to tighten the binary search bounds, makingeth_estimateGas significantly faster across the board.
The Cosmos EVM mempool follows standard Ethereum behavior (gas price + nonce ordering, multiple transactions per account per block). Pool limits, timeouts, and priority functions are configurable per chain. An optional experimental mempool adds nonce gap handling and automatic transaction promotion.