Pacto is a private, censorship-resistant, and governable community organizing platform that requires no KYC. Encrypted communications run over Nostr, a decentralized client-relay network, while governance and financial operations execute over EVM or Aztec blockchains with embedded wallets that require no configuration. Everything just works.
Nostr is used for communications because it is computationally cheap (virtually free to use), decentralized (censorship-resistant), and enables privacy with the following standards: NIP-17 Private DMs, NIP-44 Encrypted Payloads, NIP-59 Gift Wraps (metadata protection).
Ethereum and Aztec networks handle governance and financial activities - domains requiring enforcement of scarcity (votes and coins are digitally scarce items), unlike communications that only require privacy.
Privacy on these blockchains is achieved through Zero-Knowledge (ZK) proving schemes, which verify computation without exposing sensitive data. This enables voting and payments with Ethereum's security and immutability guarantees while keeping user activity private.
Download the latest release for your platform from covenant-gov.github.io/pacto-app/ or use the commands below. Examples reference v0.3.2; check the releases page for the current version.
brew tap covenant-gov/pacto
brew install --cask pactoOr in one line:
brew install --cask covenant-gov/pacto/pacto- Download the DMG for your Mac from the latest release:
- Apple Silicon:
pacto_0.3.2_aarch64.dmg - Intel:
pacto_0.3.2_x64.dmg
- Apple Silicon:
- Open the DMG and drag
pacto.appto Applications.
Pacto is not currently signed by Apple. After installing, you may see a warning that says "pacto is damaged and can't be opened. You should move it to the Trash." (or similar):
To run the app, open a terminal and remove the quarantine attribute:
xattr -r -d com.apple.quarantine /Applications/pacto.appThen launch Pacto from Applications.
curl -LO https://github.com/covenant-gov/pacto-app/releases/download/v0.3.2/pacto_0.3.2_amd64.deb
sudo dpkg -i pacto_0.3.2_amd64.debcurl -LO https://github.com/covenant-gov/pacto-app/releases/download/v0.3.2/pacto-0.3.2-1.x86_64.rpm
sudo dnf install ./pacto-0.3.2-1.x86_64.rpmcurl -LO https://github.com/covenant-gov/pacto-app/releases/download/v0.3.2/pacto_0.3.2_amd64.AppImage
chmod +x pacto_0.3.2_amd64.AppImage
./pacto_0.3.2_amd64.AppImage- Download
pacto_0.3.2_x64_en-US.msifrom the latest release. - Run the installer and follow the prompts.
Windows Defender SmartScreen may warn that the app is unsigned. Click More info → Run anyway.
Core
- DMs: End-to-End-Encrypted (E2EE) direct messaging
- Squads: private Discord/Slack-style community hubs with text channels
- Networks: private community hubs comprised of Squads that allow inter-organizational coordination (Squad of Squads)
Squad / Network
- Message Layer Security (MLS) private and metadata-protected group messaging channels
- Dashboard with Web3-integrated widgets
- Modular Governance Platform to accommodate various models of democracy and decision making
- Safe Wallet for collective management of financial resources
Pacto is a Tauri v2 desktop app: a SvelteKit/Svelte frontend backed by a Rust backend. Encrypted messaging runs over Nostr; governance and treasury operations run over EVM chains via an embedded wallet derived from the same seed.
flowchart TB
subgraph Frontend["SvelteKit SPA (src/)"]
A[pages + components]
B[stores / lib modules]
end
subgraph Tauri["Tauri v2 webview bridge"]
C[invoke + event emit]
end
subgraph Backend["Rust backend (src-tauri/src/)"]
D[Nostr / MLS]
E[SQLite per npub]
F[EVM wallet + contracts]
G[crypto / media]
end
subgraph Network["External network"]
H[Nostr relays]
I[EVM / Aztec RPCs]
end
A <--> |invoke / listen| C
C <--> |commands + events| D
D <--> |read/write| E
D <--> |kinds 1059, 443, 444| H
F <--> |send / read| I
For a deeper walkthrough, see docs/ARCHITECTURE.md.
Vector - Private decentralized messenger built on Nostr
Pacto forked the Rust backend of Vector for the Nostr E2EE/MLS messaging. While Vector offers a Signal-style privacy messenger with mini-app support, Pacto extends the codebase to enable Discord-inspired communities that are governable through embedded blockchain primitives.
- Embedded wallet (RPC, DM message schema, pricing, tx lifecycle): docs/wallet/README.md
- Governance contracts (pacto-gov): docs/wallet/PACTO_GOV.md — upstream covenant-gov/pacto-gov; Alloy bindings in
src-tauri/src/evm/contracts/.
