project screenshot
project screenshot
project screenshot


How can DAO members collectively manage the DAO's social presence using lens protocol? While anyone can see the DAO's public account, only the gov token holders can see, create or upvote content of the private one. Then, the winning content is auto-mirrored by the public account.


Created At


Winner of


📦 Lens Protocol — Best Composable Content Hack


🏆 Chainlink — Best use of Chainlink

Project Description

Tooling for Daos: Empower DAO members to collectively manage the social presence of the DAO

By expanding Lens protocol, we ease the challenges DAOS face in managing internal/external communication, monetization, contribution, curation and governance.

1 Profile, 2-tier follower system with Lit encryption to separate content visibility

Tier-1 followers see public feed. Tier-2 followers, (DAOmembers) see both public and private feed, and can contribute and vote on contributions in the private feed.

The smart contract auto-publishes the highest reacted content from internal feed to public feed.

Once the post goes public, an auction for its collection begins, all incoming revenue split between DAO and contributor.

How it's Made

This are the modules we wrote with solidity for the project.


The Lens Protocol doesn't have a way to natively get all of the publication that reference a given publication. We implemented this module (and made it easy to incorporate into other modules) for that exact reason.


Based on TwoWayReferenceModule, it adds a function to count comments with a determinated contentURI. This way we can set up a standard for our app where, for example, if the comment has contentURI="like" then that's counted as a like.


Allows people to post bids to an auction (they have to approve the module as spender for the bidded amount). Then when the auction is closed, the highest bidder is charged (if someones withdraws their allowance before closing they are no longer eligible) and is then able to collect their nft. Mirrors can't be collected (users can still bid, but the frontend shouldn't give them the option).


Allows folowers to include a "member" flag in the call to follow. This charges them a fee and adds them to the module's storage as a member of the profile. A whitelist could be implemented.

For the frontend we used React.js and Ethers.js

background image mobile

Join the mailinglist

Get the latest news and updates