---
title: "snarkjs (powersoftau + zkey)"
description: "snarkjs (powersoftau + zkey): Phase 1 and phase 2 tooling. The de facto toolchain for Circom-based Groth16 and PLONK projects, covering both the universal…"
type: "option"
url: "https://zkpick.com/ceremony/snarkjs/"
section: "04 Running or reusing a trusted setup"
authors:
  - "MarketComp"
publisher: "MarketComp"
version: "1.3"
updated: "2026-09-12"
license: "CC-BY-4.0"
json: "https://zkpick.com/data/ceremony/snarkjs.json"
---

*By MarketComp. Updated 2026-09-12. Version 1.3. CC BY 4.0.*

# snarkjs (powersoftau + zkey) — *Phase 1 and phase 2 tooling*

> snarkjs (powersoftau + zkey): Phase 1 and phase 2 tooling. The de facto toolchain for Circom-based Groth16 and PLONK projects, covering both the universal phase and the circuit-specific phase, on BN254 and BLS12-381. Maturity: Production-used, actively maintained. Maintained by: iden3 (Polygon ID lineage), open source. Choose it when: Circom-based Groth16 and PLONK teams, and anyone consuming .ptau artefacts from Perpetual Powers of Tau.

The de facto toolchain for Circom-based Groth16 and PLONK projects, covering both the universal phase and the circuit-specific phase, on BN254 and BLS12-381. `powersoftau verify` validates the full chain of embedded public keys, not merely hash continuity.

**Strengths**

- Widest ecosystem support and the largest body of published ceremony instructions written against it
- Verification checks the cryptographic contribution chain, not just file hashes
- Runs in Node and in browsers, lowering the barrier for independent contributors
- Consumes widely mirrored .ptau artefacts directly, so phase-1 reuse is a download

**Tradeoffs**

- JavaScript/WASM performance and memory limits make very large powers awkward
- The non-interactive entropy flag is a footgun: a literal string in a CI script produces a contribution with effectively no secret
- Correct usage is a process, not a command — nothing prevents shipping a key with zero phase-2 contributions

**Choose it when:** Circom-based Groth16 and PLONK teams, and anyone consuming .ptau artefacts from Perpetual Powers of Tau.

Maintained by: iden3 (Polygon ID lineage), open source · Maturity: Production-used, actively maintained · License: GPL-3.0 · Source: https://github.com/iden3/snarkjs
