Evan Powell

Posted on Feb 14, 2022Read on Mirror.xyz

Wen bootstrap DAO? - trying out DAO tooling & NFT community gates

In late 2021 I joined wagmas, a discord discussing forming a new DAO intended as a hype-free space for web 3 adoption - in support of the web3summit.  I gravitated to researching the underlying technology and architectures and set out to collaboratively build in public an understanding of what software and services could relatively easily help us to form a DAO.  

I quickly found that the adoption of web3 primitives, and their development, are each progressing so quickly that I found it challenging to determine which patterns are likely to become solid foundations for at least months if not years to come.  Other sources of uncertainty include: 

  • Confusing government regulation

  • Widely publicized security breaches

  • Multiple DAO dramas including ENS, Wonderland, MakerDAO, PenguinDAO, OlympusDAO, and elsewhere

  • The emergence of multiple EVM compatible blockchains as alternatives to Ethereum

  • The announced launch of many promising DAO frameworks such as SuperDAO

  • The likely perspective of a future member of wagmas - some of the decisions we are making they may need to live with for some time; what technologies will they want to work with?

  • Indications that 2022 may be “the year of the DAO” with many predicting a 10-100x growth in the number of DAOs in 2022

    In this blog, I try to extract the signal from the noise of our research.  I share what selections we made for our upcoming distribution of NFT based web3summit tickets and for our governance capabilities as well. 

Before I get any farther let me shout out to the DAO Masters community - I’ve been lurking over there, asking a few questions, and have found their pages on many common tools to be invaluable starting points.  Check them out here:  https://www.daomasters.xyz/

TL;DR: for our initial release of NFT sponsorships and tickets and DAO management, we are using MintRare, Unlock, Gnosis, and Guild.  We tried a handful of all-in-one DAO frameworks including DAOHaus, Colony, and Aragon, and decided to not use any of them - and to instead focus on our immediate goals of community building as we seek to bootstrap ourselves towards becoming truly a DAO. 

My goals in this research are to explain our thinking as well as what selections we have initially made. We also hope that you consider joining wagmas and helping to make a hype-free, radically inclusive space for web3 including the web3summit itself. Your feedback is welcome and appreciated. Also when you join our Discord you will see the blow by blow of this research which may be of interest to some of you. I know such a blog - and discord discussion - would have saved me a few cul de sacs.  

In future directions at the end of this blog I talk about the potential for something like a boot loader for DAOs.  Please get in touch if you would like to collaborate on best practices, code, and workflows to assist in bootstrapping DAOs or other subjects.  Even if I don’t take up the baton, I may know others that would be keen to join you in creating some of the utilities we all need to further accelerate the shift to DAOs.  

DAO Frameworks:

When a few of us started to examine ways to build a DAO to support the mission and execution of the web3summit - we were motivated by a few related desires including:

  • Freedom from capture and resilience:  we wanted wagmas to be as resilient and free from capture as the underlying blockchains upon which web3 is growing.
  • LFG:  There is no substitute for actually trying out technologies and frameworks - the hands-on experience we thought would help us better understand the opportunities and challenges of web3
  • Radical inclusiveness:  Related to the first point - we wanted to enable a structure in which any one person’s or team's biases, conscious or otherwise, would have a limited impact AND that would enable us to proactively “airdrop” our way towards diversity.

Thanks to those motivations, I looked first at frameworks that might help us create a DAO.  I naively thought that these would shorten the time to “hello world” and thereby could be a starting point for our effort to bootstrap ourselves towards viability. In hindsight, the first work to be done was just creating a website and discord followed by some sort of method to reward sponsors and other supporters while gating access. That said, I started by diving into the DAO Frameworks, looking very briefly at Aragon before diving into Colony and DAO Haus.  

Colony:

You should be able to see our nascent proof of concept here:  https://xdai.colony.io/colony/wagmasalpha

If you connect - assuming you can - and click the beautiful New Action button you’ll see the following:

Colony New Action options

Rather than step through each of the activities - which the Colony docs do a pretty good job of doing https://colony.gitbook.io/colony/ - I’ll just share some highlights. My experiences reflect my naivete as much as it does the beta-level software that Colony has created. The Colony project and foundation attracted me by their mission: enabling a Cambrian explosion of DAOs - and through their open-source approach.  The clarity on their site is excellent as well though I didn’t fully follow their tokenonmics; it seems like they’ll make money as the DAOs on “their” network grow. Their roadmap is impressive as well.  

First experience - get that xDAI. If you are new to the Gnosis chain and to DAI itself then you may want to learn a little bit about the background of this synthetic stable coin. xDAI is a side chain that allows for nearly free - very inexpensive - gas fees. That said, budget some time for first getting the transfer done. 

Also - remember that you may want to create a wallet you use as a burner wallet. You do this for security reasons and to test multiple-member DAOs without waiting on your collaborators; pro tip -> memorize or otherwise track the first X characters of your wallet hashes so you’ll know which ones are connected to which site at a glance. Once you create this wallet and transfer to it some existing crypto, you can then bridge to xDAI pretty easily. The path I took was to use whatever wallet I had and swap to DAI on Ethereum. You don’t want to swap to xDAI on the Ethereum chain. Once you have DAI in your metamask you can head over to a bridge such as https://bridge.xdaichain.com/ and bridge it over to the Gnosis chain. Please note that while xDAI is cheap - Eth gas fees are not. To get even just the 1 xDAI over to the Gnosis that the Colony documents recommend could easily cost $15-$20 in Eth gas fees. Also - while I warned you above not to try to swap on Eth to xDAI, similarly, you don’t want to try to bridge to DAI on the Gnosis chain. 

- cast that DAI / xDAI

The bridging experience was not too too bad for me though I had not done it much in the past.  That said, I did wonder whether a typical collaborator who wants to focus on other things like quickly getting a vote in for governance would be patient enough to take the time.  Keep in mind that every one of your collaborators will need to have xDAI. Also, any funds you receive will need to be bridged over to the xDAI / Gnosis chain as well.  

Once you are connected, you’ll be wrestling with an inevitable cold start problem.  You have created initially your DAO and then setting up the configuration of your DAO - such as issuing tokens and inviting members - will require you to seek approval from the DAO itself.  The way that Colony works around this is by allowing for a Force via a switch in the upper right-hand corner.  That might make a lot of sense as it then at least records the transactions.  On the other hand, it might be best to be able to set up the DAO to initial viability somehow without showing all the work behind the scenes.  At least Colony has thought about this as an issue though, which is not always the case (foreshadowing).  ** **

Another thing you will want to think through ahead of time is the use of tokens for governance and access. The Colony system does not allow you to use an NFT, either ERC 712 or ERC 1155, for access. It may be that a plug-in - Colony does support a plug-in architecture of sorts - will emerge however if, like us, you are starting by creating an NFT for access and sponsorship to events, not having NFTs as an access method integrated into the DAO appears to be a gap. It is one that might be able to be addressed through translating NFTs you create into ERC-20 tokens you also create, however then you are into the deep end of creating tokens.  

If you are going to create tokens for governance - and maybe more - the Colony system seemed easy to use to me.  

A few cautionary thoughts:

  • Creating tokens is one of the first things you do in the Colony and you cannot advance beyond it to consider other aspects of the DAO. So you need to have thought through what your token will be called ahead of time. You can also import an ERC-20 token you have created elsewhere as your governance token.
  • While there are extensions that have to do with KYC - know your customer - these capabilities are not forced upon you when you create a token and then select for it to be able to be transferable. In short, you could accidentally get into an area where for a US DAO you might want to be careful about.
  • The Colony UX is a little difficult or immature - overall I got the feeling that little true design had gone into the interface; the UX does not guide you the creation, recruitment, treasury management, and ongoing execution workflows. Figuring out how to get things done was a somewhat pleasurable treasure hunt (and some of the icons are excellent - suggesting to me that there is design work ongoing and skills in the Colony DAO itself that may not have been fully expressed yet)

Example UX head-scratcher - which text should be clickable?  Is it the blue, the teal, the purple, or the bold?  

Trick question - all of those are clickable at times and so is non-bold gray text, usually but not always. This may be nitpicking - after all we have started projects by coding before implementing a design guide. 

On the whole, I came to enjoy the Colony experience - however, I really wondered whether it would be a solution that other members of the DAO would find easy to use. 

DAO Haus:

After my experience with Colony I thought it would make sense to go towards one of the OGs of DAO tooling, DAO Haus.  DAO Haus is based on the Moloch frameworks, so there is some open source goodness at work here. I was attracted by the number of DAOs that seem to be using DAO Haus. 

In particular, I have a friend doing some stuff with Raid Guild, and their listing looked so cool that I thought I have to try out this approach to building a DAO.  

the cool kids use DAO Haus - why not me?

When setting up a DAO Haus guild you “summons” it.  You’ll find there that there are a few basic profiles that are intended to match with common use cases.  You can also click to see hard mode to set the defaults yourself.

Either way - beware that these settings are irrevocable.  So you’ll want to be thoughtful about what your community - assuming you have one already - will want to see when you set these.

move fast and make irrevocable decisions

You’ll note above that there is a button right above Summon for “Add Multiple Summoners”.  These are essentially your co-founders of the DAO.  I really recommend you get someone else on the DAO on this because once you summons the DAO it is extremely hard to add someone else to a senior role.

Why is that you might ask?  Well - unlike the Colony DAO there is no readily available way to “force” decisions faster than the voting proposal; and, adding every person is by nature a voting proposal. So if you are looking to do a 1-2 day POC of a DAO framework with a collaborator looking over your shoulder and you forget to add their wallet at this stage then you will need to respin the entire DAO and try again. It simply is not possible to add someone that quickly without changing all of the proposal timelines to insanely fast, which then would render them less than useful for the DAO later in life. This catch-22 is minor if you catch that issue immediately however if you spend a few hours on incorporating a test token and so on and then find out that you are marooned alone on this island for a while, it can be a little disappointing.  

Here for example is what happened when I tried to add, well, myself:

getting caught in a catch-22

As you can see even adding myself as a test account could take 5 days - because I didn’t set up the default any differently.  

Keep in mind that it can be expensive to create these DAOs on Ethereum. For that reason, you likely want to use a side chain like Gnosis / DAI or Polygon. It is supposed to also be possible to summons a test DAOHaus DAO on the Rinkeby test net. I didn’t succeed at this however it likely is doable per the docs. Also, it is a little unclear how you would transfer the DAO settings and capabilities from DAO Haus on one chain to another -> the FAQs start to touch on that issue however this remains unclear to me. I never tried that so I’m not sure how difficult it might be; potentially it would be impossible so the notion of having dev / test / and prod the same is truly impossible which makes the devops believer in me pretty worried.   

There are a number of useful integrations with DAO Haus, including simple integrations into Snapshot for voting Gnosis for multi-sig and others. I found initially impressive DAO Books for visualizing and managing the treasury and also found it simple to set up the Discord notifications. 

DAO Haus has a lot of potential

We ended up putting on the back burner DAO frameworks to focus instead on getting ready to launch our NFTs as tickets for the upcoming web3 summits. We did set up Gnosis wallets and Snapshots that we expect to use in the future - and are also anxiously awaiting the much-hyped SuperDAO framework. The SuperDAO web site already suggests that they are partitioning the problem of how to enable DAOs via tooling by looking at distinct phases of the DAO, breaking them into pre-token and post-token phases for example:

promising-looking marketing from SuperDAO

NFTs as Tickets:

Having spent some time on all in one DAO frameworks and, along the way, on a variety of NFT minting and token gating solutions, we ended up selecting MintGate to get started.

MintGate is one of a number of solutions that enables a site to host an NFT marketplace on their site.  What differentiates it, for our use case, is that MintGate also has integrated a number of Unlock-based gating capabilities.  In particular, of all the solutions we have studied, MintGate seems to be the closest when it comes to making it simple and still standards-based to issue NFTs that could be tickets to an event.

To get started with MintGate is simple as explained by their founder in this blog post from October 2021:  https://medium.com/mintgate/deploying-your-own-nft-contract-56bfce7ddd96

Once you connect a wallet and launch the APP you are dropped into the dashboard.  You can see some of our dashboard here:

well designed MintGate dashboard

I’m a sucker for a clean web interface for an admin, like me. I’ll admit it. The MintGate interface was particularly pleasing to use in comparison to the much more cryptic and recalcitrant interfaces for Colony and DAO Haus - neither of which clearly differentiate between different types of users perhaps because DAOs are famously flat organizations.  

I was also attracted by the docs which are clear and full of examples; that said I found a few cases where the product is ahead of the docs (been there, done that). That could be concerning if their practices do not tie doc review to product release; this could mean that the dev team isn’t as tied into the usability of the software as would be optimal from my experience.

For now, though, the explanation on how to set up an NFT gated event is the best one I have found:  https://mintgate.gitbook.io/mintgate-docs/set-up-token-access/create-token-gated-access/how-to-set-up-qr-code-event-pass

We also examined Mirror and NFT.kred. NFT.kred also has a white label capability and its role in NFT.NYC and other events definitely boost their credibility. Their solution looked to me to be simple to use and to have been well thought through for many use cases. Again, it is a good sign that the creators actually have considered the use cases including attendee management.  

NFT.kred interface also looks promising

** **We decided not to use NFT.kred in part because the feel of the MintGate project seemed somehow more open and web3 savvy; in particular, I feel like we are less locked in with MintGate and could migrate towards something like a best of class minting platform like a Manifold plus Unlock underneath if we wanted. I was less clear on how we would be able to unplug from NFT.kred if we needed to do so in the future. Also NFT.kred seemed relatively expensive.

Mirror is a popular solution that seems to be developing quickly.  Even since I joined Mirror last year they have added a number of NFT and Token crowdfunding and auctioning capabilities.  I personally really like the vibe and direction that Mirror is going.  

When you start to set up a Crowdfund on Mirror, you again feel welcomed.  There is a logical workflow that is easy to follow. What is more, they insist on you at least claiming you have read the guides before moving ahead step by step.

step by step from Mirror

That said, we decided not to use Mirror at this point for a couple of reasons:

  1. The NFT you can create and sell are denominated in your ERC-20 tokens. This means that all of the management of our tokens has to be considered and secured; see again some of our concerns around Colony. Again, this could raise concerns about accidentally having a tradeable token. It would also force us to have to answer the persistent “wen token” questions with a thought-out strategy on tokenomics which we are not ready to address.
  2. We were concerned that our attendees may find the Mirror interface a bit homemade-looking. Frankly - I like it better however I understand the concerns.  
  3. Lastly, in addition to needing to think through the tokenization upfront, the use of Mirror also would have required us to think through the gating and the conversion of the NFTs to QR codes for physical access. None of this is impossible, however it is more work for me and others doing the basic DevOps and possibly more to understand for those to come in the DAO. 

That said, Mirror could well be a solution we use for broader tokenization and other use cases.  

As I was finishing writing this up, the Kalidao project beta launched.  It looks promising:  Very interested in https://docs.kalidao.xyz/#features

Also SuperDAO got back to me and suggested we will be included in their beta program.  I will definitely be writing up my experiences on the above two platforms as well should we get access to these solutions.  

Next steps:

From here we will be building a path from our now active discord channel and initial funding towards truly becoming a DAO. It is a bit ironic that the tooling we have in web3 today makes it hard to bootstrap a DAO by requiring a number of apparently unavoidably irrevocable decisions before the community is ready for collective decision making. I wonder if we should take a bit more seriously the comparison to booting a computer - and build something that is NOT the long term DAO but rather is DAO like that exists for the purpose and duration of creating the initially viable DAO, but like the boot program does the handoff to the kernel. If there is anyone reading this that would like to collaborate on that project, please let me know. I think I know how it could look - and see this as something we could create and contribute to the community that might be helpful. 

We should probably also write up aspects of other pieces of our management, including snapshots and Gnosis, and so forth, in order to continue to build in public.  

Again, I would welcome and appreciate any and all feedback. You can always DM me at epowell101 on twitter or find me on various discords including the wagmas one I mentioned and DAO Masters and elsewhere.

NFTDAO