| name | governance-guide |
| description | Guides Cardano on-chain governance under CIP-1694 and the Conway era. Triggers: "governance", "DRep", "CIP-1694", "Conway era", "governance action", "vote on proposal", "constitutional committee", "treasury withdrawal", "GovTool". |
| allowed-tools | Read Grep Glob |
Cardano On-Chain Governance Guide
Help developers, DReps, SPOs, and ADA holders understand and participate in Cardano's on-chain governance system introduced by CIP-1694 in the Conway era.
When to use
- Developer needs to integrate governance features into a dApp
- Someone wants to understand how CIP-1694 governance works
- Registering as a DRep or delegating voting power
- Building governance-aware tools or dashboards
- Submitting or voting on governance actions
- Understanding the Constitutional Committee, DReps, and SPO roles
- Practicing governance on preprod/preview (or SanchoNet for bleeding-edge features)
When NOT to use
- General smart contract development (use Aiken/Plutus skills)
- Stake pool setup or configuration (separate topic)
- Token minting or NFT creation
- Basic wallet integration without governance (use
connect-wallet skill)
Key principles
- Three governance bodies share power. Constitutional Committee, DReps, and SPOs each have defined voting roles. No single body controls governance.
- Every ADA holder participates. Either directly as a DRep or by delegating to one. Abstain and No-Confidence are also valid delegation choices.
- The Constitution constrains governance. All actions must be constitutional. The Constitutional Committee certifies this.
- Governance actions have specific types. Each type has its own voting thresholds and required approvals.
- Tools are maturing. GovTool, SanchoNet, and SDK support are actively developing. Check current status before advising.
Workflow
Step 1: Identify the role
Ask the developer (if not already clear):
- What is your role? (developer | drep | stake-pool-operator | ada-holder)
- What do you want to do? (understand governance | vote | build governance features | register as DRep)
Step 2: Search Bundled Documentation
Search the bundled documentation for relevant content:
${CLAUDE_SKILL_DIR}/../../docs/sources/cips/ - CIP specifications (CIP-1694, CIP-95)
${CLAUDE_SKILL_DIR}/../../docs/sources/sanchonet/ - SanchoNet governance testnet docs
${CLAUDE_SKILL_DIR}/../../docs/sources/govtool/ - GovTool docs
Step 3: Explain how governance works
Reference the CIP-1694 summary for detailed structure:
File: skills/governance-guide/references/cip-1694-summary.md
Quick overview
Cardano governance has three pillars:
- Delegated Representatives (DReps): ADA holders who vote on governance actions. Any ADA holder can become a DRep or delegate to one.
- Stake Pool Operators (SPOs): Vote on specific governance actions (hard forks, no-confidence, new committees, security-relevant protocol parameters).
- Constitutional Committee (CC): A group that certifies governance actions are constitutional. Does not propose or select -- only approves/rejects constitutionality.
Governance action types
| Action | DRep vote | SPO vote | CC vote |
|---|
| Motion of no-confidence | Yes | Yes | No |
| New Constitutional Committee | Yes | Yes | No |
| Update Constitution | Yes | No | Yes |
| Hard fork initiation | Yes | Yes | Yes |
| Protocol parameter changes | Yes | Security-relevant only* | Yes |
| Treasury withdrawal | Yes | No | Yes |
| Info action | Yes | Yes | Yes |
* Changes to security-relevant parameters (block/tx sizes, fees,
utxoCostPerByte, govActionDeposit, and similar) require an additional SPO
vote with its own threshold (Q5, ~0.51) — see CIP-1694.
Step 4: Role-specific guidance
For developers
Integrating governance into a dApp:
-
Read governance state: Query current proposals, DRep list, voting results
- Use Blockfrost, Koios, or Ogmios governance endpoints
- Governance state is on-chain in Conway era
-
Build governance transactions: Use CIP-95 wallet extensions
- Register as DRep:
dRepRegistration certificate
- Vote on action:
votingProcedure in transaction body
- Delegate vote:
voteDelegation certificate
- Submit proposal:
proposalProcedure in transaction body
-
CIP-95 wallet integration: Extension to CIP-30 for governance
getRegisteredPubStakeKeys() -- get stake keys
getPubDRepKey() -- get DRep key
- Enables signing governance transactions in browser wallets
-
SDK support:
- Mesh SDK: Governance transaction builders available
- Evolution SDK: Conway-era governance — DRep registration via
.registerDRep({ drepCredential }), voting via .vote({ votingProcedures }), DRep delegation, proposals, and committee operations
- cardano-cli: Full governance command set (
cardano-cli latest governance ...; the era-pinned conway group also still works, but prefer latest)
For DReps
Getting started as a DRep:
- Register: Submit a DRep registration certificate with a deposit (currently 500 ADA)
- Set metadata: Publish a metadata document (name, bio, motivations) to a URL
- Vote: Review and vote on governance actions through GovTool or CLI
- Communicate: Share your voting rationale with delegators
- Stay active: DReps must vote periodically to remain active (inactivity period defined by protocol)
Tools for DReps:
- GovTool (https://gov.tools): Web interface for DRep registration, voting, delegation
- cardano-cli: Command-line governance operations
- Preprod/Preview: Practice governance flows with test ADA (SanchoNet only for bleeding-edge features)
For stake pool operators
SPO governance participation:
- SPOs cast votes actively — a vote is a transaction signed with the pool cold key; pool registration alone casts nothing
- Optionally, delegate the pool's reward account to a pre-defined voting option (Abstain / No-Confidence) as a standing default — this does NOT apply to hard-fork actions, which always need an explicit vote
- Vote on: hard fork initiation, motion of no-confidence, new CC members, security-relevant parameter changes, info actions
- Voting weight proportional to delegated stake
- Use cardano-cli or SPO-specific tools to cast votes
For ADA holders
Participating in governance:
- Delegate to a DRep: Choose a DRep whose values align with yours
- Delegate to Abstain: Opt out of governance (your stake does not count toward thresholds)
- Delegate to No-Confidence: Signal dissatisfaction with the Constitutional Committee
- Become a DRep yourself: Register and vote directly
- Use GovTool: Web interface for delegation and exploration
Step 5: Tools and resources
GovTool
- Web-based governance participation tool
- Features: DRep registration, delegation, proposal viewing, voting
- URL: https://gov.tools
- Supports mainnet and testnets
Test environments
- Conway governance is live on mainnet (since 2024) and fully available on
preprod and preview — practice DRep registration, voting, and
proposals there with faucet test ADA
- SanchoNet is the bleeding-edge governance testnet; use it only for
features not yet on the public testnets
cardano-cli governance commands
cardano-cli latest governance drep registration-certificate \
--drep-verification-key-file drep.vkey \
--key-reg-deposit-amt 500000000 \
--out-file drep-reg.cert
cardano-cli latest governance vote create \
--yes \
--governance-action-tx-id <tx-id> \
--governance-action-index 0 \
--drep-verification-key-file drep.vkey \
--out-file vote.json
cardano-cli latest query gov-state
cardano-cli latest query drep-state --all-dreps
Step 6: SDK integration examples
Querying governance data
const proposals = await blockfrost.governanceProposals();
const dreps = await blockfrost.governanceDReps();
const votes = await blockfrost.governanceProposalVotes(proposalId);
import requests
dreps = requests.get("https://api.koios.rest/api/v1/drep_list").json()
proposals = requests.get("https://api.koios.rest/api/v1/proposal_list").json()
Building governance transactions
import { MeshTxBuilder } from "@meshsdk/core";
const tx = new MeshTxBuilder({ fetcher, submitter });
tx.drepRegistrationCertificate(drepKeyHash, deposit);
Step 7: Common issues
- Deposit requirements: DRep registration and proposals require deposits (returned when deregistered/enacted)
- Voting thresholds: Different action types have different thresholds (see CIP-1694 summary)
- Era mismatch: Governance transactions require Conway era; ensure node and tools are up to date
- Metadata hosting: DRep and proposal metadata must be hosted at a stable URL with a matching hash
- Wallet support: Not all wallets support CIP-95 yet; check wallet compatibility
References