Lux Docs
Lux Skills Reference

Lux Governance

On-Chain Voting, DAO & Treasury

Overview

Lux Governance covers on-chain voting, treasury management, fractal DAO infrastructure, and identity-based reputation for the Lux Network. The platform implements a political-terminology governance stack with fractal (nested) DAO support, OHM-style bonding, and soulbound identity integration.

Repositories

RepoModule/PackagePurpose
github.com/luxfi/dao@luxfi/contracts, @pars/voteFull DAO platform (React + Solidity)
github.com/luxfi/lpsN/ALux Proposals (governance specs)
github.com/luxfi/standard@luxfi/standardCore governance Solidity contracts (ABIs)
github.com/luxfi/vote@pars/voteWeb voting frontend
github.com/luxfi/treasuryN/ATreasury management

Technology Stack

LayerTechnology
FrontendReact 18, TypeScript, Vite, Chakra UI
Web3Wagmi v2, Viem v2, RainbowKit v2
Wallet@luxfi/wallet (omnichain: EVM + Solana)
ContractsSolidity, Hardhat, Foundry (Forge)
TestingPlaywright (E2E), Vitest
IndexingThe Graph (subgraph)
Package Managerpnpm

Contract Architecture (Political Terminology)

The governance stack uses political/diplomatic terms that governments and NGOs understand:

ContractPolitical AnalogSolidity File
CouncilLegislative Body / Boardgovernance/Council.sol
CharterConstitution / Bylawsgovernance/Charter.sol
SafeTreasury / ExecutionGnosis Safe (custody)
VetoVeto Powergovernance/Veto.sol
SanctionEnforcement / Sanctionsgovernance/Sanction.sol
IdentityCitizenship / Voting Rightstokens/VotesERC20V1.sol
SecretariatAdministrative Officegovernance/Secretariat.sol

Legacy names to avoid: Azorius, Governor, Strategy, FreezeGuard, FreezeVoting, SubDAO, GnosisSafe.

Voting Weight Adapters

AdapterMechanism
VotingWeightERC20V1ERC20 token-based voting
VotingWeightERC721V1NFT-based voting (one-NFT-one-vote)
ProposerAdapterHatsV1Hats Protocol role-based proposing

Fractal Governance (Nested DAOs)

The same governance pattern repeats at every scale:

  • L1 DAO (Sovereign): Full autonomy, can create child DAOs
  • L2+ DAO (Nested): Own Safe, may have parent Veto/Sanction
  • Each level: Council + Charter + Safe
  • Fork freedom: disagreement leads to new DAO, no permission needed
  • Exit liquidity: members can always withdraw

Treasury Contracts (OHM-Style Bonding)

ContractPurpose
LiquidBond.solOHM-style bonding for ASHA with multi-collateral
CollateralRegistry.solRegistry for bondable assets with risk tiers
Bond.solDAO treasury bond issuance with vesting
Recall.solParent DAO fund recall (ALLOCATED only, not BONDED)
FeeRouterAutomatic fee distribution by policy
GaugeControllerEpoch-based allocation voting
VaultRegistryMulti-vault management
SpendingTimelockTiered spending delays (24h-168h)

Collateral Tiers

TierAssetsBond Discount
TIER_1Native ecosystem (LUSD, LETH, CYRUS, MIGA, PARS)25%
TIER_2Major assets (ETH, BTC wrappers, stables)20%
TIER_3LP tokens (ASHA pairs)15%
TIER_4Other volatile assets10%

Identity System (LP-3006)

Three-layer identity for governance:

LayerContractPurpose
DIDDIDRegistry.solW3C DID (did:lux:<id>)
SoulIDSoulID.solSoulbound NFT with reputation fields
KarmaKarma.sol + KarmaController.solNon-transferable reputation token

Reputation Scores (0-100)

ScorePurpose
humanityScoreSybil resistance, humanity verification
governanceParticipationVoting and proposal activity
communityContributionCommunity involvement
protocolUsageDeFi/protocol activity
trustLevelComposite score for voting weight

Voting Power Formula

votingPower = karma * (50 + trustLevel / 2) / 100
canPropose = karma  &gt;= 100 KARMA
isHuman = humanityScore  &gt;= 50

Lux Proposals (LPs)

Governance changes tracked via LPs at github.com/luxfi/lps:

RangeChainExamples
LP-0xxxNetwork-wideArchitecture, governance, philosophy, licensing
LP-1xxxP-ChainValidators, staking
LP-2xxxC-ChainEVM, precompiles
LP-3xxxX-Chain / IdentityAssets, DID, SoulID
LP-4xxxNetworkConsensus, P2P
LP-6xxxCross-chainTeleport bridge
LP-9xxxDEXAMM precompiles

Currently 350+ proposals in the repository.

Deployed Contract Addresses (localhost:1337)

ContractAddressRole
Council0x4A679253410272dd5232B3Ff7cF5dbB88f295319Legislative Body
Charter0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338fConstitution
Identity0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44Voting Rights
Sanction0x7a2088a1bFc9d81c55368AE168C2C02570cB814FEnforcement
Veto0x09635F643e140090A9A8Dcd712eD6285858ceBefVeto Power
SafeL20x3Aa5ebB10DC797CAC828524e59A333d0A371443cTreasury

Package Architecture

@luxfi/standard    Core ABIs (Council, Charter, Identity, Veto, Sanction)
    ^
    |  re-exports
@luxfi/contracts   DAO-specific ABIs + per-network addresses
    ^
    |  imports
@luxfi/wallet      Omnichain wallet SDK (RainbowKit + Solana)

Import Usage

// From @luxfi/contracts (DAO apps)

// From @luxfi/standard directly (general use)

// Wallet SDK

Directory Structure

dao/
  app/              # React frontend (Vite + Chakra UI)
    src/
      components/   # React components
      pages/        # Route pages
      providers/    # Context providers (wagmi, rainbowkit)
      hooks/        # useIdentity, useSoulID, useKarma
  contracts/        # Solidity contracts (@luxfi/contracts)
    contracts/      # .sol files
    ignition/       # Hardhat Ignition deployment modules
    publish/        # ABIs and deployed addresses
  api/              # Backend API
  sdk/              # TypeScript SDK
  subgraph/         # The Graph indexing
  packages/
    wallet/         # @luxfi/wallet SDK
  e2e/              # Playwright E2E tests
  stack/            # Docker Compose full stack

Development

# Install and run locally
make install            # Install all dependencies
make up                 # Start local dev (Anvil + frontend)
make test               # Run all tests
make down               # Stop services

# Docker (full stack)
make build-docker       # Build Docker images
make up-docker          # Start with Docker Compose
make logs-docker        # View logs

# Contract deployment
cd ~/work/lux/standard
forge script script/DeployLocal.s.sol --rpc-url http://127.0.0.1:8545 --broadcast

Docker Stack Services

ServicePortPurpose
Anvil8545Local blockchain (chain ID 1337)
Frontend3000React app
API4000Backend
PostgreSQL5432Database
Redis6379Cache
IPFS8080/5001Decentralized storage

Production Deployment

DomainPurpose
lux.voteLux DAO voting platform
pars.votePars DAO (GitHub Pages via parsdao/pars.vote)

Network Configuration

NetworkChain IDConsensus Time
Lux Mainnet963699.63s
Lux Testnet963686.3s
Localhost1337Instant (Anvil)

Multichain support: Ethereum, Optimism, Polygon, Base, Sepolia.

On this page