Demo modeLocal demo affordances are active. Live registry reads are confirmed and available with NEXT_PUBLIC_DEMO_MODE=false.

Confidential wrapper registry interface

A cleaner front door for Zama’s confidential token wrappers.

Custos turns the official wrapper registry into a focused product layer for discovery, shielding, async unshielding, and local balance decryption.

Why it exists

Privacy UX should feel operational, not theatrical.

Confidential assets are powerful, but the experience can become fragmented fast: unofficial wrappers, unclear unwrap states, and hidden balances with little explanation.

Custos is intentionally narrow. It gives users and developers a credible interface for the canonical registry and makes each privacy-critical step legible.

Product workflow

Built around the moments users question.

The interface gives each on-chain step enough context to earn trust without burying the user in protocol detail.

01

Resolve the canonical pair

The registry is treated as product infrastructure, not a footnote. Users start from the official underlying/confidential mapping.

02

Shield through a known wrapper

Approval and wrap are presented as separate, inspectable steps with balances, validation, and transaction links.

03

Make async unshielding obvious

Requests persist locally, show KMS readiness, and separate finalization from the initial encrypted unwrap.

Live registry surface

Canonical pairs, ready to inspect.

Adapter notes
Loading canonical wrapper pairs...

Submission clarity

What is real, demo, and adapter-ready.

Custos is explicit about its integration boundary so reviewers can evaluate the live registry work separately from local demo affordances.

Demo mode active
Real now
  • Sepolia wallet connection and network-state handling
  • Official SDK registry default for Sepolia
  • Live registry read helpers from @zama-fhe/sdk/viem
  • Searchable wrapper-pair explorer and metadata adapter
  • Typed transaction surfaces through wagmi and viem
Demo mode
  • Mock token pairs when demo mode is enabled
  • Simulated approval and wrap transaction hashes
  • Local KMS timer for async unwrap readiness
  • Mock decrypted balances held only in session state
  • Faucet claim placeholder until a faucet contract is configured
Adapter-ready
  • Wrapper write methods isolated behind ABI and flow components
  • Balance decrypt UI prepared for Zama permit/decrypt hooks
  • TokenOps page documents confirmed SDK modules without overclaiming live deployment

Discover

Search by token symbol or wrapper address.

Shield

Approve and wrap public balances deliberately.

Unshield

Track KMS pending state and finalization.

Decrypt

View private balances locally, then clear them.

Custos for Zama Developer Program Mainnet Season 3.Repository, deployment, screenshots, and demo video links go here.