Skip to main content
Canton wallets work differently from Web3 wallets like MetaMask. This page explains the key differences and what they mean for users and developers.

Fundamental Differences

AspectWeb3 WalletsCanton Wallets
Data visibilityBalances publicCC balances public via scan; private contract data visible only to participants
Transaction privacyAll transactions publicCC transactions public via scan; private contract activity visible only to participants
Network modelConnect to any RPCConnect to the validator with your party
IdentityPseudonymous addressParty identifier
Transfer modelSingle-step sendSingle-step or multi-step (pre-approvals, allocations)

Privacy Model

Web3: Public by Default

On Ethereum, your wallet:
  • Has a public address anyone can see
  • Shows balance to anyone who queries
  • All transactions visible on block explorers
  • Transaction patterns analyzable
Anyone can query: 0x123...abc has 45.67 ETH
Anyone can see: 0x123...abc sent 5 ETH to 0x456...def

Canton: Contract Privacy by Default

Canton’s privacy model depends on the contract type:
  • CC balances and transaction history are publicly visible via the network’s scan service
  • Private application contract data is visible to entitled parties
  • There is no global view of all contracts
Anyone can query via scan: Your party's CC balance and transfer history
Only entitled parties see: Your private application contract data

Transfer Capabilities

Canton wallets support transfer patterns not possible in traditional wallets.

Multi-Step Transfers

Traditional transfer: Send X now. Canton supports complex workflows:
PatternDescription
Pre-approvalsRecipient pre-approves accepting transfers from any sender
AllocationsReserve tokens for specific purposes
DvPAtomic delivery-vs-payment exchanges
ConditionalTransfers triggered by conditions

Pre-Approvals

Allow a recipient to receive tokens from any sender without accepting each incoming transfer: Use cases:
  • Subscription payments
  • Recurring transfers
  • Automated application flows

Allocations

Reserve tokens for a specific purpose: Use cases:
  • Trade settlement
  • Escrow arrangements
  • Multi-step workflows

Delivery vs. Payment (DvP)

Atomic exchange of different assets: Why this matters:
  • No settlement risk
  • No trust required between parties
  • Complex exchanges in single transaction

Connection Model

Web3: Any RPC

Web3 wallets connect to any compatible RPC endpoint:
  • Infura, Alchemy, or self-hosted
  • Can switch providers freely
  • Any node can answer queries

Canton: Your Validator

Canton wallets connect to one or more validators:
  • The validator(s) hosting your party
  • Can’t freely switch (party is hosted somewhere specific)
  • Only your validator(s) have your data

Identity Model

Web3: Address-Based

  • Address derived from public key
  • Anyone can generate addresses
  • Pseudonymous (address is identity)

Canton: Party-Based

  • Party identifier tied to validator hosting
  • Party creation involves validator
  • Not pseudonymous in the same way
For local parties (where the validator holds the keys), the validator signs on behalf of the party. For external parties, keys are held externally and require explicit signing.
Web3 AddressCanton Party
0x742d35Cc6634C0532925a3b844Bc454e4438f44ealice::1220f2fe29866fd6a0009ecc8a64ccdc09f1958bd0f801166baaee469d1251b2eb72

Explorer Differences

Web3: Global Explorer

Block explorers show all network activity:
  • Any transaction
  • Any address balance
  • Any contract state

Canton: Scan Service for CC, Personal View for Private Contracts

For CC, the network’s scan service works like a block explorer — anyone can query CC balances and transaction history by party. For private application contracts, you see only your own activity:
  • Your private contract transactions
  • Your private contract balances
  • Your contracts

Implications for Users

If you’re used to…On Canton…
Checking any address balanceCC balances queryable via scan; private contract balances require entitlement
Viewing all transactionsCC history public via scan; private contract activity visible only to you
Connecting to any RPCYou connect to your validator(s)
Simple send transactionsYou have more transfer options

Implications for Developers

If you’re building…Consider…
Wallet integrationUse Wallet SDK for Canton patterns
Transaction displayShow only user’s transactions
Balance queriesQuery via scan for CC; query user’s party for private contracts
Multi-step workflowsLeverage pre-approvals and allocations

Next Steps

Wallet for Developers

Integrate wallet functionality into your app.

Token Standard

Understand the Canton Token Standard.