VaultX is a modular multisig treasury management contract for DAOs. It is designed for granular, role-based execution paths, customizable time-locks, and clear auditability around treasury actions.
This repository is currently a contribution-ready starter based on the Stellar scaffold. The frontend shell remains functional while the contract surface and governance modules evolve.
VaultX is organized around a few core building blocks:
- Multisig governance: proposal creation, approval thresholds, execution gating, and signer management.
- Role-based execution: separate paths for operators, reviewers, admins, and other treasury roles.
- Time-lock controls: configurable delays for sensitive actions and staged execution workflows.
- Treasury operations: modular paths for transfers, policy updates, module activation, and emergency actions.
- Contributor surface: the scaffolded frontend remains available for local validation, dashboard experiments, and contract inspection.
contracts/: Soroban contract modules for treasury and governance logic.packages/: generated TypeScript clients for the scaffolded examples.src/: the functional frontend scaffold, including explorer pages and wallet integration.- Planned backend or auxiliary tooling should support auditing, dashboards, and operational oversight without weakening contract boundaries.
- Install the required toolchain from the Stellar and Soroban setup guides.
- Install Node.js dependencies with
npm install. - Start the scaffold locally with
npm run dev. - Use the contract explorer and transaction explorer to confirm the starter is healthy while contract modules are extended.
Useful checks while working on VaultX:
npm run lintnpm run typechecknpm run buildcargo fmt --allcargo clippy --workspace --all-targets -- -D warningscargo test --workspace
- Treasury proposal and approval flows.
- Fine-grained signer and role management.
- Customizable time-lock scheduling for sensitive actions.
- Module system for governance extensions and execution policies.
- Front-end dashboard integration for treasury visibility and administration.
- Security hardening, invariant testing, and audit preparation.
VaultX uses Wave-style issue planning so governance work stays reviewable and safe.
- Keep each issue scoped to one behavioral change.
- Prefer one contract module, one dashboard integration, or one security fix per issue.
- Group issues by subsystem:
governance,timelocks,roles,treasury,dashboard,security,testing,docs, orops. - Include explicit acceptance criteria and audit notes for anything that affects access control or execution paths.
- Use a new Wave item for follow-up work instead of expanding an in-flight issue.
See WAVE.md for the exact copy-paste template used to open new Wave items.