Practical overview
When it fits
Use Circomkit when a Circom project needs a configuration-driven CLI, typed test helpers and one workflow spanning circuit artifacts, proof generation, verification and integration exports.
Who it is for
- Circom circuit developers
- Zero-knowledge application engineers integrating verifier contracts or calldata
- Teams writing automated circuit tests with TypeScript, Chai or Mocha
- Developers analysing R1CS and witness data
Documented uses
- Compile Circom circuits and instantiate their main components.
- Check circuit computations, expected outputs and soundness failures with typed testing utilities.
- Generate witnesses and proofs, then verify proofs with public signals.
- Create Solidity verifier contracts and calldata for integration.
- Export R1CS and witness data as JSON.
Requirements & limits
The repository is public, open source and licensed under MIT. Circomkit is available as an installable package and is documented for CLI and TypeScript use.
- Circom is a required prerequisite.
- The supported proof protocols are Groth16, PLONK and FFLONK.
- Supported prime fields include BN128, BLS12-381 and Goldilocks.
- BN128 can use automatic phase-1 PTAU selection and download within the documented 2^28-constraint limit.
- Non-BN128 fields require the developer to find PTAU files separately.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Generate and verify a proof from a circuit input
Use a JSON input associated with a named circuit to generate a witness, create a proof, verify it and export Solidity calldata.
Before you start
- A configured Circomkit circuit.
- A JSON input stored under the documented inputs//.json path, or input values supplied through the programming interface.
- A completed circuit workflow with the required setup artifacts.
Steps
Place the circuit input JSON in the inputs folder under the target circuit name.
Run the witness command for the circuit and input.
Run the proof command for the same circuit and input.
Run the verification command with the circuit and input, then run the calldata command to print Solidity calldata.
Expected outcome
Circomkit produces the documented witness and proof workflow outputs and prints calldata for the selected input when the relevant stages complete.
Guide limitations
- The source describes commands and input conventions but does not provide a compatibility guarantee for a particular circuit or environment.
- Proof generation and verification depend on the circuit-specific setup and configured protocol or field.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 3 October 2026
- Original website title
- erhant/circomkit · Official homepage title · retained in its source language

