CipherOps Docs
CipherOps is a Zama-native interface for discovering confidential token wrappers, testing the ERC-7984 lifecycle, and running private token operations through TokenOps. All flows are verified on Ethereum Sepolia.
01 — What is CipherOps?
CipherOps is a browser-based interface built on Zama fhEVM that demonstrates the full confidential token lifecycle. It connects to Zama's official on-chain wrapper registry and exposes every verified ERC-20 ↔ ERC-7984 pair alongside interactive flows for wrapping, revealing, and unwrapping.
On top of the registry lifecycle, CipherOps integrates TokenOps to provide three private token operation flows: Confidential Disperse (private multi-recipient payouts), Confidential Airdrop (encrypted claim campaigns), and Confidential Vesting (time-locked encrypted schedules). All flows are verified on Sepolia testnet.
02 — What is Zama?
Zama enables confidential smart contracts using Fully Homomorphic Encryption (FHE). FHE allows encrypted values to be processed on-chain without ever revealing the plaintext — computations happen on the ciphertext directly.
CipherOps uses Zama's @zama-fhe/relayer-sdk and @zama-fhe/sdk for FHE encryption and decryption, and @tokenops/sdk for private token operation contracts.
03 — Core Concepts
ERC-20
Standard public token. Balances visible to all on-chain.
ERC-7984
Confidential token standard by Zama. Balances are FHE-encrypted.
Wrapper Registry
Zama's official on-chain contract mapping ERC-20 ↔ ERC-7984 pairs.
FHE-encrypted amount
A ciphertext stored on-chain. Only the authorized holder can decrypt it.
Private Reveal
EIP-712 authorization flow that lets a holder decrypt only their own balance, locally.
Zama Gateway
The FHE compute layer that processes encrypted operations like public decrypt for Unwrap.
TokenOps
SDK + deployed contracts for private token operations: Disperse, Airdrop, Vesting.
Sepolia testnet
Ethereum testnet where all CipherOps flows are verified. Mainnet registry is read-only.
04 — Routes
| Route | Purpose | Status |
|---|---|---|
| / | Product showcase — hero, lifecycle strip, feature cards | Live |
| /registry | Full ERC-7984 lifecycle — Faucet, Wrap, Reveal, Unwrap | Verified |
| /operations | TokenOps Disperse — private multi-recipient payouts | Verified |
| /airdrop | TokenOps Airdrop — encrypted campaign, claims, reveal | Verified |
| /vesting | TokenOps Vesting — manager, schedules, recipient claim | Verified |
| /recipient | Recipient education — how to reveal an encrypted payout | Guide |
| /verification | Verified receipts, privacy guarantees, proof center | Guide |
| /developers | Developer implementation guide — packages, snippets, routes | Guide |
| /docs | Product documentation — this page | Live |
05 — Registry Lifecycle
All steps verified on Ethereum Sepolia against official Zama deployed contracts.
— Discover
Browse the official Zama wrapper registry. Every listed pair maps a public ERC-20 to its ERC-7984 confidential counterpart.
— Faucet
Call ERC20.mint(address, uint256) on the Zama Sepolia test token to get test assets.
— Approve
Call ERC20.approve(wrapperAddress, amount) to allow the wrapper to spend your tokens.
— Wrap
Call wrapper.wrap(address, amount) to seal ERC-20 into an FHE-encrypted ERC-7984 token.
— Private Reveal
Call confidentialBalanceOf to get the encrypted handle, then use EIP-712 user-decrypt via the Zama relayer to view your balance privately.
— Unwrap
Call wrapper.unwrap(from, to, encryptedAmount, inputProof). The Zama Gateway performs public decrypt.
— Finalize
Call wrapper.finalizeUnwrap(requestId, cleartext, proof) after the Gateway resolves. ERC-20 is released.
06 — TokenOps Disperse
The sender creates a private payout campaign and distributes ERC-7984 tokens to multiple recipients. Individual amounts are FHE-encrypted before the transaction is broadcast — public observers see only the recipient list, not the amounts. Recipients can import recipients via CSV, and each recipient can reveal their own balance privately through the Registry.
Flow
07 — TokenOps Airdrop
Admin deploys and funds a confidential airdrop clone. For each recipient, the admin produces an encrypted claim JSON (per-recipient proof bound to that wallet). Recipients paste the JSON and call claim. Amounts stay encrypted on-chain until Private Reveal.
Flow
08 — TokenOps Vesting
Admin deploys a per-token vesting manager from the factory, then creates time-locked schedules with FHE-encrypted allocations. Recipients auto-discover their schedules and claim as tokens vest. No per-recipient admin signature required — simpler than Airdrop.
Flow
09 — Verified Addresses
All links open Sepolia Etherscan. No custom contracts were deployed by CipherOps.
10 — Privacy Model
Public (visible on-chain)
Private (encrypted on-chain)
How Private Reveal works
11 — Limitations
12 — Quick Start
For testers
For recipients
13 — More Resources
Ready to explore?
Every feature is live on Sepolia.