snarkjs

Generate and verify zkSNARK proofs with snarkjs for circom circuits.

Updated Sep 29, 2025
One-click install
npx skills add https://github.com/cyotee/manamesh --skill snarkjs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: snarkjs
Source: https://github.com/cyotee/manamesh/tree/main/.opencode/skills/snarkjs
Command: npx skills add https://github.com/cyotee/manamesh --skill snarkjs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

snarkjs provides a complete, JavaScript-based workflow for creating, proving, and verifying zkSNARKs, bridging circuit compilers like circom with runtime proof logic.

Core Features & Use Cases

  • End-to-end zkSNARK support including Groth16, PLONK, and FFLONK proving systems.
  • CLI and JavaScript API for generating proofs, verifying proofs, and exporting verification keys for Solidity contracts.
  • Works across Node.js and browser environments, enabling decentralized zk workflows and browser-based demos.

Quick Start

Run the CLI to generate and verify proofs using your circuit files.

Frequently Asked Questions about snarkjs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate and verify zkSNARK proofs in JavaScript?

You can generate and verify zkSNARK proofs in JavaScript using the snarkjs workflow, which bridges circom-based circuits with runtime logic for end-to-end proof generation and verification in Node.js.

What proving systems are supported for zero-knowledge proofs in Node.js and browser environments?

The workflow supports Groth16, PLONK, and FFLONK proving systems for zero-knowledge proofs, enabling decentralized zk workflows and browser-based demos across Node.js and browser environments.

Can I export a verification key for Solidity contracts from a circom circuit?

Yes, you can export a verification key for Solidity contracts from a circom circuit using the snarkjs JavaScript API, ensuring alignment with standard VK formats and tooling.

Does snarkjs work with circom-based circuits for end-to-end zkSNARK workflows?

Yes, snarkjs works directly with circom-based circuits to provide an end-to-end JavaScript-based zkSNARK workflow, handling trusted setup, proof generation, and verification.

What is the best way to verify zero-knowledge proofs in both Node.js and the browser?

The best way to verify zero-knowledge proofs across both Node.js and the browser is using a JavaScript-based zkSNARK workflow that provides a compatible CLI and JavaScript API.