Evaluate Cardano UPLC locally in your browser, generate an OpenVM proof on the backend, then verify that proof locally via WASM.
The proof commits to a hash of the program and its result. We recompute that hash locally and check it matches — this ensures the proof is about this specific program and result, not some other computation.
The zkVM guest computes:
commitment = SHA-256( program_bytes || result_string )
where program_bytes is the raw UPLC program (flat-encoded binary), and result_string is the text representation of the evaluation result (e.g. Integer(55)).
This 32-byte hash is revealed as the proof's public output. A verifier can independently re-evaluate the program, recompute the same hash, and confirm it matches — binding the proof to both the specific program and its output.