ZK Proof Infrastructure for Developers and dApps
Standardized circuits. Pre-deployed verifiers. Plug-and-play SDK.
- Demo: proofport-demo-dapp.vercel.app
- SDK Docs: zkdev.net/docs/proofport/sdk
- Web Portal Code: Proofport.tsx on GitHub
Proofport simplifies integration of zero-knowledge proofs into decentralized applications.
Instead of reinventing the wheel, developers can use standardized, audited Noir circuits with pre-deployed verifiers and a browser-native proof generation portal.
- Standard Circuits (CIP-based) — Reusable Noir circuits for common proof cases
- Pre-deployed Verifiers — Solidity & Cairo verifiers on EVM and Starknet
- Simple SDK —
verifyProof()
anduseProofListener()
abstractions - OAuth-style Portal — UX-focused proof generation without exposing identity
Circuit ID | Description | Inputs |
---|---|---|
group-membership |
Prove inclusion in a Merkle tree | root |
eth-balance |
Prove wallet holds ETH above threshold | threshold |
proofport/
├── apps/
│ └── demo-dapp/ # Example dApp using the SDK
├── docs/
│ └── cips/ # Circuit Improvement Proposal(CIP)
├── packages/
│ ├── sdk/ # Proofport SDK
│ ├── circuits/ # Noir circuits (group-membership, eth-balance)
│ ├── registry/ # Verifier registry JSON
└── operator/ # Backend for verifier deployment
import { verifyProof, getRegistry, ethBalance } from "@proofport/sdk";
// 1. Request a proof
ethBalance.openEthBalanceProofRequest(chainId, threshold, sessionNonce, Date.now());
// 2. Listen for result
const proofData = ethBalance.useProofListenerWithValidation({ expectedNonce, allowedOrigin });
// 3. Verify on-chain
const ok = await verifyProof({
circuitId: "eth-balance",
chainId,
publicInputs: { threshold },
proof: proofData.proof
}, signer);
Currently, due to verifier size limitations, the system runs only on local devnets such as Anvil and Starknet Devnet, and requires further optimization for mainnet deployment.
Tool | Installed Version | Note |
---|---|---|
Node.js | v20.13.1 | ✅ |
Python | 3.10.17 | ✅ |
Nargo (Noir CLI) | 1.0.0-beta.3 | ✅ |
Garaga | 0.17.0 | ✅ |
Sncast | 0.41.0 | ✅ |
Scarb | 2.11.4 (Cairo: 2.11.4) | ✅ |
Starknet Devnet | 0.3.0 | ✅ |
Anvil (EVM local) | 1.0.0-stable | ✅ |
asdf | v0.16.7 | ✅ |
barretenberg | v0.85.0 | ✅ |
- Nonce + Timestamp: Replay & spoofing protection
- Origin Restriction: Controlled
postMessage
validation - SDK Validation: Proofs are verified before exposure to dApp
Developed by Team Proofport for NoirHack 2025.
MIT