Superdao OS

Introduction

Superdao is an all-in-one platform to start, manage and grow DAOs. A substantial part of our product is Superdao OS — a smart contract framework to build and run organizations on the blockchain.

Our priorities

A smart contract is a set of rules and guarantees between members inside the organization. It lets a group of people interact with a protocol they agreed upon, without having to choose a trusted third-party provider for it. Blockchain technology itself does not answer questions like how they should interact, what protocols should be applied for certain cases, how participants should be motivated, etc.

We see various forms of organizations emerging during the last years, however, there is still no consensus form for all types and stages of organizations. We cannot develop theoretical models or simulations well enough yet, so our main priority becomes the flexibility of the framework, for DAOs to try different structures, change them as they grow, success or fail, and repeat. The successful forms are then replicated by other organizations creating a reusability network effect between organizations. For example, we already see the reusability of NFTs for membership and lightweight governance for early-stage organizations.

Blockchain vs private backend

Unlike blockchain, the private backend is a closed system that stays consistent within itself while sustaining high throughput. We assume that services are surrounded by a hostile network environment, so for any state change across different services in order to be consistent we have to add something in between like “glue”. Usually, the solutions are either to add a scalable fault-tolerant shared storage (nail them all to a wall), create a separate “transactional core” service (choose one of them as “the reliable” and “glue” the rest of them to it), or to add a shared message broker.

It gets even more complex if we have some shared state across multiple private backends. Sharing user identity is a good example of this need. To do that with a private backend, we need to agree on authentication data exchange protocol and also choose a trusted storage “glue” provider. Blockchain just solves it easier. It is a serverless global storage layer with ACID-like transaction support that could play a “synchronization point” role for different entities including web2 private backends. So, we build a core data layer on the blockchain, but we also find the web2 stack useful for certain cases.

Superdao OS — layer zero for DAOs

Now let’s dive deeply into our protocol structure with a focus on our key priorities — flexibility and reusability.

What does the usual DAO structure look like?

Most of the existing DAO frameworks have the following structure — core contract with ERC20 token-based governance, and delayed execution of an arbitrary transaction when the quorum is reached. There is a number of on-chain organizations that successfully use this kind of structure, they are mostly mid or late-stage. We see that this form does not meet the requirements of flexibility, and implies a lot of constraints on the organizational structure, such as multiple steps of decision making, quorum achievement strategy, and membership definition.

Superdao OS structure

An operating system-like protocol satisfies our requirements for flexibility and reusability. OS is basically a core module that keeps track of all other modules, OS pattern has proven to be flexible.

Protocol

DAOContructor contract is the factory of DAOs. DAOConstrutor allows creating and configuring an initial set of contracts for a DAO. It is in charge of initializing proxy layers, imposing implementations, and deploying kernel, modules, and all essential deployment Settings.

APP Manager contains all logic inside, which defines how certain app sets, connects, resets, etc.

Update Manager allows us to add new modules to the DAOs deployed with OS. Currently, we have in-house modules only, we are planning to add new ones and open protocol for third-party developers.

Core

Kernel contract is the heart of the DAO. It stores all connected applications, addresses, and permissions between them. Each application has a set of permissions that may be granted to other registered applications.

Membership

ERC721Properties contract is a membership contract. NFT defines membership in a DAO, it may also grant governance rights. Currently, we support ERC721 standard for membership, and we are planning to add other configurations, such as ERC20 and ERC1155 standards.

Distribution

NFT distribution is a crucial process for the DAO launch, growth, and fundraising. We are continuously working on adding new distribution mechanics and polishing current ones.

Claims

  • WhitelistClaim – enables token distribution among a list of already approved addresses
  • LinkClaim – makes possible token distribution with unique links, with which receivers can claim NFTs

Sales

  • WhitelistSale – provides a mechanism for selling tokens to the list of approved wallet addresses
  • OpenSale – grants a unique arrangement for selling tokens to everyone

 

AdminController describes how DAO admins interact with each other and their access rights. It has two options — hierarchical structure with Creator and dependant Admins, and multisignature-like governance with equal Admins. The latter allows to implement role-based access control to different modules of the contract, e.g. do the airdrop, edit token sale parameters, or revoke membership.

UniswapV3Oracle – this smart contract heritages the basic oracle performance in the integration with UniswapV3 pools for price-making of ERC-20 tokens.

Gas payment

Gas fees and transaction signature is a big challenge for the user experience. Many creators start working with DAOs with zero balance on their wallets. CallForwardersmart contract (EIP-712 successor) is designed to solve this issue. It allows us to perform meta transactions, meaning that we can pay gas fees for the users. It also helps to complete batch transactions, so that users sign only one transaction instead of more, for example when they change multiple parameters of membership NFTs.

TL;DR

  • DAO creators can use a number of smart contracts that fit their needs, create and sell NFT, form NFT collections, set up DAO members whitelist, manage treasury, set governance, and can do even more with third-party apps.
  • Superdao OS is a base for creating an on-chain organization, we aim to make it flexible and reusable. We believe that experimenting with modules, evolving smart contracts as an organization grows, and replicating successful cases is a great way to bring more successful DAOs to the market.