Who sees what in Enygma Public

Enygma Public shields payments from the public, not from the auditor. Every deployment has an auditor that can read every shielded transaction, by design: Enygma Public is for people, businesses and regulated platforms whose payments need to stay out of public view but open to oversight. It is not for hiding from an auditor.

What each party can see

PartyCan seeCan't see
Anyone, on the chain or an explorerEach registered account's address, public keys and username. For a shield or an unshield: the address, the token and the amount. For a shielded payment: that it happened, the relayer that submitted it, its gas fee, the nullifiers, and the new commitments with their encrypted notes.Who sent a shielded payment, who received it, the amount, and which notes it spent. In the shared vault, which token it moved.
The recipientThe amount and token of each payment it receivesWho sent it: notes don't carry a sender
The senderIts own paymentsOther accounts' balances and payments
The relayer, run by RaylsWhat anyone can see, the token of each payment it prices, and the gas fee paid to itThe sender, the recipient and the amount of a shielded payment
The auditorEvery shielded transaction, decrypted: who paid whom, the amount and the token; every invite and who claimed it; the fees paid to the Rayls FoundationSpend keys: it can't spend or move anyone's funds

Shielding, unshielding and registering are public

Shielding and unshielding move public tokens into and out of a vault, so the address, the token and the amount show onchain. Registering is public too. Together, a new account's first steps can show that an address joined and how much it shielded. An invite avoids that: the newcomer's first tokens arrive as a shielded payment, and their only public trace is the registry entry.

The auditor

When an account registers, the wallet encrypts a copy of its view key to the deployment's auditor key, with ML-KEM-768, and stores it in the registry. The deployment's auditors share that key: the auditor view opens every account's view key with it, shows every shielded transaction, and exports them as CSV for a timeframe.

  • It reads, but can't spend. A view key decrypts notes. Spending needs the spend key, and naming a note's nullifier needs the nullifier key, and neither leaves the account.
  • It can't freeze. No Enygma Public contract can freeze, pause or block an account's funds.
  • Nobody can ask to be an auditor. An existing auditor adds new ones.
  • One auditor per deployment. An auditor reads only its own deployment, for example its own country's.

On the testnet, Rayls is the auditor.

In principle, Enygma Public could also be deployed without an auditor, with a registry that doesn't escrow view keys. That isn't the focus today: Enygma Public is built for payments that stay open to oversight.

Who can change what

ActionWhoNotes
Read every shielded transactionThe deployment's auditorsWith the auditor key, from the auditor view
Add an auditorAn existing auditor
Spend a noteOnly its ownerWith its spend key, which never leaves the owner's browser
Freeze, pause or block fundsNobodyNo contract allows it. Only an upgrade by the owner multisig could change the registry's or the shared vault's rules.
Upgrade the registry or the shared vault, register vaults, add verifying keysThe owner multisigOnce enough owners sign. The single-token vaults have no owner.
Submit transactionsThe relayer, run by RaylsIt can refuse to relay a transaction, but the vaults accept a valid proof from anyone.

Did this page help you?