— 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.
Per-contract privacy posture
Confidential Token (FHERC-20) Stage 3 Encrypted-balance ERC-20 with built-in faucet.
balanceOf(address) allowance(owner, spender) name symbol decimals totalSupply (faucet emissions)FHE operations used
asEuint64 add sub select allowThis allow
Settlement Vault Stage 3 Encrypted balance ledger; settles trades atomically.
pause state platform adminFHE operations used
asEuint64 add sub select gte allowThis allow
Sealed-Bid Auction Stage 2 emits reveals Highest-bid wins, anti-snipe timer.
bids[bidder].amount highestBid winner (until reveal) seller token pair deadline bidCount statusFHE operations used
asEuint128 gt max select allowGlobal publishDecryptResult
Vickrey (2nd-Price) Auction Stage 2 emits reveals Highest wins, pays 2nd-highest. Truthful bidding.
bids[bidder].amount highestBid (until reveal) secondBid (until reveal) winner (until reveal) seller token pair deadline bidCountFHE operations used
asEuint128 gt select (nested) allowGlobal publishDecryptResult
Dutch Auction Stage 2 emits reveals Price decays linearly; buy at current price.
startPrice endPrice duration buyerCountFHE operations used
asEuint64 min allowGlobal publishDecryptResult
Batch / Clearing-Price Auction Stage 2 emits reveals Uniform clearing price where supply meets demand.
orders[bidder].amount clearingPrice (until reveal) seller token pair totalSupply orderCountFHE operations used
asEuint64 gte lte add select allowGlobal publishDecryptResult
Overflow Sale Stage 2 emits reveals Fixed price; pro-rata allocation if oversubscribed.
deposits[buyer].amount allocations[buyer].amount price totalSupply depositorCountFHE operations used
asEuint64 add min div(plain) allowGlobal publishDecryptResult
Private Payments Stage 3 Per-recipient encrypted payouts. End-to-end encrypted.
splits[id].recipientAmounts[recipient] payer recipient list split template nameFHE operations used
asEuint64 add allowThis allow
Freelance Bidding Stage 2 emits reveals Encrypted bids, milestone escrow, 3-voter dispute resolution.
bids[bidder].price milestoneEscrow disputeVotes (until tally) title milestoneCount bidderCount statusFHE operations used
asEuint128 lt select asEuint8 add allowGlobal publishDecryptResult
Encrypted P2P Order Book Stage 2 emits reveals Limit orders with encrypted prices.
maker token pair amount side statusFHE operations used
asEuint128 gte lte select allowGlobal publishDecryptResult
OTC Desk Stage 2 emits reveals Private venue for large block trades.
quotes[id].price quotes[id].amountFHE operations used
asEuint128 gte lte and select mul allowGlobal
Limit Order Engine Stage 2 Continuous matching of encrypted limit orders.
orders[id].price orders[id].amountFHE operations used
asEuint128 lte gte or select allowGlobal
Escrow Stage 2 Conditional release; eq + and gating.
FHE operations used
eq and select allowGlobal
Encrypted Reputation Stage 2 emits reveals Composable credit bureau. Ratings encrypted, score reveals on permit.
scores[user] ratings[trader, counterparty] tradeRecorded[tradeId] user listFHE operations used
asEuint8 add div(plain) allowGlobal publishDecryptResult
Portfolio Tracker Stage 3 Encrypted portfolio valuation across vault balances.
token list registered for trackerFHE operations used
mul add allowThis allow
Token Vesting Stage 3 Cliff + linear vesting; encrypted grant amounts.
grants[id].amount grants[id].releasedFHE operations used
asEuint64 sub div(plain) allowThis allow
Allowlist Gate Stage 1 Merkle-tree whitelist for gated launches.
(no encrypted state — utility contract)
Encrypted Referrals Stage 3 FHE-private referral attribution + earnings.
earnings[referrer] referralCount[referrer] root referrer registrationFHE operations used
asEuint64 add allowThis allow
Auction Claim NFT Stage 1 ERC-721 representing a tradeable auction position.
(no encrypted state — utility contract)
Confidential ERC-20 Wrapper Stage 3 emits reveals Wrap ANY ERC-20 token into an encrypted-balance equivalent. Composability win.
totalDeposited[token] initialized[token][user]FHE operations used
asEuint64 add sub gte select allowThis allow allowGlobal publishDecryptResult
Encrypted Raffle Stage 2 emits reveals Public ticket buying, encrypted random winner via FHE.randomEuint64().
raffles[id].creator raffles[id].deadline raffles[id].ticketCount participants[id][]FHE operations used
randomEuint64 asEuint64 rem allowThis allowGlobal publishDecryptResult
Encrypted Royalty Splits Stage 3 On-chain royalty registry where per-recipient % is encrypted. Distribution runs on ciphertext.
encPercent[id][recipient] royalties[id].creator royalties[id].token recipientLists[id]FHE operations used
asEuint64 mul div allowThis allow allowTransient
Confidential Multisig Vault Stage 3 Multisig where threshold + voting shares are encrypted; settlement runs on ciphertext.
multisigs[id].threshold members[id][addr].share proposals[id][pid].amount proposals[id][pid].yesShares multisigs[id].creator multisigs[id].token memberCount proposals[id][pid].recipient proposals[id][pid].statusFHE operations used
asEuint64 add gte select allowThis allow allowTransient
Encrypted Streaming Payments Stage 3 Sablier-style streams with encrypted rate-per-second.
streams[id].ratePerSecond streams[id].payer streams[id].recipient streams[id].startTime streams[id].endTime streams[id].statusFHE operations used
asEuint64 mul allowThis allow allowTransient
Organization Stage 2 emits reveals DAO primitive — encrypted member weights + encrypted votes.
encWeight[orgId][member] proposals[orgId][id].yesWeight proposals[orgId][id].noWeight orgs[orgId].name orgs[orgId].admin orgs[orgId].memberCount proposals[orgId][id].status proposals[orgId][id].deadlineFHE operations used
asEuint64 add select allowThis allow allowGlobal publishDecryptResult
Platform Registry Stage 1 User registry, fee schedule, pause control.
(no encrypted state — utility contract)
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.
add allow allowGlobal allowThis allowTransient and asEuint128 asEuint64 asEuint8 div div(plain) eq gt gte lt lte max min mul or publishDecryptResult randomEuint64 rem select select (nested) sub
Schema generated from src/lib/privacy-audit.ts. Live counts pulled at page load.
Found a discrepancy? Report it on the homepage .