The privacy module verifies shield, private-transfer, and unshield proofs while maintaining commitment and nullifier state.
Public message and query surface
The public message families include MsgShield, MsgPrivateTransfer, MsgUnshield, and governance parameter updates. Queries cover shielded pool state, encrypted note envelopes, nullifier spentness, and parameters.
The proof payload and public inputs must bind the intended Merkle root, input nullifiers, output commitments, value commitments, and recipient behavior. A proof that verifies cryptographically can still be the wrong transaction if a client signs the wrong asset, root, or recipient.
Wallet boundary
The wallet owns note discovery, proving keys, viewing keys, and private backup policy. The chain does not recover a lost viewing key. Never put shielded note plaintext or key material in server logs, analytics events, or a hosted agent prompt.
See private finance and the privacy architecture.