ZK Proof Generator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
ZK Proof Generator lets you create zero-knowledge proofs for common cryptographic statements without writing any circuit code. Select a proof type (membership, range, equality, or hash preimage), provide witness data and circuit parameters, and the tool generates a simulated proof with public signals and proof data. It also produces a code snippet for on-chain verification using ethers.js and a verifier contract. This is essential for developers exploring ZK technology, prototyping privacy-preserving applications, or learning how zero-knowledge proofs work in practice.
HOW TO USE
Connect your EVM wallet (optional—the tool works read-only). Select the network from the dropdown. Choose a proof type from the dropdown: Membership (prove a value is in a set), Range (prove a value is between two numbers), Equality (prove two values are equal), or Hash Preimage (prove knowledge of a hash input). Enter witness data as a JSON object (e.g., {"secret": 42}). Optionally provide circuit parameters as a JSON object (e.g., {"set": [10,20,30]}). Click "generate proof" to generate the simulated proof. The tool displays the proof type, validity status, description, public signals, a JSON proof object, and a verification code snippet. Use the "copy" buttons to copy the proof or code. Use the "clear" button to reset all fields.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 for hashing and simulated proof generation. It parses the witness and circuit JSON inputs, then applies proof-specific logic: for membership, it checks if the secret is in the provided set; for range, it verifies that the value falls between min and max; for equality, it compares x and y; for hash preimage, it computes the keccak256 hash of the preimage. The tool generates a random commitment and proof data to simulate the cryptographic proof structure. The output includes a JSON representation of the proof with a validity flag, public signals, and proof data. The verification code snippet provides a template for on-chain verification using a verifier contract.
WHAT IT CANNOT SEE
This tool cannot generate proofs without a valid circuit and witness data—all inputs must be provided correctly. It cannot verify proofs on-chain without a deployed verifier contract—you must deploy a verifier to use the proof on-chain. It cannot handle complex circuits beyond basic arithmetic and membership proofs—only four simple proof types are supported. It cannot generate real cryptographic proofs with soundness guarantees—the tool simulates proofs for educational purposes. It cannot detect malicious or invalid witness data beyond basic validation. The tool is limited by the accuracy of the provided circuit definitions and the completeness of the proof generation logic. The generated proofs are not cryptographically secure and should not be used in production.
PLEASE NOTE
Works exclusively on EVM-compatible chains: Ethereum Mainnet, Goerli, Sepolia, Polygon, Arbitrum, and Optimism. Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, and XRP are not supported. This is a read-only, free educational tool—use it for learning and prototyping zero-knowledge proof concepts. The generated proofs are simulated and not cryptographically valid for production use. For production ZK applications, use dedicated libraries like snarkjs, circom, or the ZoKrates framework.