NFT Community DAO on Solana: Governance with NFT Voting

Guide to Create NFT Community DAO in Realms

This is part two of a three-part series on creating DAOs in Realms. You can read about the creation of the Multi-sig wallet here and the creation of the Community Token DAO here.

What is NFT Community and how is it related to DAOs?

NFT Community DAO is a decentralised autonomous organisation (DAO) that leverages non-fungible tokens (NFTs) as a means of governance. This means that instead of using traditional tokens like SOL or DAI to make decisions, members of the DAO use NFTs.

What is Realms?

Realms is a platform built on Solana that provides tools for builders to create and manage their own DAO. Using Realms, builders can create their own DAO, which allows them to manage their members, vote on proposals, and allocate their treasury. Realms provides a user-friendly frontend interface that allows DAO members to interact with the smart contracts that govern the DAO.

Realms is built on top of SPL Governance, which is a DAO and asset-type agnostic standard for building and maintaining DAOs on Solana. This means that builders can create any type of DAO they want, whether it's a multi-sig DAO, an NFT Community DAO, or a community token DAO.

Now that we cleared the terminology, let's dive in how to NFT Community DAO.

For easier navigation, this guide is divided into two parts. The first part explains how to enable NFT governance for an existing DAO, while the second part covers how to create a new DAO from scratch.

Enable NFT Voting for an Existing DAO

To enable NFT governance for an existing DAO, you need to activate the NFT voting plugin through the Plug & Play mechanism of spl-governance. This is a relatively simple process that allows you to add NFT voting to your existing DAO without requiring any significant modifications.

The NFT voting plugin grants governance power to NFTs based on the Metaplex Certified Collection they belong to. Metaplex is a protocol for building decentralised applications (dApps) on the Solana blockchain. This certification ensures that the collection has been verified as authentic and meets the required standards for governance.

In the most basic scenario, each NFT gives its owner one vote. This means that if you own five NFTs, you would have five votes when it comes time to make a decision. However, it's worth noting that a DAO can use more advanced scenarios where multiple collections with different voting power are used. This allows for a multi-tiered governance structure where different NFTs can represent different membership levels.

It's important to note that only NFTs with certified collections on their Metadata can participate in governance. This means that if you have NFTs minted with the older Metadata standard, they must be upgraded to the latest version before they can be used for governance.

How to create a NFT Community DAO from scratch?

Prerequisites: This guides assumes that you are familiar with cryptocurrency and crypto wallets, as a Solana wallet is required to use Realms. Help me setup the wallet.

Now that you have your Solana wallet and some $SOL set, let's keep going.

Go to and connect your wallet in the top right corner by clicking on Sign in with Solana. Once you have connected your wallet, hover over it and choose View DAOs, which will open this page for you:

Click on "Create DAO" button and the following wizard will be shown:

Since we are creating a NFT Community DAO, click on NFT Community DAO option.

1) Choose a name

Your DAO needs a name, so now is the time to choose one. We will use SMB Collection as an example in this walkthrough.

Realms will provide a governance program ID by default, users can add their own customer Program ID under Advanced Options at this step in the community token DAO wizard.

2) Select an NFT collection for your DAO

In this step, you will need to add the address of the NFT Collection you wish to use for voting.

It is important to ensure that the collection is certified by the Metaplex standard. This certification ensures that the collection has been verified as authentic and meets the required standards for governance.

Once you have added the collection address, you will also need to input the number of NFTs in the collection. It's important to be as accurate as possible with this number, as it is used to calculate the number of votes needed for a proposal to pass.

Finally, you will need to adjust the percentage of the total NFT supply that is required for a proposal to pass. By default, the threshold is set to 60%, but you can adjust this based on the needs of your DAO.

For example, if the approval threshold is set at 60%, this means that a proposal needs to receive 60% or more "yes" votes to be approved. If the proposal receives less than 60% "yes" votes, it will not be approved.

DAOs can set their own approval thresholds, and they can vary depending on the context and the specific rules of the DAO. In some DAOs, the approval threshold may be set very high to ensure that decisions are only made with a broad consensus, while in other DAOs, the approval threshold may be set lower to allow for more flexibility in decision making.

3) Add a Council to your DAO

In this step you will be able to create or use an existing token for the DAO's council.

If the your DAO's Council have an existing token select "Yes" and provide the address of the token you would like to use. If the your DAO's doesn't have an existing token select "No" and skip to the next step.

Realms will automatically say if the token address is correct or not.

Whether to create a new token for the DAO council or use an existing token depends on the specific goals, structure, and context of your DAO. Here are some factors to consider:

  1. Purpose and utility: If the existing token already serves the DAO's purpose and aligns with its goals, using it for the council can streamline governance. However, if a new token can provide additional utility or better align with the DAO's objectives, creating a new one may be beneficial.

  2. Token distribution: If the existing token's distribution is fair and representative of the community, it may be suitable for the DAO council. Otherwise, a new token might be necessary to ensure broader and more balanced representation.

  3. Community engagement: Using an existing token can leverage the existing community and its interest, while a new token might attract a fresh audience and foster new engagement.

  4. Economic factors: Consider the potential impact on token value, inflation, and overall token economics when deciding between using an existing token or creating a new one.

4) Invite Members

In this step you will be able to invite council members to the DAO by using their Solana wallet address.

As mentioned in Realms, Council members can supervise and moderate DAO activities. It’s recommended to always create the council for DAOs in their incubation stage to prevent governance attacks or accidental losses of assets managed by the DAO.

5) Set your DAO's council approval threshold

In this step you will be able to invite council members to the DAO by using their Solana wallet address.

Starting with a lower approval threshold can provide easier decision-making and flexibility, but may also risk power concentration and susceptibility to attacks. The ideal threshold depends on the DAO's goals, community needs, and balance between efficiency, decentralisation, and security.

The specific threshold will depend on the goals and characteristics of the DAO and its community. It can also be adjusted over time based on feedback and experience, as the community's needs evolve.

6) Review

Make sure to review all info and double check if everything is correct.

Then just click Create NFT Community DAO, your wallet will pop up asking for signature. Approve it and deploy the DAO.

After the transaction is complete, you'll be redirected to the DAO's page.

And that's it. You created a DAO. πŸ‘πŸ‘πŸ‘

Need help or have feedback?

We've put together some documentation here, but if you still have questions you'd like answered we’d love to hear from you.

You can reach us via Discord and Twitter.