A2CN is an open protocol for agent-to-agent commercial negotiation. We’re already seeing procurement agents negotiate deals and huge savings for buyer departments in the enterprise. Companies like Pactum, Fairmarkit, and Zip have agents already transacting with suppliers. Pactum for example works with F500 companies like Walmart, Microsoft, and Maersk and has generated tens of millions of dollars in savings for its customers. The seller side is more nascent, but on the horizon with developments like Salesforce Agentforce for Revenue, and Microsoft Dynamics 365 - ERP MCP Server + Commerce MCP.
A whole host of problems arise when an agentic buyer and seller meet, and the story gets a lot more complicated: -They have no shared language for commercial terms. -There's no standard mechanism for an agent to assert and prove its authority or what it's actually allowed to agree to. -Commercial negotiation is an ordered exchange - offer, counteroffer, counteroffer, exchange. For agents, if there's no session protocol enforcing whose turn it is and what round you're on, agents can talk past each other, submit duplicate offers, or accept stale terms. -There’s no way to neutrally prove that two agents reached an agreement - each side has their version of what was agreed upon and they might be different (the buyer thinks they agreed on 85K but the seller clocked it at 90K). -There needs to be an audit trail for enterprise procurement governance (driven by mandates like EU AI Act, SOX) which requires verifiable records of what an AI system decided and who authorized it. -Finally, for agent-to-agent negotiation to work, both sides need endpoints...but most suppliers don't have agent endpoints deployed. There's no standard way to invite a supplier into a session before both sides are ready.
These 8 protocol components fix the problems above:
-DISCOVERY: agents advertise capabilities and find each other
-MANDATE VERIFICATION: Cryptographic proof an agent has authority to commit its organization (W3C DIDs, two-tier: Declared + VC)
-SESSION INVITATION: Push-based handshake enabling adoption by parties without pre-deployed endpoints — cold-start solved
-OFFER EXCHANGE: Signed offers and counteroffers with strict turn-taking - ES256 + RFC 8785 JCS canonicalization
-DEAL-TYPE TERMS: Normative schemas for goods_procurement and saas_renewal with extensible custom_terms
-SESSION STATE MACHINE: Turn enforcement, sequence ordering, round limits, impasse detection - formally specified transitions
-TRANSACTION RECORD: Dual-signed, content-addressed record independently generated by both parties - neither controls the authoritative copy
-AUDIT LOG: Structured EU AI Act compliance output for every terminal session state - COMPLETED, REJECTED, WITHDRAWN, IMPASSE
The protocol reference implementation is at github.com/A2CN-protocol/A2CN - 202 tests passing, adapters for Fairmarkit and Keelvar already built.
This isn’t something that everyone can use today and will require adoption as a standard, but if even a fraction of B2B commerce runs through agent negotiation in the next few years, the protocol layer underneath it becomes very valuable infra. Think of it like TCP/IP or Stripe, you don't see it but every transaction runs through it.
Open to any and all feedback, particularly from those who’ve worked closely with protocols!