# Kakarot

> Kakarot is an L2 zkEVM in Cairo, scaling Ethereum via zkRollup with features like native account abstraction by founders Elias Tazartes and Clement Walter.

- Canonical URL: https://iq.wiki/wiki/kakarot
- Categories: Cryptoassets
- Tags: Layer 1
- Created: 2024-06-24T17:01:04.333Z
- Last updated: 2024-07-23T13:06:07.166Z
- Source: IQ.wiki — the world's largest blockchain and crypto encyclopedia (https://iq.wiki)

---

**Kakarot** is an [L2](https://iq.wiki/wiki/layer-2) zkEVM developed in Cairo. It focuses on scaling [Ethereum](https://iq.wiki/wiki/ethereum) and introducing community-driven features like native account abstraction. Elias Tazartes and Clement Walter are the co-founders, co-CEOs, and co-CTOs of Kakarot. [\[1\]](#cite-id-hazr6jkshs9)   
  
# Overview  
  
Created in October 2022, Kakarot is a zkEVM implemented in Cairo, the provable language utilized by [Starknet](https://iq.wiki/wiki/starknet) and [StarknetOS](https://iq.wiki/wiki/starknet) chains (also known as CairoVM chains or [Starknet](https://iq.wiki/wiki/starknet) appchains). Serving as an [Ethereum](https://iq.wiki/wiki/ethereum)-compatible [Layer 2](https://iq.wiki/wiki/layer-2) solution or [zkRollup](https://iq.wiki/wiki/zk-rollup), Kakarot prioritizes compatibility and aims to innovate within the [L2](https://iq.wiki/wiki/layer-2) space. It introduces native account abstraction to the [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm), leveraging Cairo's capability to generate execution traces and Stark Proofs. This allows Kakarot to process numerous transactions, consolidate them into a single proof, and verify them on [Ethereum](https://iq.wiki/wiki/ethereum), effectively operating as an [L2](https://iq.wiki/wiki/layer-2) zkEVM. [\[1\]](#cite-id-hazr6jkshs9)[\[2\]](#cite-id-u10zsqobsc8)  
  
In Kakarot zkEVM, the core [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) implementation operates on a [StarknetOS](https://iq.wiki/wiki/starknet) chain powered by CairoVM, where [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) [smart contracts](https://iq.wiki/wiki/smart-contract) are deployed as unique [Starknet](https://iq.wiki/wiki/starknet) [smart contracts](https://iq.wiki/wiki/smart-contract). Users interact with Kakarot through an [Ethereum](https://iq.wiki/wiki/ethereum)-compatible RPC layer, shielding the underlying CairoVM chain from direct user interaction. This design ensures all Cairo execution traces are provable, allowing Kakarot to batch blocks and submit proofs to [Ethereum](https://iq.wiki/wiki/ethereum) Layer 1 using the Starkware Shared Prover (SHARP). Future implementations like Lambdaclass' Stark Platinum Prover promise enhanced security through multi-proof capabilities. [\[1\]](#cite-id-hazr6jkshs9)[\[2\]](#cite-id-u10zsqobsc8)  
  
Under the hood, each [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) [smart contract](https://iq.wiki/wiki/smart-contract) and user-owned account (EOA) in Kakarot is represented as a [Starknet](https://iq.wiki/wiki/starknet) [smart contract](https://iq.wiki/wiki/smart-contract), with specific mappings and functionalities transparent to users. Transactions are wrapped in [Starknet](https://iq.wiki/wiki/starknet) transactions, maintaining integrity through provable processing via Cairo's signature verification. While Kakarot adopts Pedersen hash for state roots and MPT computations for efficiency and [zk](https://iq.wiki/wiki/zero-knowledge-proofs-zkps)-friendliness, these details do not affect [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) compatibility at the functional level. [\[1\]](#cite-id-hazr6jkshs9)[\[2\]](#cite-id-u10zsqobsc8)   
  
## CairoVM  
  
The CairoVM is a virtual machine designed for provable execution. It serves as the core of [Starknet](https://iq.wiki/wiki/starknet), a [Layer 2](https://iq.wiki/wiki/layer-2) validity [rollup](https://iq.wiki/wiki/rollup) on [Ethereum](https://iq.wiki/wiki/ethereum). By representing execution through polynomials, the CairoVM enables every transaction on [Starknet](https://iq.wiki/wiki/starknet) to be validated using STARKs. This requires developers to use Cairo, the associated programming language, to build [decentralized applications (dApps)](https://iq.wiki/wiki/decentralized-application). [\[1\]](#cite-id-hazr6jkshs9)[\[2\]](#cite-id-u10zsqobsc8) ![kakarot_L2.webp](https://ipfs.everipedia.org/ipfs/QmNbgUFkP1i8CLfcHgJugeZHqLJTynUhBCBf12ABy4TtBY)  
  
# Technology  
  
## Precompiles  
  
Precompiles in Kakarot are predefined [smart contracts](https://iq.wiki/wiki/smart-contract) with specific addresses that offer specialized functionalities. Unlike regular [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) bytecode, these contracts are executed directly by the Kakarot client using Cairo, aiming to handle computationally intensive tasks efficiently. They enable complex functions and facilitate interactions between Layer 1 (L1) and [Layer 2 (L2)](https://iq.wiki/wiki/layer-2) of [Ethereum](https://iq.wiki/wiki/ethereum). Kakarot supports existing [Ethereum](https://iq.wiki/wiki/ethereum) precompiles and introduces additional precompiles tailored for [L2](https://iq.wiki/wiki/layer-2) operations, allowing [smart contracts](https://iq.wiki/wiki/smart-contract) to invoke them akin to Solidity function calls. [\[3\]](#cite-id-mxpdkj1xiaf)  
  
  
# Partnerships  
  
## Investors  
  
Kakarot raised $1 million in pre-seed funding, and Starkware and Lambda Ventures led the investment round. Notable angels included [Vitalik Buterin](https://iq.wiki/wiki/vitalik-buterin), Nicolas Bacca (Co-founder of Ledger), and Rand Hindi (CEO of Zama). [\[4\]](#cite-id-r6ihv39pex)  
  
## Viper Network  
  
On May 20th, 2024, Viper Network announced its first chain integration via a strategic partnership with Kakarot zkEVM. The collaboration aimed to offer trustless and high-performance access to Kakarot’s [zkRollup](https://iq.wiki/wiki/zk-rollup) technology through Viper’s decentralized infrastructure network. [\[5\]](#cite-id-08x5s5aaf9o9)
