---
title: "GenLayer Chain integration"
description: "Learn how GenLayer Chain, its consensus contracts, validator nodes, GenVM, and Ethereum settlement fit together."
source: https://docs.genlayer.com/understand-genlayer-protocol/core-concepts/rollup-integration
last_updated: 2026-08-19
---

# GenLayer Chain integration

GenLayer Chain is an EVM-compatible chain built with the ZK Stack. It hosts ordinary Solidity contracts and the consensus contracts that coordinate Intelligent Contract execution. GenVM is a separate execution environment operated by nodes; it is not an EVM precompile or an Ethereum rollup execution engine.

```mermaid
%%{init: {"flowchart": {"curve": "basis", "nodeSpacing": 48, "rankSpacing": 54, "htmlLabels": true}}}%%
flowchart TB
    Client(["Wallet or application"])
    Ethereum[("Ethereum")]

    subgraph Onchain["Onchain layer"]
        Chain["GenLayer Chain<br/>EVM + consensus contracts"]
    end

    subgraph Offchain["Validator execution layer"]
        direction LR
        Node["GenLayer node"] <--> VM["GenVM"]
    end

    Client -->|"EVM JSON-RPC"| Chain
    Client -->|"GenLayer JSON-RPC"| Node
    Ethereum <-->|"bridge and settlement"| Chain
    Chain -->|"events and reads"| Node
    Node -->|"signed consensus transaction"| Chain

    classDef actor fill:#F7F8FC,stroke:#8B95A7,color:#202536,stroke-width:1.5px;
    classDef settlement fill:#FFF4E5,stroke:#D58A16,color:#583705,stroke-width:2px;
    classDef chain fill:#EFEDFF,stroke:#6D5DF5,color:#251E63,stroke-width:2px;
    classDef compute fill:#EAF7FF,stroke:#2686C4,color:#113F59,stroke-width:2px;
    class Client actor;
    class Ethereum settlement;
    class Chain chain;
    class Node,VM compute;
    style Onchain fill:#F8F7FF,stroke:#B9B0FF,stroke-width:1px
    style Offchain fill:#F5FBFF,stroke:#A8D7F2,stroke-width:1px
    linkStyle default stroke:#7C879C,stroke-width:1.8px;
```

## What lives on GenLayer Chain

The chain provides ordering, availability, and an authoritative state machine for consensus. Its contracts record:

- Intelligent Contract transactions and per-contract queues;
- activator, leader, and committee assignments;
- proposal, commit, reveal, decision, and appeal state;
- validator staking, fees, and penalties; and
- Ghost contracts that connect EVM accounts to Intelligent Contracts.

Because consensus actions are chain transactions, validators do not need a separate peer-to-peer network to agree on an Intelligent Contract result. Chain time and state determine whether a phase is open or a participant is idle.

## What lives in GenVM

Intelligent Contract code and state execute in GenVM. Nodes reconstruct the accepted Intelligent Contract state by following GenLayer Chain events and replaying the corresponding state transitions. The consensus contracts store commitments and lifecycle data; they do not execute Python contract logic.

## Ghost contracts bridge the environments

Every Intelligent Contract has a Ghost contract on GenLayer Chain at the same address. A Ghost:

- receives EVM transactions addressed to the Intelligent Contract;
- holds its native GEN balance on the EVM side;
- forwards Intelligent Contract calls to the consensus system; and
- delivers on-acceptance and on-finalization messages to EVM recipients.

The shared address gives wallets and EVM contracts one destination even though execution and balances span two environments. See [accounts and addresses](/understand-genlayer-protocol/core-concepts/accounts-and-addresses) and [messages](/developers/intelligent-contracts/features/messages).

## Settlement and protocol finality are different

GenLayer Chain inherits its rollup settlement properties from its ZK Stack and Ethereum configuration. Separately, an Intelligent Contract transaction reaches **protocol finality** only after its consensus decision and appeal window complete. Applications must use the Intelligent Contract transaction status—not only the enclosing EVM transaction receipt—to determine whether an outcome is final.
