This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Generate SNARK Proof

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Generate SNARK Proof enables you to produce SNARK (Succinct Non-interactive ARgument of Knowledge) proofs using either Groth16 or Plonk proof systems. SNARKs are the most widely used zero-knowledge proof systems in blockchain applications, offering the smallest proof size and fastest verification, making them ideal for on-chain verification in Ethereum and other EVM chains. The tool takes circuit inputs (JSON or text), a proving key, and a verification key, and generates a complete SNARK proof that demonstrates knowledge of inputs satisfying a circuit without revealing those inputs. You can select between Groth16 (smallest proofs, circuit-specific setup) and Plonk (universal setup, faster proof generation). The tool supports the bn128 curve for EVM compatibility and generates proofs compatible with standard verification libraries.

HOW TO USE

Connect your wallet using the BGWallet connector (required for context). Select your preferred proof system: Groth16 (smallest proof size, circuit-specific trusted setup) or Plonk (universal setup, more flexible). Select the input format: "JSON" for structured inputs (recommended) or "Text" for simple single-value inputs. Enter the circuit inputs in the text area—these should match the structure expected by your circuit (e.g., {"a": "123", "b": "456"}). Paste your circuit-specific proving key as a hex string with 0x prefix. Paste your verification key as a hex string with 0x prefix. Click "Generate Proof" to run the proof generation process. The tool displays the proof system, input format, key lengths, and the generated proof. You can copy the complete proof to your clipboard for use with smart contracts or off-chain verification systems.

TECHNICAL MECHANISM

This tool implements SNARK proof generation with support for both Groth16 and Plonk proof systems. For Groth16, the circuit is represented as a rank-1 constraint system (R1CS) compiled into a quadratic arithmetic program (QAP). The proving key contains the powers of tau, Lagrange basis polynomials, and R1CS matrix combinations. The prover computes the witness and uses the QAP to generate three elliptic curve points (pi_a, pi_b, pi_c) on the bn128 curve. For Plonk, the circuit is arithmetized using a permutation argument with polynomial commitments. The prover computes the wire polynomials, the grand product polynomial Z, and the quotient polynomials T1, T2, T3, along with opening proofs W and W'. Both systems use the bn128 curve for compatibility with Ethereum's pairing precompiles. The proof generation involves multiple scalar multiplications and polynomial operations, with all computation performed locally in the browser using cryptographic libraries.

WHAT IT CANNOT SEE

This tool cannot verify that the inputs correspond to actual on-chain state or values—you must ensure the inputs are correct and match the circuit's expected format. It does not support all ZK proof systems (only Groth16 and Plonk SNARKs). The tool cannot generate proofs without the circuit-specific proving and verification keys; both are required for generation. It does not support hardware acceleration for proof generation; all computation is done in software in the browser. The tool cannot verify the correctness of the proving key without additional trust assumptions; you must trust the key generation ceremony. It does not support proof generation for circuits larger than browser memory limits; very large circuits may cause performance issues. The tool cannot guarantee the security of the generated proof if the proving key is compromised; key integrity is essential. It does not support proof aggregation or recursive proofs. The tool cannot generate proofs for circuits with mutable or dynamic parameters; the circuit and keys must be fixed. It does not support all SNARK variants or customized circuits beyond Groth16 and Plonk. The tool requires a trusted setup for security guarantees, which is inherent to SNARK systems.

PLEASE NOTE

This tool is designed for developers working with SNARK proofs on Ethereum and EVM-compatible chains. Groth16 offers the smallest proof size (3 group elements) and fastest verification, but requires a circuit-specific trusted setup. Plonk offers a universal setup (same SRS for all circuits up to a size) with slightly larger proofs. The bn128 curve is the standard for Ethereum, enabling efficient on-chain verification using pairing precompiles. The proving key and verification key must be generated from the same circuit using a trusted setup ceremony. The proof format varies between Groth16 (pi_a, pi_b, pi_c) and Plonk (A, B, C, Z, T1, T2, T3, W, W'). Always verify the generated proof using the verification key before using it in production systems. The proof is deterministic for a given set of inputs and keys. The tool is read-only and does not broadcast to the chain; it is intended for offline proof generation and testing.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.