Skip to main content
Version: 2.0.0-beta-4


UniRep is a zero-knowledge protocol that securely manages user data through anonymous identifiers, enabling trustless interactions and enhanced user privacy in applications. UniRep expands the notion of reputation to include various user data aspects, such as preferences, activity, alignments, and ownership.

Using anonymous identifiers (epoch keys), the protocol allows for trustless engagement with applications while preserving user privacy. This approach promotes non-custodial applications that don't hold user data, reducing data breach risks and emphasizing security for both users and developers.

UniRep: Private user data with & provable reputation

πŸ˜Έβ€Šβ€ŠKey Features​

UniRep aims to be the ultimate foundation for constructing tailored, yet fully compatible, zero-knowledge (zk) applications. It functions as a powerful memory layer for zk, offering private, non-repudiable data storage and retrieval capabilities. With UniRep, users can effortlessly receive data, prove facts about their information, and store the results while enjoying robust privacy assurances. The protocol empowers developers to create bespoke zk applications without compromising on interoperability and efficiency.

Key UniRep features include:

  • Data Storage: Unirep allows small amounts of data to be associated with anonymous users. Applications can conditionally associate data, like requiring a user to prove control of an Ethereum address before attesting to it.
  • Extensible Proofs: The system is designed to be extended with custom application logic. For example, an application might require proof of Ethereum address control to sign up.
  • Trustless Interoperability: Applications can interconnect by having users create proofs using publicly available state.
  • No Forced Data Sharing: Unirep applications cannot see what data belongs to what user, unless the user reveals it. User data also cannot be changed unless the user provides the application with an epoch key.
UniRep: Private user data with & provable reputation

πŸ€ β€Š Design & Deploy a customized attester​

Attesters are at the application layer. They are the platforms, businesses, and communities in the ZK social ecosystem. They act as world builders and community managers. Attesters have great flexibility in what to build. They decide how many user identities are used, how users are onboarded, and how users interact with each other. Most importantly, attesters decides the format of user data including what attributes are stored and tracked. In other words, attesters provide accountability.


UniRep's key offering is providing developers with a pre-built, audited system to create apps that securely handle private user data and manage reputation using ZK technology. UniRep protocol allows applications to securely attest to user data changes through the use of dynamic, short-lived identifiers known as epoch keys.

Applications built by our core contributors​

  • Built by Vimwitch
  • Built by Kittybest
    • Web2 Authentication Bridging: My Badge Repo
  • Built by CJ
    • Craiglist reinvent: Trustlist Repo
  • Built by UniRep team
    • Reputation-Infused Social Network: Repo
  • Built by PSE team members

Other few ideas for you to get started​

  • Non-custodial shopping, streaming
  • Business review / recommendations
  • B2B reputation
  • P2P marketplace
  • P2P gig services
  • Product review
  • Video rating ...and more.

In summary, UniRep empowers developers to create applications that foster trust and alignment within the platform, all while ensuring users maintain complete privacy. This unique combination of features enhances user experience, promotes engagement, and supports the growth of a secure and trusted digital community.

πŸ”β€Š Audit report​

v2.0.0-beta-1PSEReportsolidity, circom
v2.0.0-beta-3VerdiseReportsolidity, circom, Typescript

Stay informed​

Have questions? Join our UniRep Discord

Read the latest UniRep blog post here

UniRep is originally proposed by BarryWhiteHat in this post