Zenoglyphs VM (ZVM)

Project Name: Zenoglyphs VM (ZVM): a based EVM derived from NoM

Description: Zenoglyphs VM (ZVM) runs general-purpose smart contracts next to Zenon mainnet without a spork, a sidechain validator set, or a bridge committee.

  • Users send EVM transactions to NoM as ordinary account blocks. Each block goes to a single inbox address that no keypair can reach.
  • NoM’s pillars order and store every transaction, exactly as they already relay any block with data.
  • A derivation node turns each momentum into one EVM block. It drives a stock EVM client (op-geth or op-reth) over the Engine API.
  • Anyone can re-derive the whole chain from NoM alone. No operator can take the history with them.

This is the design Facet shipped on Ethereum and Kasplex L2 shipped on Kaspa. Both started as inscription protocols, as zenoglyphs did, and both moved their EVM out of the inscription envelope to get here.

Why it matters for Zenon: NoM has ten fixed embedded contracts, no way to add one, and sporks frozen since 2026-04-16. Anything that needs a new contract has no activation date. This is a route to Solidity, Foundry, Blockscout and MetaMask on NoM that works under today’s rules.

The last attempt, Supernova, was a sidechain with its own validators. It is dormant, its RPC and explorer no longer resolve, and its history can’t be recovered from NoM. A chain derived from NoM can’t end that way.

URL:

Source: to be published at https://github.com/sol-znn (currently private).

Team:

  • sol: design, implementation, testing, documentation.

Groundwork already done (not requested in this proposal)

  • Zenoglyphs v1 (PoC), the inscription metaprotocol, is built and running on devnet, and stays beside ZVM as the asset layer.
  • An EVM prototype running on top of Zenoglyphs v1 proved the approach on devnet: a stock Solidity ERC-20 runs unmodified, with a live fee and native addresses. Running it surfaced the costs this proposal’s design exists to fix.
  • A working version of the design below — the derivation node, both wallet lanes, a relayer, and a FROST-held bridge vault — already runs on three devnets. This proposal is for hardening, documenting and launching it on mainnet, not for building it from scratch.

Phases

Path A is assumed: zenoglyph assets don’t need to move into contracts and back out (see Risks for what changes if they do). Phases 1 to 5 need nothing from NoM governance.

Phase 1: Specification and frozen envelope

  • Settle the open decisions listed under Risks, recording each with what reversing it would cost
  • Write spec/ZVM.md: the inbox address, transaction types, the deposit rule, gas, the per-block ceiling, ordering, the footprint cap, the chain id and the pinned EVM fork
  • Transaction types:
    • 0x01 native: a Syrius account sends a call directly; the block’s author is msg.sender and no second signature is needed.
    • 0x02 batch: signed transactions posted by a relayer — the MetaMask path.
    • 0x03 chunk: raw init-code for contracts larger than one block
  • Golden test vectors

Phase 2: Derivation node on mainnet-adjacent devnet

  • A Go derivation node that reads NoM momentums and turns each into one EVM block over the Engine API, reusing zenoglyphs’ RPC client and reorg handling
  • Native transactions become deposit-style EVM transactions; a NoM reorg rewinds the EVM through the Engine API

Completion is measured by independent nodes agreeing on chain state through a forced reorg, and stock contracts (a Uniswap V2 pair, an ERC-721) deploying and running unmodified.

Phase 3: Wallets

  • Syrius path: a browser transaction builder reusing zenoglyphs’ wallet code
  • MetaMask path: a relayer that batches signed transactions into NoM blocks
  • Blockscout on the node’s JSON-RPC

Completion is measured by a MetaMask user with no Zenon key and a Syrius user with no EVM key both completing the same swap.

Phase 4: Value in and out

  • Deposits for whichever currency is chosen in Phase 1
  • A system contract that lets contracts see L1 payments that name them, so “pay on L1, settle on L2” is atomic
  • An escrow exit: an L2 asset sold for L1 ZNN with no custodian, generalizing Zenoglyphs’ dispenser rule

Completion is measured by an L2 asset sold this way, including the refund after a missed payment window.

Phase 5: Mainnet

  • Choose the mainnet start height, publish the spec, vectors and binaries
  • At least three independent node operators, plus a tool that bisects to the first block where two nodes diverge
  • Optional: pillars or sentinels publish signed state roots to NoM, a confidence signal light wallets can check

Completion is measured by independent nodes agreeing on mainnet for 30 days, with confirmation labels documented for wallets.

Not in this proposal (needs NoM governance, no date): listing the chain on the existing bridge, validity proofs of the derived chain, and a verifier or settlement contract by spork — the only route to trustless 1:1 withdrawals.


Funding

Total Requested Funding = 15,000 ZNN and 150,000 QSR
Project Duration = 1-2 months

How did you calculate your budget?

  • Scope. A chain specification, a derivation node, two wallet paths and a relayer, deposit and exit contracts, and a mainnet launch with independent operators. It builds on zenoglyphs’ RPC client, reorg handling and browser wallet code.
  • Comparable systems. Facet and Kasplex L2 are the same architecture, and both are live.

Project and Payment Milestones:

Phase 1
Funding Request: 2,000 ZNN, 20,000 QSR
Duration: 1 week

Phase 2
Funding Request: 3,000 ZNN, 30,000 QSR
Duration: 1 week

Phase 3
Funding Request: 3,000 ZNN, 30,000 QSR
Duration: 1 week

Phase 4
Funding Request: 3,000 ZNN, 30,000 QSR
Duration: 1 week

Phase 5
Funding Request: 4,000 ZNN, 40,000 QSR
Duration: 1 month


Other Information

Risks, Assumptions, Known Issues, Dependencies:

  • ZNN can’t leave trustlessly at 1:1. It can leave only through a counterparty (the Phase 4 escrow exit), a committee (the existing bridge, trusted the same way wZNN is today), or a verifier contract that needs a spork. Every comparable chain needed help from its L1 to get trustless exits, and NoM can’t give that help today.
  • Confirmation speed is NoM’s, both soft (on inclusion in a momentum) and final (the number of momentums the bridge already uses for finality).
  • Ordering and censorship are inherited from NoM. Blocks are sorted by sender address inside a momentum, and the producing pillar chooses which blocks get in when more are waiting than fit.
  • Disk cost falls on NoM node operators, since go-zenon never prunes block data. The footprint cap enforced in derivation exists for this.
  • Relayers must fuse QSR to keep batches in flight.
  • Nobody pays the operators. Nothing in the protocol pays the people who run derivation nodes, so they would charge for RPC and attestation, not gas.
  • Demand has followed assets and wallets, not architecture, which is why MetaMask access is a phase and not an afterthought.
  • Decisions open for community input in Phase 1:
    1. Round trip or one way. If zenoglyph assets must move into contracts and back out, the EVM and zenoglyphs have to become one state machine (BRC2.0’s shape, “Path B”), and Phases 1 and 2 change accordingly.
    2. What ZNN is inside: a trustless burn receipt that is never redeemable 1:1, a bridged token that is redeemable but trusts the orchestrators, or none.
    3. MetaMask in v1, or Syrius first.
    4. Order inside a momentum: NoM’s address sort, or a shuffle by momentum hash.
    5. Footprint cap: how much of NoM’s block capacity, and of every node’s disk, the chain may use.
    6. Execution client: op-geth (Go, Facet’s choice) or op-reth (Rust, used by Igra).

Have you previously submitted a proposal (either in Accelerator-Z or Incubator)?

On-chain filing:

Project name Funds
Zenoglyphs VM (ZVM) (1/5) 2,000 ZNN / 20,000 QSR
Zenoglyphs VM (ZVM) (2/5) 3,000 ZNN / 30,000 QSR
Zenoglyphs VM (ZVM) (3/5) 3,000 ZNN / 30,000 QSR
Zenoglyphs VM (ZVM) (4/5) 3,000 ZNN / 30,000 QSR
Zenoglyphs VM (ZVM) (5/5) 4,000 ZNN / 40,000 QSR

Prior art (checked 11 Sep 2026):

System What it chose Outcome
Facet (Ethereum) Inscriptions VM, then rebuilt as a based rollup on op-geth Live, L2BEAT Stage 2, about $650K secured
Kasplex L2 (Kaspa) Based EVM from the KRC-20 team, MetaMask through a relayer Live
Igra (Kaspa) Based rollup on a Reth-derived EVM, with attesters Live, audited by Sigma Prime
BRC2.0 (Bitcoin) EVM inside the inscription indexer (Path B) Live since block 912,690
Supernova (Zenon) Cronos-based sidechain validated by pillars Dormant; history not recoverable from NoM
Project Zeno (Zenon) Settlement embedded contract Spec only; needs a spork
4 Likes

Strong support from me.

I think this is one of the more interesting directions Zenon can explore right now. The important distinction for me is that ZVM isn’t introducing another independent validator set and asking users to trust it. If the entire EVM state can be deterministically re-derived from NoM, then NoM remains the source of truth.

I also like the phased approach. Before worrying too much about MetaMask, Blockscout or applications, getting the derivation rules absolutely deterministic is the right priority.

The Phase 2 acceptance criterion of two independent nodes surviving a forced reorg and still agreeing on every block hash and state root is especially important. If that works reliably, it gives the architecture a very strong foundation.

For the open decisions, I would personally prefer a momentum-hash-derived ordering rule rather than raw sender-address ordering. Vanity addresses being able to influence priority feels like an unnecessary property to inherit.

I would also keep the definition of ZNN inside ZVM extremely explicit. Until a trustless 1:1 exit exists, nothing in the UX should make users assume that an EVM-side representation is automatically redeemable for native ZNN.

Overall, I think this is ambitious, but absolutely worth funding and testing. Bringing Solidity/EVM tooling to Zenon without requiring a new consensus system could open a very large design space.

3 Likes