Skip to content
Tenzro
Documentation menu
Execution and interoperability

Canton and DAML

Move TNZO to and from Canton over a governed route, read any token as a CIP-56 holding, and deploy DAR packages to the ledger.

Canton is the privacy-preserving network that runs DAML contracts. Tenzro Network reaches it in two ways: TNZO moves to and from Canton synchronizers over a governed bridge route, and every token on the Tenzro ledger has a CIP-56 HoldingV1 view, so DAML workflows see Tenzro balances in the shape they already use.

TNZO over the Canton route

Canton is reached natively: a transfer is a DAML transaction on a Canton synchronizer, read from the Canton ledger by the route committee. The route is the canton transport. Like every route it is set by governance, names the issuing party and the synchronizer it serves, and is bounded by a cap per transfer and a limit per epoch. Canton deliveries are admitted on the committee's attestation, so the route is held to the network's attested-route limits, which are lower than those of routes with a light client.

bash
# Read the Canton route: caps, epoch usage, locked and outstanding supply, mode
tenzro bridge route --adapter canton --chain canton --rpc https://rpc.tenzro.com

# Send TNZO to a Canton party (amount in wei), signed by your hardware key
tenzro bridge send --target-chain canton --recipient <RECIPIENT_HEX> \
  --amount 1000000000000000000 --rpc https://rpc.tenzro.com

# Quote the destination fee in TNZO
tenzro bridge-fee quote --adapter canton --dest-chain <CAIP2_ID> --native-fee <FEE> \
  --rpc https://rpc.tenzro.com

Read the routes the network actually serves with tenzro bridge routes; the chain names above are examples.

Balances as CIP-56 holdings

Every token on the Tenzro ledger, TNZO included, can be read as a CIP-56 HoldingV1: owner, instrument id (admin, id), amount, lock and metadata. It is a view of the same balance the EVM sees as an ERC-20 and the SVM as a Token-2022 account; there is no wrapped copy to redeem.

bash
tenzro token daml-holding --token-id <TOKEN_ID> --owner <ADDRESS> --rpc https://rpc.tenzro.com

The JSON-RPC method is tenzro_getDamlHolding, and the MCP tool is daml_holding. tenzro_getTokenBalance returns the DAML amount alongside the native, EVM and SVM views of an account's TNZO.

Deploying DAR packages

The ledger accepts DAML packages alongside EVM and SVM code. Deploy a DAR with the same command used for the other runtimes:

bash
tenzro contract deploy --vm daml --bytecode <DAR_HEX> --deployer <ADDRESS> \
  --rpc https://rpc.tenzro.com

The JSON-RPC method is tenzro_deployContract with vm_type: "daml"; it returns the deployed package address.

Methods

MethodAccess
tenzro_getBridgeRoute, tenzro_listBridgeRoutesOpen
tenzro_quoteBridgeFeeInTnzoOpen
tenzro_getDamlHolding, tenzro_getTokenBalanceOpen
tenzro_deployContractOwner: the deploying account