Skip to main content
Sigvex

ZK Studio

Circuit analysis studio with file tree, source editor, ACIR inspector, constraint diff, circuit graph, and witness / prove tools.

What it is

A full-page studio for ZK circuit analysis. It contains a left sidebar (Files, Annotations, Bookmarks), a centre editor with view tabs (Source, Graph, ACIR, Diff, Report), and a bottom analysis panel (Findings, Witness, Prove, Complexity). The status bar shows the language, file, circuit name, constraint count, and finding count.

Why it exists

Circuit analysis needs both source-level and constraint-level views side by side — editing Noir/Circom/Leo/Cairo source, inspecting the compiled ACIR, diffing constraints across revisions, probing witnesses, and running a prove step. Rather than stitching together multiple tools, this page hosts the full loop in one workspace.

Who uses it

  • Circuit author — edits source and checks constraint output.
  • Auditor — reviews findings, inspects ACIR, and runs the constraint diff across versions.
  • Researcher — tests under-constrained behaviour with the Witness panel and estimates prover cost.

How to open it

  1. Sidebar → Cryptography → ZK Studio.
  2. From the Studio toolbar on a ZK analyzer page.
  3. Direct URL — /zk-studio.

Using the page

  1. Language badge and circuit name — shown in the info bar; the badge reflects the current file’s language (Noir / Circom / Leo / Cairo).
  2. Analyze — info-bar button (shortcut Ctrl+Enter) that runs analysis over the current circuit.
  3. Left sidebar tabs — switch between Files, Annotations (A), and Bookmarks (B).
  4. View tabs — centre pane: Source (1), Graph (2), ACIR (3), Diff (4), Report (5). Graph, ACIR, Diff, and Report are hidden until analysis has produced data.
  5. Split handle — drag the horizontal bar to resize the bottom panel.
  6. Bottom tabsFindings, Witness, Prove, Complexity. The Findings tab shows the current finding count in a badge.
  7. Status bar — language, file, circuit name, constraints count, findings count.

Inputs and outputs

Input Source Required
Circuit source User-created files or opened from a ZK analyzer yes
Language File extension (Noir / Circom / Leo / Cairo) yes
Output Format Destination
Findings In-panel list Findings tab
ACIR view In-panel render ACIR tab
Constraint diff In-panel render Diff tab
Audit report In-panel render Report tab
Proof / witness In-panel render Prove / Witness tab

Controls reference

  • Analyze — runs circuit analysis (Ctrl+Enter).
  • Files / Annotations / Bookmarks — left-sidebar tabs.
  • Source / Graph / ACIR / Diff / Report — centre view tabs.
  • Findings / Witness / Prove / Complexity — bottom-panel tabs.
  • Split handle — vertical resize between centre and bottom panel.
  • Status bar badges — live counts for constraints and findings.

Limits

  • Requires a signed-in account.
  • Graph / ACIR / Diff / Report tabs only appear after analysis has produced the corresponding artifact.
  • Prove runs in-browser; very large circuits may need a native toolchain.
  • Supported languages are Noir, Circom, Leo, and Cairo.

Troubleshooting

Symptom or error Cause Action
Analysis tabs stay hidden Analyze has not produced output yet Click Analyze or fix the source until it compiles.
Constraint count stays at 0 Circuit has no compiled constraints Check that the language badge matches the file’s syntax.
Prove step fails Browser prove path rejected the circuit Use a native toolchain for oversized or unsupported circuits.