— Public privacy audit

We open the books.

Every contract Zerith deploys is listed below. For each, we publish the schema — which fields are encrypted, which are public, and which FHE operations the contract calls. Live counts come straight from the chain. No claim is unverifiable.

Contracts deployed
26
Contracts using FHE
23
Encrypted fields
44
Distinct FHE ops
26
Network:Ethereum SepoliachainId 11155111
Open block explorer

Per-contract privacy posture

Confidential Token (FHERC-20)

Stage 3

Encrypted-balance ERC-20 with built-in faucet.

Encrypted on-chain
  • balanceOf(address)
  • allowance(owner, spender)
Public on-chain
  • name
  • symbol
  • decimals
  • totalSupply (faucet emissions)
FHE operations used
asEuint64addsubselectallowThisallow

Settlement Vault

Stage 3

Encrypted balance ledger; settles trades atomically.

Encrypted on-chain
  • balances(token, user)
Public on-chain
  • pause state
  • platform admin
FHE operations used
asEuint64addsubselectgteallowThisallow

Sealed-Bid Auction

Stage 2emits reveals

Highest-bid wins, anti-snipe timer.

Encrypted on-chain
  • bids[bidder].amount
  • highestBid
  • winner (until reveal)
Public on-chain
  • seller
  • token pair
  • deadline
  • bidCount
  • status
FHE operations used
asEuint128gtmaxselectallowGlobalpublishDecryptResult

Vickrey (2nd-Price) Auction

Stage 2emits reveals

Highest wins, pays 2nd-highest. Truthful bidding.

Encrypted on-chain
  • bids[bidder].amount
  • highestBid (until reveal)
  • secondBid (until reveal)
  • winner (until reveal)
Public on-chain
  • seller
  • token pair
  • deadline
  • bidCount
FHE operations used
asEuint128gtselect (nested)allowGlobalpublishDecryptResult

Dutch Auction

Stage 2emits reveals

Price decays linearly; buy at current price.

Encrypted on-chain
  • purchases[buyer].amount
Public on-chain
  • startPrice
  • endPrice
  • duration
  • buyerCount
FHE operations used
asEuint64minallowGlobalpublishDecryptResult

Batch / Clearing-Price Auction

Stage 2emits reveals

Uniform clearing price where supply meets demand.

Encrypted on-chain
  • orders[bidder].amount
  • clearingPrice (until reveal)
Public on-chain
  • seller
  • token pair
  • totalSupply
  • orderCount
FHE operations used
asEuint64gtelteaddselectallowGlobalpublishDecryptResult

Overflow Sale

Stage 2emits reveals

Fixed price; pro-rata allocation if oversubscribed.

Encrypted on-chain
  • deposits[buyer].amount
  • allocations[buyer].amount
Public on-chain
  • price
  • totalSupply
  • depositorCount
FHE operations used
asEuint64addmindiv(plain)allowGlobalpublishDecryptResult

Private Payments

Stage 3

Per-recipient encrypted payouts. End-to-end encrypted.

Encrypted on-chain
  • splits[id].recipientAmounts[recipient]
Public on-chain
  • payer
  • recipient list
  • split template name
FHE operations used
asEuint64addallowThisallow

Freelance Bidding

Stage 2emits reveals

Encrypted bids, milestone escrow, 3-voter dispute resolution.

Encrypted on-chain
  • bids[bidder].price
  • milestoneEscrow
  • disputeVotes (until tally)
Public on-chain
  • title
  • milestoneCount
  • bidderCount
  • status
FHE operations used
asEuint128ltselectasEuint8addallowGlobalpublishDecryptResult

Encrypted P2P Order Book

Stage 2emits reveals

Limit orders with encrypted prices.

active orders
0x80b0942D45E2
Encrypted on-chain
  • orders[id].price
Public on-chain
  • maker
  • token pair
  • amount
  • side
  • status
FHE operations used
asEuint128gtelteselectallowGlobalpublishDecryptResult

OTC Desk

Stage 2emits reveals

Private venue for large block trades.

Encrypted on-chain
  • quotes[id].price
  • quotes[id].amount
Public on-chain
  • maker
  • token pair
  • expiry
FHE operations used
asEuint128gtelteandselectmulallowGlobal

Limit Order Engine

Stage 2

Continuous matching of encrypted limit orders.

active orders
0x09A01E58F8E6
Encrypted on-chain
  • orders[id].price
  • orders[id].amount
Public on-chain
  • token pair
  • side
  • status
FHE operations used
asEuint128ltegteorselectallowGlobal

Escrow

Stage 2

Conditional release; eq + and gating.

Encrypted on-chain
  • amount
  • release condition
Public on-chain
  • payer
  • payee
  • status
FHE operations used
eqandselectallowGlobal

Encrypted Reputation

Stage 2emits reveals

Composable credit bureau. Ratings encrypted, score reveals on permit.

Encrypted on-chain
  • scores[user]
  • ratings[trader, counterparty]
Public on-chain
  • tradeRecorded[tradeId]
  • user list
FHE operations used
asEuint8adddiv(plain)allowGlobalpublishDecryptResult

Portfolio Tracker

Stage 3

Encrypted portfolio valuation across vault balances.

Encrypted on-chain
  • computed portfolio total
Public on-chain
  • token list registered for tracker
FHE operations used
muladdallowThisallow

Token Vesting

Stage 3

Cliff + linear vesting; encrypted grant amounts.

Encrypted on-chain
  • grants[id].amount
  • grants[id].released
Public on-chain
  • beneficiary
  • cliff
  • duration
FHE operations used
asEuint64subdiv(plain)allowThisallow

Allowlist Gate

Stage 1

Merkle-tree whitelist for gated launches.

Encrypted on-chain

(no encrypted state — utility contract)

Public on-chain
  • merkleRoot
  • claimedBitmap

Encrypted Referrals

Stage 3

FHE-private referral attribution + earnings.

Encrypted on-chain
  • earnings[referrer]
  • referralCount[referrer]
Public on-chain
  • root referrer registration
FHE operations used
asEuint64addallowThisallow

Auction Claim NFT

Stage 1

ERC-721 representing a tradeable auction position.

Encrypted on-chain

(no encrypted state — utility contract)

Public on-chain
  • owner
  • tokenId
  • auctionId

Confidential ERC-20 Wrapper

Stage 3emits reveals

Wrap ANY ERC-20 token into an encrypted-balance equivalent. Composability win.

Encrypted on-chain
  • encBalance[token][user]
Public on-chain
  • totalDeposited[token]
  • initialized[token][user]
FHE operations used
asEuint64addsubgteselectallowThisallowallowGlobalpublishDecryptResult

Encrypted Raffle

Stage 2emits reveals

Public ticket buying, encrypted random winner via FHE.randomEuint64().

Encrypted on-chain
  • encWinnerIndex[id]
Public on-chain
  • raffles[id].creator
  • raffles[id].deadline
  • raffles[id].ticketCount
  • participants[id][]
FHE operations used
randomEuint64asEuint64remallowThisallowGlobalpublishDecryptResult

Encrypted Royalty Splits

Stage 3

On-chain royalty registry where per-recipient % is encrypted. Distribution runs on ciphertext.

Encrypted on-chain
  • encPercent[id][recipient]
Public on-chain
  • royalties[id].creator
  • royalties[id].token
  • recipientLists[id]
FHE operations used
asEuint64muldivallowThisallowallowTransient

Confidential Multisig Vault

Stage 3

Multisig where threshold + voting shares are encrypted; settlement runs on ciphertext.

Encrypted on-chain
  • multisigs[id].threshold
  • members[id][addr].share
  • proposals[id][pid].amount
  • proposals[id][pid].yesShares
Public on-chain
  • multisigs[id].creator
  • multisigs[id].token
  • memberCount
  • proposals[id][pid].recipient
  • proposals[id][pid].status
FHE operations used
asEuint64addgteselectallowThisallowallowTransient

Encrypted Streaming Payments

Stage 3

Sablier-style streams with encrypted rate-per-second.

Encrypted on-chain
  • streams[id].ratePerSecond
Public on-chain
  • streams[id].payer
  • streams[id].recipient
  • streams[id].startTime
  • streams[id].endTime
  • streams[id].status
FHE operations used
asEuint64mulallowThisallowallowTransient

Organization

Stage 2emits reveals

DAO primitive — encrypted member weights + encrypted votes.

Encrypted on-chain
  • encWeight[orgId][member]
  • proposals[orgId][id].yesWeight
  • proposals[orgId][id].noWeight
Public on-chain
  • orgs[orgId].name
  • orgs[orgId].admin
  • orgs[orgId].memberCount
  • proposals[orgId][id].status
  • proposals[orgId][id].deadline
FHE operations used
asEuint64addselectallowThisallowallowGlobalpublishDecryptResult

Platform Registry

Stage 1

User registry, fee schedule, pause control.

Encrypted on-chain

(no encrypted state — utility contract)

Public on-chain
  • isUser
  • feeBps
  • paused

Aggregate FHE operations

Every distinct call into the FHE library across the entire codebase. Buildathon brief asked for "14+ distinct ops" — here are all of ours.

addallowallowGlobalallowThisallowTransientandasEuint128asEuint64asEuint8divdiv(plain)eqgtgteltltemaxminmulorpublishDecryptResultrandomEuint64remselectselect (nested)sub

Schema generated from src/lib/privacy-audit.ts. Live counts pulled at page load.

Found a discrepancy? Report it on the homepage.