Dynamo's contracts hold escrow that only the rules can move. This is the protocol's second law (after fail-closed), and it is structural — enforced by the sealed contract suite and its invariant tests, not by policy.
operator, upgrade, emergency — by which an administrator extracts escrowed value. The invariant suite attacks this directly.
node per signed vouchers; refunds pay the budget owner. No third destination exists.
Revocation, halts, and holdback windows are rules the parties chose at open; there is no discretionary freeze.
omnibus account, no internal wallet, no float. Close the budget and the remainder returns to the owner; there is nothing left behind to trust anyone with.
| Rail | Custody reality |
|---|---|
| Control | Nothing to hold — no money exists |
| Escrow | The vault contract holds the deposit; movement requires signed vouchers (settlement), attested breakpoints (refund clips), or owner close (release). The contract, not the operator, enforces Σ child settlements ≤ deposit |
| Card | The card network holds the authorization; Dynamo instructs captures only up to voucher totals within the ceiling. Payees are paid by split transfer to their own connected accounts — funds do not pool in a Dynamo balance |
whose release paths are public; a card authorization expires by network rules if never captured.
model over session databases — it can export evidence, and it can move nothing.
contract code (sealed, invariant-tested) and the voucher cryptography (offline-verifiable) — not an operator's ledger.