EVM on Flow

Unlock more than you ever imagined: the path to deploy any Ethereum app on Flow - unlocking its full mainstream potential without contract code changes

Breaking Down Barriers for New Developers to Flow

The EVM on Flow upgrade enables for tools to simply connect and use Flow like any other EVM based network. Empowering developers to use the same tools across networks for their multi-chain projects. Making Flow as easy to onboard as EVM L1 or L2.

Unleash EVM with Flow Native Features

The EVM on Flow upgrade allows EVM applications to tap into the powerful features of Flow and build beyond limitations of Ethereum and the programming limitations of Solidity. Day one of running on Flow, apps will get mainstream scalability without sharding, fast and cost effective transactions and MEV resilience without a code change.

Build Simply

EVM on Flow will allow for developers to easily compose the above features and capabilities of Cadence on top of existing tooling and smart contracts developed in Solidity for Ethereum and other EVM-compatible networks.

Lift and shift from Ethereum to Flow, lowering the barrier for entry for tools and platforms on Flow will bust through the onboarding challenges to Flow previous to Crescendo.

Liquidity, DeFi use cases, and platform integrations will seamless come to Flow. With EVM on Flow building is as easy as any EVM chain (L1, L2, L3’s).

EVM equivalence means more than compatibility, EVM compatibility is frequently an empty promise. EVM on Flow is the same as building on Ethereum Mainnet.

Same wallet and same keys on Flow, with EVM on Flow now wallets across EVM can run on Flow. Use Metamask, or Coinbase as simply as adding a new network.

Unlock What is Possible

Mainstream user experience, meeting the mainstream is what Flow does best. With EVM on Flow now world class experiences are possible for all developers across web3.
Extend Solidity with the power of Cadence,  applications that have been built in Solidity now can be extended and composed on within Cadence with simple wrappers. Continuously and incrementally delivering a best in class product.
Seamless connectivity between EVM and Cadence, assets are unconstrained. Applications live where they choose moving assets across environments atomically.
Interact across smart contracts and environments atomically, using Flow scripted transactions. Sophisticated interactions across smart contracts as wel las across EVM and Cadence can be abstracted away in a single click.

How it Works

EVM on Flow will allow for developers to easily compose the above features and capabilities of Cadence on top of existing tooling and smart contracts developed in Solidity for Ethereum and other EVM-compatible networks.


Applications simply update their RPC endpoints to a Gateway and they are running on Flow. The gateway transforms and translates across EVM API and Cadence API for a fully integrated and native ability to run on Flow. To learn more read here.

Cross VM Bridge

Is made possible by a smart contract protocol which facilitates arbitrary token interchange between VM environments. By introducing a new EVM account type, which has a programmable proxy on the Cadence side through which interactions with EVM are mediated, comes the ablility to orchestrate and compose EVM transactions within a Cadence one. Learn more with FLIP #237 Flow VM Bridge

Cadence Owned Accounts

EVM has classically had Externally Owned Accounts (EOA) and Smart Contract Accounts (SCA) both of which will work the same on Flow. Cadence Owned Accounts are a new type of EVM Smart Contract Account empowering EVM on Flow to evolve and have accounts benefit from all of Flow’s native account abstraction.

Two Environments, One Token

EVM on Flow introduces a whole new environment for users and developers to interact with but gas is paid with Flow token across both. No risk of swap depth and liquidity across, simply use Flow.

EVM on Flow

Ethereum Mainnet
EVM on Flow
~15 minutes till hard finality
Flow EVM

With Flow’s focus on mainstream applications there is an extreme importance to be fast. With this Flow achieves hard finality in about 20 seconds.

Understanding Transactions Time

~$2 average transaction cost
Flow EVM

With Flow’s focus on mainstream applications, it must be cheap for users and app developers. Flow averages ~$0.000015 for the average transaction. Flow also naively enables ways that developers or wallets can directly pay any transaction costs for a user.

Understanding Flow Fees

Mainstream User Experience

Protocol native Account Abstraction + Account Linking

Flow EVM
Programming Language Flexiblity

Solidity or Cadence: a resource-oriented paradigm, providing an improved security model and enabling increasingly complex smart contract functionality for developers

Flow EVM
With layer 2 solutions

Ethereum’s proposed evolution parallels Flow’s existing design: Flow’s Execution Nodes are akin to “Rollups,” Collection Nodes resemble “Data Availability Shards,” and Consensus Nodes correlate to the “Beacon Chain.”

Flow has achieved these improvements in production for the last three years - synthetic Flow benchmarks have achieved ~1k TPS leaving a significant amount of available throughput for applications today.

Horizontally scaled tx linearization model

Flow EVM
With layer 2 solutions

Flow’s current ~700GB of state space is extensible to the petabyte scale and allows contracts to maintain large amounts of data alongside logic at low gas rates. This has added convenience to developers who can forego off-chain metadata integration.

Horizontally scaled data availability

Flow EVM
MEV Resistance

Flow natively provides censorship & MEV resistance which is achieved by designating specific validators for building transaction bundles that are separated from the validators proposing blocks. Learn more.

Flow EVM



Emulator Cadence 1.0 Support

The Flow Emulator now supports Cadence 1.0. This includes integration of a new Cadence 1.0 type checker and the full suite of language features. Developers can start updating their contracts, transactions, and scripts to the new version right on their local machines.

Dec 2023

Emulator EVM Support

The Flow Emulator now enables local deployment of Solidity contracts and simulation of transactions.

Jan 2024

Crescendo Previewnet Live

An early access version of the upgraded Crescendo network that supports both EVM and Cadence 1.0. This is the perfect place for developers to test their updated applications, supporting Flow Reference Wallet, Flowdiver and more. Please note that Previewnet does not support data or state migration.

Feb 2024

Cadence 1.0 Contract Staging Enabled

Release of a new staging process. This allows developers to map their updated and rewritten Cadence 1.0 code to their existing pre-Cadence 1.0 deployed code. When the upgrade occurs, your staged code will automatically replace the live contracts. Staging is available on both Testnet and Mainnet and will replace contracts on both respectively.

Mar 2024

Testnet Migration Environment Live

A specialized test environment that mimics the Testnet, including staged contracts and data migration. Please be aware that the state will be reset weekly. This environment is ideal for ensuring your updates function as expected on the network, offering a close simulation of their post-upgrade functionality.

Apr 2024

Cadence Migration Stages on Testnet

Stage 1 (May 22-23): Focus on testing applications with Transaction Inspection Logic that actively blocks 100% of failing transactions.
Stage 2 (May 29-31): Extended interaction with the environment to refine code and resolve issues.
Stage 3 (June 5-8): Deeper testing to finalize migration strategies.
Stage 4 (June 12-17): Simulate a full migration to ensure readiness for the network upgrade.

May 2024

Testnet Network Upgrade

What to expect: A full network upgrade on the Testnet will be implemented.

Goal:  Confirm that all systems and applications are fully compatible and operational post-upgrade.

Date coming soon - read announcement

Enabling EVM on Testnet

Right after the network upgrade, the EVM will be activated on the Testnet, allowing you to start deploying and testing your EVM-compatible contracts and tools in the newly updated environment. This is a pivotal moment in the Crescendo migration on the Flow blockchain, designed to streamline the transition and enable you to utilize enhanced capabilities efficiently.

Date coming soon - read announcement

Crescendo Upgrade on Flow Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement

EVM Activated on Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement


The Crescendo upgrade

I am a developer

Learn & Review
Start working on upgrading your app

I am a node operator

The network upgrade to Cadence 1.0 will follow the usual process

I am not (yet) a developer/builder, but I am interested in building on Flow

I am a user of a app on Flow

In almost all cases, you won’t need to do anything!

Won’t the additional execution load disrupt the network?

Actually no

Are you sure this is full EVM equivalence and not just compatibility?


Still have a questions?

Your app on Flow

Are you a developer or a team that wants to build on or integrate with Flow?