Back to projects
Governance · DeFi

FedVote

Tamper-resistant on-chain national voting

Contracts
8
Test suites
7
Role
Lead Developer
Team
5 developers

Overview

FedVote reimagines national elections as transparent, verifiable, and incentive-aligned on-chain infrastructure. It tackles three real problems at once: double-voting, opacity of results, and low youth participation.

Voter identities are abstracted via cryptographic hashing (national IDs are never stored in the clear), while a modular contract architecture keeps elections, party management, and incentives cleanly separated.

I led a team of five developers, owning the contract architecture and reward mechanics from design through deployment.

Key highlights

  • 8-contract system: NationalToken (ERC-20), Registry, NationalElectionBody, PoliticalPartiesManager (factory), Elections, VoterIncentives, and a soul-bound DemocracyBadge (ERC-721).
  • Six distinct admin roles via OpenZeppelin AccessControl for granular, auditable permissions.
  • Non-linear, streak-based rewards (1.3× multiplier across vote thresholds) that compound to encourage long-term participation.
  • Soul-bound (non-transferable) NFT badges as on-chain proof of civic participation.

What it does

  • Cryptographic voter-identity masking to prevent double-voting without exposing personal data
  • Factory pattern enabling multiple concurrent political-party hierarchies
  • Reentrancy guards and the Checks-Effects-Interactions pattern on high-value operations
  • Batch voter authorization for scalable registration
  • 7 Foundry test suites — one per contract — covering access control, state transitions and reward math

Tech stack

Solidity ^0.8.30Foundry (via_ir, optimizer 200)OpenZeppelinReact + ViteTypeScriptethers.js v6Reown AppKitTailwind CSS