Privacy Pool is a blockchain protocol that enables private asset transfers. Users can deposit funds publicly and partially withdraw them privately, provided they can prove membership in an approved set of addresses.
The protocol implements a system of smart contracts and zero-knowledge proofs to enable privacy-preserving transfers while maintaining compliance through approved address sets. It supports both native assets and ERC20 token transfers.
This is a Yarn workspaces monorepo containing four packages:
├── packages/
│ ├── circuits/ # Zero-knowledge circuits
│ └── contracts/ # Smart contract implementations
│ └── relayer/ # Minimal relayer implementation
│ └── sdk/ # Typescript toolkit
See the README in each package for detailed information about their specific implementations:
To set up the development environment:
# Install dependencies
yarn