Create Proof for Circuit
POST/api/v1/circuit/:circuit_id/prove
Prove a circuit with specific inputs.
Request​
Path Parameters
<CIRCUIT_ID>
- The unique UUID4 ID for an exact version of a compiled circuit.<CIRCUIT_NAME>
- The name of a circuit owned by the authenticated team. This will default to the most recent version of the circuit tagged aslatest
.<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.<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 aslatest
.<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.
The circuit identifer of the circuit. This can take one of the following forms:
- application/json
Body
required
- MOD2
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.
proof_inputobjectrequired
An object mapping proof input variable names to their values. Can be a raw JSON object or a string serialized as JSON or TOML.
A boolean indicating whether to perform an internal verification check during the proof creation.
Internal prover implementation setting.
Responses​
- 201
- 400
- 404
- 409
- 501
- application/json
- Schema
- Example (from schema)
Schema
A unique identifier generated for the proof. UUID4 format.
The name of the project associated with this proof.
The circuit_id of the circuit associated with this proof. UUID4 format.
Possible values: [boojum
, circom
, gnark
, halo2
, hermez
, jolt
, noir
, plonky2
, snarkvm
, sp1
]
CircuitType choices
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the proof that were specified at creation time.
A boolean indicating whether an internal verification check occurred during the proof creation.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
The job is finished processing and waiting/polling can be terminated.
The status of proof verification.
The name of the team that owns this proof.
URL for the avatar image of the team that owns this proof.
The name of the team that owns this proof.
The slug of the team that owns this proof.
The name of the team that owns the circuit associated with this proof.
URL for the avatar image of the team that owns the circuit associated with this proof.
The slug of the team that owns the circuit associated with this proof.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the proof generation.
Total size of stored file(s) in bytes.
The succinct argument(s) of knowledge.
The public outputs of the circuit.
Queue time in ISO8601 format.
Queue time in seconds.
The proof and public formatted as calldata for the smart contract verifier.
Boolean indicating whether this proof has smart contract calldata available.
Boolean indicating whether this proof's circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed proof.
{
"proof_id": "string",
"project_name": "string",
"circuit_id": "string",
"circuit_type": "boojum",
"date_created": "2025-02-13T16:20:29.352Z",
"meta": {},
"perform_verify": true,
"status": "Queued",
"finished_processing": true,
"verified": true,
"team_avatar_url": "string",
"team_name": "string",
"team_slug": "string",
"circuit_team": "string",
"circuit_team_avatar_url": "string",
"circuit_team_slug": "string",
"compute_time": "string",
"compute_time_sec": 0,
"file_size": 0,
"proof": {},
"queue_time": "string",
"queue_time_sec": 0,
"smart_contract_calldata": "string",
"has_smart_contract_calldata": false,
"has_verification_key": false,
"verification_key": {},
"warnings": [
"string"
],
"error": "string"
}
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
exception_idobject
string
string
Default value: Proof cannot be created.
{
"error": "string",
"exception_id": "string",
"message": "Proof cannot be created."
}
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
- MOD1
- MOD2
exception_idobject
string
string
circuit_idobjectrequired
string
string
{
"error": "string",
"exception_id": "string",
"circuit_id": "string",
"message": "string"
}
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
- MOD1
- MOD2
circuit_idobjectrequired
string
string
exception_idobject
string
string
Default value: Circuit is not ready.
{
"circuit_id": "string",
"error": "string",
"exception_id": "string",
"message": "Circuit is not ready."
}
- application/json
- Schema
- Example (from schema)
Schema
- MOD1
- MOD2
exception_idobject
string
string
Default value: Coming soon!
{
"exception_id": "string",
"message": "Coming soon!"
}