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
| Party | Can see | Can't see |
|---|---|---|
| Anyone, on the chain or an explorer | Each 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 recipient | The amount and token of each payment it receives | Who sent it: notes don't carry a sender |
| The sender | Its own payments | Other accounts' balances and payments |
| The relayer, run by Rayls | What anyone can see, the token of each payment it prices, and the gas fee paid to it | The sender, the recipient and the amount of a shielded payment |
| The auditor | Every shielded transaction, decrypted: who paid whom, the amount and the token; every invite and who claimed it; the fees paid to the Rayls Foundation | Spend 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
| Action | Who | Notes |
|---|---|---|
| Read every shielded transaction | The deployment's auditors | With the auditor key, from the auditor view |
| Add an auditor | An existing auditor | |
| Spend a note | Only its owner | With its spend key, which never leaves the owner's browser |
| Freeze, pause or block funds | Nobody | No 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 keys | The owner multisig | Once enough owners sign. The single-token vaults have no owner. |
| Submit transactions | The relayer, run by Rayls | It can refuse to relay a transaction, but the vaults accept a valid proof from anyone. |
Updated about 20 hours ago
