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

Groupfun

A token-gated interest group platform where users can join discussions by proving ownership of specific tokens or token contract fields via zk-proof, without revealing their holdings.

Groupfun

Created At

ETHGlobal Bangkok

Winner of

Chiliz - Fan Utility Projects 2nd place

Brevis - Build Data-driven dApps with Brevis ZK Coprocessor 4th place

Project Description

  1. Group Chat Functionality Users can join group chats of their interest and engage in real-time discussions with others who meet the entry criteria.

  2. Entry Requirements for Group Chats Access to specific group chats is gated by certain conditions, such as: • Holding specific tokens that meet the group’s requirements; • Meeting predefined criteria based on specific fields in token contracts.

  3. Zero-Knowledge Proof (zk) Verification Users do not need to reveal their wallet holdings. Instead, they provide a zero-knowledge proof to verify they meet the group’s entry conditions (e.g., owning specific tokens or satisfying contract field criteria).

  4. Discovery Page A discovery page enables users to browse and find group chats they want to join. Users can filter chats by topics, entry conditions, and other criteria.

How it's Made

Layout Redesign

Our first step was to adapt the layout from a chat-focused application to a web-based version that better suits our use case. This involved restructuring the UI components and ensuring responsiveness across various devices.

Feature Additions

1.	Discover Page
•	Designed with Figma, the Discover Page showcases a variety of group chats, including token-gated communities that users might find interesting.
•	Leveraging Alchemy’s RPC APIs, we fetch token data to dynamically integrate relevant group chats based on user interests. Notable categories include:
•	POAP (Proof of Attendance Protocol) groups
•	ETHGlobal Hackathon NFT holders groups
•	Chiliz blockchain fan token groups
2.	Wallet Integration with Privy
•	We integrated the Privy wallet for seamless user authentication and wallet connectivity.
•	Using Privy’s documentation, we customized the implementation to ensure the light theme matched our web design for a consistent user experience.
3.	Zero-Knowledge Proofs with Bevis’ zk Processor
•	To verify user token holdings while preserving privacy, we incorporated Bevis’ zk processor technology.
•	The integration process involved extensive collaboration with Bevis’ engineering team. They provided support in troubleshooting and ensuring the correct generation of zk proofs, enabling secure and private validation.
4.	Smart Contract Wallet (In Progress)
•	We began exploring a feature to allow users to register and log in using a smart contract wallet. While incomplete, this feature aims to streamline the onboarding process and enhance Web3-native functionality.

Technical Challenges and Notable Hacks

•	Token Integration: Fetching real-time token data via Alchemy and displaying it in the Discover Page required careful handling of RPC responses to maintain performance.
•	ZK Proof Generation: The zk proof integration posed technical challenges, but iterative debugging and direct support from Bevis’ team helped overcome these hurdles.
•	Thematic Customization: Adapting Privy to align with our theme involved more than straightforward API usage, requiring creative adjustments to ensure the wallet felt native to our platform.

Technologies Used

•	Frontend: React.js, styled-components
•	RPC & Token Data: Alchemy API
•	Wallet, Login & Authentificaiton: Privy
•	Zero-Knowledge Proofs: Bevis zk Processor
•	Design: Figma
•	Blockchain Interaction: Web3.js/Ethers.js
background image mobile

Join the mailing list

Get the latest news and updates