Guides

Documentation

Everything you need to launch, gate, and govern a DAO on Shadow DAOs.

Getting started

What Shadow DAOs is and how to take your first steps.

Shadow DAOs is a privacy-first governance platform. You can launch a DAO, gate its membership, raise funds, and run proposals where every ballot is a secret ballot — the tally is public, but nobody (including us) can see how an individual member voted. It works across Midnight, Cardano, and XRPL/Xahau wallets.

Here's the five-minute path from landing here to casting your first vote:

  1. Connect a wallet. Use Connect in the top bar. We support Midnight (Lace), Cardano (any CIP-30 wallet), and XRPL via Xaman. See Connecting a wallet for details — your wallet is your identity here; there are no accounts or passwords.
    The connect menu: pick your wallet — Xaman for XRPL/Xahau, Lace for Midnight, or any CIP-30 Cardano wallet.
  2. Join a DAO — or launch your own. Browse the public directory to find a community, or launch a new DAO from the dashboard. DAOs go live instantly; Midnight launches pay a small one-time fee on-chain. The free plan lets you join unlimited DAOs and create one of your own — paid plans raise the cap and unlock treasury tools (see the pricing page).
    The DAO directory with public DAOs to join and the Launch a DAO button
    The directory: join a community or launch your own DAO.
  3. Vote on proposals. Open your dashboard to see every active vote across your DAOs in one place, and cast your ballot right from there. How windows, quorum, and outcomes work is covered in Proposals and Voting. If you trust someone else's judgment, you can delegate your vote weight to them at any time.
    The dashboard's Active votes section with yes / no / abstain buttons on a proposal
    Active votes on the dashboard — every ballot is secret.
  4. Stay on schedule. The dashboard calendar shows every voting deadline, community event, and funding deadline across your DAOs, and each DAO page has its own calendar where members can schedule voice chats and meetings.
    The dashboard calendar with vote deadlines, events, and funding deadlines
    The calendar: deadlines and community events across your DAOs.
  5. Earn your reputation. Every vote and proposal earns XP toward your activity level, and the most active participants appear on the leaderboard — under an alias you choose, never your wallet address.
    The Your activity panel with XP level progress and the alias-only leaderboard
    Your activity: levels, XP, and the alias-only leaderboard.

Running a community on Discord? The Shadow DAOs bot brings proposals and voting straight into your server — see Inviting the bot to Discord.

Connecting a wallet

Supported wallets (Midnight, Cardano, XRPL) and how to connect.

Your wallet is your account on Shadow DAOs — there's no email signup and no password. The address you connect with is your identity for joining DAOs, voting, and creating proposals. Click Connect in the top bar and pick your wallet:

  • XRPL / Xahau — Xaman (XUMM). No browser extension needed: choose Xaman, scan the QR code with the Xaman app on your phone, and approve the sign-in. Works for both XRPL and Xahau accounts.
  • Midnight — Lace. Install the Lace wallet extension with Midnight support. Lace also brings its own proof server, which is what generates the zero-knowledge proofs for private actions — all in your browser, never on our servers.
  • Cardano — any CIP-30 wallet. Eternl, Lace, and other CIP-30 browser extensions are detected automatically and listed in the menu.
The connect menu open with Xaman, Midnight, and Cardano wallet options
The connect menu — extensions are detected automatically.

Good to know:

  • Lace chain switching: Lace exposes both Cardano and Midnight. Once connected, open the wallet menu in the top bar to flip between the two chains without reconnecting.
  • Wallet not showing? Extensions inject themselves a moment after the page loads — the menu rescans for a few seconds, so reopen it if your wallet didn't appear at first. Make sure the extension is unlocked and has at least one account.
  • Disconnecting: click your address in the top bar and choose Disconnect. You can also copy your full address from the same menu.

Creating a DAO

Launching your DAO with the one-time fee and the launch form, field by field.

Launching a DAO is instant: fill in one form, pay a small one-time launch fee, and your DAO goes live with governance open right away. There's no funding phase to wait through — you can add an optional funding pool later from the treasury. Here's the launch form, field by field:

The Launch a DAO form with name, description, logo and links, tags, currency, visibility, and membership fields
The Launch a DAO form.
  • Name & Description. The DAO's public identity — the name appears in the directory and on every proposal; the description should say what the DAO governs.
  • Logo & links (optional, editable later). A logo image URL plus website, X, Discord, and GitHub links. These show on your DAO's public profile so members can find your community.
  • Tags (optional, up to 3). Categories like DeFi, Gaming, or Community — they organize and filter the public DAO directory so the right people find you.
  • Currency. The DAO's native asset (e.g. XRP or NIGHT) — used for the launch fee and the optional funding pool later. This also determines which chain your DAO lives on.
  • Visibility. Public lists the DAO in the directory where anyone can view and fund it; Private keeps it invite-only, hidden from listings and visible only in members' dashboards.
  • Membership type & name. The membership asset minted to your community (e.g. an NFT) and what it's called — like "Founding Member." This is the on-chain proof that someone belongs to your DAO.
  • Creator. The connected wallet shown at the bottom becomes the DAO's first admin automatically.

Hit Create DAO and pay the launch fee from your wallet — once the payment is detected on-chain, the DAO deploys and goes live. NIGHT (Midnight) launches pay the fee up front; other chains currently launch free and go live immediately.

After launch: invite members or open up self-join rules (see Gating the DAO), create your first proposal (see Proposals), and note that your plan sets how many DAOs you can create — Free covers your first, paid tiers raise the cap.

Gating the DAO

Join policies: invite-only, open, and token / NFT / proof-gated membership.

Every DAO controls how wallets become members. Admins set the join policy from the Membership settings card on the DAO page:

  • Invite-only (the default). Admins add members by wallet address from the Invite member card, choosing a role for each: admin (full control), member (can vote), or observer (read-only, no vote).
  • Open. Anyone with a connected wallet can self-join from the DAO page with one click.
  • Gated. Anyone may join — if their wallet satisfies all of the requirements you configure. Requirements are verified on-chain at the moment they join.
The membership settings card with the join policy selector and gate requirements
Membership settings: pick a join policy and stack requirements.

Gate requirement types (you can combine several — applicants must pass every one):

  • Token holding. The wallet must hold at least a minimum balance of a token — identified by issuer + currency on XRPL/Xahau, or policy id (+ optional asset name) on Cardano.
  • NFT holding. The wallet must own at least N NFTs from an issuer (XRPL, with an optional taxon filter) or a policy id (Cardano).
  • Midnight proof. For shielded assets that can't be read on-chain: the applicant's browser generates a zero-knowledge proof against their own proof server attesting they hold the required asset. Only the opaque proof hash ever leaves their machine — the balance itself stays private.

Changing the policy later never removes existing members — it only changes how new ones get in. Roles can be adjusted per member at any time from the member list.

Want to charge for membership instead of (or on top of) holdings? See Paid membership subscriptions.

Inviting the bot to Discord

Installing the Shadow DAOs bot and linking it to your server.

The Shadow DAOs bot brings governance into your Discord server: members link their wallets once, then create proposals, vote, and get new-proposal announcements without leaving Discord. Setup takes three steps:

  1. Invite the bot. As a DAO admin, open your DAO's page — the Discord bot card has the install link. Invite it to your server.
  2. Bind the server to your DAO. In Discord, a server admin runs /setup project_id:<your id> — the ready-made command (with your id filled in) is on the same card, one click to copy. One server binds to one DAO; /disconnect unbinds it if you ever need to switch.
  3. Pick an announcement channel. Run /announce-here in the channel that should receive new-proposal announcements.
The Discord bot card with the invite button and the /setup command to copy
The Discord bot card on your DAO page: invite, then /setup.

Members link their wallets once, then vote from Discord — the DAO's rules (roles, proposal policy, secret ballots) are enforced exactly as on the site:

  • /link-xrpl — sign in with a Xaman QR code (or paste an r… address)
  • /link-cardano — sign to prove ownership (or paste an addr1… address)
  • /link-midnight — paste your unshielded address (mn_addr_…)
  • /unlink — remove your wallet link from the server

Day-to-day commands:

  • /proposals — privately list active proposals ( /proposals-public posts them to the channel)
  • /propose — create a proposal with a title, description, voting window (days, or 1/4/12-hour rapid votes), and optional custom quorum
  • /vote — cast a yes / no / abstain ballot with your linked wallet
  • /status and /treasury — DAO overview, treasury balance, and donation address

Discord bot access is part of the Starter plan and up — see the pricing page.

Proposals

Creating, activating, and managing proposals.

Proposals are how a DAO decides things. Each one has a title, a description of what's being decided, a voting window, and a quorum — and every ballot cast on it is secret.

Who can create proposals is a DAO setting (the proposal policy): admins only (the default), or any member except observers. It applies everywhere — the site and the Discord /propose command enforce the same rule.

The proposals section on a DAO page with a proposal form and an active proposal
The proposals section on a DAO page.

A proposal moves through a simple lifecycle:

  1. Draft. Created but not yet open for voting. When it's created, the DAO's voting power is frozen in a snapshot — each member's weight and the total — so the goalposts can't move after the fact.
  2. Active. Activation opens the voting window: a number of days (up to 90), or a rapid 1 / 4 / 12-hour window for quick decisions. The deadline appears on the DAO calendar automatically.
  3. Passed or failed. When the window closes, the proposal is finalized: it passes if participation met the quorum and yes outweighs no. After finalize, the per-voter records are purged — only the aggregate tally remains.

Quorum — the minimum participation for a valid result:

  • Automatic (default): a majority (>50%) of the snapshot's total voting weight — member headcount in equal mode, token weight in weighted mode (see Token-weighted voting).
  • Custom: the proposer can set a specific percent (1–100) of the total circulating weight for this proposal only. The DAO's own auto-quorum percent can also be configured by admins in governance settings.

Two proposal types exist: general (any decision) and treasury (backs a spend request — the spend can only execute if the proposal passes; see Treasury). Members can also discuss each proposal in its comment thread while the vote runs. For how ballots themselves work — choices, secrecy, delegation — see Voting.

Voting

Casting votes, quorum, and how results are decided.

This section is coming soon.

Token-weighted voting

Equal vs. weighted mode and configuring a governance asset per chain.

This section is coming soon.

Treasury

DAO treasury wallets, balances, and treasury proposals.

This section is coming soon.

Funding campaigns

Raising funds through the launchpad: goals, deadlines, contributions, refunds.

This section is coming soon.

Privacy on Midnight

Shielded balances, holding proofs, and what stays private.

This section is coming soon.

Plans & subscriptions

Free vs. paid tiers and managing your subscription.

This section is coming soon.

Troubleshooting & FAQ

Common issues (network mismatches, wallet errors) and where to get help.

This section is coming soon.

Updating these docs

How to write, edit, and reorganize the sections on this page.

Everything on this page lives in one file: app/docs/content.tsx. Each section is an object in the DOC_SECTIONS array, and this page renders them in order.

Writing a section

  1. Open app/docs/content.tsx and find the section by its title or id.
  2. Replace body: null with JSX wrapped in a fragment, e.g. body: (<> <p>Your text…</p> </>). Paragraphs, bullet lists (<ul><li>), numbered steps (<ol><li>), sub-headings (<h3>), links, and <code> snippets are all styled automatically.
  3. Save — the page hot-reloads in dev; no other file needs to change.

Adding, removing, or reordering sections

  • Add: copy an existing object, give it a unique id (this becomes the URL anchor, e.g. /docs#voting), a title, an icon from lucide-react, and a one-line summary.
  • Reorder: move the object within the array — the sidebar and page follow the array order.
  • Remove: delete the object. Any links to its anchor simply scroll to the top of the page.

Sections with body: null show a "coming soon" placeholder, so you can sketch the outline first and fill content in later.