> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cosmos.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

export const CosmosOutlineIcon = ({size = 24, color = "currentColor", className = ""}) => <svg width={size} height={size} viewBox="0 0 24 24" className={className} xmlns="http://www.w3.org/2000/svg">
    <circle cx="12" cy="12" r="2" stroke={color} strokeWidth="2" fill="transparent" />
    <ellipse cx="12" cy="12" rx="8" ry="3" stroke={color} strokeWidth="2" fill="transparent" />
    <ellipse cx="12" cy="12" rx="8" ry="3" transform="rotate(60 12 12)" stroke={color} strokeWidth="2" fill="transparent" />
    <ellipse cx="12" cy="12" rx="8" ry="3" transform="rotate(120 12 12)" stroke={color} strokeWidth="2" fill="transparent" />
  </svg>;

export const EthereumOutlineIcon = ({size = 24, color = "currentColor", className = ""}) => <svg width={size} height={size} viewBox="0 0 24 24" className={className} xmlns="http://www.w3.org/2000/svg">
    <line x1="12" y1="2" x2="6" y2="12" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="12" y1="2" x2="18" y2="12" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="12" y1="2" x2="12" y2="16" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="6" y1="12" x2="12" y2="16" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="18" y1="12" x2="12" y2="16" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="6" y1="12" x2="12" y2="22" stroke={color} strokeWidth="2" strokeLinecap="round" />
    <line x1="12" y1="22" x2="18" y2="12" stroke={color} strokeWidth="2" strokeLinecap="round" />
  </svg>;

Cosmos EVM is an open-source Cosmos SDK module that embeds a full Ethereum Virtual Machine into a CometBFT-based chain. Deploy existing Solidity contracts, use standard EVM tooling, and launch a sovereign L1 with instant finality and native cross-chain support.

Unlike rollups, Cosmos EVM chains control their own validator set, governance, and fee economics, all while preserving full Ethereum bytecode and JSON-RPC compatibility.

<CardGroup cols={2}>
  <Card title="Getting Started" icon="book-open" href="/evm/latest/documentation/getting-started">
    Build and run your own EVM-compatible chain using the evmd reference implementation
  </Card>

  <Card title="Cosmos EVM Repository" icon="github" href="https://github.com/cosmos/evm">
    Explore the source code, open issues, and contribute to Cosmos EVM
  </Card>

  <Card title="Ethereum Tooling & JSON-RPC" icon={<EthereumOutlineIcon />} href="/evm/latest/documentation/evm-compatibility">
    Deploy existing Solidity contracts and use MetaMask, Hardhat, Foundry, Remix, ethers.js, viem, and more
  </Card>

  <Card title="Cosmos-Native Capabilities" icon={<CosmosOutlineIcon />} href="/evm/latest/documentation/smart-contracts/precompiles/overview">
    Access staking, governance, IBC, and other Cosmos SDK modules directly from smart contracts
  </Card>
</CardGroup>

## What you can build

Cosmos EVM is for teams that want [full EVM compatibility](/evm/latest/documentation/evm-compatibility) without giving up the benefits of launching a sovereign L1. You control the entire stack: the EVM execution environment, gas model, validator set, governance rules, and which Cosmos SDK modules to include. If you already deploy to Ethereum or EVM rollups, you can deploy to a Cosmos EVM chain with no contract changes.

Chains can also run a permissioned EVM—restricting contract deployment or calls to whitelisted addresses—for use cases that require access controls at the protocol level.

## EVM Equivalent

Your chain runs standard Ethereum bytecode and behaves like any Ethereum network: deploy Solidity contracts with Hardhat, Foundry, or Remix; connect MetaMask or any EVM wallet; use ethers.js, viem, or web3.js without changes. See the [tooling and resources](/evm/latest/documentation/getting-started/tooling-and-resources) page for a list of supported tools.

Cosmos EVM implements the full [Ethereum JSON-RPC API](/evm/latest/api-reference/ethereum-json-rpc/methods) and supports all common transaction formats: [EIP-155](https://eips.ethereum.org/EIPS/eip-155) (chain ID protection), [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) (dynamic fees), [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) (access lists), and [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) (EOA code delegation). Because Cosmos EVM chains are sovereign L1 chains, they do not support L2-specific features like blob transactions ([EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)) and other rollup-oriented primitives.

## Ethereum with more

If you know Solidity, you already know how to build on Cosmos EVM. Contracts [compile and deploy the same way](/evm/latest/documentation/getting-started/build-a-chain/quick-start), the [same opcodes are available](/evm/latest/documentation/evm-compatibility#opcodes), and the same libraries work. The differences are additions, not substitutions.

* **Instant finality:** On Ethereum, transactions reach probabilistic finality over multiple blocks. On Cosmos EVM, transactions are final after one block (\~1–2 seconds) via [CometBFT](/cometbft) with no possibility of reorganization. Your contracts don't need to account for reorgs.
* **Fee distribution:** Both use EIP-1559 dynamic fees. The base fee on Cosmos EVM is distributed to validators and delegators rather than burned—same fee mechanics for the developer, different economics for the chain.
* **Native cross-chain:** Rather than relying on external bridge contracts, Cosmos EVM has [IBC (Inter-Blockchain Communication)](/evm/latest/documentation/concepts/ibc) built into the protocol. Cross-chain token transfers are a first-class feature, accessible from Solidity via the [IBC precompile](/evm/latest/documentation/smart-contracts/precompiles/ics20).
* **Precompiles:** Cosmos EVM exposes protocol-level functionality as precompiled contracts at fixed addresses. From Solidity, you can call into staking, distribution, governance, bank, IBC transfers (ICS-20), slashing, vesting, and address conversion utilities the same way you'd call any other contract. See the [precompiles reference](/evm/latest/documentation/smart-contracts/precompiles/overview) for the full list of addresses and interfaces.
* **EIP-712 signing:** MetaMask and other EVM wallets can sign Cosmos SDK transactions—including governance votes, staking operations, and more—using the standard `eth_signTypedData` method. No separate Cosmos wallet required.

## Getting started

The quickest way to get started is [running the example chain locally](/evm/latest/documentation/getting-started)— it takes less than 3 minutes and requires only Go and Make.
