The Nexus zkVM provides two main approaches for proving programs:

Command Line Interface (CLI)

Not to be confused with Network CLI, the zkVM CLI is a command line tool for proving programs.

The CLI approach is perfect for quick experiments and simple programs. It provides a straightforward way to:

  • Create new Nexus projects.

  • Run zkVM programs.

  • Generate zero-knowledge proofs.

  • Verify proofs.

Get started with the CLI →

Software Development Kit (SDK)

The SDK offers more advanced features and programmatic control, allowing you to:

  • Create both host and guest programs.

  • Configure proving parameters.

  • Choose between different provers (Nova, HyperNova, and experimental Jolt).

  • Handle inputs and outputs programmatically.

  • Access detailed logging and debugging information.

Get started with the SDK →

Which Should I Choose?

  • Choose the

    CLI

    if you:

    • Are new to Nexus zkVM

    • Want to quickly test simple programs

    • Need a straightforward proving workflow

    • Don’t require programmatic control

  • Choose the

    SDK

    if you:

    • Need to integrate proving into a larger application

    • Want fine-grained control over the proving process

    • Need to handle complex inputs and outputs

    • Require advanced configuration options

    • Want to experiment with different provers

Both approaches require the same initial setup, including installing Rust, cmake, and the RISC-V target.

Prerequisites

Before getting started with either approach, make sure you have:

Choose your preferred approach above to get started!