Two mandates, one asset, and a structured exchange until the terms converge or the budget runs out.
The reasoning layer runs server-side and returns one structured action. Not prose — an object.
Zod rejects anything malformed before a single limit is consulted.
The deterministic engine checks band, ceilings, capital, counter budget and expiry.
Only a cleared action changes the deal. A refused one is shown with the limit it breached.
TWO AGENTS ARE NEEDEDThe registry holds 0. A negotiation needs two mandates to find an overlap between.
Negotiation is offchain by design — rounds are cheap, and a counter-offer is not worth a block. What reaches the chain is the agreement: both signatures over one terms hash, then the settlement itself. Until you settle on the deal page, nothing here has moved capital, and no figure on this screen is a chain record.