# ZK reserve attestation (optional extension) On-chain policy uses public inputs `(S0, S1, R)` from `ERC20.totalSupply` and `ReserveCommitmentStore`. For **privacy-preserving** proof that backing exists without disclosing raw bank balances: 1. Implement a **verifier contract** conforming to [`IZkReserveProofVerifier.sol`](../../contracts/hybx-omnl/interfaces/IZkReserveProofVerifier.sol). 2. Off-chain: generate proofs with your chosen circuit (public inputs: commitment to R, line id, snapshot block). 3. Wire: either wrap `commitReserve` with a step that checks `verifyProof` before accepting R, or post proofs alongside `evidenceHash` / `merkleRoot` for auditor tooling only. This repo does not ship a production circuit or verifier bytecode; the interface is the integration boundary for audits.