Zero-knowledge
Aegis uses Groth16 SNARKs where a module wires an on-chain verifier from the factory. Circuits are developed in Circom; proving keys ship with public releases after ceremony discipline.
Circuit families (public names)
| Family | Typical use |
|---|---|
| Mint / shield | Visible → commitment |
| Shielded transfer | Move value inside the set |
| Unshield | Commitment → transparent address |
| Auction | ZK-bound Dutch auction purchase |
| Private AMM | Policy-gated pool operations |
| Lending | Collateral and tenor proofs |
| Governance | Shielded vote payloads |
| Insurance | Claim eligibility without raw PII |
Exact verifier type strings and ceremony artifacts are in the signed release tree — not duplicated here to avoid stale copies.
Proving paths
| Path | Trade-off |
|---|---|
| Browser wasm | Sovereign; higher client CPU |
| Remote prover | Faster UX; you trust the prover service with witness data |
The app labels which path is active. High-value flows should prefer local proving or a prover you operate.
What ZK does not do
- Hide public pool reserves on Sonic.
- Remove transaction ordering from the mempool.
- Replace KYC/AML obligations where law applies.
Upgrades
New proving versions ship through governance + timelock. For large transfers, use the latest signed app release and confirm addresses on SonicScan match our announcement.