{"id":30804425,"url":"https://github.com/privacy-ethereum/maci","last_synced_at":"2025-10-18T20:26:45.367Z","repository":{"id":37044371,"uuid":"192216193","full_name":"privacy-ethereum/maci","owner":"privacy-ethereum","description":"Minimal Anti-Collusion Infrastructure (MACI)","archived":false,"fork":false,"pushed_at":"2025-09-02T02:41:44.000Z","size":295375,"stargazers_count":577,"open_issues_count":45,"forks_count":184,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-09-03T09:42:19.202Z","etag":null,"topics":["circom","ethereum","maci","solidity","typescript"],"latest_commit_sha":null,"homepage":"https://maci.pse.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/privacy-ethereum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-06-16T17:01:15.000Z","updated_at":"2025-09-01T15:12:41.000Z","dependencies_parsed_at":"2023-10-22T20:27:26.080Z","dependency_job_id":"3040c8c9-0fc9-4bd8-baf2-5c6dd8be8e66","html_url":"https://github.com/privacy-ethereum/maci","commit_stats":null,"previous_names":["barrywhitehat/maci","appliedzkp/maci","privacy-ethereum/maci"],"tags_count":103,"template":false,"template_full_name":null,"purl":"pkg:github/privacy-ethereum/maci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privacy-ethereum%2Fmaci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privacy-ethereum%2Fmaci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privacy-ethereum%2Fmaci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privacy-ethereum%2Fmaci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/privacy-ethereum","download_url":"https://codeload.github.com/privacy-ethereum/maci/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/privacy-ethereum%2Fmaci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273838345,"owners_count":25177163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circom","ethereum","maci","solidity","typescript"],"created_at":"2025-09-06T00:01:25.416Z","updated_at":"2025-10-18T20:26:43.955Z","avatar_url":"https://github.com/privacy-ethereum.png","language":"TypeScript","funding_links":[],"categories":["Projects using Circom"],"sub_categories":["Cryptographic primitives in other languages"],"readme":"# Minimal Anti-Collusion Infrastructure\n\n[![CI][cli-actions-badge]][cli-actions-link]\n[![License](https://img.shields.io/badge/license-MIT-green)](https://github.com/privacy-scaling-explorations/maci/blob/main/LICENSE)\n\nMinimal Anti-Collusion Infrastructure (MACI) is an on-chain voting protocol which protects privacy and minimizes the risk of collusion and bribery.\n\n**MACI blog, resources, and documentation for developers and integrators can be found here:\nhttps://maci.pse.dev/**\n\nWe welcome contributions to this project. Please join our\n[Discord server](https://discord.com/invite/sF5CT5rzrR) (in the `#🗳️-maci` channel) to discuss.\n\n## Packages\n\nBelow you can find a list of the packages included in this repository.\n\n| package                                 | npm                                                           | tests                                                                  |\n| --------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------- |\n| [maci-circuits][circuits-package]       | [![NPM Package][circuits-npm-badge]][circuits-npm-link]       | [![Actions Status][circuits-actions-badge]][circuits-actions-link]     |\n| [maci-cli][cli-package]                 | [![NPM Package][cli-npm-badge]][cli-npm-link]                 | [![Actions Status][cli-actions-badge]][cli-actions-link]               |\n| [maci-contracts][contracts-package]     | [![NPM Package][contracts-npm-badge]][contracts-npm-link]     | [![Actions Status][contracts-actions-badge]][contracts-actions-link]   |\n| [maci-core][core-package]               | [![NPM Package][core-npm-badge]][core-npm-link]               | [![Actions Status][core-actions-badge]][core-actions-link]             |\n| [maci-crypto][crypto-package]           | [![NPM Package][crypto-npm-badge]][crypto-npm-link]           | [![Actions Status][crypto-actions-badge]][crypto-actions-link]         |\n| [maci-domainobjs][domainobjs-package]   | [![NPM Package][domainobjs-npm-badge]][domainobjs-npm-link]   | [![Actions Status][domainobjs-actions-badge]][domainobjs-actions-link] |\n| [maci-testing][testing-package]         | [![NPM Package][testing-npm-badge]][testing-npm-link]         | [![Actions Status][testing-actions-badge]][testing-actions-link]       |\n| [maci-subgraph][subgraph-package]       | [![NPM Package][subgraph-npm-badge]][subgraph-npm-link]       | [![Actions Status][subgraph-actions-badge]][subgraph-actions-link]     |\n| [maci-sdk][sdk-package]                 | [![NPM Package][sdk-npm-badge]][sdk-npm-link]                 | [![Actions Status][sdk-actions-badge]][sdk-actions-link]               |\n| [maci-coordinator][coordinator-package] | [![NPM Package][coordinator-npm-badge]][coordinator-npm-link] |                                                                        |\n| [maci-relayer][relayer-package]         | [![NPM Package][relayer-npm-badge]][relayer-npm-link]         | [![Actions Status][relayer-actions-badge]][relayer-actions-link]       |\n\n## Development and testing\n\n### Branches\n\nThe base branch of the project is `main`, which is used for ongoing development.\n\nThis project uses tags for releases. [View all MACI releases](https://github.com/privacy-scaling-explorations/maci/releases).\n\nTo contribute to MACI, create feature/fix branches, then open PRs into `main`. [Learn more about contributing](https://maci.pse.dev/docs/guides/compile-circuits#installation).\n\n### Local development\n\nFor installation and local development instructions, please see our [installation docs](https://maci.pse.dev/docs/quick-start#installation).\n\nThis repository is organized as pnpm workspace. Each package contains its\nown unit tests.\n\n- `crypto`: low-level cryptographic operations.\n- `circuits`: zk-SNARK circuits.\n- `contracts`: Solidity contracts and deployment code.\n- `domainobjs`: Classes which represent high-level [domain\n  objects](https://wiki.c2.com/?DomainObject) particular to this project.\n- `core`: Business logic functions for message processing, vote tallying,\n  and circuit input generation through `MaciState`, a state machine\n  abstraction.\n- `cli`: A command-line interface with which one can deploy and interact with\n  an instance of MACI.\n- `testing`: Tests for the MACI protocol.\n- `subgraph`: The subgraph for the MACI contracts.\n- `website`: The documentation website.\n- `sdk`: The SDK to interact with the MACI protocol.\n- `coordinator`: The coordinator service for the MACI protocol.\n- `relayer`: The relayer service for the MACI protocol.\n\n### Testing\n\nPlease refer to the [testing documentation](https://maci.pse.dev/docs/guides/testing/testing-introduction) for more information.\n\n### CI pipeline\n\nCI pipeline ensures that we have automated tests that constantly validate. For more information about pipeline workflows, [read our CI documentation](https://maci.pse.dev/docs/processes/ci-pipeline).\n\n[telegram-badge]: https://badges.aleen42.com/src/telegram.svg\n[telegram-link]: https://t.me/joinchat/LUgOpE7J2gstRcZqdERyvw\n[circuits-package]: ./packages/circuits\n[circuits-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/circuits.svg\n[circuits-npm-link]: https://www.npmjs.com/package/@maci-protocol/circuits\n[circuits-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/circuit-build.yml/badge.svg\n[circuits-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3ACircuit\n[cli-package]: ./packages/cli\n[cli-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/cli.svg\n[cli-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/e2e.yml/badge.svg\n[cli-npm-link]: https://www.npmjs.com/package/@maci-protocol/cli\n[cli-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3ACI\n[contracts-package]: ./packages/contracts\n[contracts-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/contracts.svg\n[contracts-npm-link]: https://www.npmjs.com/package/@maci-protocol/contracts\n[contracts-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/contracts-build.yml/badge.svg\n[contracts-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Acontracts\n[core-package]: ./packages/core\n[core-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/core.svg\n[core-npm-link]: https://www.npmjs.com/package/@maci-protocol/core\n[core-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/core-build.yml/badge.svg\n[core-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Acore\n[crypto-package]: ./packages/crypto\n[crypto-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/crypto.svg\n[crypto-npm-link]: https://www.npmjs.com/package/@maci-protocol/crypto\n[crypto-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/crypto-build.yml/badge.svg\n[crypto-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Acrypto\n[domainobjs-package]: ./packages/domainobjs\n[domainobjs-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/domainobjs.svg\n[domainobjs-npm-link]: https://www.npmjs.com/package/@maci-protocol/domainobjs\n[domainobjs-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/domainobjs-build.yml/badge.svg\n[domainobjs-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Adomainobjs\n[testing-package]: ./packages/testing\n[testing-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/testing.svg\n[testing-npm-link]: https://www.npmjs.com/package/@maci-protocol/testing\n[testing-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/e2e.yml/badge.svg\n[testing-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3ACI\n[subgraph-package]: ./apps/subgraph\n[subgraph-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/subgraph.svg\n[subgraph-npm-link]: https://www.npmjs.com/package/@maci-protocol/subgraph\n[subgraph-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/subgraph-build.yml/badge.svg\n[subgraph-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Asubgraph\n[sdk-package]: ./packages/sdk\n[sdk-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/sdk.svg\n[sdk-npm-link]: https://www.npmjs.com/package/@maci-protocol/sdk\n[sdk-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/e2e.yml/badge.svg\n[sdk-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Asdk\n[coordinator-package]: ./apps/coordinator\n[coordinator-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/coordinator.svg\n[coordinator-npm-link]: https://www.npmjs.com/package/@maci-protocol/coordinator\n[relayer-package]: ./apps/relayer\n[relayer-npm-badge]: https://img.shields.io/npm/v/@maci-protocol/relayer.svg\n[relayer-npm-link]: https://www.npmjs.com/package/@maci-protocol/relayer\n[relayer-actions-badge]: https://github.com/privacy-scaling-explorations/maci/actions/workflows/relayer-build.yml/badge.svg\n[relayer-actions-link]: https://github.com/privacy-scaling-explorations/maci/actions?query=workflow%3Arelayer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprivacy-ethereum%2Fmaci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprivacy-ethereum%2Fmaci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprivacy-ethereum%2Fmaci/lists"}