Skip to content

Developer Resources

The POD and GPC libraries are available for JavaScript/TypeScript developers. Start by looking at the tutorial code here, then you can take a look at the specific packages listed below.

All code is open-source and available in the Zupass repo. Detailed documentation is at docs.pcd.team. We hope you’ll give them a try and tell us what you think.

@pcd/gpc

Links: NPM, tutorial, docs, code

Allows creation of GPC proofs using high-level configuration. The config compiler picks the right ZK circuit, and generates the circuit inputs to prove or verify as needed.

@pcd/proto-pod-pcd-artifacts

Links: NPM, tutorial, docs, code

This package contains the binary artifacts (proving and verification keys, witness generators) needed for GPC proofs in the initial proto-pod-gpc family. These are large, but you’ll only need a few of them, not the whole package. Read more information about how to use tehse artifacts here.

@pcd/gpcircuits

Links: NPM, docs, code

Contains the modular ZK circuits used to generate GPC proofs. You don’t need to look at this code to use GPCs, but you can use this code as the basis of your own ZK circuits using PODs, or to enable on-chain verifiaction.

@pcd/gpc-pcd

Links: NPM, tutorial, docs, code

Allows GPC proofs to be generated about PODs in your Zupass. A GPCPCD is developer/hacker friendly, displaying the proof configuration and POD values directly. Most apps don’t need to interact directly with GPCPCDs, but should instead prefer to use the Z API.

  • GPC proofs are built using PODs
  • Interact with PODs in Zupass using the Z API