Skip to main content

VSC-99: DAO Program

Live on Testnet

VSC-99 is deployed and operational on the Vexidus testnet. Create and manage DAOs at daimyodao.com or via the CLI.

VSC-99 defines a protocol-native DAO program for token-weighted community governance on Vexidus. Unlike smart-contract DAOs on EVM chains, VSC-99 DAOs are built into the state machine -- creators configure parameters and deploy with a single operation. No Solidity. No audits. No bytecode.

Relationship to VSC-88

VSC-88  (disc 60-67)  -- Protocol governance + multi-sig (validator stake-weighted)  [LIVE]
| shares voting engine
VSC-99 (disc 97-103) -- DAO program (token balance-weighted, user-created) [LIVE]
| reads balances from
VSC-7 (disc 1-4) -- Fungible token standard (voting token) [LIVE]

VSC-88 is for protocol-level decisions made by validators. VSC-99 is for community-level decisions made by token holders. VSC-99 reuses the same voting engine (proposal lifecycle, quorum math, double-vote prevention) but with token-weighted voting instead of stake-weighted.

Key Features

One-Operation DAO Creation

A DAO is created with a single CreateDAO operation. The creator defines all governance rules upfront:

  • Which VSC-7 token determines voting power (or VXS native)
  • Minimum token balance to propose / vote
  • Voting period, quorum percentage, approval threshold
  • Optional execution delay (timelock)
  • Treasury address and per-proposal spending cap
  • Allowed proposal types (treasury spend, text, config change)
  • Optional elder council with veto/fast-track powers

Token-Weighted Voting

Voting power = governance token balance. If you hold 1% of the token supply, your vote carries 1% weight.

Snapshot modes:

  • At Proposal Creation (recommended) -- Voting power locked at the block the proposal was created. Prevents vote-buying (buy tokens, vote, sell).
  • At Vote Time -- Simpler but potentially gameable via flash loans or short-term accumulation.

Proposal Types

TypeDescriptionEffect
Treasury SpendTransfer tokens from DAO treasuryAuto-executed on approval
Text ProposalCommunity signal voteNo on-chain state change
Config ChangeModify DAO parameters (quorum, voting period, etc.)DAO config updated
Council ActionCouncil-specific operationsVeto, fast-track, member changes

Elder Council (Optional)

DAOs can optionally configure an elder council -- a small group (up to 11 members) with special powers:

PowerDescription
VetoKill any active proposal
Fast-TrackSkip voting period, approve immediately
Propose-OnlyRestrict proposal creation to council members
Member ManagementAdd/remove council members (requires M-of-N council approval)

The council is optional and fully configurable. A DAO can launch with no council (pure token democracy), a council with limited powers (veto only), or a council with broad authority.


Operations

OperationDiscGasDescription
CreateDAO97150,000Deploy a new DAO with full configuration
DAOPropose9880,000Submit a DAO proposal
DAOVote9940,000Vote on a DAO proposal (token-weighted)
DAOExecute10060,000Execute an approved proposal after timelock
DAOCancel10140,000Cancel a proposal (proposer or council veto)
DAOUpdateConfig10280,000Update DAO config (internal, via approved ConfigChange)
DAOCouncilAction10360,000Council veto, fast-track, or member changes

RPC Methods

MethodTypeDescription
vex_createDAOWriteDeploy a new DAO
vex_daoProposeWriteSubmit a DAO proposal
vex_daoVoteWriteVote on a proposal
vex_daoExecuteWriteExecute an approved proposal
vex_daoCancelWriteCancel a proposal
vex_daoCouncilActionWriteCouncil veto/fast-track/member changes
vex_getDAOReadGet DAO config by address
vex_listDAOsReadList all DAOs (optional token filter)
vex_getDAOProposalReadGet proposal details
vex_listDAOProposalsReadList proposals for a DAO (optional status filter)
vex_getDAOVotingPowerReadGet voting power, eligibility, and council status

CLI Commands

# Create a DAO
vexidus dao create \
--name "MyProject DAO" \
--token <governance_token_mint> \
--min-propose 1000 \
--min-vote 1 \
--quorum 10 \
--threshold 51 \
--voting-period 7200 \
--from <creator_address>

# Submit a treasury spend proposal
vexidus dao propose \
--dao <dao_address> \
--type treasury_spend \
--title "Fund marketing campaign" \
--description "Allocate 10,000 tokens for Q2 marketing" \
--recipient <address> \
--amount 10000000000000 \
--from <proposer_address>

# Vote
vexidus dao vote --dao <dao_address> --id 0 --approve --from <voter_address>

# Execute an approved proposal
vexidus dao execute --dao <dao_address> --id 0 --from <executor_address>

# View DAO details
vexidus dao show --dao <dao_address>

# List proposals
vexidus dao proposals --dao <dao_address> --status Voting

# Check voting power
vexidus dao voting-power --dao <dao_address> --holder <address>

DaimyoDAO Web Interface

daimyodao.com provides a full web interface for VSC-99 DAOs:

  • Browse DAOs -- Search and filter all on-chain DAOs
  • Create DAO -- Multi-section form (identity, token, voting rules, council, treasury)
  • DAO Detail -- 4-tab view (Overview, Proposals, Governance, My Power)
  • Propose & Vote -- Submit proposals, cast votes, execute approved proposals
  • Council Actions -- Veto, fast-track, member management (for council members)

No backend required -- all data is read from and written to the Vexidus blockchain via VSC-99 RPC.


Proposal Lifecycle

Created (Voting)
|
+-- Token holders vote (balance-weighted)
| |
| +-- Quorum met + threshold reached --> Approved
| | |
| | +-- Execution delay passes
| | | |
| | | +-- DAOExecute called --> Executed
| | |
| | +-- (waiting for timelock)
| |
| +-- Quorum met + below threshold --> Rejected
|
+-- Voting period expires without quorum --> Expired
|
+-- Proposer cancels --> Cancelled
|
+-- Council veto --> Vetoed (if council enabled)
|
+-- Council fast-track --> Approved immediately

Security Design

ConcernProtection
Vote buyingSnapshot at proposal creation block -- buying tokens after doesn't help
Flash loan attacksSame-block manipulation impossible with creation-time snapshot
Council abuseAll council actions logged on-chain, visible to community
Treasury drainPer-proposal spending cap + execution delay for community reaction time
DAO takeoverConfig changes go through full voting process
DAO spamMax 10 DAOs per creator, creation fee (100 VXS on mainnet)

Competitive Advantage

FeatureEthereum DAOsSolana DAOsVexidus VSC-99
Deployment cost$50 -- 500 (gas)$2 -- 5~$0.0002
Audit neededYes (contract bugs)YesNo (protocol-enforced)
Elder councilCustom contractSPL GovernanceBuilt-in, configurable
Voting snapshotsOff-chain (Snapshot.org)On-chainOn-chain, protocol-native
Cost per vote$5 -- 50$0.01 -- 0.05~$0.0002
DAO creation UXComplex (deploy + verify)Moderate (SPL CLI)One CLI command or web form