finds.dev← search

// the find

zkonduit/ezkl

★ 1,213 · Rust · updated Feb 2026

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.

ezkl takes an ONNX model and converts it into a zk-SNARK circuit, letting you prove that a neural network ran correctly on private inputs without revealing them. The target audience is blockchain developers who want verifiable ML inference on-chain, and researchers exploring the ZKML space. It handles the full pipeline from ONNX to proof to on-chain verifier contract.

The ONNX-first approach is the right call — you train in PyTorch or sklearn, export normally, and ezkl handles the circuit translation rather than forcing you to rewrite your model in a ZK-friendly DSL. The operation coverage is genuinely wide: convolutions, LSTMs, GRUs, batch norm, transformers, gradient boosted trees, even SVMs — the examples directory shows they've actually tested these, not just claimed support. The Trail of Bits audit on v21 is a meaningful trust signal for a cryptographic library. GPU acceleration via Icicle is a practical addition; ZK proof generation is brutally slow on CPU for anything real-sized.

Quantization is unavoidable and the error it introduces is buried in a footnote — 'outputs in Python and ezkl may differ slightly' is doing a lot of work there. For fraud-proof or financial applications this matters a lot, and the docs don't give you enough to reason about the error bounds upfront. Proving time and circuit size scale badly with model complexity; a small transformer that runs in milliseconds can take minutes or gigabytes of RAM to prove, and there's no public benchmark table to set expectations before you invest in integration. The remote proving service is gated behind a Typeform signup, which suggests it's not a polished product yet. The CLA assigns IP to Zkonduit Inc., which is worth reading before you contribute anything significant.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →