Skip to main content

Protect a DAO with Civic Pass

By default, a DAO grants permission to vote through a governance token.

In many cases, this is insufficient, and a DAO needs to add additional constraints to its membership based on their real-world identity.

Example use-cases are:

  • Sybil-resistance and one-person-one-vote
  • DAOs with quadratic voting systems
  • Location-specific DAOs
  • Bot-resistance
  • Age-gated DAOs
  • DAOs that require KYC

The Civic Pass plugin allows a DAO to connect their DAO to Civic Pass, a platform using the decentralized Gateway Protocol to verify and tokenize aspects of their members' real-world identity.


Please review the Civic Pass Terms of Service carefully before continuing. By installing or integrating the Civic Pass (or Captcha) plugin, you agree to Civic Pass Terms of Service on behalf of the organization, company or other legal entity for which you act; and represent that you have the authority to bind the same.

If you do not have such authority, or if you do not agree with this the Civic Pass Terms of Service, you must not continue and may not use the Services.

In order to enable the Civic Pass plugin, use the following steps:

Create DAO

Create a Community Token DAO in Realms.



The spl-governance program version must be equal or higher than v2.2.6 for the Civic Pass plugin to work correctly. If the plugin is enabled for older versions it can result in irreversible deadlock of the DAO.


Set up the DAO with a council token.

The Civic Pass plugin does not affect the council. Setting a council allows the configuration of a DAO without requiring the council members to first obtain passes.

Configure Civic Pass Plugin

In order to configure the Civic Pass Plugin a "Civic: Create Gateway plugin registrar" proposal must be created.


Set the community token as the governance token, and choose a Civic Pass type.


The pass types offered via the UI change as new passes become available. Check for more details.


Coming soon: Combining passes. If you are interested in using more than one Civic Pass type at once, contact or visit the Discord.

Enable Civic Pass Plugin

Once the Civic Pass plugin configuration proposal is voted on and executed, the DAO can enable it through a DAO Config Change proposal.

From the DAO parameters page, select Change Config option


and set the Community voter weight addin parameter to the Civic Pass Gateway Program Id GgathUhdrCWRHowoRKACjgWhYHfxCEdBi5ViqYN6HVxk



If you want DAO community members to be able to create proposals, as well as vote on them, while still on the DAO parameters page, select 'Change Config' on the Governances section, and check the "Enabled" toggle beneath "Min community tokens to create proposal".


Obtaining a Civic Pass

Once the Civic Pass plugin has been added correctly, a button will appear on the DAO page.


The button shows the status of the current pass. A status of "Active" indicates that the member's pass is valid, and they can interact with the DAO.

Clicking the button opens an iFrame, which guides the user through the process of obtaining a Civic Pass.


The Civic Pass plugin supports composition with other plugins. However, the Realms UI does not yet expose this feature. If you are interested in using the Civic Pass plugin with an NFT Community DAO, please contact Civic or visit the Discord.