---
title: "What is EVM (Ethereum Virtual Machine)?"
canonical: https://wavect.io/glossary/evm/
language: en
description: "The runtime that executes smart contracts on Ethereum and the dozens of chains that copied its bytecode format."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

TECHNOLOGIES

# EVM

Ethereum Virtual Machine

The runtime that executes smart contracts on Ethereum and the dozens of chains that copied its bytecode format.

Last reviewed: 2026-05-24 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

The EVM is the execution layer Ethereum invented and that became the de-facto standard for [smart-contract](/glossary/smart-contract/) chains. A contract compiled to EVM bytecode runs on Ethereum mainnet, Polygon, Arbitrum, Optimism, Base, BNB Chain, Avalanche C-chain, and a long tail of L2s and sidechains.

The practical implication: write your contracts in Solidity (or Vyper), test on Ethereum testnets, and deploy to whichever EVM chain matches your cost and latency target. The portability is real. The trade-offs between chains are speed, finality, decentralisation, and which L2 framework they are built on.

Worked example of choosing a chain: a DeFi protocol that needs to compose with existing lending and DEX contracts belongs on Ethereum mainnet or a major L2, where that ecosystem lives, even at higher gas. A high-volume consumer app where users will not tolerate dollar-scale fees belongs on an L2 like Arbitrum, Optimism, or Base (same security model, a tenth to a hundredth the cost) or off the EVM entirely toward [Solana](/glossary/solana/). The decision is the security-versus-cost trade-off, not whichever chain has the loudest marketing this quarter.

The honest trade-off and the mistake that catches teams repeatedly: EVM-compatible is not the same as Ethereum-equivalent. Subtle differences in gas pricing, precompiles, opcode support, and consensus behaviour mean a contract that passes on mainnet can break on a sidechain. The portability is a starting point, not a guarantee; always re-test per chain before deploying. Account-level UX features like [account abstraction](/glossary/account-abstraction/) also vary in maturity across chains, so confirm support before you promise it.

The deeper trade-off is what you give up for cheap fees. Moving off mainnet onto a cheaper EVM chain almost always means inheriting a different trust model: a sidechain like Polygon PoS runs its own validator set rather than borrowing Ethereum’s security, and a rollup adds a sequencer you now depend on and a withdrawal delay back to L1. None of that shows up in the gas-fee comparison a vendor puts in the deck. Decide what your application actually needs to guarantee before you optimise for the per-transaction cost. For [web3](/glossary/web3/) builds we default to Solidity over Vyper for the broader tooling and auditor familiarity, unless there is a strong reason to swim against the current.

// FAQ

## FAQs

### Is EVM-compatible the same as Ethereum-equivalent?

No, and this catches teams regularly. Subtle differences in gas pricing, precompiles, opcodes, and consensus behavior mean a contract that works on Ethereum mainnet can break on a sidechain. Always re-test per chain before deploying.

### Which EVM chain for production?

Ethereum mainnet for maximum trust assumptions and DeFi composability, at the highest gas cost. L2s (Arbitrum, Optimism, Base) for the same security model at one-tenth to one-hundredth the cost. Sidechains (Polygon PoS, BNB) for cheaper still with weaker guarantees. Pick on the security and cost trade-off, not the chain’s marketing.

### Solidity or Vyper?

Solidity is the industry default with the broadest tooling, auditor familiarity, and library support. Vyper trades that ecosystem for a smaller surface area and clearer semantics. For production, Solidity unless you have a strong reason to swim against the current.

Related terms

- [Web3](/glossary/web3/)
- [Smart Contract](/glossary/smart-contract/)
- [Solana](/glossary/solana/)
- [Account Abstraction](/glossary/account-abstraction/)

Related services

- [Blockchain](/services/blockchain/)

Related case studies

- [Account Abstraction](/case-studies/account-abstraction/)

Related guides

- [How to choose a software development agency](/software-development-guide/how-to-choose-a-software-agency/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/evm/#term",
      "@type": "DefinedTerm",
      "alternateName": [],
      "description": "The runtime that executes smart contracts on Ethereum and the dozens of chains that copied its bytecode format.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "EVM",
      "termCode": "evm",
      "url": "https://wavect.io/glossary/evm/"
    },
    {
      "@id": "https://wavect.io/glossary/evm/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-05-24",
      "description": "The runtime that executes smart contracts on Ethereum and the dozens of chains that copied its bytecode format.",
      "headline": "EVM",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/evm/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Blockchain",
          "url": "https://wavect.io/services/blockchain/"
        }
      ],
      "name": "EVM",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/evm/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/evm/",
          "name": "EVM",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No, and this catches teams regularly. Subtle differences in gas pricing, precompiles, opcodes, and consensus behavior mean a contract that works on Ethereum mainnet can break on a sidechain. Always re-test per chain before deploying."
      },
      "name": "Is EVM-compatible the same as Ethereum-equivalent?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ethereum mainnet for maximum trust assumptions and DeFi composability, at the highest gas cost. L2s (Arbitrum, Optimism, Base) for the same security model at one-tenth to one-hundredth the cost. Sidechains (Polygon PoS, BNB) for cheaper still with weaker guarantees. Pick on the security and cost trade-off, not the chain's marketing."
      },
      "name": "Which EVM chain for production?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Solidity is the industry default with the broadest tooling, auditor familiarity, and library support. Vyper trades that ecosystem for a smaller surface area and clearer semantics. For production, Solidity unless you have a strong reason to swim against the current."
      },
      "name": "Solidity or Vyper?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
