Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs-main/appdev/modules/m4-canton-coin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ CC has several primary purposes on the network:
- **Application rewards** -- Application providers earn CC based on the use of their application (adding value) to the Canton Network
- **Governance** -- Super Validators stake CC to participate in synchronizer governance

Unlike most blockchain tokens, CC balances are private. Only you and explicitly entitled parties can see your holdings. There is no public ledger of balances or transfers.
CC balances and transaction history are publicly visible through the network's scan service. Private application contract data on Canton is visible only to entitled parties, but CC does not have this privacy property.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe just add "by design" to the end of this sentence.


## Traffic: How Transaction Fees Work

Expand Down
57 changes: 26 additions & 31 deletions docs-main/integrations/wallets/canton-vs-web3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ Canton wallets work differently from Web3 wallets like MetaMask. This page expla

| Aspect | Web3 Wallets | Canton Wallets |
|--------|--------------|----------------|
| **Data visibility** | Balances public | Balances private |
| **Transaction privacy** | All transactions public | Only you see your transactions |
| **Data visibility** | Balances public | CC balances public via scan; private contract data visible only to participants |
| **Transaction privacy** | All transactions public | CC transactions public via scan; private contract activity visible only to participants |
| **Network model** | Connect to any RPC | Connect to the validator with your party |
| **Identity** | Pseudonymous address | Party identifier |
| **Transfer model** | Single-step send | Single-step or multi-step (pre-approvals, allocations) |
Expand All @@ -30,17 +30,17 @@ Anyone can query: 0x123...abc has 45.67 ETH
Anyone can see: 0x123...abc sent 5 ETH to 0x456...def
```

### Canton: Private by Default
### Canton: Contract Privacy by Default

On Canton, your wallet:
- Has a party identifier visible only to you
- Balance visible only to you (and entitled parties)
- Transactions visible only to participants
- No public transaction history
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

```
Only you can see: Your party has 100 CC
Only participants see: You transferred 20 CC to another party
Anyone can query via scan: Your party's CC balance and transfer history
Only entitled parties see: Your private application contract data
```

## Transfer Capabilities
Expand All @@ -55,21 +55,20 @@ Canton supports complex workflows:

| Pattern | Description |
|---------|-------------|
| **Pre-approvals** | Authorize future transfers up to a limit |
| **Pre-approvals** | Recipient pre-approves accepting transfers from a specific sender |
| **Allocations** | Reserve tokens for specific purposes |
| **DvP** | Atomic delivery-vs-payment exchanges |
| **Conditional** | Transfers triggered by conditions |

### Pre-Approvals

Allow another party to withdraw up to a certain amount:
Allow a recipient to receive tokens from a specific sender without accepting each incoming transfer:

```mermaid
flowchart LR
A[Alice] --> |pre-approve 100 CC| B[Bob]
B --> |withdraw 50 CC when needed| A

Note[Bob can withdraw up to 100 CC<br>without Alice's per-transaction approval]
B[Bob] -->|"1. creates pre-approval"| P[Pre-approval]
A[Alice] -->|"2. sends CC using pre-approval"| B
Note["Bob receives automatically — no per-transfer acceptance step"]
```

**Use cases:**
Expand Down Expand Up @@ -125,10 +124,10 @@ Web3 wallets connect to any compatible RPC endpoint:

### Canton: Your Validator

Canton wallets connect to a specific validator:
- The validator hosting your party
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 has your data
- Only your validator(s) have your data

```mermaid
flowchart TB
Expand Down Expand Up @@ -175,24 +174,20 @@ Block explorers show all network activity:
- Any address balance
- Any contract state

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

Canton explorers show your activity:
- Your transactions only
- Your balances
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

<Note>
There's no equivalent of Etherscan showing all network transactions. This is by design—privacy is fundamental.
</Note>

## Implications for Users

| If you're used to... | On Canton... |
|----------------------|--------------|
| Checking any address balance | You can only check your own |
| Viewing all transactions | You see only your transactions |
| Connecting to any RPC | You connect to your validator |
| Checking any address balance | CC balances queryable via scan; private contract balances require entitlement |
| Viewing all transactions | CC history public via scan; private contract activity visible only to you |
| Connecting to any RPC | You connect to your validator(s) |
| Simple send transactions | You have more transfer options |

## Implications for Developers
Expand All @@ -201,7 +196,7 @@ There's no equivalent of Etherscan showing all network transactions. This is by
|----------------------|-------------|
| Wallet integration | Use Wallet SDK for Canton patterns |
| Transaction display | Show only user's transactions |
| Balance queries | Query user's party only |
| Balance queries | Query via scan for CC; query user's party for private contracts |
| Multi-step workflows | Leverage pre-approvals and allocations |

## Next Steps
Expand Down
2 changes: 1 addition & 1 deletion docs-main/overview/reference/canton-coin-tokenomics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ To become a featured application, submit a request through the [CF featured app

## UTXO Model and Dust Expiry

CC holdings use a UTXO (unspent transaction output) model. Each coin is represented as an individual `Amulet` contract on the ledger with a specific face value. Transfers consume input UTXOs and create new output UTXOs, similar to Bitcoin's transaction model but with privacy -- balances are visible only to entitled parties, and there is no public ledger of all holdings.
CC holdings use a UTXO (unspent transaction output) model. Each coin is represented as an individual `Amulet` contract on the ledger with a specific face value. Transfers consume input UTXOs and create new output UTXOs, similar to Bitcoin's transaction model. CC balances and transaction history are publicly visible via the network's scan service.

When a transfer produces change (the input exceeds the amount being sent), a new UTXO is created for the remainder. Over time, this can result in a wallet holding many small-value UTXOs.

Expand Down
12 changes: 4 additions & 8 deletions docs-main/overview/understand/canton-coin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,17 +125,13 @@ For detailed tokenomics, see [canton.foundation](https://canton.foundation).
| Aspect | Canton Coin | Other L1 Tokens |
|--------|-------------|-----------------|
| **Primary use** | Network utility | Varies |
| **Privacy** | Balances private | Often public |
| **Holders visible** | Only to entitled parties | Public |
| **Privacy** | Balances public via scan | Often public |
| **Holders visible** | Public via scan service | Public |
| **Transaction fees** | Pay for traffic | Pay for gas |

### Privacy of Holdings
### Visibility of Holdings

Unlike most cryptocurrencies where balances are publicly visible:

- Your CC balance is visible only to you and entitled parties
- Transfer details are private between sender and receiver
- No public rich list or balance queries
CC balances and transaction history are publicly visible via the network's scan service, similar to most other cryptocurrencies. This differs from other Canton application contracts, which are private by default and visible only to entitled parties.

## Integration Considerations

Expand Down