About

Qnero is maintained by DigitalGuards, and it is MIT licensed.

There is no foundation, no token sale, no pre-sale and no advisory board. pallet-sudo is removed from the runtime. One privileged origin is left, a tech collective seeded at genesis, and section 03 writes out what it can do. There is a repository. Read it, build it, run it, and disagree with it in public.

01 / Status

Where the work stands

Eleven milestones are done: the note crate, the leaf circuit, the two aggregators, pallet-shielded and a local dev chain end to end, the wallet CLI, v1 mandatory privacy, RandomX proof of work, a measured browser prover, the silQ Road explorer, the Qloak browser wallet, and this site.

The next milestone is a public testnet: a chain spec and a genesis both wallets can bind to, seed nodes and a bootnode list, released node builds, a public RPC endpoint, a faucet, and both applications pointed at it. The design draft estimates 10 to 12 weeks to a private testnet.

Threads shipped with Qloak. The threaded prover module is loaded when the origin is cross-origin isolated, capped at four threads, with the single-threaded module as the fallback its settings screen names: 11.2 s to prove a payment on four threads against 37.6 s on one. Still queued: a device test to replace the 2-to-4 proxy factor, real key storage, a hash pin on the first tagged circuit release, and hiding the real-transfer count.

02 / Audits

Exactly as they stand

The audits are upstream's. Eiger on the Wormhole circuits (2026-03-20), a Substrate audit of the chain (2026-05-13), and a proof-of-work and Poseidon review.

No external audit of the Qnero delta exists. That delta is the leaf circuit's note fragments, the public-input layouts at all three layers, the aggregator rules, and pallet-shielded. The design claims a reviewer can read it in a day. Plonky2's 100-bit security here is a conjecture, and the RandomX engine is unreviewed.

So the fourth priority, "audited parts only", describes the primitives and the circuits that came from upstream. No part of Qnero's own code has been audited.

03 / Caveats

Open, and written down

  • There is a privileged origin, and it is not a user. pallet-sudo is removed. What is in the runtime is a ranked tech collective, ten members seeded at genesis beside ten treasurers, with its own referenda instance and a treasury. A tech referendum dispatches as Root, and Root bypasses BaseCallFilter, the filter that keeps transparent transfers out of ordinary use. So that collective can move transparent value and can enact a runtime upgrade. The filter binds users. Root is exempt from it by design, and it is written down in docs/DESIGN.md as a decision.
  • Neither wallet verifies proof of work, and neither will in v1. A RandomX verification wants a 256 MiB cache and has no browser build, so above a wallet's newest checkpoint a node picks every header field. Two per-leaf values are bound to a leaf by nothing on chain: the ciphertext bytes, and where a commitment sits inside its block's own leaf range. A node whose headers check out can move an incoming payment onto a position the wallet reads as somebody else's, and that payment reads as never arriving. A rescan against a second node is the recovery, and both wallets print the hint on screen. M13 closes it with state_getReadProof.
  • Key storage is dev grade. 32 bytes of hex in a 0600 file, with no passphrase and no encryption, beside a note store holding every rho and r in clear text.
  • Weights are unbenchmarked, and admission work is unpaid per gossiped blob: a settlement walk and a verify each, with no rate limit.
  • Two runtime constants are undiscoverable over RPC, so a runtime and a wallet built apart diverge silently, the chain refusing the proof after its cost is paid.
  • The real-transfer count is public. A padding slot publishes zero commitments, which the chain needs in order to append correctly.
  • One transfer per submission today. Six slots, one filled, so 150908 bytes carries one transfer, and about 22 KB each when full.
  • Tail emission is undesigned, and the genesis allocation is undecided. A 2 percent placeholder sits in the design and may be removed. Neither is a commitment, and this site makes neither.
04 / Credits

What this is built on

Qnero is MIT licensed, with LICENSE at the repository root. The upstream copyright notices are kept where the licence requires them.

  • Upstream chain and circuits, the Quantus Network, MIT. chain/ is a subtree of the upstream Substrate chain at f1176ce. Its Poseidon tree, nullifier set and ML-DSA-87 accounts come as is, and its mixer pallet's verify flow is forked as pallet-shielded. Parts of qnero-circuit and qnero-aggregator derive from the upstream qp-zk-circuits at 4.4.0. All five carry a NOTICE and a CHANGES.md; the layouts, the padding rule and the forwarding contract are Qnero's own.
  • Hegemon, Pauli-Group/Hegemon, MIT. qnero-pqcrypto vendors its crypto crate at b819911, carrying its own NOTICE and CHANGES.md.
  • Plonky2, of the Polygon lineage, through qp-plonky2 and qp-plonky2-verifier at =1.5.5, with qp-poseidon-core 3.1.0 off circuit, tied to the in-circuit hash by a parity check. The upstream CLI was read while the wallet was written, and no code was copied.
05 / Notice

This site's own provenance

The page structure of this site follows MyMonero's site, and its component system follows MyMonero's web wallet. Both are BSD-3-Clause, Copyright (c) 2014-2019 MyMonero.com.

What is carried over is the design system those stylesheets state by repetition: the band layout, the surface ramp, the text ramp above it, the two-part elevation recipe of a half-pixel inset highlight over a one-pixel dark shadow, the 13/12/11/10 px type scale with 0.5 px tracking, the 3 px and 5 px radii, the 24 px status strip and the label-over-value field row. No file was copied. site/css/site.css states those values as custom properties, which the original does not have.

What is not carried over is the accent colour, which is the one value in that palette that carries MyMonero's identity, and the Native-* typefaces, which are a licensed retail family outside the BSD grant. The type roles here are filled by system stacks. BSD-3-Clause clause 3 forbids using the copyright holder's or contributors' names to endorse or promote products derived from the software, so the MyMonero name and logo appear on no page of this site as a badge, an endorsement or a lineage claim. This paragraph is a statement of provenance.

Full licence text: mymonero-web-js/LICENSE.txt. The same notice ships as site/NOTICE in the repository.

06 / Contact

The repository is the contact

Issues, patches and disagreements belong at github.com/DigitalGuards/qnero. There is no mailing list to join and no newsletter to sign up for. A finding in the cryptography is worth more than any of that, and the code is all there.