A privacy app for Midnight · Cardano’s night side

Whisper across the dark.

Nocturne is a private messenger for Midnight — the fourth-generation blockchain that brings rational privacy to the Cardano ecosystem. End-to-end-encrypted DMs, a sealed personal mailbox, and quiet rails to move Midnight (NIGHT), Cardano (ADA) and Bitcoin (BTC). No servers, no landlord, no accounts on anyone’s ledger: your keys, your words, your coins.

How it works GitHub
  • 0servers or backends
  • AES-256-GCMseal on all local data
  • NIGHT · ADA · BTCquiet rails
  • 100%keys stay in your browser

Features

Everything a quiet conversation needs.

Encrypted DMs

Messenger-grade chat — typing, delivery ticks, presence — with every word sealed by AES-256-GCM before it touches your browser’s storage.

Private mailbox

Claim you@nocturne.night and read/write in a mailbox that has no landlord, no inbox on a server, and no one else’s key.

Send NIGHT · ADA · BTC

Quiet rails for Midnight, Cardano and Bitcoin. Addresses validated per-chain, fees shown upfront, and a real scannable QR on every send.

Zero servers

The whole app is static files — perfect for GitHub Pages. There is no backend to breach, leak, subpoena, or keep up at night.

Your keys

Keys are generated in your browser and never leave it. An optional passphrase keeps the device key wrapped at rest.

Honest by design

What’s real is real; what’s simulated is labelled. A static site can’t relay transactions — and Nocturne won’t pretend otherwise.

☾ Midnight — rational privacy

Midnight. Privacy that is rational, not total.

Midnight is a fourth-generation blockchain built to bring rational privacy to blockchain: zero-knowledge proofs protect sensitive data, programmable privacy lets you disclose exactly what’s necessary — and only when it’s necessary — and a predictable cost model brings real-world finance on-chain. Nocturne is what a conversation feels like on that side of the ledger: messages sealed before they leave your hands, a mailbox with no landlord, and rails that move money without announcing it.

Programmable privacy

All user data stays shielded; only what’s necessary is disclosed, when it’s necessary. Nocturne lives at “private” by default.

NIGHT → DUST economy

NIGHT is Midnight’s utility token — it continuously generates DUST, the resource that powers transactions. Predictable costs, every time.

Dual-state ledger

A hybrid model: UTXOs and account-state contracts update in one atomic step, with a public on-chain state and a private local state linked by ZK proofs.

How it works

Three steps into the dark.

Step 1 · Identity

Create your handle

Pick a handle, set a passphrase (optional), and your sealed mailbox you@nocturne.night comes alive — right in this browser.

Step 2 · Channel

Pick your channel

A DM, a mail note, or a send of NIGHT, ADA or BTC. Every channel validates, seals and keeps its own record locally.

Step 3 · Send

Send into the dark

Review with a real scannable QR, broadcast, and watch the (simulated) confirmation land in Activity.

Honesty

Real, and demo, on the record.

What’s real

  • ✓ End-to-end sealing of all local data — AES-256-GCM via WebCrypto, keys generated on your device
  • ✓ Real, scannable QR codes for every address you send to
  • ✓ Per-chain address validation for NIGHT, ADA and BTC
  • ✓ Zero servers — the entire app is static files you can host anywhere

What’s simulated

  • ☾ Other people — seeded residents with canned replies, so the messenger feels alive
  • ☾ Broadcasts & confirmations — nothing is signed or relayed; a static site has no wallet to sign with
  • ☾ Mail delivery — mail is kept in your local, sealed inbox; it is not routed to anyone

On-chain later

When Nocturne grows a Midnight identity layer, privileged circuits must use witness-derived commitments — never ownPublicKey() alone (MPS-0029). Starters: example-bboard · create-mn-app.

Building on Midnight? See BUILDERS.md — enumerate window.midnight, never auth with ownPublicKey() alone (MPS-0029), prefer example-bboard / create-mn-app.