> For the complete documentation index, see [llms.txt](https://snowconedao.gitbook.io/snowconedao/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://snowconedao.gitbook.io/snowconedao/learn/glossary/ballot.md).

# Ballot

#### What everyone should know

The reconfigurations of a project's financing cycle might vary substantially. Custom ballots may be beneficial for controlling changes. A ballot contract must implement a function that indicates whether the status of a proposed reconfiguration is active, authorized, or unsuccessful, as specified by SNOWBallotState. If a reconfiguration is not authorized by a vote, it will not be implemented. Instead, the present financing cycle will be replicated.

#### What you should know if you're constructing ​

* A ballot is a custom contract that conforms to the ISNOWFundingCycleBallot interface that may be connected to a project's funding cycles to impose constraints that proposed funding cycle reconfigurations must comply to in order to take effect.
* Through the SNOWController.launchProjectFor(...) or SNOWController.reconfigureFundingCyclesOf(...) transactions, a ballot may be provided in a funding cycle.
* If a ballot is active, the funding cycle's ballot redemption rate will be applied rather than its normal redemption rate.
