Skip to content


A zero-knowledge protocol for anonymous interactions.

What is Semaphore?

Semaphore is a generic privacy layer. Leveraging zero-knowledge technology, users can prove their membership in groups and send messages (extending from votes to endorsements) off-chain or across EVM-compatible blockchains, all without revealing their personal identity.

Looking for more information?

Ways to contribute

As a Semaphore contributor, you'll be able to claim a special GitPOAP per year 🏅

Any pull requests are more than welcome, but remember to create an issue first!

Who are we?

Semaphore is part of Privacy & Scaling Explorations (PSE), a multidisciplinary team supported by the Ethereum Foundation. PSE explores new use cases for zero knowledge proofs and other cryptographic primitives.


  1. semaphore semaphore Public

    A zero-knowledge protocol for anonymous interactions.

    TypeScript 835 165

  2. boilerplate boilerplate Public template

    Simple monorepo you can use as a template to start developing your dApp with Semaphore.

    TypeScript 71 26

  3. research research Public

    Research on possible improvements on contracts, circuits and JavaScript libraries.

    TypeScript 2 2

  4. explorer explorer Public

    Semaphore explorer for on-chain groups.

    TypeScript 2 2

  5. discord-bot discord-bot Public

    A Discord bot for Semaphore.


  6. benchmarks benchmarks Public

    Semaphore benchmarks.

    TypeScript 2


Showing 10 of 11 repositories

Top languages


Most used topics