You send Canton assets from the Console or the API, as you do on other blockchains. On Canton, the receiver must accept a transfer before it settles. This article explains how to send, what happens after you send, and the limits that apply.
Send a Canton transfer
In the Console header, select Transfer.
Under Asset, select a Canton asset, for example CC (Canton). Under From, select the source vault account.
-
Under To, choose the destination:
Listed destination: Another vault account in your workspace, or an address saved in your workspace whitelist. Use whitelisted addresses to limit transfers to approved destinations.
One-time address: An address that is not saved in your workspace. You do not need to whitelist it. This option is available only if one-time addresses are enabled for your workspace.
Enter the Net amount and, if the destination requires a memo, the destination memo. See Receive Canton Deposits with Memo-Based Addresses.
Select Transfer, then sign the transaction.
The Tentative fee shows a fee of zero because Fireblocks currently covers outgoing Canton transaction fees.
What happens after you send
On Canton, a transfer creates an offer that the receiver accepts or rejects. For how receivers handle offers, see Approve or Reject Incoming Canton Transfers.
If the receiver's wallet accepts transfers automatically, the transfer completes right away.
If the receiver approves transfers manually, your transaction stays pending until they accept or reject it.
If the receiver rejects the offer, no settlement occurs.
Transfer offers expire if the receiver does not respond within 24 hours.
While the receiver decides, your transaction shows the status Confirming with the sub-status Pending receiver response. If the receiver has not responded, you can withdraw the offer. See "Withdraw a pending offer".
Withdraw a pending offer
You can withdraw an offer you sent if the receiver has not responded yet. Withdrawing recalls the offer. The funds stay in your vault, and the receiver can no longer accept the offer.
You can withdraw an offer while its status is Confirming. You cannot withdraw an offer sent between two vault accounts in the same workspace. Accept or reject that offer instead. See Approve or Reject Incoming Canton Transfers.
In the activity panel, find the pending outgoing Canton offer.
Select the Withdraw offer icon on the transaction. It is also in the header of the transaction details.
In the Withdraw this offer dialog, review the transaction details, then select Withdraw.
Sign the withdrawal transaction.
Withdrawing creates a new outgoing transaction, an offer response, that you sign like any other Fireblocks transaction: in the Fireblocks mobile app, with the API Co-signer, or with your own signing setup, such as KeyLink. After it is signed, the original transfer changes to Canceled, with the note "Transfer offer has been withdrawn".
Withdrawing an offer is an offer response, like accepting or rejecting. Your Offer response Policy rules decide who can withdraw an offer. See Canton Policy Rules.
To withdraw through the API, see Answer an offer in the Developer Docs.
In the Fireblocks mobile app, you can sign the withdrawal, but you cannot start it.
Limits
These limits apply to outgoing Canton transfers.
Signing timeout: If you do not sign an outgoing transaction within 24 hours of initiation, it expires automatically.
Unspent transaction output (UTXO) limit: Canton records each asset holding as a separate UTXO, which Canton calls a contract. A single transaction can use at most 100 UTXOs. If your balance is spread across more than 100 UTXOs, send it in more than one transaction. See the "Unspent transaction outputs" section in Canton Network on Fireblocks.
Fees: Fireblocks currently covers outgoing transaction fees, so you see a fee of zero.
Control who can send
Use Policy rules to decide who can initiate and approve Canton transfers, and where funds can go. See Canton Policy Rules.