CityCoins DAO Technical Implementation - Proposal


This proposal is on behalf of StackerDAO Labs and focuses on the technical implementation of CityCoins DAO. While past proposals have focused on the general governance structure and the community layer, none have focused on the actual smart contract implementation—a key component of any DAO.

StackerDAO Labs has developed the StackerDAO protocol—a smart contracts DAO operating system for on-chain DAOs that is optimized for modularity and composability. Having CityCoins DAO built with StackerDAO would grant it maximum flexibility, as every StackerDAO is easily upgradable and amendable.

Additionally, CityCoins DAO and any related subDAOs can manage on-chain governance, treasury management, and legal & compliance directly from our StackerDAOs no-code platform.

StackerDAOs will be ready by the second week of June, and as the first DAO infrastructure project live in the Stacks ecosystem, will be ready to deploy a CityCoins DAO and have our front-end available for governance when the CityCoins community is ready to launch the DAO.


This proposal is needed because there has been a lack of discussion of how a CityCoins DAO will be implemented on a technical level. While discussions about governance structure and community management are incredibly important in order to further the mission of CityCoins and ensure that all trade-offs and possibilities have been considered, a DAO is run on smart contracts. Thus, there is a missing hole in the discussions as eventually, the chosen governance structure will need to be expressed into smart contracts. A front-end would need to be built to allow everyday members to easily participate in governance. Due to the modular and composable nature of the StackerDAO protocol, essentially all of the governance structures that have been discussed could be expressed through the operating system. Our StackerDAOs platform is built to optimize the user experience of DAO members using the StackerDAO protocol.

Both the CityCoins DAOs and any associated subDAOs will also need to manage their legal and compliance needs. By the end of the summer, StackerDAOs will release its first wave of legal tech tools for DAOs. This will allow any CityCoins DAO or subDAO to easily form a legal entity (both for-profit and nonprofit entities) with just a few clicks of a button. Additionally, we will be providing integrations to assist with taxes and quickly create a bank account for off-chain activity. Thus, StackerDAOs could be a key tool in enabling the CityCoins DAO ecosystem to quickly scale by not being hindered by legal & compliance issues.

Therefore, StackerDAO Labs submits this proposal to discuss engineering and compliance solutions that can actually bring the CityCoins DAO ecosystem to life.


There are three components to our proposal:

  1. The StackerDAO Operating System: smart contract implementation for modular and composable DAOs

  2. DAO legal tech tools & compliance solutions

  3. StackerDAOs: no-code DAO generation & management platform

StackerDAO Operating System

StackerDAO Labs has developed 44 smart contracts for the StackerDAO protocol and counting, which can be found here: GitHub - StackerDAOs/backend: No-code platform, dev tools, & legal tech to build & manage Bitcoin DAOs on Stacks.

StackerDAO is a DAO smart contract operating system. It is the underlying smart contracts that power a DAO and is optimized for modularity and composability to make it compatible with future tools and applications developed by the Stacks ecosystem.

StackerDAO is a fork of ExecutorDAO, and models its design in the same modular and flexible way. The core tenets remain the same:

  1. StackerDAO core executes.
  • The base of StackerDAO is just one core, simple contract. This core contract only executes proposals and keeps a list of extensions that the StackerDAO has enabled. There are no other features. No membership rules, voting rules, functions, or tokens.
  1. Extensions give form.
  • Extension contracts give a StackerDAO its form. Extensions provide a StackerDAO with its governance structure and enable it to take certain actions. They assume the “sending context” of the DAO, and therefore can create state change. After initial deployment, extensions can be enabled or disabled via proposals passed by the DAO.
  • Extensions will vary by DAO use case with different enabled extensions creating different structures for different types of DAOs. Examples of extensions include:
    • Treasury: Create a treasury for the StackerDAO.
    • Membership: Allow the StackerDAO’s membership to be gated by specific fungible token contracts, NFT contracts, or whitelisted wallet addresses.
    • Voting rules: Determine a percentage of voters needed for quorum and for proposal approval
    • Treasury management: enable the StackerDAO to stack tokens, stake tokens, interact with DeFi protocols, buy/sell NFTs, mine PoXL tokens, and more.
    • Token issuance: Create a governance token or membership NFT and manage its issuance.
    • Protocol governance: Manage the smart contracts of an underlying protocol.
  • Since extensions become part of the DAO, they have privileged access to everything else included in the DAO. Extension interoperability is enabled by a common authorization check. Privileged access is granted when the sending context is equal to that of the DAO or if the contract caller is an enabled DAO extension. This allows for extensions that depend on other extensions to be designed. They can be disabled and replaced at any time making StackerDAO fully polymorphic.
  1. Proposals are smart contracts.
  • StackerDAO proposals are expressed as smart contracts, enabling StackerDAO to have automatic proposal functionality (when a proposal is approved, the StackerDAO executes the underlying logic of the proposal contract). These smart contracts implement a specific proposal-trait and may be executed by the DAO when certain conditions are met. This allows StackerDAO to be extremely flexible and have an almost limitless amount of potential actions that it can take.
  1. Ownership control happens via sending context.
  • StackerDAO follows a single-address ownership model. The core contract is the de facto owner of external ownable contracts. (An ownable contract is to be understood as a contract that stores one privileged principal that may change internal state.) External contracts thus do not need to implement a complicated access model, as any proposal or extension may act upon it.
  • Any ownable contract, even the ones that were deployed before StackerDAO came into use, can be owned and managed by the DAO. This is particularly useful for projects that want to progressively decentralize, allowing a StackerDAO to manage fungible token contracts, NFT contracts, protocol contracts, and others even if the contracts were deployed before the creation of the StackerDAO. Thus, projects can be more centralized at launch, and then, once they are ready for a DAO to take over, launch a StackerDAO and turn over ownership of their contracts to it.

StackerDAO: CityCoins DAO Implementation

Given StackerDAO’s modular and composable nature via its use of a simple core and extension contracts, StackerDAO can be used for all of the governance structures that have been discussed by the community. We’ve already developed membership contracts that gate by whitelisted wallet addressed (effectively a multisig), NFTs, and fungible tokens.

Further, we have developed a collection of “delegation” contracts, as well as a SIP-010 delegation trait, where token holders can delegate their voting power to delegates. The DAO can then set a certain percentage of voting power needed, like 1%, and only delegates with 1% or more of voting power could then submit and vote on proposals.

Within the context of proposals currently submitted and discussed by the CityCoins community, StackerDAO Labs can develop an extension to require delegates to hold an NFT from a specific NFT contract and limit the amount of delegates to those with the top 5 (or 7 or 9) voting power. This would allow the CityCoins Foundation to issue KYC’d NFTs to potential committee members. CityCoins token holders can then elect who they would like to be a member of the committee by delegating their vote to individuals with this NFT, and the top 5 (or whatever number the community elects to be appropriate for the committee) could then submit proposals and vote for the CityCoins DAO.

Finally, because every StackerDAO can own external contracts, if a CityCoins DAO is built on StackerDAO, a CityCoins DAO can be the owner of any of its related CityCoins protocol contracts. This would allow the CityCoins DAO to make changes to the CityCoins protocol contracts (entirely optional).

SubDAOs: StackerDAO can also power any teams or subDAOs that request funding from a CityCoins DAO. The SubDAO can start off as by just using the core, treasury, and multisig extensions, effectively functioning as a multisig. This would be appropriate if the subDAO is starting off with a few core members. However, as the “multisig” subDAO becomes more and more successful, it can then expand into a full-fledged DAO. For example, the DAO may decide to issue NFTs and use the NFTs as membership for its DAO. The subDAO can deploy the NFT contract and issue the NFTs, all while being the owner of the NFT contract. It can then enable an NFT membership extension using the NFT contract for membership and disable the multisig extension, converting the multisig DAO into an NFT community DAO. This allows teams to start off centralized and progressively decentralize and become their own DAO managed by its community when the time is right.

DAO Legal Tech & Compliance Solutions

Most DAO legal/regulatory issues fall under three buckets:

  1. Entity Formation
  • What type of legal entity (if any) should there be for the DAO or subDAO?
    • For profit? Nonprofit?
  • Member liability
    • Limited liability
    • Member defense agreements
  • Contributor/IP agreements
  • Bank Accounts
  1. Securities
  • Securities forms and disclosure filings (if token is a security)
  1. Tax
  • What jurisdiction does the DAO owe taxes in?
  • How much does the DAO owe?
  • Tax forms

Legal tech tools & compliance solutions: (Given the decentralized nature of CityCoins, this proposal assumes that securities issues are not at play here [not legal advice, solely an opinion]). By the end of the summer, StackerDAO Labs will have legal entity formation—both for profit and nonprofit entities—enabled for DAOs with just a few clicks. We will have model formation documents on our platform and are working with partners to be able to quickly file these documents with the relevant state authorities (formation docs still need to be manually filed). We are also working with various partners to enable any DAO that forms an entity to be able to easily open a bank account and receive tax related assistance, including generating tax forms and estimates.

The CityCoins DAO ecosystem, including various SubDAOs that request funding, will likely have to form entities, want to shield their members from liability, and have tax obligations. Thus, to scale, it’s imperative that the ecosystem has access to easy legal and compliance solutions. Accordingly, StackerDAO Labs’ legal tech tools would be a valuable resource for the CityCoins community.

StackerDAOs Platform

StackerDAOs is a no-code DAO generation and management platform developed and operated by StackerDAO Labs. StackerDAOs makes use of the StackerDAO operating system and is a one-stop shop for DAO generation, proposal submission, member voting, treasury management, and legal tech solutions.

Users will be able to launch and manage off-the-shelf DAO templates on StackerDAOs, as well as manage custom DAOs developed by StackerDAO Labs and its affiliates.

:url “”,

:url “”,

The CityCoins community can use StackerDAOs to submit proposals, vote, manage the CityCoins DAO treasury, form a legal entity, engage in certain legal agreements, and assist with taxes. Additionally, members of any CityCoins DAO will be able to form a subDAO directly from the main CityDAOs dashboard. All members of a CityDAO can view and monitor any associated subDAOs.


  • This proposal submits that the CityCoins DAO and related subDAOs should be on-chain DAOs. By being governed by smart contracts, on-chain DAOs optimize for decentralization, trustlessness, and censorship resistance. Having the DAO off-chain opens up potential attack vectors as then trust is required for things ranging from accurately tallying votes to managing the DAOs’ treasuries. Furthermore, because they are more decentralized, on-chain DAOs decrease the chance that the CityCoins tokens are securities.
  • This proposal assumes that CityCoins tokens are not securities. If CityCoins tokens were securities, then some of the structures and compliance solutions discussed may not be applicable. Neither StackerDAO Labs nor the author of this post is providing legal advice in this proposal.


  • This proposal does not make an opinion as to what is the optimal governance structure for CityCoins DAO. Rather, this proposals submits that the StackerDAO protocol can be tailored to meet the needs of any proposed structure.

  • Community management is outside of the scope of this proposal. The community can use other tools, like Console, Frens for Discord, or any other tools that may arise for DAO community management, such as chat, forum discussions, and contributor management.

  • Off-chain voting is outside the scope of this proposal. While this proposal submits that on-chain voting should be used for any on-chain actions, such as treasury actions and protocol changes, off-chain voting can still be a useful tool to collect community sentiment on certain ideas before submitting a formal on-chain proposal.


GitHub - StackerDAOs/backend: No-code platform, dev tools, & legal tech to build & manage Bitcoin DAOs on Stacks.