Skip to content


A zero-knowledge protocol for anonymous signalling on Ethereum.

What is Semaphore?

Semaphore is a protocol, designed to be a simple and generic privacy layer for Ethereum DApps. Using zero knowledge, Ethereum users can prove their membership of a group and send signals such as votes or endorsements without revealing their original 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 Public

    A zero-knowledge protocol for anonymous signalling on Ethereum.

    TypeScript 761 135

  2. boilerplate Public template

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

    TypeScript 64 19

  3. website Public

    Semaphore official website.

    TypeScript 7 15

  4. subgraph Public

    Semaphore subgraph definition (The Graph).

    TypeScript 6 4

  5. discord-bot Public

    A Discord bot for Semaphore.



Showing 10 of 11 repositories

Most used topics