VSC-99: DAO Program
VSC-99 is currently in development and scheduled for the beta testnet period. The design is finalized but the implementation has not yet shipped. This page describes the planned feature set.
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 68-74) -- DAO program (token balance-weighted, user-created) [COMING SOON]
| 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
- 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
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
| Type | Description | Effect |
|---|---|---|
| Treasury Spend | Transfer tokens from DAO treasury | Auto-executed on approval |
| Text Proposal | Community signal vote | No on-chain state change |
| Config Change | Modify DAO parameters (quorum, voting period, etc.) | DAO config updated |
| Council Action | Council-specific operations | Veto, fast-track, member changes |
Elder Council (Optional)
DAOs can optionally configure an elder council -- a small group (up to 11 members) with special powers:
| Power | Description |
|---|---|
| Veto | Kill any active proposal |
| Fast-Track | Skip voting period, approve immediately |
| Propose-Only | Restrict proposal creation to council members |
| Member Management | Add/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.
Planned Operations
| Operation | Disc | Description |
|---|---|---|
CreateDAO | 68 | Deploy a new DAO with full configuration |
DAOPropose | 69 | Submit a DAO proposal |
DAOVote | 70 | Vote on a DAO proposal (token-weighted) |
DAOExecute | 71 | Execute an approved proposal after timelock |
DAOCancel | 72 | Cancel a proposal (proposer or council veto) |
DAOUpdateConfig | 73 | Update DAO config (internal, via approved ConfigChange) |
DAOCouncilAction | 74 | Council veto, fast-track, or member changes |
Planned RPC Methods
| Method | Type | Description |
|---|---|---|
vex_createDAO | Write | Deploy a new DAO |
vex_daoPropose | Write | Submit a DAO proposal |
vex_daoVote | Write | Vote on a proposal |
vex_daoExecute | Write | Execute an approved proposal |
vex_daoCancel | Write | Cancel a proposal |
vex_daoCouncilAction | Write | Council veto/fast-track/member changes |
vex_getDAO | Read | Get DAO config by address |
vex_listDAOs | Read | List all DAOs (filter by token) |
vex_getDAOProposal | Read | Get proposal details |
vex_listDAOProposals | Read | List proposals for a DAO |
vex_getDAOVotingPower | Read | Get voting power for a user at a height |
Planned 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
# 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
# Vote
vexidus dao vote --dao <dao_address> --id 1 --approve
# Execute
vexidus dao execute --dao <dao_address> --id 1
# View
vexidus dao show --dao <dao_address>
vexidus dao proposals --dao <dao_address>
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
| Concern | Protection |
|---|---|
| Vote buying | Snapshot at proposal creation block -- buying tokens after doesn't help |
| Flash loan attacks | Same-block manipulation impossible with creation-time snapshot |
| Council abuse | All council actions logged on-chain, visible to community |
| Treasury drain | Per-proposal spending cap + execution delay for community reaction time |
| DAO takeover | Config changes go through full voting process |
| Inactive DAOs | Archival mechanism for DAOs with zero activity |
Competitive Advantage
| Feature | Ethereum DAOs | Solana DAOs | Vexidus VSC-99 |
|---|---|---|---|
| Deployment cost | $50 -- 500 (gas) | $2 -- 5 | ~$0.0002 |
| Audit needed | Yes (contract bugs) | Yes | No (protocol-enforced) |
| Elder council | Custom contract | SPL Governance | Built-in, configurable |
| Voting snapshots | Off-chain (Snapshot.org) | On-chain | On-chain, protocol-native |
| Cost per vote | $5 -- 50 | $0.01 -- 0.05 | ~$0.0002 |
| DAO creation UX | Complex (deploy + verify) | Moderate (SPL CLI) | One CLI command or web form |
Timeline
- VSC-88 (disc 60-67) -- Protocol governance + multi-sig -- Live
- VSC-99 (disc 68-74) -- DAO program -- Beta P1 (after genesis restart)
- VexForge DAO UI -- Web-based DAO creation wizard and voting interface -- Beta P2
- VSC-VEST integration -- Vested tokens can optionally count toward DAO voting power -- Post-beta
Stay Updated
Follow the Vexidus testnet for updates on VSC-99 availability. The implementation builds on the same voting engine already proven by VSC-88 protocol governance.