Skip to main content

Create Proof for Circuit

POST 

/api/v1/circuit/:circuit_id/prove

Prove a circuit with specific inputs.

Request​

Path Parameters

    circuit_id stringrequired

    The circuit identifer of the circuit. This can take one of the following forms:

    1. <CIRCUIT_ID> - The unique UUID4 ID for an exact version of a compiled circuit.
    2. <CIRCUIT_NAME> - The name of a circuit owned by the authenticated team. This will default to the most recent version of the circuit tagged as latest.
    3. <CIRCUIT_NAME>:<TAG> - The name of a circuit owned by the authenticated team and an explicit tag. This corresponds to the most recent compilation of the circuit with the specified tag.
    4. <TEAM_NAME>/<CIRCUIT_NAME> - The name of a circuit owned by the specified team. This will default to the most recent version of the circuit tagged as latest.
    5. <TEAM_NAME>/<CIRCUIT_NAME>:<TAG> - The name of a circuit owned by a specified team and an explicit tag. This corresponds to the most recent compilation of the team's circuit with the specified tag.

Body

required
    proof_input Proof Input (string)required

    A string representing proof input which may be formatted as JSON for any framework. Noir circuits optionally accept TOML formatted proof input.

    perform_verify Verify Check (boolean)

    A boolean indicating whether to perform an internal verification check during the proof creation.

    prover_implementation Prover Implementation (string)

    Internal prover implementation setting.

Responses​

Created
Schema
    proof_id uuid4required

    A unique identifier generated for the proof. UUID4 format.

    circuit_name Circuit Name (string)required

    The name of the circuit associated with this proof.

    circuit_id uuid4required

    The circuit_id of the circuit associated with this proof. UUID4 format.

    circuit_type CircuitType (string)required

    Possible values: [boojum, circom, gnark, halo2, noir]

    CircuitType choices

    date_created date-timerequired

    The UTC datetime the circuit was uploaded in ISO8601 format.

    perform_verify Verify Check (boolean)required

    A boolean indicating whether an internal verification check occurred during the proof creation.

    status JobStatus (string)required

    Possible values: [Queued, In Progress, Ready, Failed]

    JobStatus choices

    team User/Team (string)required

    The user/team that owns this proof.

    compute_time time-delta

    Total compute time in ISO8601 format.

    compute_time_sec Compute Time Seconds (number)

    Total compute time in seconds.

    compute_times Compute Times

    Detailed compute times for the proof generation.

    file_size File Size (integer)

    Total size of stored file(s) in bytes.

    proof object

    The succinct argument(s) of knowledge.

    public Public

    The public outputs of the circuit.

    queue_time time-delta

    Queue time in ISO8601 format.

    queue_time_sec Queue Time Seconds (number)

    Queue time in seconds.

    smart_contract_calldata Smart Contract Calldata (string)

    The proof and public formatted as calldata for the smart contract verifier.

    verification_key object

    The verification key of this circuit.

    error Error (string)

    The error message for a failed proof.

Loading...