Privacy & visibility
The private-send amount and recipient were encrypted in the inspected mainnet flow. Deposits, claims and transaction metadata remain public.
What an observer can see on chain
| Operation | Publicly visible | Not exposed as plaintext private state |
|---|---|---|
| Activate | Request sender, processor, request ID, timing, fee and completion | The wallet’s private balance |
| Shield | Sender, processor, ZEN token and exact deposit amount | Resulting per-user private balance |
| Private send | Request sender, processor, timing, fee, request ID, encrypted events, completion and state-root change | Payment recipient, payment amount and per-user private balance changes |
| Unshield | Request sender, processor, timing, eventual claimable amount and destination | The remaining per-user private balance |
| Claim | Public recipient and exact ZEN amount | The claim itself is intentionally public |
This describes the public chain surface inspected in the recorded test. It does not make a claim about every possible off-chain observer, network trace or deployment configuration.
What was actually checked
The verifier inspected the raw inputs and receipt logs of the recorded requests and completions, including ERC-20 transfer events. All five assertions passed:
- Shield amount and route are public
- Private recipient is absent from the plaintext public surface
- Private amount is absent from the plaintext public surface
- No ZEN token transfer occurs during the private send
- Claim amount and route are public
The private-send request and completion are linked in the report. The visibility-check output has a retained SHA-256 fingerprint in the evidence manifest.
Can the shield and unshield be linked?
Correlation remains possible. This small test used two known wallets, a public 0.1 ZEN deposit and a later public 0.04 ZEN claim. Timing, known participants, funding relationships and amount patterns can help an observer form a hypothesis about the flow.
The private send does not publish an ordinary plaintext ERC-20 transfer from A to B. That removes direct payment details from this public payload, but it does not make the full flow impossible to link. Publishing this report also intentionally identifies the test’s wallets and amounts.
An anonymity analysis would need more participants, realistic transaction patterns and a defined observer model. This demonstration did not measure those properties.
What “private ZEN” means here
Private ZEN is an account balance inside the Vela/Nova application, backed by ZEN held by the public processor contract. Each wallet decrypts its own account updates. The same address is used to identify the public and registered private account.
The current pilot relies on a trusted executor without hardware attestation. Its confidentiality model and the intended TEE deployment are explained in the architecture. The test does not establish native zero-knowledge shielding for ZEN, post-quantum security or production readiness.
For NFTs and RWA-style assets, public custody and redemption create additional visible relationships. See assets and scope for the separate local experiments.