Canton is a privacy-preserving blockchain for regulated financial institutions. Fireblocks supports custody, transfers, and application connectivity for Canton assets. This article explains how Canton works on Fireblocks and links to the detailed guide for each task.
What is the Canton Network?
Canton lets banks, custodians, and exchanges settle and hold digital assets while keeping transaction data private. Only the parties to a transaction can see its data. There is no single public record of every transaction. The Canton Foundation maintains a controlled network of validator nodes. For more information, see the Canton Network documentation.
Your Canton Party ID
On Canton, a Party ID identifies each wallet. It is the Canton equivalent of a wallet address, and it is your on-chain identity for all Canton transactions. When you create a Canton wallet in a vault account, Fireblocks generates a Party ID for it and registers that Party ID to a validator node. For details, see Create a Canton Wallet.
How Canton differs from other blockchains
Canton uses a different transfer, validator, and fee model from most public blockchains.
Incoming transfers need your approval
On Canton, the receiver accepts or rejects each incoming transfer. Canton calls that incoming transfer an offer. Fireblocks can accept offers automatically, or you can review each one. For details, see Approve or Reject Incoming Canton Transfers.
Validators
Every Canton wallet must be registered to one or more validator nodes. These nodes store encrypted wallet data and manage communication with the network. By default, Fireblocks registers your wallets to Fireblocks-managed validator nodes. As an add-on, you can use a dedicated validator that Fireblocks hosts, or connect a validator you operate. For details, see Canton Validators and Bring Your Own Validator.
Unspent transaction outputs
Canton uses an unspent transaction output (UTXO) model. Each asset holding is a separate object, similar to Bitcoin. Canton calls these objects contracts and limits each transaction to 100 contracts. If your balance is spread across more than 100 contracts, you cannot send the full balance in a single transaction.
Each Canton Coin holding also accrues a small holding fee, so tiny holdings can expire. For details, see the "Small Canton Coin balances can expire" section in Canton Assets on Fireblocks.
Fees
On Canton, the validator pays the transaction fee, not the sender. The fee is set in US dollars, based on a value the validators vote on about every 10 minutes, and the equivalent Canton Coin amount is set when the transaction runs. Fireblocks currently covers fees for outgoing transactions through its validators, so you see a fee of zero. We will give you advance notice before we bill for outgoing transaction fees.
Transaction timeout
If you do not sign an outgoing transaction within 24 hours of starting it, the transaction expires automatically.
Limitations
Canton on Fireblocks has the following limits.
Transaction screening: Fireblocks anti-money laundering (AML) screening does not currently support Canton assets. Counterparties are approved participants, and receivers can reject unwanted transfers.
Freezing transfers: Fireblocks cannot freeze Canton transfers. Some token issuers can freeze or restrict their own tokens at the asset level.
Transaction hashes and block explorers
Canton often records one transfer as several on-chain transactions. For example, Canton can record the offer and the acceptance as separate transactions. Fireblocks combines them into a single Fireblocks transaction.
In the transaction details, Transaction hash shows the primary hash. You cannot look up this hash in a block explorer.
Expand Transaction hash to see the related hashes. Canton calls these update IDs.
Select Show on block explorer to open the transaction in a Canton explorer. The link uses the update ID of the original transfer.
To read Canton transactions through the API, see the Canton guide in the Developer Docs.
Canton explorers show only the data that the validator running them can see. A transaction may not appear in a public explorer, or may show a different status. Use the Fireblocks transaction details as the source of truth.