Skip to main content

Getting Started

Just Starting Out

If you're new to the RISC Zero zkVM, these examples and explanations will get you oriented. Below is a tutorial that'll help you build our version of "Hello, World!" and an introduction to the cargo risczero tool for creating RISC Zero projects.

  • Factors - Think of this as "Hello, World!" for the RISC Zero zkVM. By following this tutorial, you'll create a program that demonstrates a number is composite (and that you know its factors). If you're just getting started writing code for the zkVM, we recommend starting here.

  • Understanding the Project Template - Here we'll take a closer look at the template we provide for starting your own RISC Zero zkVM project. You'll understand which parts are necessary and which can be changed, and get a feel for how the project components work together. (And if you like understanding the structure of a project before diving in, feel free to start here instead!)

Project Examples

For more ideas about what's possible with RISC Zero, take a look at examples. We also provide detailed explanations for the factors example (in the Factors Tutorial above) and for the password-checker example:

  • RISC Zero Password Validity Checker - In this example, you'll see Alice convince Bob's Identity Service that her password meets Bob's validity requirements. This example makes use of public shared outputs that Alice can write to the RISC Zero zkVM's journal.

Video Tutorials

We presented a workshop teaching the RISC Zero zkVM at ZK Hack III. You can view the full presentation on Youtube, or watch individual segments from our playlist, including examples for

Reference Documentation

Reference documentation for our Rust code is available on This includes documentation for our primary zkVM crate, risc0-zkvm, which includes tools for host-guest communication, proving, and receipt verification. The full list of our crates, including links to their documentation, is available here.

Source code

Our source code is available on GitHub. Our main repository is risc0. We have created the cargo risczero tool to help people start their own projects using the RISC Zero zkVM, and have a variety of Rust examples.

We also have packaged Rust crates available, listed here.

Connect with us

If you want to report a bug or contribute to our code, you can do so on GitHub.

You're welcome to join our Discord community to discuss RISC Zero, ask questions, and see how other people use RISC Zero!

Follow us on Twitter and YouTube, and sign up for our mailing list to get our latest announcements.