Private M-of-N Multisig
Private M-of-N Multisig
What it does: A private M-of-N multisig for the Logos Execution Zone where shielded members approve without revealing who voted
Stage: Prototype
Licence: MIT OR Apache-2.0
Verified on 4 November 2026 against README and commit of 10 September 2026.
Private M-of-N Multisig is a multisig wallet in which shielded members approve without revealing who voted, and it runs on the Logos Execution Zone (LEZ) with a Basecamp app. The code is published by the GitHub account pramadanif. The README does not say whether it is an official Logos project.
What it does
- It lets M of N shielded members approve a proposal without showing which members approved.
- On-chain state records a threshold and nullifiers, never member identities.
- Approvals use privacy-preserving execution, never public re-execution.
- It keeps one nullifier per member and proposal, so a member cannot approve twice.
- Execution is public and permissionless, and the recipient and amount are fixed in the proposal.
- A CLI named pmsig covers create, propose, approve, execute and status. Status prints the count and nullifiers, never who approved.
- A Basecamp app reads the deployed multisig. The README says its Approve page does not submit approvals on purpose, so approvals go through the CLI or SDK.
Stage: Prototype. The README status table marks the public testnet lifecycle as "Done", with a full 2-of-3 run on the LEZ testnet. The version in metadata.json is 0.1.0.
The README says it was "Built for λPrize LP-0002".
Use it
- Install the toolchain: Rust 1.94 or later and risc0 r0vm, as listed in docs/VERSIONS.md. On Linux, also install pkg-config and libpcsclite-dev.
- Build the guests with
./scripts/build-guests.sh --docker. - Run the local demo with
./demo.sh. The README says it takes about 40 to 50 minutes or more and needs about 9 GB of free RAM for each approval. - For the public testnet, run the fund, deploy and verify scripts listed in the README.
- Use the CLI with
cargo run -p pmsig-cli --bin pmsig -- --help. - For Basecamp, run
./scripts/build-basecamp.sh, then use Install Local Package withapp/private_multisig.lgx. The package is for darwin-arm64 only. The README says to start Basecamp withQT_ENABLE_REGEXP_JIT=0.
Build it
- Build the guests with
./scripts/build-guests.sh --docker. The README says this is required before deploying. - Build the Basecamp package with
./scripts/build-basecamp.sh. - The README pins LEZ v0.2.4, Rust 1.94.0 and risc0 3.0.6.
Releases
- The repository has no tags and GitHub lists no releases.
- Version in app/metadata.json: 0.1.0 (module name private_multisig).
See also
Sources
- lp-0002-private-multisig README, GitHub, last commit 10 September 2026
- app/metadata.json, GitHub
Page status: Stub. Stub · Outline · Usable · Guide · Star. Anyone can improve this page and change its status.