Testnet only. Nocturnal has not launched. Coins on this network have no value and the chain will be reset. The code is unaudited, and the planned launch includes a 50% genesis premine held by the founder. Read the whitepaper before doing anything else.

About Nocturnal

Why it exists, what it borrows, and what it does not claim.

Why another privacy coin

Most chains are transparent ledgers: every amount and every counterparty is permanently public. That is a poor property for money. Monero solved this well, and Nocturnal does not claim to improve on its cryptography. It reuses that cryptography through the monero-oxide crates and builds a smaller, more readable chain around it in Rust.

The goal is a codebase one reviewer can hold in their head. The consensus layer is a few thousand lines, each module documents the reasoning behind it, and the security review is published in full rather than summarised.

What it borrows

Cryptographic primitives are never hand-rolled here. The chain depends on:

  • monero-clsag for CLSAG ring signatures and key images
  • monero-bulletproofs for Bulletproofs+ range proofs
  • monero-primitives and monero-generators for commitments and generators
  • curve25519-dalek for the underlying group arithmetic
  • RandomX for proof of work, via the reference C++ implementation

Hashing is original Keccak-256, not NIST SHA-3. That is the same choice Monero made, and a distinction that silently breaks compatibility if you get it wrong.

What it does not claim

  • Not audited. Internal review is an argument, not evidence. It is published so that it can be disagreed with.
  • Not novel cryptography. If you want new primitives, this is the wrong project.
  • Not network-level anonymity. Transactions relay over Dandelion++, which frustrates naive origin tracing but is not Tor. Run over Tor if that is your threat model.
  • Not immune to global timing analysis by an observer who can watch the whole network.

Naming

The project is Nocturnal and the unit is NOCT. Every crate, binary and path is spelled noct*: noct-core, noctd, /var/lib/noct. Same thing abbreviated, not a second project. The short form appears in consensus-visible constants, so renaming it would change the chain itself.