# Contract Functions



Use these references for the interfaces and constraints of Spectra's contracts.

## Governance contracts [#governance-contracts]

| Contract                                                                                        | Purpose                                                                      |
| ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| [VotingEscrow](/docs/technical-reference/contract-functions/votingescrow)                       | Holds locked SPECTRA and represents each lock as an NFT.                     |
| [Voting Escrow Aggregator](/docs/technical-reference/contract-functions/votingescrowaggregator) | Reads weighted voting power across registered escrows and wallet-owned NFTs. |
| [GovernanceRegistry](/docs/technical-reference/contract-functions/governanceregistry)           | Registers escrows, escrow weights, pools, and governance contract addresses. |
| [Voter](/docs/technical-reference/contract-functions/voter)                                     | Manages pool voting and claims of pool voting fees and bribes.               |
| [VotingReward](/docs/technical-reference/contract-functions/votingreward)                       | Accounts for voting rewards for an escrow and NFT token ID.                  |
| [RewardsDistributor](/docs/technical-reference/contract-functions/rewardsdistributor)           | Records and distributes rebases for lock NFTs.                               |

Protocol proposal voting and the current emissions policy are described in the [governance guide](/docs/guides/voting-and-earning-rewards).
