Skip to main content

Note Disclosure

Sometimes you need to prove a shielded note holds what you say it holds — to an auditor, a counterparty, a court. A disclosure key does exactly that, and nothing more: it reveals one note's contents and grants no spending power.

The key is a short orbdisc:… string you hand over out of band. Verification is local and offline; nothing is published on-chain.

Also called "selective disclosure"

Product and community docs use selective disclosure for this feature. The protocol docs say note disclosure, matching the orbdisc: key prefix. Same thing.


What a disclosure key reveals

Revealed
  • Exact token amount (value)
  • Asset type (asset_id)
  • Owner's Baby JubJub public key (x-coordinate)
  • Blinding scalar
  • Commitment (cryptographically verified)
Never revealed
  • Spending key
  • Nullifier (cannot be derived without spending key)
  • EVM wallet address
  • Any other note owned by the same key
  • Transaction history
  • The other party (source_pk is not part of the key)
  • Your viewing keys — a disclosure key is per-note, unlike a viewing credential
Disclosing a note never exposes who you dealt with

A disclosure key carries only the four values that reconstruct the commitment — value, asset_id, owner_pk and blinding. The memo's source_pk is deliberately left out, so proving what a note holds never drags the other party into it. That field is also a one-time key rather than a lasting identity; see what it is and is not.


Use cases

Proof of solvency

Share a disclosure key to prove that a specific commitment holds a given amount, without revealing your full balance or other notes.

Auditor compliance

Provide a disclosure key to a regulator or auditor for a specific note. They can verify the amount and asset without seeing the rest of your portfolio.

Dispute resolution

Prove to a counterparty that a payment was made by sharing the disclosure key for the output note of a private transfer.


Security properties

One disclosure key per note

Each key covers exactly one note. Sharing a disclosure key does not reveal any information about other notes belonging to the same owner, even if they use the same Baby JubJub key.

The blinding scalar is in the key

A disclosure key encodes the blinding value. Anyone with the key can reconstruct the full Poseidon4 preimage and confirm the note's contents. Do not share disclosure keys with parties you do not intend to inform.

Spending capability is not transferred

The spending key — which is required to generate a nullifier and spend the note — is never included in the disclosure key. A recipient of a disclosure key cannot spend or freeze the note.