Skip to content
Browse documentation

How the shielded pool works.

Commitments record that value exists. Proofs authorize spending without publishing its secrets.

Notes and commitments

A private note describes an asset, amount, and secrets. Its commitment is recorded in the pool’s Merkle tree. Your browser keeps the information needed to prove ownership and calculates your private balance from unspent notes.

Zero-knowledge proofs

A proof demonstrates that an operation follows the circuit’s rules without disclosing the private inputs. The pool checks the proof and relevant public inputs before updating its state. Mirk generates proofs in a browser worker using the deployed circuit artifacts.

Preventing double spends

Spending reveals a nullifier derived from a note’s secret. The pool rejects nullifiers that were already spent. Observers can see that a spend happened without reading the underlying secret note.

Payment delivery

Encrypted payment messages let a recipient discover notes intended for their receive key. The message board carries ciphertext and does not hold deposited assets. The pool holds assets; the registry resolves account numbers; the browser stores private records.

Deployment boundaries

Notes and proofs belong to a particular pool and network. Mirk uses its own configured pool and proving artifacts. Assets in a previous pool do not migrate automatically; withdrawing them requires that pool’s supported withdrawal process.