Back to docs

# FAQ

## General

What is Zoff Wallet?

Zoff is a self-custodial web wallet and Chrome extension for Canton Network. It lets you hold, send, and receive Canton Coin (CC) and Canton BTC (CBTC), manage multiple accounts, and connect to dApps — all while keeping your private keys on your own device.

What is Canton Network?

Canton is a blockchain network designed for financial markets and real-world assets. It provides instant transaction finality, built-in privacy (transactions are private by default), and a smart contract language called Daml. Canton is backed by major financial institutions and infrastructure providers.

Is Zoff free to use?

Yes. The wallet itself is free. Canton Network charges transaction fees in CC for on-chain operations, but Zoff does not add any additional fees.

Is Zoff open source?

Not currently. We may open-source components in the future, particularly the dApp provider interface and integration examples.

## Security

Where are my keys stored?

Your seed phrase is encrypted with AES-256-GCM using your password and stored in your browser's local storage (`chrome.storage.local`). The unencrypted seed exists only briefly in memory during signing operations, then is zeroed. Your private keys never leave your browser.

Does Zoff have access to my funds?

No. Zoff's backend (`api.zoff.app`) never receives your private key, seed phrase, or password. It only sees public keys and pre-signed transactions. Even if our servers were compromised, your funds would remain safe.

What happens if I forget my password?

Your password encrypts your local keystore. If you forget it, you can restore your wallet using your 24-word recovery phrase. If you've also lost your recovery phrase, your funds are irrecoverable. This is the tradeoff of self-custody.

Has Zoff been audited?

Not yet. A third-party security audit is planned before mainnet launch.

Can Zoff freeze my account or reverse a transaction?

No. Zoff is non-custodial — we don't control your keys or your Canton party. Transactions on Canton have instant finality and cannot be reversed by Zoff or any single party.

## Using the Wallet

What assets does Zoff support?

Currently: Canton Coin (CC) and Canton BTC (CBTC). Any token built on the Canton Coin Standard will be supported automatically as the ecosystem grows.

Can I use Zoff on mobile?

Yes. The Zoff web app at zoff.app is fully responsive and works on mobile browsers. The Chrome extension is desktop-only, but the web app provides the same wallet functionality on any device.

Can I use Zoff with other browsers?

The extension is built for Chrome (and Chromium-based browsers like Brave, Edge, and Arc). Firefox and Safari are not supported yet. The web app works in any modern browser.

How do I get test CC on DevNet?

Use the Canton faucet to request test CC for your party ID. Details are available in the Canton developer documentation.

Why does sending CC take multiple steps?

Canton uses a Daml-based transfer model (TransferPreapproval) rather than a simple "send." This multi-step workflow provides stronger guarantees: the receiver's party must be valid, the transfer is atomic, and the DSO automation handles settlement with instant finality. From the user's perspective in Zoff, it looks like a single "Send" action — the complexity is abstracted away.

## For Developers

How do I integrate my dApp with Zoff?

Zoff injects `window.cantonWallet` — a provider with direct methods for Canton. Call `connect()` to request a connection, then use `signAndSubmit()` to submit Daml commands for user signing. See the Developer Guide for the full API reference.

Does Zoff support CIP-0103?

Zoff's provider interface is aligned with the CIP-0103 dApp API standard. As the standard evolves, Zoff will maintain compatibility to ensure interoperability with other Canton wallets and dApps.

Can I submit arbitrary Daml commands?

Yes. `signAndSubmit()` accepts any valid Daml command (template ID, choice, arguments). Zoff doesn't restrict which templates you can interact with — it shows the user what they're signing and lets them decide.

Is there an SDK or npm package?

Not yet. For now, interact directly with `window.cantonWallet`. We're considering publishing a `@zoff/connect` package if demand warrants it. The React hook example in the Developer Guide is a good starting point for building your own wrapper.

## Network & Status

Where is Zoff deployed?

The web app is at zoff.app. The backend API is at `api.zoff.app`. Both are deployed on infrastructure managed by the Zoff team.

Is Zoff on mainnet?

Not yet. Zoff is feature-complete on Canton DevNet. Mainnet deployment is pending mainnet credentials from the Canton Network. The provider API will be identical — no code changes needed for dApp integrations.

What happens to my DevNet wallet when mainnet launches?

DevNet and mainnet are separate networks with separate party IDs. Your DevNet wallet and balances will not carry over to mainnet. You'll create a new wallet (or import your seed to derive new mainnet accounts) when mainnet support is available.

Questions not answered here? Reach out on Twitter/X.