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 on top of EVM apps with the features and capabilities of Cadence. Allowing for improvements to tooling and smart contracts developed in Solidity for Ethereum and other EVM-compatible networks.

Deploy your solidity contracts onto Flows EVM with no code changes needed, lowering the barrier for entry for tools and platforms on Flow. A game changer for developer and app onboarding in the Flow ecosystem.

Liquidity and DeFi platforms will be able to seamlessly integrate with Flow. With EVM on Flow, building is as easy as any EVM chain (L1, L2's, or L3’s).

EVM equivalence means more than just EVM compatibility. EVM on Flow will feel the same as building on Ethereum Mainnet, but with less limitations.

Easy Flow integration with all your favorite Wallets. With EVM on Flow, wallets like Metamask, Coinbase, or any other EVM compatible wallet can add Flow EVM 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

JSON.RPC API Gateway

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
Speed
~15 minutes till hard finality
Eth
Mainnet
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

Cost
~$2 average transaction cost
Eth
Mainnet
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
Eth
Mainnet

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

Flow EVM
Scale
With layer 2 solutions
Eth
Mainnet

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
Storage
With layer 2 solutions
Eth
Mainnet

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
Eth
Mainnet

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

FAQ

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?

Equivalence!

Still have a questions?

Your app on Flow

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