Two men in dark jackets sit at a table with glowing tablets showing a signed supply agreement contract on each side.

Two Agents Agreed. Who Made the Deal?

A convincing negotiation can leave two businesses carrying different versions of the same promise.

Key findings

  • Have both sides accept the same version of the terms, with delegated authority checked at commitment.
  • Evaluate concessions and delivery obligations alongside price and agreement rate.
  • Keep acceptance, delivery, and payment receipts distinct, with a defined correction path.

Two agents can agree while their companies mean different things. A dependable deal requires shared terms, authority to accept them, and a way to prove that the promised work happened.

I need more than matching confirmations. I need both companies to accept the same terms. For this proposed purchase, my working hypothesis is:

The scarce part of agent commerce is a commitment that both businesses can recognize, fulfill, and correct.

The test asks whether both companies preserve those terms through delivery and payment. It cannot establish scarcity across the market.

I have written about selling to agents. Discovery gets the offer considered. Agreement creates a different question: which promises can each company actually carry?

What have negotiating agents actually demonstrated?

Anthropic reported Project Deal in April 2026. Agents represented employees buying and selling personal belongings. They negotiated without asking their people to approve individual deals. People supplied preferences beforehand. They exchanged the physical goods afterward.

The study also compared different models. Stronger agents obtained better prices on measured comparisons. Participants' satisfaction did not reliably reveal the disadvantage of weaker representation. The pilot was small and self-selected. Most experimental runs did not determine actual exchanges.

This was bargaining for employees. I cannot assume the same setup would work between companies.

For a business purchase, I would evaluate the counterparty alongside the buyer's agent. The test covers which terms survive negotiation and which obligations each business accepts.

What exactly did each side accept?

Consider a proposed research purchase. A product team's agent seeks a competitor comparison with current pricing, source links, and delivery before a planning meeting.

The buyer treats "current" as checked this week; the seller means the latest information in its database. Those are different promises. A "complete report" still leaves freshness, coverage, and unavailable prices unresolved.

Before acceptance, I would require both systems to read the same compact record:

Part of the recordMy proposed terms for Version A
Parties and authorityThe product team's company and the research provider; buyer authority for this purchase at the quoted fee, seller authority for this scope and deadline.
DeliverableA comparison of Cedar and Flint, fictional competitors in this example, with a pricing entry and evidence for each.
Evidence cutoffPricing checked during the week of the planning meeting, no later than Thursday's delivery deadline; source links and check times included.
Price and limitsThe seller's quoted fixed fee, copied into this version; no extra charges or recurring commitment; payment due after delivery acceptance.
TimingOffer expires Wednesday noon, Chicago time; delivery due Thursday noon, before Friday's noon planning meeting in the same time zone.
Agreement approvalPending; each approving agent's identity, approval time, and permission check recorded against Version A before work begins.
Delivery acceptanceBoth competitors covered, each price supported by a source link and check time, or explicitly marked unavailable with the checked source and failed verification documented.
ExceptionsUnavailable pricing disclosed without substituting an older price as current; any scope or deadline change submitted for separate approval.
CorrectionCorrections included until Friday's noon meeting begins. If required evidence is still missing, acceptance fails, correction duties end, and no fee is due. Close as failed and unpaid unless disputed; a dispute or cancellation requires a separately approved settlement. Further work needs a new approval.

Both approval receipts must identify Version A. Work starts after both pass validation.

If a delivery date changes after acceptance, it is a proposed amendment. A friendly message should not quietly replace the earlier obligation in one company's memory while the other company keeps planning around it.

Version A stays in force. For cancellation, both records must show whether work stopped, whether money moved, and what remains owed.

Who gave the agent permission to say yes?

An authenticated agent is not automatically authorized for every concession it can describe.

A buyer may negotiate price without permission to commit to recurring charges. A seller may offer a different delivery date without permission to promise a feature its product does not have.

Identity answers who is acting. Authority answers what that actor may commit.

In our published Collective design, consequential approvals remain with the founder. I kept the approval boundary there. That design does not demonstrate transactions completed without human approval.

A business seeking more autonomy needs a way to validate authority outside the negotiating model's assertions. Permissions should travel with the transaction, remain narrow enough to inspect, and be checked again when a proposal becomes an accepted commitment.

The counterparty's message cannot expand them.

For Version A, I would propose a permission service controlled by each company's administrator. The negotiating agent cannot edit its grants. Each grant names the agent, transaction, permitted scope, spending ceiling, expiry, and revocation status. The buyer's ceiling is the quoted fee. The seller's grant covers the stated scope and deadline.

At acceptance, each company's transaction gateway checks Version A against its own live permission service. The service checks permission and records approval in a single transaction. An earlier withdrawal blocks that write. Each gateway issues a signed approval receipt tied to Version A. Both gateways verify those receipts using company keys registered before bargaining.

Work requires both receipts.

If a grant is withdrawn before approval, that gateway rejects the commitment. Expired or exceeded grants fail too. An unreachable service leaves approval pending.

Our permissions audit matters here because several permitted steps can combine into a commitment nobody intended to delegate. The gateway checks their combined effect.

This makes the proposed delegation inspectable. It does not determine legal enforceability.

Can a cheaper price be a worse deal?

I would set the buyer's permitted concessions before bargaining. Evidence, the deadline, and corrections stay fixed. A simpler presentation is acceptable if it preserves the agreed coverage and evidence.

If a discount requires delivery after Friday's meeting, I reject it. The revised deadline is the cue. I give up the saving because the report misses the decision it was meant to support.

Price alone is the wrong baseline. Compare the final package with Version A at the original quoted fee. A discount counts only when the required service survives.

Capacity constrains the seller's offer too. In this test, its scheduling service must reserve delivery and correction capacity through Friday noon before accepting. If it cannot, the gateway rejects approval. Extra coverage needs a new quote.

Test both sides against counterparties with different strengths and negotiating styles. Include a seller demanding recurring charges and a buyer adding coverage at the original price. Compare accepted terms, exceptions, and failed obligations. Agreement rate alone cannot distinguish good commerce from expensive agreeableness.

What happens after the conversation ends?

Acceptance, delivery, and payment are separate events. Keep separate receipts.

A transmission receipt records sending. Delivery acceptance requires checking the report against Version A. A payment request is not proof of payment. A timeout is not proof that the attempted payment failed.

A timeout leaves the result unknown. Reconcile the original operation before treating it as failed. Where the payment system supports safe retries, reuse the original operation identifier under that system's rules. A shared deal identifier connects the records; it does not by itself prevent a second payment.

Both records distinguish confirmed results from unresolved ones. Stripe's idempotent-request guidance explains the retry rules for reused keys and matching parameters.

Disputes should return to the accepted version of the terms. Otherwise the agents can spend another conversation arguing from two different summaries of the first one.

For the proposed research service, a missing source might trigger a correction request with the exact failed requirement attached. A disputed scope change might pause the affected work while preserving everything already accepted.

If Thursday's report lists Flint's price without a source link or check time, I withhold acceptance. The correction request names both missing items. A documented unavailable price meets the agreed exception. An unsupported figure fails.

At Friday noon, missing evidence means failed acceptance. Correction duties end under Version A. No payment is due. Both records close an undisputed case as failed and unpaid. The missing figure stays out of the meeting.

If either company disputes that result, the case remains open for an approved settlement. The deadline creates no continuing correction duty.

Correction requests also pass the permission check. Both sides can inspect the result.

Does this make small purchases too complicated?

I would avoid negotiating every trivial purchase. A fixed service with clear pricing and delivery acceptance conditions can use the established offer. Check authority, then proceed.

For the sandbox's ordinary purchase, the baseline is checkout using that offer, with the same permission and receipt checks. Compare elapsed time and total processing cost. Bargaining must justify its added cost.

Reserve negotiation for a proposed change to value, obligation, or risk. An agent earns its place when interpreting needs or reconciling terms improves the accepted package enough to cover that cost. Stop bargaining when the offer expires.

What to do Next

I would start with Version A in a sandbox. Both systems must preserve it.

Change the offer after approval. Remove authority before commitment. Interrupt the payment response. Deliver a report without the agreed evidence.

For each case, compare both records against Version A and the permission, delivery, and payment receipts. An unapproved amendment must leave Version A intact. Withdrawal must block commitment. A timeout must remain unresolved until reconciled. Unsupported pricing must prevent acceptance.

Run the ordinary purchase through the same checks and compare it with the checkout baseline. Unnecessary delay counts against the agent.

I keep approval with a person until the sandbox shows that both systems preserve the accepted terms and flag unresolved outcomes.

Related reading:

Methodology

Research-informed essay drawing on Anthropic's Project Deal, published April 24, 2026 and reporting a December 2025 internal marketplace experiment, plus Orbyt's published operating design and permissions account and Stripe's idempotent-request reference. The research-service purchase and its tests are proposed scenarios. No negotiation experiment or commercial transaction was conducted for this article.

Limitations

Project Deal used a small self-selected employee pool; people supplied preferences and exchanged goods, and only one experimental run determined actual exchanges. Its findings do not establish reliable ongoing commerce between autonomous companies. The proposed agreement record is an operating design, not a conclusion about legal enforceability, and its controls have not been implemented or validated here.

Sources

  1. Justin Bartak, Your Next Customer Is an Agent. Retrieved September 10, 2026.
  2. Anthropic, Project Deal (April 2026) Retrieved September 10, 2026.
  3. Orbyt Labs, How Orbyt Collective Works Retrieved September 10, 2026.
  4. Justin Bartak, 391 Yeses and Not One No. (August 2026) Retrieved September 10, 2026.
  5. Stripe, Idempotent requests (API reference) Retrieved September 10, 2026.

Common questions

What makes an agreement between AI agents dependable?

Both businesses need the same accepted version of the terms, verified authority to make the commitment, and observable acceptance conditions. Record the deliverable, timing, price, limits, exceptions, and correction path. Preserve amendments separately so a later message cannot silently replace the obligation one side still expects the other to fulfill.

Does an authenticated AI agent have authority to accept every deal?

Authentication establishes identity, not unlimited commercial authority. An agent may negotiate a price while lacking permission for recurring charges, new delivery promises, or other concessions. Validate its delegated scope outside the model's assertions and check that scope when commitment occurs. A counterparty's message cannot grant the agent powers its business has not delegated.

How should agents handle an uncertain payment or disputed delivery?

Keep acceptance, delivery, and payment separate. Reconcile an uncertain payment before treating it as failed, and use the payment system's documented retry mechanism. A shared deal identifier alone does not prevent duplicate payment. Resolve delivery disputes against the accepted terms, attaching the failed requirement and preserving obligations that remain valid while the exception is addressed.

Justin Bartak

Founder & Chief AI Officer, Orbyt Labs

4X founder. Former CPO, CTO and CDO with 20+ years shipping software, now building it with agents.

Writes The Machine Speaks with the agents that build the product, and The AI-Native Lens.

All of The Machine Speaks