For the complete documentation index, see llms.txt. This page is also available as Markdown.

Canton (CC)

Canton on Ledger Enterprise: accepting incoming transfers, automatic approval, how balances are held, and dual-validator signing.

Canton behaves differently from every other network here, in ways that affect daily operations. Read this page before using a Canton Account.

How Canton differs

Canton is built for privacy between institutions. Each party sees only the transactions it takes part in. There is no public ledger for anyone to inspect.

Three consequences shape how this product behaves:

  • A transfer needs the consent of both parties. That is why receiving is an action here, and not a wait.

  • A balance is held as a set of individual coin contracts, not as a number. The model is closer to Bitcoin than to Ethereum.

  • Two validators, Ledger and Kiln, co-sign every transaction.

For the network itself, see canton.network.

Token coverage

Ledger Enterprise supports Canton Coin (CC).

Tokens that comply with the Canton token standard, CIP-0056, are supported on Request.

Support for a given token is enabled per Workspace. Ask your Ledger contact to enable one.

Four things to know

Property
What it means for you

UTXO-based balance

The balance is held as individual coin contracts. One transfer can draw on at most 100 of them. Idle contracts lose value over time, and expire if fees grow beyond what they hold

Offer-based transfers

Nothing settles automatically. Incoming transfers arrive as proposals. Somebody has to accept them, unless automatic approval is on. A sent transfer can be withdrawn, and a received one rejected, through the API only

Dual-validator security

Every transaction is co-signed by both Ledger and Kiln. Neither can act on your behalf alone

Standard token liability

If a token fails, recovering it is the responsibility of whoever issued it, not Ledger

These are shown as a disclaimer when a Canton Account is created. They are not warnings about Ledger Enterprise; they are properties of the network.

Receiving is an action, not a wait

On most networks receiving is passive: someone sends, and the funds appear. On Canton you have to accept.

An incoming transfer arrives as a transfer proposal, listed in the Transfer Proposals section of the Account overview. Each row shows the amount with its countervalue, when the proposal expires, and what you can do about it.

Accepting is a governed Request. It follows the Account's Receive Rule, needs the approvals that Rule specifies, and is signed with your own key like any other operation.

What you see on a proposal

State
What it means

Review

You can act. If nobody has started, Review creates the acceptance Request. If an acceptance Request is pending and you can approve it, Review opens it for your approval

Pending

An acceptance Request is pending, and you cannot approve it. Select the arrow beside it to open the Request

Not initiated

Nobody has started, and you do not have permission to. Ask someone who does

Expired

The proposal lapsed before it was accepted. Nothing arrived

When the acceptance Request is in any other state, for example executed or rejected, the row shows no state and no action.

Important: Proposals expire. An incoming transfer nobody accepts in time does not arrive, and the sender has to start again. Automatic approval, below, removes the need to watch for Canton Coin proposals.

The interface has no action to reject a transfer. To decline a transfer there, let the proposal expire. Over the API, you can reject a proposal. The rejection is a Request under the Account's Receive Rule. See the API documentation.

Note: A proposal can also disappear before you act on it. The sender can withdraw a transfer while it is still waiting. If a proposal you expected is no longer listed, ask the sender before you assume it failed.

Automatic approval

Rather than accepting each transfer by hand, you can let incoming Canton Coin transfers be accepted automatically for a period. This is the Receive approvals section on the Account overview.

  • To turn it on, create a Request. Select Enable automatic approval. The Request is approved under the Account's Receive Rule. Your governance makes this decision, not an individual.

  • You need permission to receive on the Account to turn it on. Without it you see the current state and no action.

  • Once active, the section shows the date and time it runs until.

  • Automatic approval lasts 90 days. While it is active, you cannot extend it in the interface.

  • It covers incoming Canton Coin transfers only.

Warning: Automatic approval expires after 90 days and does not renew itself. There is no reminder and no renewal button. When it lapses, incoming transfers go back to needing manual acceptance without notice. A proposal nobody notices then expires unaccepted.

Automatic approval is available on main Canton Accounts only, not on token Accounts. Token Accounts always require manual acceptance. After automatic approval ends, you can turn it on again with a new Request.

Sending

Sending follows Sending assets, with these differences.

A reason field. The field reads A reason may be required. The interface accepts a reason of up to 128 characters, and the API sets no length limit. The reason travels with the transaction as additional information. Some recipients require one. Rules and Whitelists do not check the reason. Approvers see it in the Request details, under Reason.

Your transfer waits for the recipient. A transfer you send sits as a proposal on their side until they accept it. It has not settled until they do. If the recipient has automatic approval on, a Canton Coin transfer is accepted without manual action.

The interface cannot take a sent transfer back. It has no withdraw or cancel action for a transfer you have sent. In the interface, if a transfer should not go through, ask the recipient not to accept it. Then let the proposal expire. Over the API, you can withdraw a sent transfer that has not expired. The withdrawal is a Request under the Account's Send Rule. See the API documentation.

Important: Contact the recipient before the proposal expires. When a proposal lapses, nothing moves and nobody is notified. Both sides can be left expecting a payment that will never arrive.

The 100-contract limit matters on an Account that has received many small amounts. One transfer can draw on at most 100 coin contracts. If a payment needs more than that, send it in several transfers.

Addresses

Canton identifies Accounts by a party ID rather than a conventional blockchain address. It is shared and verified the same way as any other address, described in Receiving assets.

Sharing your party ID is what lets someone send to you. It is separate from accepting what they send.

Last updated