While searching for the next interesting web3 niche to deep dive into, we came across the concept of NFT Access Tokens. Nowadays, these sorts of NFTs are primarily used to join private Discord and Telegram communities.
Still, a significantly larger opportunity lies in many online and offline communities and events that might utilize this technology.
On the other side, besides understanding the state-of-the-art within a specific niche, the important aspect of every research we undertake is identifying and preferably verifying existing challenges and problems.
Thus, besides overviewing the Access NFT tools niche, we focused on space for improvements. More previously, we focused on the existence of privacy concerns and space for technical improvement within current tools that allow access to Discord and Telegram communities.
Our presumption was that: “Through using centralized services and storing the user’s private information (wallet address and username), existing solutions periodically verify the user’s possession of specific NFT”.
If it is correct, a few companies store enormous amounts of this user’s private information. They might connect millions of Discord and Telegram usernames and email addresses with their non-custodial wallet addresses.
The whole niche might be divided into 3 categories:
and each of these categories includes centralized and decentralized solutions.
But let’s start with the tools that gate access to the Discord and Telegram communities as they are most interesting from the perspective of our presumptions.
However, the Collab.Land documentation is scarce and it is focused on explaining how to connect their bot rather than explaining how it works.
Also, we could not find any other useful information as their solution was not open-sourced. Thus, we reached out directly to them, looking for answers that will help us test our hypothesis. Based on the answers we received, Collab.Land stores connections between users’ personal information and their wallet address.
Swordy-bot is also a Discord bot used to verify and grant access to a specific Discord channel (server) if a user has required token(s).
Flow is similar to the one explained above but compared to Collab.Land, Swordy-bot is built on top of decentralized Unlock Protocol. However, as well as Collab.Land it stores and keeps a connection between user’s personal information (Discord id) and wallet address in their centralized database.
We came to that conclusion (again) based on the information provided by their team members.
Another common thing with Collab.Land is that Sword-but is not open-sourced. Worth mentioning is that, even though Collab.Land is the sovereign ruler, Swordy-bot is used as a gatekeeper by more than 100 Discord communities.
Since these solutions are top choices for each Discord community manager when it comes to finding a tool for getting access to their server, both solutions store and keep track of the user’s wallet address and username centrally. We could confirm that our presumption was correct.
After that, we went a step further and analyzed other solutions used for content gating.
Unlock Protocol [Decentralized Protocol]
Unlock Protocol is an open-source protocol, not a centralized platform, used to create an underlying infrastructure for token gating content (communities, applications, websites pages, sections, images, videos, etc.)
- user (admin) to deploy a set of smart contracts (on Mainnet, xDAI, Polygon, BSC, or Optimism) and define gating details (number of keys, key price and key duration).
- regular users to purchase a key (an NFT) and access content.
UP is the underlying layer that allows other tools to build on top of it and utilize its functionalities. Bellow are listed use cases enabled through community-developed integrations (apps and plugins) build on top of Unlock Protocol:
- Swordy-bot – gating Discord communities (servers and channels).
- Discourse plugin – gated content on Discourse.
- WP and Webflow plugins – gated website pages or sections.
- Durap module – gating content on Durap.
- Slack plugin – gated Slack servers.
- Shopify app – allows merchants to offer special memberships to their customers.
Plugins and other integration tools are the ones that connect blockchain with specific apps (Discord, Slack, etc.). Hence, they are centralized solutions that monitor what’s happening on a blockchain (whether the wallet address still holds an NFT) and inform apps about that. Something like reverse oracles.
All in all, Unlock Protocol is a customized set of smart contracts with the following functionalities:
- Minting and sending NFTs (locks) to users.
- Collecting and withdrawing crypto on behalf of admin.
Also, if needed, it can support more traditional (web2) authentication methods by storing private keys on behalf of a user. Also, UP support CC payments.
You are right if you think that all of the above may be done without UP. However, it is much easier and faster to implement all of these functionalities by using Unlock Protocol than by developing all of the smart contracts and features from scratch.
Whale room [Centralized Platform]
Whale room is a centralized platform that enables users to create their chat rooms within the platform and gate them by setting up the access requirements (required tokens). Also, it supports token mining and distribution (to the community members).
Whale room is an alternative for using Discord (or Telegram) with Collab.Land (or Swordy-bot) as it offers both, chat rooms (as Telegram and Discord) and token gating functionality (as Collab.Land and Swordy-bot).
MintGate [Centralized Tool & Platform]
MintGate is a tool that allows users to hide content (URL) and present it only to the ones that possess specific NFT. Users can use MintGate to deploy new NFTs required to access content, but it also supports using other NFTs minted in the other way.
In addition, MintGate recently created a centralized platform that offers the creation of your store and gating it with MintGate technology.
Guild [Centralized Platform]
In combination with its Medusa bot, Guild gate the access to Discord private channels rather than the whole discord server.
Compared to other solutions, it supports more complex requirements logic by combining the following requirement options: possession of an NFT, amount of an ERC20 token, and opportunity to whitelist wallet addresses.
Besides this feature and difference, it offers the same options as using some of the previously mentioned bots combined with Discord or Telegram (that you also need if you want to use Guild).
After using available tools, going through their documentation, and discussing with their team members and community, we concluded that our presumptions are correct.
There is a privacy concern as these tools are centralized solutions that store and keep the connection between users’ identities (Discord/Telegram names) and their wallet addresses.
The challenge is constructing the middle layer that connects blockchain and apps (Discord and Telegram) and making it more decentralized and anonymous.
Today, those solutions are centralized bots that keep an eye on what’s happening on blockchain, whether the wallet address (user) still holds an NFT, and inform apps about that.
Something like “reverse oracles,” which tell the off-chain world what is happening on-chain, or a protocol with a similar specification that results in yes or no answers if the token is still in possession.
Finally, based on the research and insights we gathered, we can conclude that there is a space for technical improvement and reason to move to the next step.
Besides deep-diving into web3 niches and recognizing the space for improvement, we at 3327.io are dedicated to building solutions that might fulfill those challenges.
Thus, the next step requires working on a decentralized and open-source solution that utilizes the ZK tech and provides the same functionality as current solutions.
It checks whether users hold an NFT and informs Discord or Telegram about it without storing and keeping the connection between users’ identities (Discord/Telegram names) and their wallet addresses.
Precisely, a solution has to:
- Know whether the user possesses a specific NFT (contract address, ID, Blockchain, Token Standard) and inform the Discord server about that
- Recognize when a user doesn’t possess NFT anymore and inform the Discord server about that. Ensure that the user has access to discord channels as long as he/she keeps NFT. Once NFT is no longer in possession of the user, he/she loses access to Discord channels.
- Be open-source
What solution must not do:
- Keep track (connection) between the user’s wallet address and user (his discord/telegram username)
- Allow more than one user to access Discord channels using the same NFT