Iron is now MoonPay Enterprise: Stablecoin APIs for developers → Learn More

MoonPay
  • Individuals
  • Business
  • Lingua
  • Inizia ora
Buy
Buy cryptoUse a card, Apple Pay or Google Pay to buy crypto fast. We also accept bank transfers and wires.
Buy BitcoinBTC
Buy EthereumETH
Buy PolygonPOL
Buy SolanaSOL
Buy DogecoinDOGE
Buy CardanoADA
Buy AvalancheAVAX
Sell
Sell cryptoTurn your crypto into cash. In a flash. Get paid straight to your bank account or Visa card.
Sell BitcoinBTC
Sell EthereumETH
Sell USDCUSDC
Sell SolanaSOL
Sell CardanoADA
Sell DogecoinDOGE
Sell AvalancheAVAX
Trade
Trade cryptoTrade between tokens, even if they’re on different chains (we make bridging seamless too).
Trade EthereumETH
Trade USDCUSDC
Trade AaveAAVE
Trade ChainlinkLINK
Trade Wrapped BitcoinWBTC
Trade DaiDAI
Trade CompoundCOMP
Company
NewsroomNewsroomMediaMediaCareersCareersChangelogChangelogMoonPay DiscoverMoonPay DiscoverNew
Crypto Prices
Bitcoin PriceEthereum PriceSolana PriceDogecoin PriceCardano PriceXRP PriceBNB PriceAll Crypto Prices
Learn
What is Blockchain?What is Blockchain?What are NFTs?What are NFTs?What is Bitcoin mining?What is Bitcoin mining?What is DeFi?What is DeFi?What is crypto staking?What is crypto staking?All Learn Articles
Support
DocumentationDocumentationHelp CenterHelp CenterContact UsContact UsStatusStatus
  • Lingua
  • All rights reserved. MoonPay Europe B.V. is an AFM-licensed crypto-asset service provider under the EU MiCA Regulation (Reference Number: 41000002).

    Italian
    • Personal
    • Buy Crypto
    • Sell Crypto
    • Trade Crypto
    • Learn about Crypto
    • Crypto Price
    • MoonAgentsNew!
    • Business
    • Ramps
    • Virtual AccountsNew!
    • MoonPay Discover
    • MoonPay Commerce
    • MoonPay InstitutionalNew!
    • Company
    • About Us
    • CareersWe're hiring
    • Newsroom
    • Media
    • Changelog
    • Support
    • API Docs
    • Help Center
    • Contact Us
    • Status
    • Security
    • Buy
    • Buy Bitcoin
    • Buy Ethereum
    • Buy Solana
    • Buy Cardano
    • Sell
    • Sell Bitcoin
    • Sell Ethereum
    • Sell XRP
    • Sell Solana
    • Trade
    • Trade Ethereum
    • Trade SOL
    • Trade Aave
    • Trade Chainlink
    • Crypto Prices
    • Bitcoin Price
    • Ethereum Price
    • Dogecoin Price
    • XRP Price
    • Cardano Price
    • Learn
    • What is Blockchain?
    • What are NFTs?
    • What is Bitcoin mining?
    • What is DeFi?
    • What is crypto staking?
    • Legal
    • Legal Page
    • Pricing
    • Licenses
    • Privacy Policy
    • Cookie Policy
    • Terms of Use
    • Risk Warning
    • Complaints
    Italian

    All rights reserved. MoonPay Europe B.V. is an AFM-licensed crypto-asset service provider under the EU MiCA Regulation (Reference Number: 41000002).

    Iron is now MoonPay Enterprise: Stablecoin APIs for developers → Learn More

    MoonPay
    • Individuals
    • Business
    • Lingua
    • Inizia ora
    Buy
    Buy cryptoUse a card, Apple Pay or Google Pay to buy crypto fast. We also accept bank transfers and wires.
    Buy BitcoinBTC
    Buy EthereumETH
    Buy PolygonPOL
    Buy SolanaSOL
    Buy DogecoinDOGE
    Buy CardanoADA
    Buy AvalancheAVAX
    Sell
    Sell cryptoTurn your crypto into cash. In a flash. Get paid straight to your bank account or Visa card.
    Sell BitcoinBTC
    Sell EthereumETH
    Sell USDCUSDC
    Sell SolanaSOL
    Sell CardanoADA
    Sell DogecoinDOGE
    Sell AvalancheAVAX
    Trade
    Trade cryptoTrade between tokens, even if they’re on different chains (we make bridging seamless too).
    Trade EthereumETH
    Trade USDCUSDC
    Trade AaveAAVE
    Trade ChainlinkLINK
    Trade Wrapped BitcoinWBTC
    Trade DaiDAI
    Trade CompoundCOMP
    Company
    NewsroomNewsroomMediaMediaCareersCareersChangelogChangelogMoonPay DiscoverMoonPay DiscoverNew
    Crypto Prices
    Bitcoin PriceEthereum PriceSolana PriceDogecoin PriceCardano PriceXRP PriceBNB PriceAll Crypto Prices
    Learn
    What is Blockchain?What is Blockchain?What are NFTs?What are NFTs?What is Bitcoin mining?What is Bitcoin mining?What is DeFi?What is DeFi?What is crypto staking?What is crypto staking?All Learn Articles
    Support
    DocumentationDocumentationHelp CenterHelp CenterContact UsContact UsStatusStatus
  • Lingua
  • Back to all articles

    What is the Ethereum Virtual Machine (EVM)?

    Ethereum has had a bumpy ride to its current place as the #2 cryptocurrency by market capitalzation. It's seen explosive growth, massive breakthroughs, and institutional adoption, while at the same time experiencing devastating hacks, commu

    Corey Barchat

    By Corey Barchat

    Published on Jul 26, 2024

    Last modified on Sep 8, 2025

    cryptocurrencyguideblockchain
    What is the Ethereum Virtual Machine
    1. 1.What is the Ethereum Virtual Machine?
    2. 2.How does the Ethereum Virtual Machine (EVM) work?
    3. 3.Key features of the Ethereum Virtual Machine
    4. 4.Why is the EVM important?
    5. 5.Benefits of the EVM
    6. 6.Limitations of the EVM (and other virtual machines)
    7. 7.How to use the EVM
    8. 8.Participate in the Ethereum virtual machine (EVM) today

    Ethereum has had a bumpy ride to its current place as the #2 cryptocurrency by market capitalzation. It's seen explosive growth, massive breakthroughs, and institutional adoption, while at the same time experiencing devastating hacks, community discord, and price volatility.

    Throughout its history, there is one vital engine behind Ethereum's smart contract and decentralized application capabilities. It's no coincidence that Ethereum has transformed the blockchain landscape, enabling developers to build robust, decentralized solutions.

    Enter the Ethereum Virtual Machine (EVM).

    This article explores the key features of the EVM, its benefits, limitations, and practical usage, suited for enthusiasts and developers alike.

    What is the Ethereum Virtual Machine?

    The Ethereum Virtual Machine (EVM) is a decentralized computation engine that powers the Ethereum blockchain. It is a Turing-complete virtual machine that executes code, enables smart contracts on Ethereum and provides the infrastructure needed for the decentralized execution of code.

    The EVM's primary responsibilities include executing smart contract code, writing smart contracts, managing the state of the Ethereum blockchain, and calculating gas fees (transaction costs that users pay for Ethereum transactions).

    Acting as the runtime code execution environment for smart contracts, the Ethereum Virtual Machine ensures that these lines of code execute exactly as programmed in Ethereum transactions and decentralized applications (dApps). Its consistency across the network limits the possibility of downtime, censorship, fraud, or third-party interference.

    How does the Ethereum Virtual Machine (EVM) work?

    The EVM operates on a stack-based architecture, utilizing a 256-bit stack to execute instructions.

    Each node in the Ethereum network runs its own instance of the EVM, ensuring that transactions and smart contracts are processed consistently across the network. These to execute smart contracts are then compiled into EVM bytecode, a low-level code that the EVM can execute.

    A diagram of the Ethereum virtual machine's mechanism
    The Ethereum Virtual Machine illustrated — Image source

    The execution of a smart contract by the EVM involves several steps:

    1. Transaction initiation: A user or another contract sends a transaction to the Ethereum blockchain, specifying the smart contract to be executed and providing any necessary inputs.
    2. Gas calculation: Before smart contract execution begins, the EVM calculates the amount of gas required to process the transaction. Gas is a unit of computational work measured in Gwei, and each operation performed by the EVM consumes a certain amount of gas that users must pay as transaction fees.
    3. Bytecode execution: The EVM reads the bytecode and executes it step by step. Each instruction is processed in sequence, using the stack to store intermediate values and results.
    4. State changes: As the bytecode executes, it can read from and write to the blockchain's state. This includes updating account balances, storing data, and invoking other smart contracts. The EVM ensures that these state changes are deterministic, meaning they produce the same result on every node.
    5. Gas settlement: After execution, the actual gas consumed is settled. If the provided gas was insufficient, the transaction fails, but the sender still pays for the computation performed up to the failure point.

    Key features of the Ethereum Virtual Machine

    Here are some key functionalities that highlight the EVM's importance in the Ethereum blockchain ecosystem:

    Turing-completeness

    The EVM is Turing complete, meaning it can execute any computation that can be theoretically performed by a computer, given enough resources. This allows developers to implement complex logic and algorithms within a smart contract, enabling a wide range of applications from financial tools to gaming and more.

    Isolated environment

    Each smart contract in the EVM runs in its own isolated environment, known as a sandbox. This isolation ensures that one smart contract functionality cannot directly access or interfere with the execution of another. It also prevents smart contracts from directly accessing the underlying system, helping to mitigate the risk of security vulnerabilities and malicious attacks.

    Gas mechanism

    The EVM uses a gas system to manage computational resources. Each operation in the EVM consumes a certain amount of gas, which must be paid for in Ether (ETH) by the user initiating the transaction.

    A screenshot of Etherscan's gas tracker
    Track live gas prices on Etherscan — Image source

    This mechanism serves several purposes:

    • Prevents infinite loops: Requiring gas for each operation helps the EVM ensure that infinite loops and other computationally expensive tasks cannot clog the network.
    • Mitigates spam: High gas costs during network congestion help deter spam transactions, maintaining the network's performance and stability.
    • Allocates resources: Users pay for the computational resources they consume, ensuring fair resource allocation.

    Interoperability

    The EVM allows smart contracts to interact with each other, enabling the creation of complex, interconnected applications. Contracts can call functions in other contracts, share transaction data together, and trigger actions across the network. This interoperability is essential for the development of decentralized finance (DeFi) applications, where multiple protocols often work together to provide comprehensive financial services.

    Why is the EVM important?

    The Ethereum Virtual Machine (EVM) can be understood through its impact on various sectors of the Ethereum ecosystem and the unique capabilities it provides:

    Decentralized finance (DeFi)

    The EVM provides the foundation for the majority of DeFi applications. It facilitates the creation and execution of smart contracts that manage financial services such as lending, borrowing, trading and swaps, staking, and yield farming.

    A screenshot of TVL across all blockchain networks
    Ethereum dominates all other blockchains in DeFi activity — Image source

    DeFi platforms leverage the EVM to create transparent and decentralized alternatives to traditional financial systems, empowering users with more control over their digital assets.

    Non-fungible tokens (NFTs)

    Ethereum NFTs have soared in popularity for representing digital art, collectibles, and other unique assets. The Ethereum Virtual Machine enables the creation, transfer, and management of NFTs, with smart contracts that define their unique properties. This helps ensure scarcity and track their ownership securely on the blockchain, which is vital for their success in real-world applications.

    Decentralized applications (dApps)

    From social networks to gaming platforms, dApps are revolutionizing how we interact with digital services, by offering more privacy, security, and user control.

    A screenshot of dApp types by market dominance
    DeFi, gaming, NFTs and social media make up the majority of dApps — Image source

    All Ethereum-based applications rely on the EVM for their backend logic, executing smart contracts to provide decentralized services without the need for third parties or intermediaries.

    Interoperability

    The EVM's ability developers write smart contracts to interact seamlessly with other smart contracts enables the development of a rich and interconnected ecosystem. Developers can build modular applications that leverage existing contracts and protocols, fostering innovation and collaboration within the Ethereum community and beyond.

    Decentralized security

    The design of the EVM ensures that smart contracts execute securely and reliably, maintaining the integrity of the Ethereum network. Running on a decentralized network of nodes, the EVM eliminates single points of failure and reduces the risk of censorship and fraud.

    Enterprise solutions

    Businesses are leveraging the EVM to build blockchain-based solutions for supply chain management, identity verification, and more. Although use cases are still limited and the future is uncertain, integrating blockchain technology could empower enterprises to enhance transparency, reduce fraud, and improve efficiency in business operations.

    Benefits of the EVM

    The Ethereum Virtual Machine (EVM) offers numerous benefits that have made it a cornerstone of the Ethereum blockchain:

    • Security: The EVM's isolated environment ensures that any given smart contract executes securely without affecting the host system. This security model helps protect the network and its users from potential vulnerabilities.
    • Flexibility: Turing-completeness in the EVM allows for the creation of a wide range of sophisticated applications. The EVM's structure means that developers can implement virtually any logic or functionality within their smart contracts.
    • Interoperability: Smart contracts can interact seamlessly, enabling complex ecosystems of applications. This feature promotes the development of interconnected dApps that can build on each other's functionalities, reaching even beyond just the Ethereum blockchain.
    • Consistency: Deterministic execution guarantees that the same operations yield the same results across the network. This predictability is essential for maintaining trust and reliability in decentralized applications that require users to deposit digital assets.
    • Global reach: The EVM runs on a decentralized network of nodes distributed worldwide, providing high availability and resilience. This means that applications built on Ethereum are accessible from anywhere, at any time, without relying on centralized servers.

    Limitations of the EVM (and other virtual machines)

    Despite its advantages, the EVM also has limitations that affect its performance and scalability:

    • Scalability: The Ethereum Virtual Machine can sometimes struggle with scalability, as each node in the EVM processes every transaction. This limitation can lead to congestion and higher transaction fees during peak times (though danksharding is one Ethereum roadmap feature that seeks to address this shorcoming).
    • Resource constraints: Gas limits can restrict the sophistication of computations, while developers need to optimize their contracts to ensure they remain efficient and affordable to execute.
    • Complexity: Developing for the EVM requires knowledge of specific programming languages like Solidity and understanding its unique execution model. The learning curve can be steep and present a barrier to new and less experienced developers.
    • Gas costs: High gas fees during periods of network congestion can make certain applications less feasible for everyday use. Users may experience high transaction fees, especially when interacting with more complex smart contracts.

    These limitations are common to other virtual machines as well, although their impact may vary depending on the specific implementation.

    How to use the EVM

    The Ethereum Virtual Machine (EVM) is open to everyone, with development resources and support networks available to developers across the globe. However, it still requires some specific steps to get started:

    Setting up a development environment

    To start developing on the EVM, you'll need to set up a development environment. There are several tools and frameworks available to streamline this process:

    1. Truffle: A popular development framework that provides a suite of tools for compiling, deploying, and testing smart contracts. Truffle also includes a built-in test and development blockchain called Ganache.
    2. Hardhat: Another powerful development environment that offers features like task automation, testing, and debugging. Hardhat is known for its flexibility and robust plugin ecosystem.
    3. Remix: An online integrated development environment (IDE) that allows users to write, compile, deploy, and test smart contracts directly in a web browser.

    Resources for EVM development

    To enhance your development experience, there are various tools and resources you can utilize:

    • MetaMask: A browser extension and mobile app that allows you to manage Ethereum accounts and interact with dApps. MetaMask simplifies the process of sending transactions and interacting with smart contracts, as well as managing gas fees.
    • Infura: A service that provides scalable access to Ethereum nodes. Infura allows any dApp to connect to the Ethereum network without needing to run your own node.
    • Etherscan: A blockchain explorer that provides a comprehensive view of blockchain data. You can use Etherscan to verify contract deployments, track transactions, and explore Ethereum blockchain activity.
    • Solidity: The official Solidity documentation is a valuable resource for learning about the programming language and its features.
    • Ethereum.org: The official Ethereum website offers tutorials, guides, and documentation for developers of all levels. It also provides a roadmap for past, present, and future Ethereum 2.0 upgrades.

    Communities and support networks

    Engaging with the developer community is essential for staying updated and getting support. Here are some platforms and communities you can join:

    • GitHub: Follow and contribute to Ethereum-related repositories, including the official Ethereum repository and popular development frameworks.
    • Reddit: Participate in discussions on subreddits like r/ethereum and r/ethdev, where developers share insights, ask questions, and discuss new developments.
    • Ethereum Stack Exchange: A popular Q&A site where you can ask technical questions and get answers from experienced Ethereum developers.
    • Discord and Telegram: Join Ethereum-related channels on Discord and Telegram to chat with other developers and enthusiasts in real-time, participate in hackathons, and collaborate on projects.
    • X (Twitter): Follow influential developers, projects, and organizations on X to stay updated with the latest news and trends in the Ethereum ecosystem.
    • MoonPay: MoonPay's developer documentation provides a user-friendly website complete with guides, recipes, and API repositories to implement Ethereum-based Web3 applications.

    Participate in the Ethereum virtual machine (EVM) today

    There are many ways to access the EVM, even if you're not a developer. To start exploring the greater Ethereum ecosystem, you'll need to possess Ethereum tokens.

    MoonPay makes it easy to buy Ethereum (ETH) with a credit or debit card, bank transfer, Apple Pay, Google Pay, and more preferred payment methods. Top up Ether directly in your favorite Ethereum wallet application like MetaMask, and check out in just a few clicks.

    You can also easily sell Ethereum when you decide it's time to cash out. Simply enter the amount of ETH you'd like to sell and enter the details where you want to receive your funds.

    You might also like

    cryptocurrency+1
    stablecoins and internet payment rails

    Why Stablecoins Are Becoming the Internet's Payment Rails

    Stablecoins settle in minutes, run around the clock, and cross borders for cents. What payment rails are, why stablecoins qualify, and the honest limits.

    cryptocurrency+2
    PayBox agentic payments

    Agentic Payments & How AI Agents Actually Pay for Things

    Agentic payments let an AI agent buy things without holding your money or seeing your card number. How they work, what agents can buy, and how MoonPay's PayBox does it.

    guide+2
    embedded wallets end of seed phrases

    Embedded Wallets and The End of Seed Phrases

    For most of crypto's history, the price of admission was a ritual: write down 12 words, in order, on something that can't catch fire or get wet, and guard them for the rest of your life. Get it right and you're your own bank. Get it wrong o

    cryptocurrency+2
    Accepting Crypto Payments

    How to Accept Crypto Payments: Checkout, Settlement & Merchant Setup

    A customer just bought a $100 hoodie from your online store and paid in crypto. Quick question: where is that $100 right now?

    cryptocurrency+2
    chain abstraction explained

    Chain Abstraction Is the Next Step After Bridges and Network Switching

    Somewhere in your wallet right now there is probably money you can't easily spend. Not lost, not stolen. Just on the wrong network. USDC on Arbitrum when the app you want takes USDC on Base. ETH on mainnet when the game you're playing lives

    bitcoin+2
    crypto in prediction markets

    How Prediction Markets Work (and Where Crypto Fits In)

    A prediction market is a place where people put money on what happens next. Will the Fed cut rates in September? Will Bitcoin close the year above $150,000? Each question becomes a contract you can buy and sell, and the price of that contra

    All rights reserved. MoonPay Europe B.V. is an AFM-licensed crypto-asset service provider under the EU MiCA Regulation (Reference Number: 41000002).

    Italian
    • Personal
    • Buy Crypto
    • Sell Crypto
    • Trade Crypto
    • Learn about Crypto
    • Crypto Price
    • MoonAgentsNew!
    • Business
    • Ramps
    • Virtual AccountsNew!
    • MoonPay Discover
    • MoonPay Commerce
    • MoonPay InstitutionalNew!
    • Company
    • About Us
    • CareersWe're hiring
    • Newsroom
    • Media
    • Changelog
    • Support
    • API Docs
    • Help Center
    • Contact Us
    • Status
    • Security
    • Buy
    • Buy Bitcoin
    • Buy Ethereum
    • Buy Solana
    • Buy Cardano
    • Sell
    • Sell Bitcoin
    • Sell Ethereum
    • Sell XRP
    • Sell Solana
    • Trade
    • Trade Ethereum
    • Trade SOL
    • Trade Aave
    • Trade Chainlink
    • Crypto Prices
    • Bitcoin Price
    • Ethereum Price
    • Dogecoin Price
    • XRP Price
    • Cardano Price
    • Learn
    • What is Blockchain?
    • What are NFTs?
    • What is Bitcoin mining?
    • What is DeFi?
    • What is crypto staking?
    • Legal
    • Legal Page
    • Pricing
    • Licenses
    • Privacy Policy
    • Cookie Policy
    • Terms of Use
    • Risk Warning
    • Complaints
    Italian

    All rights reserved. MoonPay Europe B.V. is an AFM-licensed crypto-asset service provider under the EU MiCA Regulation (Reference Number: 41000002).