Kaddu — A threshold whistleblower vault (FHE-only) + a confidential civic toolkit, live on Sepolia

Kaddu — Confidential, verifiable civic tools for communities, built on Zama FHE.
Track: Builder — Zama Developer Program
3-min video: https://youtu.be/RUnryaEYGJM

Start with the diamond: a threshold whistleblower vault

What if a corruption or harassment report only became visible once enough people independently flagged the same target — so a lone whistleblower stays mathematically invisible? That primitive is impossible without FHE, and it is live in Kaddu.

It is one of 8 confidential civic tools built on the same idea — compute on encrypted data, reveal only the result — powered by Zama: Concrete off-chain and fhEVM on-chain.

The flagship on-chain: KadduTender :star:

A tamper-proof public tender: sealed bids, the winner computed on encrypted data (the organizer has zero discretion), payment held in an ERC-7984 confidential-token escrow and released only when N citizens confirm delivery, a self-slashing confidential caution, and an encrypted collusion tripwire. Zama’s Confidential RFQ proved sealed-bid auctions for finance; KadduTender makes them tamper-proof for the public good.

The toolkit (same engine)

Confidential voting · tamper-proof tontines · sealed-bid tenders · protected pooling & private comparator · the threshold whistleblower vault · community-approved budgets · a social-style community space. Bilingual FR/EN, mobile-first, free.

On-chain (fhEVM · Sepolia) — source + tests in /fhevm

  • KadduTender — 0x15a12f29b69dc65Bc9d6206f0Ebcb8e624549768
  • KadduBudgetVote — 0x68B6cc4949E514930773507FB60781e0Ec1ec80f
  • KadduVote — 0x2e53C38af76aeEE1902C6FA2A1F7AdDc269F94c7
  • KadduTontine — 0x23E30319EfB8B19d22201778A95A0B3eC50ee311

All four on-chain contracts are source-verified on Etherscan (green check ✓ — readable Solidity, exact-match).

KadduVote.sol tallies encrypted ballots (FHE.fromExternalFHE.eqFHE.add) and exposes only the totals via FHE.makePubliclyDecryptable(). Contracts, a Hardhat test suite (KadduVote / KadduTender / KadduTontine) and the deployment record are in /fhevm.

Two honest layers

  • On-chain (fhEVM): trustless — data is encrypted client-side, so not even the operator can decrypt an individual value.
  • Web app (Concrete): ballots are encrypted and tallied homomorphically; only totals are revealed, and the organizer never sees an individual vote. (In the web version the server performs the encryption — the strongest “not even us” guarantee comes from the on-chain layer.)

Links

Feedback very welcome — especially: is the FHE value obvious to a non-crypto community member?

— Pape, Dakar :senegal:

:rocket: Big update since this post — Kaddu is now fully on-chain, and the flagship is deployed.

Everything I had listed as “in development” is now live, and I added a confidential primitive I believe is new to the ecosystem.

Now live (off-chain, Concrete): Protected pooling + Private comparator (both use homomorphic aggregation) + a threshold whistleblower vault — a corruption/harassment report only surfaces if enough people flag the same target; a lone whistleblower stays mathematically invisible. Plus a full Facebook/Instagram-style community feed, downloadable vote receipts + tamper-proof result certificates, and full FR/EN.

New on-chain (fhEVM on Sepolia), deployed today:

:backhand_index_pointing_right: Try it: https://kaddu-zama.onrender.com — feedback very welcome, especially: is the FHE value obvious to a non-crypto community member?

— Pape, Dakar :senegal: