A few weeks ago, we build our own token-gated community for a series of MeetUps around digital topics in Prague. In the first MeetUp, we helped to onboard ~60 people to install Metamask, send them our community NFT and then asked them to generate a venue ticket via ETHPass to learn the basics of token-gated communities. The event was really nice 😊 and showed us that this time we should care more about the beautiful community. In the past, we dropped NFTs like there was no tomorrow, but completely sucked at building an engaged and active circle. All of our previous NFTs are basically dead projects on the blockchain and we never engaged with them beyond the mint.

To involve and grow our community and to evolve with them, we think we need a better tooling in the hands of not just developers. A tooling that allows non-devs to segment their community based on various attributes, to message them and to build utility for them. In the old web this may feel like a CRM, yet our tool wants to revert the idea of extracting value out of a customer towards creating utility for a token holder and improving local communities.

What it does

Our tool allows you to generate a list of wallets through segmentation queries and to engage with those wallets. For instance, you could query for all wallets holding your communities OG NFT for more than a year and having a POAP for a certain community event engagement, e.g. doing a talk at a Meetup. Once you segmented your community and generated a subset of wallet addresses, you can engage with those wallets via the tool by sending them a Blockscan message or airdropping any kind of token that you seem fit.

How we built it

We used Moralis as our dapp engine and web3 provider. The frontend is written in React, Material UI and Styled Components (whenever we did not simply just used images from Figma 🙈), skipping TypeScript this time. We integrated The Graph to query for the segments and added Blockscan Chat for the messaging to the segment. Muralis provides the token distribution methods if you want to airdrop to your segment.

Challenges we ran into

We waited quite some time to get the BlockScan API keys and started to re-design the application before the keys arrived late Friday night 😅 We also had to test most of the application on Ethereum Mainnet as we would only find kind of relevant sub-graph query results there. Being on Layer-1 limited us on showcasing a combined airdrop and messaging via Blockscan to segmented wallets as the gas fees would have simply been to high. We will thus only showcase the Blockscan chat integration and will skip some token transfers which the jury may or may not believe we would be capable to implement 😅

We also did not manage in the constrained time to build a single The Graph query combining a query of two NFT tokens in one wallet (e.g. all wallets with BAYC and MAYC). We decided to then just simply sending two async queries to The Graph and combining them in the frontend which gives the same result, it's just not technically so beautiful.

The Graph also only returns up to 1.000 wallet addresses to us, which could be a limitation for large token communities. Whatever, later 😅

Accomplishments that we're proud of

Everything we achieved, mean it, check it out for yourselves. The UI design is simply gorgeous, wish we would have been able to implement it in time (but we submitted some images of the UI on the project here) 😬 A team member was shortening his attendance of a friends wedding to be back with us to hack. We even still had the time to generate a POAP for our hack team to remember this awesome hackathon.

What we learned

Deep diving into The Graph. BlockScan Chat API and it's limits (being Web 2.5 and unencrypted). Simple ideas are still pretty complex to develop with the current Web 3.0 stacks. Hackathon projects build faster than the projects in our day-to-day engineering fields. We started the project with web3.js, until we discovered that Moralis can give us the basic functionality even easier.

What's next for Segmentum

We created a tool, and tools can be used for good and bad things. Segmentum can be very useful for community managers to find the right people among anonymous wallet groups, but it can also be used as a spam tool to send arbitrary tokens or messages to wallets. We can improve this tool adding more spam protection layers, more drag and drop functionality and more queries blocks for a more accurate search and also more output functionality, for instance integrating with Web 2.0 like Discord or Signal/Telegram.

Getting Started

  1. Connect your wallet
  2. Go to "Create Segment"
  3. Use these two contract addresses: Bored Ape Yacht Club 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d and Mutant Ape Yacht Club 0x60e4d786628fea6478f785a6d7e704777c86a7c6 to build your query
  4. You should see now a list of wallet addresses that match your query (if the Subgraph is answering 😅)
  5. Scroll down to "Act on Segment"
  6. Write to to lend my API key for blockscan chat
  7. Post a message and see it at
  8. Good luck ✌️

👋 you beautiful community member. Big ideas start from humble beginnings 🌱. ETHPrague 2022 - Stay pure, stay foolish 🐼.

Thanks for all the 🐟🐠🐡. This event rocks.

Built With

Share this project: