Install
openclaw skills install zkgovAnonymous governance on HashKey Chain using zero-knowledge proofs. Query proposals, check voter status, register, create proposals, vote anonymously with ZK...
openclaw skills install zkgovZKGov is a zero-knowledge governance platform on HashKey Chain testnet (chain ID 133). Voters register with Semaphore identity commitments and cast anonymous, Groth16-verified votes on governance proposals.
# MCP server (preferred — works with Claude Code, Cursor, Windsurf, VS Code)
# https://www.npmjs.com/package/@zkgov/mcp
claude mcp add zkgov npx @zkgov/mcp
# Standalone CLI
# https://www.npmjs.com/package/@zkgov/cli
npm install -g @zkgov/cli
zkgov --help
mcp__zkgov__* are available, call them directly.zkgov <command> via the Bash tool.--json flag. Always use --json when calling CLI from an agent for reliable parsing.| MCP Tool | CLI Command | Description |
|---|---|---|
zkgov-stats | zkgov stats | Platform stats: total proposals, members, group ID |
zkgov-list-proposals | zkgov proposals | List all proposals with vote tallies and status |
zkgov-proposal | zkgov proposal <id> | Full proposal detail by ID |
zkgov-check-voter | zkgov voter <address> | Check if address is a registered voter |
zkgov-members | zkgov members | Semaphore group info: member count, Merkle root |
zkgov-activity | zkgov activity | Recent on-chain events with tx hashes |
| MCP Tool | CLI Command | Description |
|---|---|---|
zkgov-wallet | zkgov wallet | Show agent wallet: address, balance, voter status |
zkgov-register | zkgov register | Register wallet as voter (one-time on-chain tx) |
zkgov-create-proposal | zkgov create <title> | Create a governance proposal |
zkgov-vote | zkgov vote <id> <choice> | Cast anonymous ZK-verified vote |
zkgov-finalize | zkgov finalize <id> | Finalize proposal after voting period ends |
On first write operation, a wallet is auto-generated at ~/.zkgov/config.json (mode 0o600). The same private key derives both the EVM account and the Semaphore ZK identity.
Override with env var: ZKGOV_PRIVATE_KEY=0x...
The wallet needs testnet HSK for gas (very cheap — 0.001 gwei gas price).
zkgov-stats to see proposals/members countzkgov-wallet to see balance and registrationzkgov-register (one-time, ~0.0003 HSK gas)zkgov-list-proposals → zkgov-proposal for detailzkgov-vote with proposalId and choice (generates ZK proof, ~3-5s)zkgov-finalize after voting period ends (anyone can call)--json — machine-readable output on every commandzkgov activity --limit 10 — limit activity eventszkgov create "Title" -d "Body" -p 86400 -q 3 — set period (seconds) and quorum0xEa625841E031758786141c8b13dD1b1137C9776Czkgov-finalize instead