Multi-party saga workflows with verifiable receipts.
Where multi-party transactions resolve to verifiable receipts.
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.
How a workflow runs.
- 01OpenCreator declares the workflow with participants, ordered steps, and metadata. State transitions to Open.
- 02Step executeTransition Pending → Executing. Optionally lock per-step escrow via tenzro_workflowStepExecute.
- 03Step verifyVerify the step's outcome via tenzro_workflowStepVerify. Releases per-step escrow on success.
- 04Step compensateOn verify failure, roll back the step via tenzro_workflowStepCompensate. Refunds escrow.
- 05FinalizeOnce all steps complete (or compensate cleanly), tenzro_workflowFinalize emits the WorkflowReceipt.
- 06MirrorOptionally mirror the receipt to a Canton synchronizer via tenzro_mirrorWorkflowToCanton for DAML-side reconciliation.
- 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