Technical overview

Private by contract.
Atomic by transaction.

Converge models each provider relationship as a bilateral Daml contract, then settles accepted commitments through one package-level transaction.

Visibility boundary

Commercial terms stay bilateral.

A CommitmentRequest is signed by the buyer and observed by one provider. When accepted, it becomes an AcceptedCommitment signed by that provider and observed by the buyer. No other provider is an observer.

CommitmentRequest
signatory buyer
observer provider

choice Accept
  controller provider
Lifecycle

Consent becomes executable.

Request

Buyer proposes private terms.

Accept

Provider delegates activation.

Settle

Buyer activates the package.

Atomicity invariant

The valid states are zero or three.

Settlement.Settle exercises every accepted commitment within one Daml transaction. If any referenced leg cannot activate, the transaction fails and no reservation is created.

3valid success
0valid rollback
1–2impossible partial state
Build status

What is verified today.

  • Compiled Daml archive on SDK 3.4.8
  • Atomic success test passes
  • Rejection leaves zero active reservations
  • Provider visibility test passes
  • JSON Ledger API client scaffolded
Run the browser proof