Skip to main content

VSC-99: DAO Program

Live on Testnet

VSC-99 is deployed and operational on the Vextaris 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 Vextaris. 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 Vextaris 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 DAOsVextaris 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