Architecture

Three stages: Prove → Submit → Execute.

  1. Prove: Client constructs the witness & ZK proof.
  2. Submit: Relayer forwards calldata & proof to contracts.
  3. Execute: Contracts verify the proof → state transition.

Components

// pseudo types
type Proof = { a: string; b: string; c: string };
type Commitment = string;