opn.vote Documentation
opn.vote is a publicly verifiable e-voting system that addresses key challenges in blockchain voting. By leveraging Ethereum's Account Abstraction (EIP-4337), it allows citizens to cast and change their ballots without needing to install a crypto wallet or pay transaction fees (gas).
The protocol combines Schnorr blind signatures to ensure anonymity with the tamper-proof storage of ballots on a public blockchain. This makes every vote traceable and the entire system auditable by the public, without compromising voter privacy.
Project Overview
- On-chain
OpnVote.soltracks elections, registration/auth counts, and encrypted ballots on Gnosis mainnet (MVP contract0.1.0). Tallying runs off-chain via thevotingSystemlibrary; decrypted results and keys are published on-chain. - Off-chain services handle eligibility (Authorization Provider), blind-signature issuance (Register), Voting Transaction signing (SVS) + Gelato relay handling (SVS), and hardened RPC/Graph gateways.
- votingSystem is the main package handling all cryptographic functions used by frontend and backend services.
- Design goals center on privacy, eligibility enforcement, recastability, and auditability without forcing voters to manage wallets or gas.
Documentation Map
Getting Help
- Raise an issue in the repository for bugs or documentation gaps.
- For integrations, audits, or research collaborations, email info@opn.vote.