Canton Guide
Canton Network

How transactions work

How participants, sequencers, and mediators coordinate to process transactions.

The previous page introduced sequencers and mediators. This page shows how they work together with participant nodes to process a transaction: how a request becomes a committed (or rejected) result.

Step by step

A transaction in Canton goes through two phases. First, participants submit and validate. Then, the mediator decides and the result is distributed. This pattern (known as a "two-phase commit" in distributed systems) ensures that all parties either agree on a transaction or none of them commit it.

Phase 1: submit and confirm

  1. Submit. A participant (the submitter) sends a transaction request to the sequencer. The request is encrypted so the sequencer cannot read the contract data.

  2. Order. The sequencer assigns a timestamp to the request and delivers it to all participants whose parties are involved, plus the mediator.

  3. Validate. Each receiving participant decrypts its portion of the transaction, runs the Daml contract logic, and checks that the transaction is well-formed and properly authorized.

  4. Confirm or reject. Each participant sends its response (confirmation or rejection) back through the sequencer to the mediator.

Phase 2: decide and distribute

  1. Decide. The mediator collects all responses. If every required confirmer approved before the deadline, the mediator produces an "approve" verdict. If any required confirmer rejects, or the deadline passes, the verdict is "reject."

  2. Distribute. The sequencer delivers the verdict to all involved participants.

  3. Commit. Participants that receive an "approve" verdict update their active contract set. Participants that receive a "reject" verdict discard the transaction.

Next step

Now that you understand how the protocol works, the next page explains topology management: how Canton nodes establish and maintain the shared knowledge about identities, keys, and permissions that makes all of this work.

On this page