project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

User Proof Membership

User Proof Membership allows Token Bound Accounts to create and verify group memberships without revealing personal data. Our system uses an NFT that is minted with a zero knowledge proof verification process, ensuring privacy.

User Proof Membership

Created At

ETHGlobal Waterloo

Winner of

🏊‍♂️ Polygon — Pool Prize

🤯 Sismo — Best Technical WOW Factor

Project Description

User Proof Membership enables users to create and verify NFT proofs while keeping their personal data private. With our platform, those who hold an ERC-6551 Non-Fungible Token Bound Account can prove their membership in a group or their proof-of-humanity without revealing their personal data.

For example, imagine Alice is a member of the Nouns DAO with wallet A, but she doesn't want to share that wallet's information for privacy reasons. Using our user dashboard and Sismo Data Vault, Alice can prove that she's a Nouns DAO member without disclosing wallet A. We then send the NFT certificate to Alice's Token Bound Account, wallet B. Now, Alice can prove her membership with our NFT certificate, which has been verified through zero-knowledge proof with the Sismo Data Groups, without revealing which member she is.

It may be useful to transfer ownership of a membership token for a brief period. For example, consider the case of Nouns where 2 tokens are required to submit a proposal. Although one can delegate votes, an interesting approach to take would be to associate proposals with the specific Nouns used. This way, rather than a particular person making proposals, a particular Nouns is making the proposal. Another use case could be a temporary membership into a community. Perhaps a newcomer is hesitant to spend a large sum to enter a community, and an existing community member can lend them the membership for a trial period.

How it's Made

  • Sismo Connect App: We use the Sismo Data Vaults to check the user's membership across different accounts. If any of their addresses are valid for a Sismo Group, we verify the proof generated by the Sismo Connect App and mint an NFT (ERC-721) as a certificate of their membership. This NFT can be transferred to their Token Data Vault Account to prove their membership.
  • Token Bound Account (ERC-6551): We have created a Token Bound Account that can be personalized depending on the NFT certificates/memberships it holds. One of the Sismo Groups we allow to mint is the Proof-of-Humanity, which proves that the Token Bound Account is held by a human person.
  • ExpirableERC721: We create a custom ERC721 contract which integrates Sismo connect. In particular the mint function performs the proof check, and marks which vaultIDs have been already claimed to prevent sybil attacks. The lend exposes functionality which transfers the token to another recipient up to a specific expiry date. Upon expiry, anyone can call the reclaim function to return the token to the original lender.
background image mobile

Join the mailing list

Get the latest news and updates