zk-threshold-proof
v0.3.3
Published
A lightweight SDK to generate and verify ZK proofs that assert a private value is greater than or equal to a threshold.
Maintainers
Readme
zk-threshold-proof
A modular, multichain SDK for generating and verifying zero-knowledge proofs based on threshold logic — supporting local proof generation, off-chain verification, and adapter-based integration with ZK protocols like Polygon ID, Semaphore, and zkVerify.
✨ What's New (v0.3.2)
- ✅
witnessBuilder(config.json)support — zero-boilerplate proof generation - ✅ Modular adapter system for Polygon ID, Semaphore, zkVerify
- ✅ Easy CLI/Node.js usage
- ✅ Example circuits ready to go (
circuits/ageVerifier/)
📦 Install
npm install zk-threshold-proof🚀 Quick Start (with config.json)
Create a file config.json (see /circuits/ageVerifier/config.json for template):
{
"circuitPath": "./circuits/ageVerifier/ageVerifier.circom",
"input": {
"birthDate": 631152000,
"minAge": 18,
"currentDate": 1718169600
}
}Then run:
const { generateProof, verifyProof } = require('zk-threshold-proof');
(async () => {
const proof = await generateProof('./circuits/ageVerifier/config.json');
const result = await verifyProof(proof);
console.log("✅ Proof verified:", result);
})();🌐 Multichain Adapters
The SDK includes ready-to-use adapters for different ZK systems:
| Adapter | Description |
|---------|-------------|
| zkVerifyAdapter | Verifies proofs using zkVerify API (testnet ready) |
| polygonIdAdapter | Integrates with Polygon ID verifiers |
| semaphoreAdapter | Compatible with Semaphore-style circuits |
All adapters follow a common interface and can be imported like:
const { zkVerifyAdapter } = require('zk-threshold-proof/src/adapters');
zkVerifyAdapter.verify(proof, verifierAddress);You can also extend the SDK with your own adapter!
📂 Project Structure
zk-threshold-proof/
├── src/
│ ├── generateProof.js
│ ├── verifyProof.js
│ ├── witnessBuilder.js
│ └── adapters/
│ ├── polygonIdAdapter.js
│ ├── semaphoreAdapter.js
│ └── zkVerifyAdapter.js
├── circuits/
│ └── ageVerifier/
│ ├── ageVerifier.circom
│ └── config.json📘 Documentation
Visit the 📚 zk-threshold-proof Documentation for:
- Full API Reference
- Adapter Guides
- Circuit Customization
- Deployment Recipes
🛠️ Contributing
PRs welcome! This package is maintained by Livre Soluções de Software. Felipe Segall Corrêa ChatGPT4
🪪 License
MIT
