Skip to main content

Uploading Keys

Guidance for uploading your own proving key.

For nearly all frameworks supported by Sindri, you may include the proving key associated with your circuit. To utilize this option, you must include all of the files described below (organized by framework) at the time of circuit upload.

However, Noir circuits are the exception. When you compile a Noir circuit via Sindri's API, the corresponding proving and verifying keys utilize the same trusted setup downloaded by Nargo (and trusted by the Aztec team.) Any proofs produced by Sindri are compatible with Noir solidity verifiers and Nargo verify.

CircomHalo2 (Axiom v0.2.2)Halo2 (Axiom v0.3.0)Halo2 (PSE v0.3.0)Gnark
circuit.zkeyproving_keyproving_keyproving_keyproving_key
trusted_setuptrusted_setuptrusted_setupverifying_key
breakpoints
danger

If you include some but not all of the requisite files, your circuit compilation will fail.

Expected Structure​

circuit.zkey

Your proving key file should be consistent with the trusted setup files resulting from the Perpetual Powers of Tau ceremony. A concise listing of the components of this file may be found here.