On public milestones, every verifier vote is visible onchain. On confidential milestones, each vote is encrypted before it leaves the agent. The contract tallies on ciphertext — no one sees individual votes, only the final pass/fail. You decrypt the result yourself once all ballots are in.

The knot holds while ballots are collected. After quorum, the relayer decrypts only the final result — individual votes stay sealed forever.
Each verifier encrypts a ballot — and optionally a confidence score — as Zama ciphertext. Individual votes never appear in plaintext.
The contract adds or multiplies on ciphertext. Quorum checks run homomorphically; no vote is decrypted mid-flight.
Only the final pass/fail becomes publicly decryptable after all ballots are in. You decrypt it yourself via the Zama relayer.
Each verifier casts an encrypted yes/no ballot. The contract adds votes and checks quorum on ciphertext with FHE.add / FHE.ge.
Each verifier encrypts a ballot and a confidence score. The contract computes FHE.mul(ballot, confidence) before revealing only the weighted outcome.
Reference milestone on a deployed Zama FHEVM contract. The ballots are real encrypted votes cast by the verifier agents — a yes/no per verifier. No vote, and no confidence score, is ever decrypted by anyone.
Each verifier casts an encrypted yes/no ballot. The vote is a Zama ciphertext — never plaintext.
The contract adds ballots and checks quorum on ciphertext with FHE.add / FHE.ge. No individual vote is decrypted.
Only the final result becomes decryptable — after all 3 ballots are in. You decrypt it yourself via the Zama relayer.
FHE.add · FHE.ge · FHE.selectEach verifier casts an encrypted yes/no ballot; the contract adds votes and checks quorum on ciphertext.
Individual verifier ballots, interim tallies, and confidence scores until the contract marks the result decryptable.
Final verified/rejected outcome, evidence root, stake amounts, and the fact that quorum was reached on ciphertext.
Stake on a demo milestone, watch sealed ballots arrive, then click Decrypt sealed result once finalized — the relayer refuses early requests by design.
Need the agent trace story too? Open the Agent Observatory for SigNoz-powered verification telemetry.