# zkonduit/ezkl

ezkl is an engine for doing inference for deep learning models and other computational graphs in a zk-snark (ZKML). Use it from Python, Javascript, or the command line.

Repository: https://github.com/zkonduit/ezkl
Canonical: https://ross.abutalabs.com/products/ezkl
Homepage: https://docs.ezkl.xyz/
Language: Rust
License Family: other
Topics: ai, cryptography, zero-knowledge, zkml
Last push: 2026-02-20T14:40:56+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 68, release rhythm 71, longevity 100
- inputs: {"age_days": 1520, "days_push": 194, "days_rel": 194, "gap_med": 9, "n_releases_24m": 34}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1219, forks 212 (observed 2026-08-28T04:04:01.755123+00:00)

## What it is
EZKL is a Rust-based library and command-line tool that converts deep learning models and arbitrary computational graphs (exported as ONNX) into ZK-SNARK circuits, enabling provable machine-learning inference using the Halo2 proof system. Generated proofs can be verified cheaply on-chain (EVM), in a browser, or on a device, and the tool is usable from Python, JavaScript, or the command line.

## Use cases
- prove a neural network was run on private data without revealing the data
- prove a private model was run correctly on public data without revealing model weights
- verify ML inference results on-chain in an Ethereum smart contract
- generate zk-snark proofs from ONNX models
- audit that a reported model accuracy benchmark is genuine
- run verifiable AI/analytics where results must be trusted
- do zero-knowledge machine learning inference (ZKML)

## When to choose
- You need verifiable AI: provable correctness of model execution where inputs or weights must stay private
- You want a smart contract to verify ML inference output without running the model on-chain
- Your models come from PyTorch/TensorFlow and can be exported to ONNX
- You need proofs verifiable on EVM, in browsers, or on resource-constrained devices

## When to avoid
- You only need fast or cheap ML inference with no trust/verification requirement - ZK proving adds significant overhead
- Your computational graph relies on operations the ZK circuit backend cannot yet support
- You require a project with an explicit open-source license for procurement or compliance purposes

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, deep-learning, cryptography, cli
- domain: artificial-intelligence, machine-learning, deep-learning, privacy, blockchain, security
- platform: cross-platform, cli, python, rust, wasm, browser
- tags: zkml, zero-knowledge, zk-snarks, onnx, halo2, verifiable-computation, on-chain-verification, evm, proof-system, python-bindings, javascript-bindings, verifiable-ai

## Member repositories
- zkonduit/ezkl (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:01.755123+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:17:01.560703+00:00, confidence not recorded.
  - readme: https://github.com/zkonduit/ezkl (fetched 2026-08-28T04:04:01.755123+00:00, sha 8c2c36e8ea83)
  - homepage: https://docs.ezkl.xyz/ (fetched 2026-08-29T12:24:35.485032+00:00, sha 5b64b91f0f57)
- Data as of 2026-08-30T08:39:29.467469+00:00.
