Complete your first governance action
Why start with a generic vote?
A generic vote demonstrates the propose-confirm-execute lifecycle without pausing a service, transferring a token, changing membership, or modifying a threshold. The approved description is recorded through the governance execution result while the action itself has no application-specific side effect.
Before you start
A Decentralized Party exists and is visible to all participating nodes.
The approved governance rules contract is deployed for that party.
Member parties and the approval policy are correct.
Each participating operator has the required authentication and Canton rights.
The selected release supports generic votes through the intended UI or API.
The confirmation timeout is long enough for the planned test.
1. Define the decision
Write a short, unambiguous statement that can be approved or rejected as written. Include no secrets, personal data, mutable contract identifiers, or unsupported promises.
Example development decision:
Approve the documentation workflow test for this development Decentralized Party.
2. Create the proposal
From an authorized member or approved additional proposer, create a generic vote proposal for the intended governance rules and Decentralized Party.
Verify:
Governance party.
Proposer.
Action label.
Description.
Governance rules contract.
Expiry or confirmation window.
The proposer may receive an initial confirmation automatically. Check the supported release behavior before counting confirmations.
3. Inspect the pending action
On each member node, open pending governance actions and match the proposal by its contract identifier, label, description, and proposer. Do not confirm an action based on description alone.
4. Confirm the proposal
Each participating member reviews the full proposal and submits a confirmation through its own authenticated node. Continue only until the governance rules report that the required approval policy is satisfied.
5. Execute the approved action
Once the action is eligible, an authorized member submits execution using the proposal and the required confirmation contracts.
Execution should consume the applicable pending confirmation state and create the approved governance execution record.
6. Verify the result
Confirm that:
The proposal is no longer pending after successful execution.
The confirmations used for execution are no longer active.
A governance execution result records the action label, description, confirmers, and timestamp or equivalent reviewed fields.
No application resource or membership state changed as a side effect.
Every member node can observe the expected result under its permissions.
Cancel or expire
Before execution:
A member may revoke an eligible confirmation through the supported cancel flow.
A stale confirmation may be expired after the contract’s timeout under the supported authorization rules.
A proposer may be able to cancel the proposal through the applicable interface.
Treat cancellation of a confirmation, cancellation of a proposal, and expiry as distinct actions.
If governance changes during the vote
Membership, approval policy, or proposer authorization can change while a proposal is in flight. The active rules at execution may alter which confirmations count or whether more confirmations are required. Keep the first test short and avoid concurrent governance changes.
Troubleshooting
Proposal is not visible
Governance party, observer visibility, package IDs, and target environment
Confirm the proposal contract before recreating it.
Confirmation is rejected
Member identity, proposer authorization, expiry, and rules contract
Refresh the active governance state.
Action cannot execute
Eligible confirmations under the current member set and policy
Do not substitute unrelated confirmation contracts.
Proposal expires
Confirmation timeout and current ledger time
Expire or clean up under the approved process, then re-propose if needed.
Result is not observable
Party visibility, query interface, and transaction result
Capture sanitized contract and update identifiers.
Technical sources
Related pages
Next step
👉 Understand the control flow: Decentralization Manager governance lifecycle.
Last updated