sindri

Crates.iosindri
lib.rssindri
version0.3.1
created_at2024-05-13 07:30:36.412311+00
updated_at2025-07-21 21:37:31.609456+00
descriptionRust SDK for the Sindri API
homepagehttps://sindri.app/
repositoryhttps://github.com/Sindri-Labs/sindri-rust
max_upload_size
id1238132
size362,877
Katie McKeon (katiemckeon)

documentation

https://docs.rs/sindri

README

Sindri Rust SDK

Sindri Sign Up | Getting Started | Public Projects

Sindri provides automated ZK proving infrastructure, empowering hundreds of teams—including leading Layer 2s and rollups—to launch in minutes instead of months. Through the Sindri API, developers can seamlessly integrate verifiable computation, reducing time to market, cutting costs, and scaling faster. Sindri makes zero-knowledge infrastructure simple and accessible, facilitating automation within the most hardware-intensive layer of the ZK app deployment stack.

This repository contains the Sindri Rust SDK, which provides a client for interacting with the Sindri API. The SindriClient struct encapsulates all methods for interacting with the Sindri API. The client handles request/response management and includes built-in robustness features like automatic retries for transient errors.

Getting Started

Generate your first zero-knowledge proof in just a few lines of code:

use sindri::client::SindriClient;

let client = SindriClient::new(None, None);
let circuit = client.create_circuit("path/to/circuit", None, None).await?;
let input = r#"{"a": 1, "b": 2}"#;
let proof = client.prove_circuit(circuit.id(), input, None, None, None).await?;

Key Features

  • Project Management: Create circuits and proofs with methods like

    • SindriClient.create_circuit()
    • SindriClient.prove_circuit()
  • Collaboration: Share and reuse public circuits using

    • SindriClient.clone_circuit()
  • Seamless Integration: Works with popular Rust-based DSLs and zkVMs including:

Commit count: 153

cargo fmt