Governance Documentation

The Nodency Protocol is a decentralized public good. These documents outline the rules, processes, and smart contract parameters that govern the network.

Overview

Governance in Nodency is the process by which the community of $KASH token holders approves changes to the protocol. This includes technical upgrades, treasury allocations, and adjustments to economic parameters like mining rewards.

Key Objective

To ensure the protocol remains neutral, secure, and aligned with the interests of the Agents and Users who rely on it for daily financial transactions.

The KIP Lifecycle

Phase 1: Temperature Check

Before writing code, ideas should be discussed on the Governance Forum. This saves time by gauging community sentiment early.

  • Duration: Minimum 3 days
  • Platform: Discourse Forum

Phase 2: KIP Submission

Formal proposal submission on-chain. The proposer must hold enough voting power to prevent spam.

Threshold
100,000 $KASH

Phase 3: Active Voting

Token holders vote YES, NO, or ABSTAIN. Voting is weighted by token balance at the exact block ("Snapshot") the proposal was created.

  • Duration: 7 Days
  • Type: Token Weighted

System Parameters

The following parameters are enforced by the GovernorAlpha.sol smart contract.

Quorum Requirement

10%

Of total circulating supply must vote for a proposal to be valid.

Timelock Delay

48 Hours

Delay between a passed vote and code execution. Allows users to exit if they disagree.

Proposal Max Operations

10

Maximum number of contract calls (actions) per single proposal.

Voting Delay

1 Block

Time between proposal creation and start of voting (snapshot buffer).

Verification

Verify the governance settings directly on-chain.

GovernorAlpha.sol Solidity 0.8.20
function propose(
    address[] memory targets,
    uint[] memory values,
    string[] memory signatures,
    bytes[] memory calldatas,
    string memory description
) public returns (uint) {
    require(getPriorVotes(msg.sender, sub256(block.number, 1)) > proposalThreshold(), 
        "GovernorAlpha::propose: proposer votes below threshold");
    
    // ... Proposal logic
}