ICEVM - EVM support on the IC

Support for the Ethereum Virtual Machine (EVM) on the IC has been discussed already at different places. Let us use this topic to have those discussions.

In the DFINITY Global R&D this afternoon I have presented an analysis of what it would take to bring an EVM to the IC. The outcome of this is that DFINITY is not spending the resources for this feature as it would have too high of an opportunity cost in terms of missing out on other things we need our resources for, e.g., IC-native DeFi.


Has the project been cancelled or put on the backburner?

It could always be brought back, it’s just a really heavy lift with hard-to-quantify return on investment for the ecosystem

Also keep in mind that it may be possible for non-DFINITY teams to build an EVM on the IC. If you’re interested in doing this please give it a shot, I am happy to help guide you.


I see, well if it has been dropped in favour of IC DeFi then it was the right call, the community can always work on an EVM implementation on its own. What are the main tasks you’re looking into to improve DeFi? Token standards, transaction atomicity?


Here is the slide deck of the quarter-hour presentation in this afternoon’s DFINITY Global R&D meeting in case you are interested.

We are planning to hold a community conversation on this topic as well and reveal more of the design that we have evaluated for an EVM on the IC.

Maybe someone in the community is interested in picking this up with a small team? There would surely be grants available to support such a venture, as well as support from our side. We would love to see someone working on this feature.


I have a question if you don’t mind, on slide 10 it is stated a production ready implementation would have taken around 1 year if not more, if that’s the case why was the feature slated for Q2 2022 on the roadmap?

1 Like

The community can paid to get started here: - Bounty #16 - EVM Witness Library - $8,000+

Being able to calculate all the witnesses and prove the chain is a key first step. After this, you’d need op codes done. Then wiring it all together. Can’t wait to look at the deck as there are likely 10,000 things that haven’t occurred to me.


I’ll just suggest that the answers to these two questions may be:

  • A lack of evm support
  • Create evm support so all existing solidty smart contracts could run on the IC without modification.


We have only recently worked on a concrete system design and were way too optimistic before this. Now it is clear that the project likely is a multiple-PY project. Also, when looking at what we need as a minimum baseline, the cope became much larger as originally envisioned.


Haha, let’s see. :wink:

Regarding a token standard, people are already working on it, there is a public meeting to discuss with the community next week if I am not mistaken.

Whatever happened to this: B.Lynnity - EVM Demo. Was this actually running stuff on the IC? Or just hosting it there?

1 Like

This is a very early prototype, but it is a simple EVM environment running on the IC. But it implements only a small subset of the Yellow Paper, e.g., it does not create any of the artifacts like blocks, transaction receipts etc. It’s essentially a core EVM implementing the opcodes.

1 Like


Token standards and atomicity are two important topics. We plan to broadly look at the challenges and involve the community in this because in the end we need to build features that the community wants and needs. Details to follow. :slight_smile:


Any idea where the source code is or who the author is? Having the op idea would be great.

1 Like

The author is Ben Lynn.

1 Like

Good choice, Dfinity Foundation…


Hi @dieter.sommer ,

I have a question about slide 10. In particular one of the “cons” to undertake EVM project. You wrote “Substantial investment into a technology we intend to replace”. What is that you intend to replace: EVM of ETH1.0 to EVM of ETH2.0? DEFI on IC to replace DEFI on ETH? something else?

“Replace” is maybe the wrong wording. What was meant is that Ethereum is a 2nd generation blockchin, and the IC is a 3rd (i.e., next) generation blockchain. We should rather put effort into improving the 3rd-generation stack instead of spending a huge amount of resources on a 2nd-generation stack. Does this answer your question?