DAO operator guide

TROPTIONS technical — static export for GitHub Pages

TROPTIONS Full DAO — Attaining Sovereign Governance

What this delivers

Production infrastructure most teams want but rarely ship together:

Architecture

See dao/ARCHITECTURE.md and public Sovereign DAO page. Summary: L1 is source of truth; Python mirrors to SQLite for dashboards and audit; optional Polygon Governor stubs for Phase 2.

Quick start

cd C:\Users\Kevan\Troptions-full-pack
.\scripts\bootstrap-dao.ps1
.\scripts\health-check-all.ps1

Open http://127.0.0.1:8093 (DAO dashboard + API docs at /docs).

Governance flow

flowchart LR
  A[Create proposal] --> B[Active voting]
  B --> C{Quorum + majority?}
  C -->|yes| D[Passed + timelock]
  C -->|no| E[Failed]
  D --> F[Execute]

Create a proposal (L1 JSON-RPC)

POST http://127.0.0.1:9944
{"jsonrpc":"2.0","method":"submit_proposal_create","params":{"proposer":"<64-hex>","title":"Fund TTN infra","description":"..."},"id":1}

Vote (soulbound-weighted)

Voter must hold at least one non-revoked soulbound token. Weight = credential count.

{"method":"submit_proposal_vote","params":{"proposal_id":"<64-hex>","voter":"<64-hex>","choice":"for"}}

HTTP API (8093)

Endpoint Description
GET /dao/state L1 + governance + treasury
GET /dao/proposals L1 + local mirror
POST /dao/proposals Create
POST /dao/proposals/vote Cast vote
GET /dao/credentials/{owner} Soulbound credentials
WS /ws Live L1 state broadcast

FTH Academy also exposes /dao/* and /health/l1 on 8091.

Treasury

Seeded wallets in dao_db.py:

Treasury allocations require passed proposals; disburse via L1 settlement_create escrows (integration hook documented in treasury module).

Namespace → credential migration

python scripts/migrate-namespaces-to-l1.py --dry-run
python scripts/migrate-namespaces-to-l1.py --apply

Requires authorized issuer accounts for submit_soulbound_mint in production.

Deployment

PM2: pm2 start ecosystem.config.js (includes dao-service on 8093)

Docker prod:

docker compose -f docker/docker-compose.prod.yml up -d

Nginx: infrastructure/nginx/sites/troptions.conf — fthedu, ai, ttn, dao hostnames.

Manual steps (today)

Phase 2

https://fthtrading.github.io/Troptions-full-pack/technical/DAO.html