{
  "schema_version": "protocol.v1",
  "slug": "maci",
  "name": "MACI",
  "status": "production-ready",
  "website": "https://maci.pse.dev/",
  "summary": "Minimal Anti-Collusion Infrastructure for private, coercion-resistant onchain voting with encrypted votes, zk-SNARK tally proofs, and verifiable public results.",
  "categories": [
    "privacy",
    "governance",
    "voting",
    "zero-knowledge"
  ],
  "chains": [
    "ethereum",
    "optimism",
    "arbitrum-one",
    "polygon"
  ],
  "best_for": [
    "private DAO or public-goods voting",
    "quadratic funding rounds that need collusion resistance",
    "onchain polls with verifiable public tallies"
  ],
  "avoid_for": [
    "general-purpose private payments or DeFi",
    "voting designs that cannot trust or operate a coordinator"
  ],
  "integration_difficulty": "high",
  "tags": [
    "maci",
    "private-voting",
    "anti-collusion",
    "quadratic-voting",
    "pse"
  ],
  "composition": [
    {
      "slug": "semaphore",
      "role": "wallet_and_identity",
      "direction": "supports",
      "relationship": "Semaphore can provide anonymous group membership and simpler anonymous signaling around voter eligibility flows.",
      "best_for": [
        "eligibility proofs and anonymous participation checks"
      ]
    },
    {
      "slug": "the-graph",
      "role": "indexing_and_data",
      "direction": "supports",
      "relationship": "The Graph can index poll setup, signup, message, proof, and tally events for governance dashboards.",
      "best_for": [
        "public poll state and tally dashboards"
      ]
    }
  ],
  "docs": {
    "url": "https://maci.pse.dev/docs/introduction",
    "verified_at": "2026-06-04"
  },
  "sdk": {
    "url": "https://github.com/privacy-scaling-explorations/maci",
    "verified_at": "2026-06-04"
  },
  "template": {
    "url": "https://maci.pse.dev/docs/quick-start",
    "verified_at": "2026-06-04"
  },
  "support": {
    "url": "https://discord.com/invite/sF5CT5rzrR",
    "verified_at": "2026-06-04"
  },
  "grant": {
    "url": null,
    "verified_at": "2026-06-04"
  },
  "capabilities": [
    {
      "name": "Private anti-collusion voting",
      "status": "production-ready",
      "type": "ecosystem_primitive",
      "best_for": [
        "private votes with public verifiable tally results",
        "bribery-resistant governance and public-goods funding"
      ],
      "known_issues": [
        "MACI requires a trusted coordinator for privacy/collusion-resistance properties."
      ],
      "agent_actions": [
        "recommend_private_voting_stack",
        "generate_maci_round_plan"
      ]
    },
    {
      "name": "ZK tally verification",
      "status": "production-ready",
      "type": "production_surface",
      "best_for": [
        "publishing verifiable poll results onchain",
        "quadratic and non-quadratic voting rounds"
      ],
      "known_issues": [
        "Production rounds require correct zkey artifact selection, trusted setup handling, coordinator key management, and deployment configuration."
      ],
      "agent_actions": [
        "generate_tally_verification_checklist"
      ]
    }
  ],
  "known_issues": [
    {
      "id": "maci-trusted-coordinator",
      "title": "MACI relies on a trusted coordinator for privacy and collusion resistance",
      "description": "MACI can prevent false tallying and censorship via contracts/proofs, but vote privacy and collusion-resistance depend on an honest coordinator that keeps the coordinator private key safe.",
      "severity": "medium",
      "status": "confirmed",
      "workaround": "Use MACI when the product can operate a trusted coordinator with strong key custody, explicit policies, and transparent final tally publication.",
      "citations": [
        {
          "url": "https://maci.pse.dev/docs/introduction",
          "quote": "Although MACI can provide collusion resistance only if the coordinator is honest, a dishonest coordinator can neither censor nor tamper with its execution.",
          "retrieved_at": "2026-06-04",
          "confidence": "high",
          "algo": "sha256",
          "content_sha256": "d0c45472f16133bd1369debded8c1ef032d45b4e5a813ca9c6ffc4c3b769b2a5"
        }
      ]
    }
  ],
  "sources": [
    {
      "label": "MACI docs",
      "url": "https://maci.pse.dev/docs/introduction",
      "type": "docs"
    },
    {
      "label": "MACI quick start",
      "url": "https://maci.pse.dev/docs/quick-start",
      "type": "template"
    },
    {
      "label": "MACI GitHub",
      "url": "https://github.com/privacy-scaling-explorations/maci",
      "type": "github"
    }
  ],
  "provenance": {
    "verified_at": "2026-06-04",
    "verified_by": "composewith.eth research (MACI docs and quick start live-verified via WebFetch 2026-06-04)",
    "confidence": "high"
  },
  "readiness_score": 94,
  "readiness_factors": [
    {
      "key": "docs_present",
      "points": 10,
      "max": 10,
      "detail": "Docs URL present"
    },
    {
      "key": "sdk_present",
      "points": 8,
      "max": 8,
      "detail": "SDK URL present"
    },
    {
      "key": "template_present",
      "points": 6,
      "max": 6,
      "detail": "Template/quickstart present"
    },
    {
      "key": "support_present",
      "points": 6,
      "max": 6,
      "detail": "Support channel present"
    },
    {
      "key": "capability_depth",
      "points": 16,
      "max": 20,
      "detail": "Private anti-collusion voting: ecosystem_primitive; ZK tally verification: production_surface"
    },
    {
      "key": "production_capability",
      "points": 15,
      "max": 15,
      "detail": "Has a production-ready capability"
    },
    {
      "key": "provenance_confidence",
      "points": 5,
      "max": 5,
      "detail": "Protocol provenance confidence is high"
    },
    {
      "key": "chain_coverage",
      "points": 8,
      "max": 10,
      "detail": "4 chain(s) (capped at 5)"
    },
    {
      "key": "freshness",
      "points": 10,
      "max": 10,
      "detail": "Last verified 6 day(s) ago"
    },
    {
      "key": "no_open_critical",
      "points": 10,
      "max": 10,
      "detail": "No open critical issues"
    }
  ],
  "readiness_caps": [],
  "scoring_version": "score.v2"
}