Tenzro
Workflow

Multi-party saga workflows with verifiable receipts.

A workflow is an ordered sequence of saga steps with per-step Execute → Verify → Compensate lifecycles, optional escrow, durable lifecycle state, and optional Canton DAML mirroring.
Overview

Where multi-party transactions resolve to verifiable receipts.

Workflow is the coordination layer for transactions that span multiple parties, multiple chains, or multiple VMs. Each step has an explicit verification phase and a compensation path for rollback. Per-step escrow locks value before execution and releases it on successful verification. Workflows can mirror to a Canton synchronizer for regulated counterparties that need DAML-side reconciliation. Every finalized workflow produces a `WorkflowReceipt` queryable on-chain.
Capabilities

What workflow coordinates.

Saga lifecycle

Each step runs Execute → Verify → Compensate. Failures roll back cleanly; successes finalize into a receipt.

Per-step escrow

Optional escrow on any step. Locked at Execute, released at Verify, refunded at Compensate.

Durable lifecycle

State machine persisted across restarts. Lifecycle history queryable via tenzro_getWorkflowLifecycle.

Canton mirroring

Optional mirror to a Canton synchronizer for DAML-side reconciliation with regulated counterparties.

Operational metrics

Per-workflow duration, escrow flows, step status snapshots via tenzro_getWorkflowOperationalMetrics.

Receipts on-chain

Finalize emits a WorkflowReceipt persisted to CF_SETTLEMENTS. Indexers walk the chain for audit.

DID-signed envelopes

Steps can carry DID-signed payloads. tenzro_verifyDidEnvelope verifies authorship and integrity.

Multi-VM

Steps can execute on EVM, SVM, or DAML. Cross-VM transfers via the unified token registry.

Lifecycle

How a workflow runs.

Specifications
Lifecycle
Open → Executing → Verifying → Compensating → Finalized / Failed
Per-step status
Pending → Executing → Verifying → Verified / Compensating → Compensated / Failed
RPCs
tenzro_workflow{Open,StepExecute,StepVerify,StepCompensate,Finalize}
Reads
tenzro_get{Workflow,WorkflowSaga,WorkflowLifecycle,WorkflowReceipt,WorkflowOperationalMetrics}
Indexing
tenzro_listWorkflows{ByCreator,ByParticipant,ByStatus} + tenzro_listWorkflowReceipts
Canton mirror
tenzro_mirrorWorkflowToCanton — DAML 3.x integration via JSON Ledger API v2
Get started

Ship on the open network.