Join our community of builders on Discord!

LightChain DAO Voting & Proposal Guide

Overview

This document provides a comprehensive guide to governance, proposal creation, and voting within the LightChain DAO. The system uses the OpenZeppelin Governor framework with snapshot-based voting and vote delegation, following industry best practices for decentralized governance. All community members are strongly encouraged to review this document before participating in DAO activities.

Token Architecture

Main Governance Asset – LCAI (Ethereum)

LCAI is the primary ERC-20 token deployed on Ethereum, representing the core LightChain ecosystem asset. However, LCAI does not natively implement the
CodeHTML
interface required by OpenZeppelin Governor.

Voting Wrapper – LCAI-Ballots

To enable governance functionality, LightChain uses LCAI-Ballots, a wrapped governance token that provides:
  • CodeHTML
    – Wrap LCAI into LCAI-Ballots
  • CodeHTML
    – Unwrap LCAI-Ballots back into LCAI
The wrapper is minimal and only enables
CodeHTML
compatibility. No minting, burning, or token modification occurs outside of user-initiated wrapping and unwrapping operations.

Why Wrapping Is Required

The OpenZeppelin Governor framework relies on
CodeHTML
to ensure:
  • Snapshot-based voting power – Voting power is recorded at a specific block and cannot be altered during an active vote
  • Vote delegation – Users can delegate their voting power to other addresses
  • Protection against manipulation – Prevents scenarios where users could vote, transfer tokens, and vote again from another wallet
Because LCAI does not natively support
CodeHTML
, LCAI-Ballots is required to meet these governance security standards.

Wrapping and Unwrapping Interface

All wrapping and unwrapping operations are performed at: https://ballots.lightchain.ai Users maintain full custody of their tokens at all times. The process is non-custodial and reversible.

Proposal Creation Requirements

To create a DAO proposal, the proposer must:
  1. Wrap exactly 140,000 LCAI into LCAI-Ballots
  2. Submit the proposal transaction
  3. Unwrap the tokens immediately after proposal creation (optional)
Important Notes:
  • The wrapped tokens are only required at the moment of proposal creation
  • Tokens do not need to remain wrapped after the proposal is successfully submitted
  • You can unwrap your tokens immediately after creating the proposal

Proposal Delay (24-Hour Voting Delay)

After a proposal is created, it enters a mandatory 24-hour delay period before voting begins. Purpose of the Delay:
  • Allows the community sufficient time to:
    • Review the proposal details
    • Wrap LCAI into LCAI-Ballots
    • Delegate voting power
This delay ensures fairness and equal access, preventing last-minute proposal launches that exclude active participants.

Delegation and Voting Eligibility

Voting power is determined at the snapshot block when voting begins. Critical Rules:
  • Tokens must be wrapped AND delegated BEFORE voting starts
  • Delegation after voting begins does NOT count for that proposal
  • Only delegated voting power at the snapshot is eligible
Reason: Snapshot voting prevents manipulation and ensures voting power remains fixed for the duration of the proposal.

Voting Participation Flow

If you want to vote on a specific proposal:
  1. Wrap LCAI into LCAI-Ballots (before voting starts)
  2. Delegate voting power (to yourself or another address)
  3. Wait for the proposal to become active
  4. Cast your vote
  5. Unwrap your tokens after voting (optional)
If you do not intend to vote on a proposal, no action is required.

Example: Treasury Burn Proposal

Below is an example governance action for educational purposes only. Example:
  • Action Type: Treasury transfer
  • From: Treasury contract
  • To: DEAD address (burn)
  • Purpose: Permanent supply reduction
This example demonstrates a standard on-chain execution using OpenZeppelin Governor.

Creating a Treasury Burn Proposal

Example of creating Treasury Burn Proposal
Example of creating Treasury Burn Proposal
To create a Treasury Burn Proposal:
  1. Select custom action
  2. Set Treasury as Target contract address
Treasury Burn Proposal - Action Configuration
Select custom action and set Treasury as Target contract address
  1. From contract method, select
    CodeHTML
    (or any desired method from treasury contract)
  2. Set the LCAI token address as
    CodeHTML
  3. Set receipt address to dead address (
    CodeHTML
    )
  4. Set the amount you want to burn (e.g., burn 100 LCAI)
Treasury Burn Proposal - Calldatas Configuration
Set the LCAI token address as _token receipt to dead address (0x00000....) and how much amount you want to burn Ex (burn 100 LCAI)
  1. Navigate to Impact overview tab and click Simulate execution button to verify the transaction will execute correctly if the proposal passes
Treasury Burn Proposal - Simulation Results
Then to make sure the prepared transaction for proposal will be executed if proposal passed you can simply navigate to Impact overview tab and click on Simulate execution button
Community members are encouraged to request assistance on the forum for:
  • Proposal calldata preparation
  • Multi-action proposals
  • Advanced governance actions

Key Security and Governance Principles

  • Snapshot-based voting prevents double voting
  • IVotes compliance ensures Governor compatibility
  • Wrapping is non-custodial and reversible
  • Governance actions follow OpenZeppelin audited standards
LCAI-Ballots exists solely to enable secure governance and introduces no additional risk or token mechanics.

Final Notes

LightChain DAO governance is designed to be:
  • Secure – Using audited OpenZeppelin standards
  • Transparent – All actions are on-chain and verifiable
  • Fair – Snapshot voting ensures equal opportunity
  • Aligned with best-in-class DAO standards
All community members are encouraged to actively participate and engage responsibly in governance discussions.