Clear in.Confidential out.
suitz is the canonical registry for Zama's ERC-20 ↔ ERC-7984 wrappers. Faucet test tokens, wrap them into confidential balances, decrypt what's yours, and unwrap back, all from the official onchain registry, so the ecosystem stops fragmenting.
01 · How it works
Five steps from public to private and back.
Browse
Read the official onchain registry. Every canonical ERC-20 ↔ ERC-7984 pair, with metadata and both addresses.
Faucet
Claim the official cTokenMocks on Sepolia. A fresh wallet is ready to try everything in under a minute.
Wrap
Approve, then wrap an ERC-20 into its confidential ERC-7984 form. Your new balance arrives encrypted.
Decrypt
Sign once (EIP-712) to reveal your balance on any ERC-7984 token, in the registry or not.
Unwrap
Burn the confidential token; the decryption oracle finalizes; your ERC-20 is released. We wait honestly.
02 · Why it matters
Fragmentation is the enemy of composability.
When every team spins up its own confidential token, wallets fill with look-alikes that don't interoperate. suitz makes the canonical pair the path of least resistance.
Seven “confidential USD” tokens. None of them compose. Users can't tell which is real.
One canonical set, read straight from the onchain registry. Everyone points to the same addresses.
03 · Confidentiality
Your balance, revealed only to you.
ERC-7984 balances live onchain as encrypted handles. suitz turns a handle into a number through the EIP-712 user-decryption flow, without ever seeing the value itself.
- No gas, no transaction. Just one signature.
- Scoped to the connected wallet; nobody else can read it.
- Works on any ERC-7984 token, registered or not.
- Re-encrypted to your key and decrypted in your browser.
0x9f3a7c…1e04 · Extensibility
Add a pair in one minute.
The registry is a hybrid: the onchain WrappersRegistry is the source of truth, and a local config layers dev-only pairs on top. On collision, onchain always wins; local never masquerades as official.
- Local
- Drop one wrapper address into
config/pairs.ts, or use the in-app Add pair button. Instant, no onchain registration. - Onchain
- Register canonically in the WrappersRegistry. suitz surfaces it as official automatically.
// config/pairs.ts: the local override layer.
// Just the ERC-7984 wrapper address: the underlying ERC-20 and all
// metadata (symbol / name / decimals) are read onchain automatically.
LOCAL_PAIRS.push({
confidential: "0xYourErc7984Wrapper",
note: "my hackathon token", // optional
});
// save → it appears in the Registry tab, badged "local"
// (or skip the file entirely: use the "Add pair" button in the app)05 · FAQ
Questions, answered.
It is Zama's confidential fungible token standard. Balances and transfers are encrypted onchain using FHE, so amounts stay private while still being verifiable. A wrapper mints an ERC-7984 against a deposited ERC-20.
Stop shipping look-alikes.
Use the canonical wrappers.
One registry. Every official ERC-20 ↔ ERC-7984 pair. Wrap, decrypt and unwrap on Sepolia in a console judges and developers can trust.