All Projects
ZK & PrivacyMidnight2026

Umbra

An anonymous, verifiable notice board on Midnight. Anyone can read a notice and be sure it came from a legitimate secret-holder, yet the author's real identity stays in shadow — a Compact contract with public ledger state, a private witness, and disclose(), compiled to ZK circuits.

CompactZK CircuitsPrivate WitnessMidnight
Umbra repository preview

Umbra

In the new moon, the sky holds the moon entirely in shadow — present, but unseen.

Umbra is an anonymous, verifiable notice board built on Midnight. Anyone can read a notice and be sure it came from a legitimate secret-holder — yet the author's real identity stays in shadow. Present, but unseen.

How it works

A holder of a secret key can pin a public notice that anyone can read and verify, without ever exposing who they are. It's a privacy-first "sealed noticeboard" primitive:

  • Public ledger state — the notices everyone can see.
  • Private witness — the secret the author holds.
  • disclose() — the controlled reveal that proves legitimacy without identity.

Written in Compact, compiled to ZK circuits, and tested (9 passing) on Midnight's Preview Testnet — a clean, minimal example of proving something is true without proving who you are.

From shadow to a face (Level 2)

Level 1 (New Moon) sealed the privacy contract in shadow — it compiled and was tested, but nothing could see it. Level 2 (Waxing Crescent) gives it a face: a real React frontend, a real wallet (Lace), and a live deployment on Midnight's public testnet.

The chain only ever sees a one-way pseudonymous commitment, never the author. And taking a notice down means proving, in zero knowledge, that you are its author — without ever revealing the secret.

Next Project

LumenFund