submit_proof
Submit prepared inputs and a valid nonce to generate a ZK proof. The TEE server runs the Noir circuit and returns the UltraHonk proof.
Instructions
Step 3 of the step-by-step flow: Submit prepared inputs to generate the ZK proof. The TEE server runs the Noir circuit and returns the UltraHonk proof. This step may take 30-90 seconds. The TEE server builds Prover.toml from these inputs.
You MUST pass the nonce returned by request_challenge. POST /api/v1/prove answers every request that arrives without that nonce with a fresh 402 challenge, so a submission that omits it can never produce a proof.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | The "nonce" field from the request_challenge response. Single-use and bound to the circuit it was issued for — request a new challenge for every submission and for every circuit. | |
| inputs | No | Full ProveInputs object from prepare_inputs. Accepts a JSON string or a structured object. | |
| circuit | Yes | Which circuit to use | |
| prepared_inputs_id | No | Private local action witness handle returned by prepare_inputs. Use instead of inputs; consumed once. |