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:
- Status: https://devnet.zenon.foo/status/
- Explorer: https://devnet.zenon.foo/explorer/
- Faucet: https://devnet.zenon.foo/glyphswap/faucet
- DEX: https://devnet.zenon.foo/glyphswap/
- NFT Market: https://devnet.zenon.foo/karum/
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:
0x01native: a Syrius account sends a call directly; the block’s author ismsg.senderand no second signature is needed.0x02batch: signed transactions posted by a relayer — the MetaMask path.0x03chunk: 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:
- 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.
- 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.
- MetaMask in v1, or Syrius first.
- Order inside a momentum: NoM’s address sort, or a shuffle by momentum hash.
- Footprint cap: how much of NoM’s block capacity, and of every node’s disk, the chain may use.
- 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)?
-
In progress (submitted alongside this one)
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 |