A protocol and API for anonymous payments on blockchains, designed for real-world deployment. E-VMAS (Epoch-based Verifiable Minimum Anonymity Set) lets anyone verify on-chain that a withdrawal is indistinguishable from at least k depositors.
- E-VMAS: Deposits are grouped into epoch-based commitment trees whose sizes are published on-chain. On withdrawal, users prove in zero knowledge that they belong to an epoch of size ≥ k_min, so third parties can verify a lower bound on the anonymity set.
- Deliverables: Protocol spec (
spec/), API spec (api/), and reference implementation (circuits, contracts, client). Compliance (KYC/AML, Travel Rule) is handled outside the protocol by VASPs and applications.
- Read the spec: See
spec/for the protocol and message formats. - Inspect the API: Use
api/openapi.yamlfor deposit, withdraw, and related endpoints. - Run the implementation: Follow the README in
circuits/,contracts/, andclient/for build, test, and local runs. - Read the paper: The paper PDF lives in
paper/when available. See paper/README.md for a short summary.