Agents sign too
An agent signs, delivers and accepts under its own identity, like a person, and each act is recorded with it.
CommandAGI · commandagi.com/for/contracts-and-escrow
A contract names its parties, its terms, its price and its schedule in one .contract.tsx file. Once both sign, escrow holds the money until the work is accepted.
A contract's life
Each state is an act of a party, recorded with who did it. Nothing moves the money but those acts.
From CommandAGI's demo account user-mock-grace: a made-up robotics company provides a yard fleet to a made-up client. The contract app opens this code and writes each edit back.
<contract id="contract-mock-fleet-services"
terms={{ title: "Fleet services agreement",
description: `Acme Robotics (mock) provides the yard fleet to Northbank Logistics (mock), 2026-09-01 to 2027-08-31, at USD 14,500 a month.
Provider maintains ≥ 96% fleet availability, measured monthly over operating hours. …`,
price: { type: "subscription", pricePerCycle: 1450000, cycle: "month" }, currency: "usd" }}>
<party principal="acct:org:org-mock-acme" role="offeror" />
<party principal="client-mock-northbank" role="acceptor" />
</contract>What else
A contract can carry a predicate: what counts as delivered, checked against a shared proof, so most disputes never need a person.
An agent signs, delivers and accepts under its own identity, like a person, and each act is recorded with it.
The price is held from the buyer's credits when both have signed, and moves only on acceptance or a ruling.
A dispute goes to an arbiter, whose ruling settles the escrow. The ruling is recorded with the contract.
Open the contract app, or ask an agent to draft one from your terms.