Agora Overview
What is Agora, and how does it work?
As mentioned on the Decentralized Autonomous Organizations page, DAOs transfer the trust from an individual or group to an audited smart contract when it comes to executing and enforcing collective decisions.
Agora is the audited library of open-source governance scripts that allow for DAO creation and management, built specifically for Cardano. The protocol allows DAOs to operate completely on-chain, from spinning up to collectively managing funds and voting on proposals.
Agora Summary
Users deposit governance tokens into stakes, which allows them to create and vote on proposals. Voting weight is equal to the staked amount. Proposals specify smart contract effects on-chain that are executed if and only if the community-wide vote passes.
Examples of proposal smart contract effects include:
Management of a treasury containing ADA and/or other assets.
Changing on-chain parameters that are meaningful to the DAO. For example, changing the amount of GT required vote in favor of a proposal for it to execute.
Swapping treasury assets.
Staking DAO treasury assets.
In Agora, these effects are expressive and can be added to the system at any point. This is useful because it means proposals can adapt to changing needs and developments in the Cardano ecosystem.
Agora Concepts
This section gives a very high level overview of the parts of Agora that are most relevant to your experience using Clarity. For a more detailed overview of the inner-workings of Agora, see the Agora Specs.
Governance Token
The token that enables individuals to take governance actions in an Agora DAO. Each DAO designates its Governance Token when created, which can be any Cardano Native Asset. This asset is identified by the token's unique Policy ID and hex-encoded name. This means NFT collections don't work well as Governance Tokens, because the hex-encoded asset name of a collection will differ from token to token.
Governor Contract
This is the smart contract that enforces the governance rules of a DAO on-chain. This contract can be customized to fit an individual organization's needs. The following parameters are configurable and controlled by the governor contract:
Governance Token
The token used to grant governance power to DAO participants
Proposal Timing
The cadence at which all proposals will move through their stages
Proposal Approval Threshold
The number of tokens that must be staked behind votes for a proposal for it to pass
User Participation Thresholds
The minimum amount of Governance Tokens a stake must hold to be used to either create or vote on a proposal.
Maximum Proposals per Stake
The maximum number of proposals one stake can be used to create.
Vote Cool Down Period
The amount of time that must pass after a DAO member submits a vote before they can retract it.
Stakes
Stakes are how voting power is calculated in Agora. Stakes lock a DAO member's Governance tokens in a smart contract to prevent double-counting votes.
An Agora DAO member's governance power in on-chain actions is equal to the number of governance tokens they have locked in their stake(s). This power will be used to ensure the user meets the User Participation Thresholds set by the governor contract and is used to weigh votes submitted using the stake.
Stake States
Stakes can be in several states which determine what can be done with them.
Locked: Proposals are Locked when they are being used in a vote. The stake can still be used to create and vote on other Proposals, but the Stake cannot be edited or deleted. To edit or delete stakes, all votes using that stake must be retracted.
Free: The stake can be used to create and vote on proposals. Governance Tokens behind the stake can be added or removed.
Proposals
DAO members create Proposals for the DAO using Stakes.
Proposals allow DAO participants to hold community-wide votes on-chain. When a proposal is created, it must explicitly define what its effects will be if the proposal is passed.
Agora allows for any combination of smart contracts to be effects of a proposal. A Proposal defines which effect(s) will run, and with what arguments. For example, a proposal could be created using the 'Treasury Spend' effect, with arguments that define which assets to send, how much, and to which addresses.
These effect smart contracts will execute as proposed if and only if the Proposal is passed by a community-wide vote.
Votes
DAO members cast Votes on Proposals using Stakes.
Votes are transactions that add a members's contribution to the Vote Tally and lock the Stake that was used to prevent double-voting.
Voting on multiple proposals is also made possible, since the only thing that is prevented when a lock is placed is withdrawing and depositing governance tokens.
Vote States
Votes can be in several states which determine what can be done with them and the Stakes they use.
Cooling Down: The vote is not able to be retracted until the Vote Cool Down Period, as defined in the DAO's Governor Contract, has elapsed. The Stake being used for this vote is Locked.
Submitted: The vote is recorded and the Vote Cool Down Period has passed. The vote can be retracted if the owner desires. The Stake being used for this vote is Locked.
Retracted: The vote is removed and no longer counts towards the Vote Tally. The Stake that was used used for this vote is Available (assuming it is not Locked by any votes on other Proposals).
Last updated