Skip to content

Meridian Crossing Cross-Organization Agent Negotiation

Buyer and supplier agents from four organizations settle real commercial terms with nobody in the middle.

Buyer and supplier agents from four organizations negotiate a real commercial outcome with no orchestrator between them.

What the agents do

Discovers supplier agents in a directory, verifies them cryptographically, and negotiates terms against a private mandate it never discloses.

Contributed by
MACH Alliance (Enterprise agent architecture working group)
Industry
Cross-industry, Manufacturing & Industrial
Audience
B2B
01
The problem

Why this exists

Most systems described as multi-agent are one owner's agents cooperating inside one trust boundary. The hard version, and the one enterprises actually face, is agents from different organizations transacting across boundaries none of them controls.

Read more

That raises four questions a single-owner system never has to answer. Who is this counterparty, really, given that identity has to be cryptographic and portable rather than a name in a config file. What is my agent allowed to commit me to, given that authority has to live in a private policy the other side can neither see nor influence. What happens when interests conflict, which needs a real contract, a state machine both sides enforce, so a bad move is rejected rather than discouraged. And can either side prove what was agreed, from its own records alone, with no shared database to trust.

The adversarial framing is the point. Cooperative hand-waving is what a single-owner multi-agent system can get away with; opposed interests force real identity verification, a real negotiation contract, and a private policy layer.

02
Outcomes

What this demonstrates

  • Four suppliers produce four different endings from the same buyer logic, determined only by the counterparty.
  • Summit, cooperative, concedes into the buyer's mandate envelope and holds the lowest floor in the scenario, so its terms can be settled autonomously with a single signed ACCEPT and no human involved.
  • Cascade, competitive, is the only agent whose job is to squeeze another supplier rather than the buyer. It opens below Summit and concedes faster, giving the buyer a cheaper live quote to push back with, but floors above Summit. In the deterministic run Cascade wins at 91.68 per unit against Summit's 92.24 best and final.
Read more
  • Alpine, firm, holds a floor above the buyer's bid ceiling but inside its reservation price, so the buyer cannot settle on its own authority. It stands down when a better in-policy offer exists and escalates to a human when nothing is in policy. Alpine never settles either way.
  • RidgeLine, adversarial, looks best on paper but its identity does not check out, so the buyer rejects it at the trust gate and never negotiates with it at all.
  • Cascade earned its place by measurement. Without a competitive counterparty the buyer had no cheaper alternative to push with, and correctly settled at a mean of 91.88 against a 94 ceiling, with three of 20 runs landing exactly at the ceiling. It was not negotiating badly. It had nothing to negotiate with.

What you would add to ship it

  • An owner. This is an unmaintained demonstration published under MIT, with no security patches and no support behind it.
  • A review of the limitations the repository documents, each of which is a deliberate simplification rather than a bug.
03
How it works

Architecture

No orchestrator sits between the parties. Each organization runs its own process, keeps its own records, and speaks only through signed messages. The buyer discovers suppliers through a real agent directory, verifies who they are cryptographically, and negotiates price, quantity, and lead time over a turn-taking protocol.

Read more

Authority lives in a private policy engine. The mandate holds four tiers, a reservation price, and a cross-deal spend cap, and it exists only in the buyer process. It never goes on the wire, and a lint test makes leaking the reservation price a failing test rather than a code-review hope.

The judgment is a single function, classify(mandate, terms, trust), applied on every supplier turn. Terms inside the envelope auto-settle. Terms beyond it require approval before commit. Adversarial counterparties are walked away from.

Two different things can end a thread and they are not interchangeable. The substantive one is that the counterparty stopped moving; the round budget is a runaway guard behind it. That is why RidgeLine is dropped almost immediately while Alpine, which keeps conceding until it reaches its floor, runs to the guard. The causes are reported as distinct reason codes, OUT_OF_TERMS for a stall, BUDGET_EXHAUSTED for round exhaustion, TIMEOUT for the wall clock, because they map to different terminal states and an operator auditing a walk-away reads the code rather than the prose.

Around the core sit the safeguards. A kill switch walks every live negotiation, severs a deal being held at the commit barrier, and reaches the money layer, revoking the scoped payment authorization and any reservation behind it for every deal that has not yet sent its ACCEPT.

It is built on open standards, W3C DID and Verifiable Credentials, an AGNTCY agent directory, A2A messaging, and an alignment path to the A2CN negotiation standard, rather than a bespoke stack. The repository documents the three places where the wire or the artifact diverges from the standard it claims.

The buyer agent discovers four supplier organizations through the AGNTCY agent directory and verifies each at a trust gate using W3C DID and Verifiable Credentials. Three pass and negotiate over signed A2A messages; RidgeLine fails identity and is rejected. A private mandate that never goes on the wire feeds classify(), which produces the three settled endings: autonomous settle, approve before commit, and walk away. A kill switch revokes the scoped payment authorization for any deal that has not sent ACCEPT.

The buyer agent discovers four supplier organizations through the AGNTCY agent directory and verifies each at a trust gate using W3C DID and Verifiable Credentials. Three pass and negotiate over signed A2A messages; RidgeLine fails identity and is rejected. A private mandate that never goes on the wire feeds classify(), which produces the three settled endings: autonomous settle, approve before commit, and walk away. A kill switch revokes the scoped payment authorization for any deal that has not sent ACCEPT.
Open standards used
W3C DIDW3C Verifiable CredentialsAgent-to-Agent (A2A)A2CN negotiation standard
Tech stack
TypeScriptAgent directory (AGNTCY)Verifiable CredentialsPrivate policy engine
Next step

Take the code

This one is published in full. Read it, run it, fork it. Nothing here is behind a conversation.

Request an intro

This one is the MACH Alliance’s own work. Ask about agent-to-agent negotiation between companies, and the people who built it will answer.

Your details go to a named contact on the MACH Alliance team that built this work and can answer your questions. We aim to reply within 2 business days. Your details are handled under the MACH Alliance privacy policy.

Not ready to talk to anyone? MACH Insider is the Alliance mailing list. New solutions, program openings, and the research behind them, once a month.

Everyone credited on this solution

Every organization named here has a page listing the rest of its work on the Hub.

Keep reading

Related solutions

Verification

Public code

The implementation is published in full, so anything on this page can be checked against the repository. Anything the repository does not show is not established here.

Where this came from

This is an unmaintained demonstration prototype published under MIT. It is not for deployment, carries no security patches or support, and its known limitations are documented in the repository.

Status: Reference prototypeAdded Aug 17, 2026A listing is an editorial decision, not a MACH Alliance certification.

Built something worth showing?

Put your agentic solution in front of the enterprise leaders who use the hub to decide what to build next. Submissions are open to MACH Alliance Members, Collaborators, or Ambassadors.