PACT — Protocol for Agent Contexture and Trust

The shared resource and the context that gives it meaning travel together — so agents negotiate with trust.

PACT is an open, vendor-neutral protocol for multi-agent collaboration over a shared resource — documents, transactions, knowledge claims, records, and beyond. It defines how independent agents declare positions, surface conflicts, reach consensus, and bind human authorization — without any agent having to trust another agent's word for it.

stable v2.0.3 spec license RF copyright + patent code MIT conformance suite + runner

What PACT is

Most agent infrastructure connects agents to tools (MCP) or to each other (A2A). PACT is the third thing: a structured protocol for a set of agents to collaborate over one shared resource with explicit consensus rules, information barriers, and a human-authorization layer.

The protocol covers joining a resource, declaring intent and constraints, proposing and objecting to changes, salience-weighted attention, escalation to humans, and completion — with silence = acceptance so only genuine disagreement needs action. It adds a cryptographic human-authorization layer (W3C DIDs, WebAuthn-class attestation) and a full agent-identity lifecycle (cooperative transfer, M-of-N recovery).

This site is a front door, not the specification. The normative requirements — every MUST and SHOULD, the schemas, the verification flow — live in the spec itself:

On the name. The acronym PACT and every identifier (@pact-protocol/*, pact-spec.dev, the v2.0.x tags) are unchanged. The expansion was refined to Protocol for Agent Contexture and Trust: “Trust” reflects what the protocol actually delivers — a trust model, fail-closed conformance, a defensive-termination patent grant — rather than adjudicating “Truth”; “Contexture” names the core idea that a shared resource and its meaning move as one. This expansion is normative from v2.1. Shipped v2.0.x remains “Protocol for Agent Consensus and Truth” exactly as released, frozen for citation stability.

Implementing PACT

Anyone can implement PACT, royalty-free. Start from the spec and the machine-readable schemas; validate against the conformance suite.

The reference packages are built and version-pinned at 2.0.3 but are not yet published to npm — the pact-protocol npm org does not exist yet (tracking issue #5). Until then, install from source: clone the repo, build the package you need.

Conformance

PACT conformance is first-class and independently checkable, not self-asserted. The suite ships machine-readable test vectors and a runner; the reference server is exercised against them in CI.

Refer to the specification for the normative tier requirements — this page intentionally does not restate them.

Licensing

PACT is deliberately dual-licensed so implementers are protected on both copyright and patents:

Software — MIT

The CLI, MCP server, reference server, conformance runner and tooling. Use it however you want. LICENSE ↗

Specification — RF grant

The spec, schemas and conformance vectors carry a perpetual, royalty-free copyright and patent grant with an Apache-style defensive-termination clause. SPEC-LICENSE ↗

Neither license grants rights in the “PACT” name or the “PACT Conformant” designation. You may always state factually that your software implements the PACT specification. Following the W3C / Model Context Protocol / A2A pattern — because for a protocol, “anyone can implement it” must mean without patent ambush.

Implementations

PACT defines the protocol; implementations provide the content layer for their domain.