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
    metaobject

    An arbitrary mapping of metadata keys to string values. This can be used to track additional information about the proof such as an ID from an external system.

    property name* string
    proof_inputobject

    required

    An object mapping proof input variable names to their values. Can be a raw JSON object or a string serialized as JSON or TOML.

    anyOf
    string
    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)requireddeprecated
    project_name Project Name (string)required

    The name of the project 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, hermez, jolt, noir, plonky2, snarkvm, sp1]

    CircuitType choices

    date_created date-timerequired

    The UTC datetime the circuit was uploaded in ISO8601 format.

    metaobjectrequired

    Metadata keys and values for the proof that were specified at creation time.

    property name* string
    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

    finished_processing Finished Processing (boolean)required

    The job is finished processing and waiting/polling can be terminated.

    verified Verified (boolean)nullablerequired

    The status of proof verification.

    team Team Name (string)requireddeprecated

    The name of the team that owns this proof.

    team_avatar_url Team Avatar Url (string)required

    URL for the avatar image of the team that owns this proof.

    team_name Team Name (string)required

    The name of the team that owns this proof.

    team_slug Team Slug (string)required

    The slug of the team that owns this proof.

    circuit_team Circuit Team Name (string)required

    The name of the team that owns the circuit associated with this proof.

    circuit_team_avatar_url Circuit Team Avatar Url (string)required

    URL for the avatar image of the team that owns the circuit associated with this proof.

    circuit_team_slug Circuit Team Slug (string)required

    The slug of the team that owns the circuit associated with this proof.

    compute_time durationnullable

    Total compute time in ISO8601 format.

    compute_time_sec Compute Time Seconds (number)nullable

    Total compute time in seconds.

    compute_times Compute Timesnullable

    Detailed compute times for the proof generation.

    file_size File Size (integer)nullable

    Total size of stored file(s) in bytes.

    proof objectnullable

    The succinct argument(s) of knowledge.

    public Publicnullable

    The public outputs of the circuit.

    queue_time durationnullable

    Queue time in ISO8601 format.

    queue_time_sec Queue Time Seconds (number)nullable

    Queue time in seconds.

    smart_contract_calldata Smart Contract Calldata (string)nullable

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

    has_smart_contract_calldata Has Smart Contract Calldata (boolean)

    Boolean indicating whether this proof has smart contract calldata available.

    has_verification_key Has Verification Key (boolean)

    Boolean indicating whether this proof's circuit has a verification key available.

    verification_key objectnullable

    The verification key of this circuit.

    warnings string[]nullable

    A list of runtime warnings with UTC timestamps.

    error Error (string)nullable

    The error message for a failed proof.

Loading...