Skip to main content

What is cToken?

cToken turns any ERC-20 into a confidential token. Balances and transfer amounts are encrypted, only the holder can read them, and the token still moves on-chain like any other. Four pieces work together:

How it works

Wrap. Approve the cToken, call wrap(to, amount). Your ERC-20 goes into the vault, you get an encrypted balance. Send. Amounts travel encrypted. The transaction pays a small fee, and any extra is refunded. Unwrap. Prove you have enough, burn confidentially, get the underlying back. Read. Balances live on-chain as handles. You decrypt them off-chain, usually through a session: one wallet signature, then silent reads.

Networks

Testing on Base Sepolia? Get USDC from the official Circle faucet.

Addresses

The SDK ships these, so you only name a network. v1 uses the same addresses on Base and Base Sepolia:
Running your own deployment? Pass contracts and sessionVerifier to override.
Upgrade plumbing, for verification rather than integration: beacon 0xF9469C8e50bd8b8b2a764a52a7F9F9fEb7D63170, cToken implementation 0x32B5E112474E609c885c50a46899B1e771B1A2D2, factory implementation 0x593B6F3F2821ECB0cD8c62285aB771aa06ccA439, vault implementation 0xD21b59e85072676D389Fd1af81588A666829F0A9, session-verifier implementation 0x4B3e5e80D73a9A8cB53F301C2474f6e9bB2a3803, timelock 0x63ae7B40592DD5fB9823BFafBe905f47656F01ff.

Smart accounts

Safe and other ERC-1271 accounts work end to end: wrapping, sending, and reading balances through sessions.