Skip to main content

Privacy on Mersennet

Mersennet is a zero-knowledge Layer 1 where privacy and verifiability are the defaults. Instead of bolting a mixer onto a transparent chain, Mersennet provides account-level privacy across both the EVM and the native central limit order book (CLOB) โ€” Aztec-style โ€” while keeping the chain publicly verifiable through succinct proofs.

What "account-level privacy" meansโ€‹

On a transparent chain, anyone can read your balances, positions, and order flow from the public state. On Mersennet, that information lives in shielded accounts: balances, transfers, positions, and orders are represented as encrypted notes committed to an on-chain Merkle tree. The network can verify that every state transition is valid without learning who owns what.

SurfaceTransparent chainMersennet shielded
BalancesPublic per addressEncrypted notes, owner-only
TransfersSender, recipient, amount publicNullifier in / commitment out, amounts hidden
Leverage positionsPublic, openly liquidatablePrivate, solvency proven in ZK
Order flowPublic mempool + bookThreshold-encrypted intents

The four pillarsโ€‹

  • Shielded accounts โ€” balances, transfers, positions, and order flow are concealed using notes, commitments, and nullifiers.
  • Risk checks in zero knowledge โ€” leverage without open liquidations: solvency and margin are proven with ZK proofs instead of public liquidation auctions.
  • Selective disclosure โ€” grant a scoped viewing key to an auditor, exchange, or counterparty and reveal exactly what you choose.
  • Verifiable state โ€” every block's state transition is proven with SP1 and verified on-chain through a Groth16 bridge, enabling trustless light clients.

How it fits togetherโ€‹

flowchart TD
Wallet["Wallet (client-side proving)"] -->|"shielded tx + Noir proof"| Node["Mersennet node"]
Node -->|"updates"| Tree["Note commitment tree + nullifier set"]
Node -->|"block"| SP1["SP1 state-transition proof"]
SP1 -->|"Groth16-wrapped"| Bridge["Ethereum bridge verifier"]
Wallet -->|"scan notes"| Tree
Wallet -->|"grant viewing key"| Auditor["Auditor / exchange"]
Auditor -->|"grant-gated read"| Node

Where to go nextโ€‹

Activation

Shielded features are gated by the privacy hard fork. Before activation, mutation methods return error -32605 ("method disabled in current chain mode") and read methods return empty values. See Verifiable state and the activation runbook for details.