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 versionpragueor earlier (for exampleevm_version = "prague"infoundry.toml, orevmVersion: "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
ctmdrelease before relying on newer Ethereum transaction types - Dual transaction types: Both Ethereum and Cosmos SDK transactions are supported
- Ethereum transactions are wrapped in
MsgEthereumTxfor 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
gasLimitclose to theeth_estimateGasresult. See Gas. - Use
eth_estimateGasthrough the standard EVM RPC flow and verify provider behavior for production transactions
JSON-RPC
- Common
eth_*,web3_*, andnet_*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
1connection per IP and paid WebSockets allow30connections per API key. See RPC Providers
Account Model
- Every account has dual representation:
0xhex andc8Bech32 - Both reference the same underlying account
- HD derivation path:
m/44'/60'/0'/0/index, so the first account ism/44'/60'/0'/0/0(Ethereum-compatible, coin type 60) - EIP-7702 Set Code is fully supported for EOA code delegation