# Decentralized Governance

<figure><img src="https://4189133001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgpI5FGDnzf3cR6tzx7%2Fuploads%2FgDnIGje0G8GDiXF2srcv%2Fimage.png?alt=media&#x26;token=ac850db4-429f-4c43-9251-c8c84c275c6a" alt=""><figcaption></figcaption></figure>

## **How does governance work?** <a href="#id-1c2c" id="id-1c2c"></a>

RAILGUN governance is decentralized, any wallet that locks RAIL can vote on and submit proposals to vote. For all governance stages, 1 RAIL locked is equal to 1 vote, snapshots of voting power are taken at each governance stage. Votes can also be delegated to another wallet, however the associated [Active Governor Allocations](rail-active-governor-allocation) will be accrued by the wallet to which votes are delegated.

Proposals come in the form of code changes to the smart contracts and anyone with enough technical expertise can write and submit code. Decision making rests with the community of Active Governors who vote on whether or not to accept proposed changes. Once approved, proposals are executed on chain.

Any change to the smart contracts (including the governance, treasury, and voting contracts) requires the passing of an on-chain proposal. The decentralized governance system is the only way in which upgrades to the RAILGUN protocol can be made.

## **Potential Governance Topics** <a href="#ed33" id="ed33"></a>

There are no subject matter limitations on the decentralized governance system and every Active Governor is entitled to submit a proposal on any code changes.

For example:

* Protocol upgrades to the smart contracts
* Deploying RAILGUN on additional blockchains that allow for smart contracts
* Protocol deductions
* Distributing treasury tokens

## **Governance stages** <a href="#a48e" id="a48e"></a>

### **Proposal Initiation**

Governance begins with a proposal being written up containing:

* Title
* Document
* Description
* Code actions to execute

The proposer must pay a small gas fee to submit a proposal in order to prevent spam.

### **Sponsorship**

After submission, a 30-day Sponsorship Period begins where the proposal must reach 500,000 sponsorship votes to go to vote. Sponsoring a proposal does not reduce the amount of RAIL voting power. Votes are counted on a daily snapshot basis.

To prevent proposal spam, stakers can only sponsor 1 proposal every 7 days.&#x20;

If a proposal does not reach the required 500,000 sponsorship votes within the 30-day window, it has failed.

Sponsorship is a period that enables the decentralised community to properly analyse any proposal’s value, feasibility and solidity, by engaging the full spirit of open-source, whilst filtering out unusual or unpopular proposals without needing a full quorum. This period and its structure also ensure that proposals that pass result in the best outcomes.

### **Call to Vote**

If a proposal reaches 500,000 sponsorship votes, then a community member must call it to vote by executing an interaction on-chain. This must be done within 30-days of the proposal going live or the proposal will become stale and unable to be executed.&#x20;

Any wallet can call a vote, even one without staked RAIL.

### **Review**

Sponsored proposals called to vote are held for 2 days to give the community more than enough time to review and discuss before voting commences.

### **Vote**

At this stage, voting is open and Active Governors can vote "Yes" or "No" for 3 days.

### **Veto**

After 3 days, there is a 1 day veto period where the only voting option is "No". This is an additional filter to ensure that the community as a whole is aligned in enacting the changes.

A minimum of 2 million votes must be cast to achieve quorum. "No" votes do not count to quorum.&#x20;

If quorum is reached and there are more "Yes" votes than "No", the proposal is passed.

### **Execution**

1 day after the voting period ends, a week-long Execution Window opens. For the proposal to take effect, any wallet can call the execution. This must be done within 7-days from the end of the veto period or the proposal will become stale and unable to be executed.

This can only be done without revealing their identity. Executing a proposal initiates the smart contract functions from the proposal. If there are errors in the code, then no changes will occur, and the proposal will need to be rewritten and resubmitted.
