Writing Programs
A guest program is the piece of code that ZisK proves. Write it in Rust, run it inside the zkVM, and get back a cryptographic proof that the computation happened correctly. This section covers everything you need to go from a blank program to an optimized, provable guest.
Start here
Your first guest program
Write, build, and prove your first ZisK guest program end to end using a fibonacci as the example.
Read more →I/O
Working with inputs
Learn how the input buffer works and how to read typed values or raw bytes into your guest program.
Read more →I/O
Committing outputs
Expose computation results as public outputs in the proof using typed commits, raw slices, or compressed outputs.
Read more →Profiling
Profiling your program
Measure cycle counts per operation to identify bottlenecks in your guest program before running the full proof.
Read more →Performance
Optimizing your program
Accelerate guest programs by swapping crate dependencies with ZisK-patched forks or replacing call sites with zisklib wrappers.
Read more →