Skip to Content
CLICommand Reference

Command Reference

Complete reference for all maci CLI commands and flags.

maci registry list

Lists all aMACI circuits bundled in this CLI, including their power string, status, and description.

maci registry list

Example output:

┌─────────────┬────────────┬──────────────────────────────────────────────────────────────────┐ │ Power │ Status │ Description │ ├─────────────┼────────────┼──────────────────────────────────────────────────────────────────┤ │ 9-4-3-125 │ Production │ The only circuit accepted by the live aMACI contract │ │ 2-1-1-5 │ Test-only │ Accepted only when compiled with feature="test-vkeys" │ └─────────────┴────────────┴──────────────────────────────────────────────────────────────────┘

maci registry show <power>

Shows detailed parameters, verification key fingerprints, and zkey download information for a specific circuit.

maci registry show <power>

Arguments:

ArgumentDescription
powerCircuit power string, e.g. 9-4-3-125 or 2-1-1-5

Examples:

maci registry show 9-4-3-125 maci registry show 2-1-1-5

Output includes:

  • Circuit parameters (state tree depth, message batch size, vote option tree depth, etc.)
  • SHA-256 fingerprints of each vkey (processMessages, tally, deactivate, addNewKey)
  • Links to download the corresponding .zkey files

maci registry check <contract>

Fetches the verification keys stored on-chain for a round contract and compares them against the bundled circuit registry. Reports MATCH or MISMATCH for each vkey type.

maci registry check <contract> [--network <network>]

Arguments:

ArgumentDescription
contractThe aMACI round contract address (e.g. dora1abc...xyz)

Flags:

FlagDefaultDescription
--networkmainnetNetwork to connect to: mainnet or testnet

Examples:

# Mainnet (default) maci registry check dora1abc...xyz # Testnet maci registry check dora1abc...xyz --network testnet

Example output:

Checking vkeys for dora1abc...xyz on mainnet... processMessages ✔ MATCH (9-4-3-125) tally ✔ MATCH (9-4-3-125) deactivate ✔ MATCH (9-4-3-125) addNewKey ✔ MATCH (9-4-3-125) All vkeys match the bundled registry.

Exit codes:

CodeMeaning
0All vkeys match
1One or more vkeys do not match the registry

maci round <contract>

Verifies all proofs and commitments for an aMACI round. Supports two verification levels — see Verification Guide for a detailed explanation.

maci round <contract> [options]

Arguments:

ArgumentDescription
contractThe aMACI round contract address (e.g. dora1abc...xyz)

Flags:

FlagDefaultDescription
--networkmainnetNetwork to connect to: mainnet or testnet
--rpc(network default)Override the CosmWasm RPC endpoint URL
--indexer(network default)Override the MACI GraphQL indexer endpoint URL
--recheckfalseEnable Layer 2 local ZK re-verification using snarkjs

Examples:

# Layer 1 — mainnet (default) maci round dora1abc...xyz # Layer 1 — testnet maci round dora1abc...xyz --network testnet # Override specific endpoints maci round dora1abc...xyz \ --rpc https://vota-rpc.dorafactory.org \ --indexer https://maci-graphql.dorafactory.org # Layer 2 — local ZK re-verification maci round dora1abc...xyz --recheck # Layer 2 — testnet maci round dora1abc...xyz --network testnet --recheck

Exit codes:

CodeMeaning
0All checks passed
1One or more checks failed (mismatch, rejected proof, etc.)
2Invalid arguments or usage error

Network Defaults

NetworkRPC EndpointIndexer Endpoint
mainnet (default)https://vota-rpc.dorafactory.orghttps://maci-graphql.dorafactory.org
testnethttps://vota-testnet-rpc.dorafactory.orghttps://maci-testnet-graphql.dorafactory.org

Supported Circuits

PowerStatusDescription
9-4-3-125ProductionThe only circuit accepted by the live aMACI contract
2-1-1-5Test-onlyAccepted only when the contract is compiled with feature="test-vkeys"
Last updated on