Agentic agreements

How an agentic agreement is made and proved.

How Integra implements an agentic agreement, step by step: what it is, how it is created, what the buyer and the seller do with it during a purchase, and how anyone confirms it afterwards.

What it is

One record of what was agreed, and a payment bound to it.

An agentic agreement is what a buyer’s agent and a seller’s agent commit to in one transaction. Integra implements it in three parts.

  1. The Agentic Transaction Record (ATR)

    One document of exactly what was agreed, assembled for this transaction: the seller’s terms, the offer, and each party’s content as it was received. Source: LCP §2.3⁠ (opens in a new tab) · Source: lcp docs: the ATR⁠ (opens in a new tab)
  2. The ATR hash

    The SHA-256 of the ATR’s exact bytes: its unique fingerprint. Change one byte of the ATR and the hash no longer matches. Source: LCP §2.5⁠ (opens in a new tab) · Source: LCP §12.3⁠ (opens in a new tab)
  3. The payment

    The payment carries the ATR hash in a field it already has, so paying is agreeing to that exact ATR. Source: lcp docs: binding⁠ (opens in a new tab) · Source: @integraledger/lcp README⁠ (opens in a new tab)

Agreements whose payment comes later, or never

A hotel is agreed at booking and paid at checkout; an order is agreed today and paid on net-30. The ATR exists before any payment does, and until one is made it stands as a proposal. A story told only about payments is a story about the smaller half of commerce. Source: LCP §6.1⁠ (opens in a new tab)

Sources (7)

LCP §2.3⁠ (opens in a new tab) · lcp docs: the ATR⁠ (opens in a new tab) · LCP §2.5⁠ (opens in a new tab) · LCP §12.3⁠ (opens in a new tab) · lcp docs: binding⁠ (opens in a new tab) · @integraledger/lcp README⁠ (opens in a new tab) · LCP §6.1⁠ (opens in a new tab)

How it is created

Discovered, agreed, composed and hashed, for each sale.

  1. Discover

    The seller publishes a legal front door, /.well-known/legal-context.json, and the terms an agent must inspect. Source: LCP §2.1⁠ (opens in a new tab)
  2. Agree

    The buyer’s and the seller’s agents settle the price, the ways it can be paid and the terms that apply to this sale.
  3. Compose

    The seller assembles the ATR for this sale: a version, an id, the payment options it can be paid by, and each party’s content exactly as received, never parsed or rewritten. Source: lcp docs: the ATR⁠ (opens in a new tab)
  4. Hash and store

    The seller hashes the ATR’s exact bytes, which gives the ATR hash, and keeps the ATR at a link the buyer can fetch. Integra’s hosted appliance does this for a seller; the open package does it in the seller’s own code. Source: LCP §2.5⁠ (opens in a new tab) · Source: connectors docs: the seller door⁠ (opens in a new tab) · Source: @integraledger/lcp README⁠ (opens in a new tab)

Because it is assembled per transaction, each sale can carry its own terms: a custom price, a negotiated clause, a private agreement served at a link that expires. Source: LCP §6.1⁠ (opens in a new tab)

Sources (6)

LCP §2.1⁠ (opens in a new tab) · lcp docs: the ATR⁠ (opens in a new tab) · LCP §2.5⁠ (opens in a new tab) · connectors docs: the seller door⁠ (opens in a new tab) · @integraledger/lcp README⁠ (opens in a new tab) · LCP §6.1⁠ (opens in a new tab)

During the purchase

The seller advertises it, the buyer checks it, the payment carries it.

Six steps, from the seller’s payment request to the settled payment. The buyer and the seller each act on the same ATR hash.

  1. Seller

    Advertise

    The seller advertises the ATR hash and the ATR’s link beside its payment request, in the field its protocol defines. Source: lcp docs: binding⁠ (opens in a new tab)

  2. Buyer

    Fetch and compare

    The buyer’s gate fetches the ATR from the link, hashes its exact bytes and compares them with the advertised ATR hash. If they differ, it stops, and nothing is signed. Source: LCP §5.3⁠ (opens in a new tab) · Source: lcp docs: the buyer gate⁠ (opens in a new tab)

  3. Buyer

    Decide

    The buyer’s own policy decides whether to accept: the level it requires, the jurisdictions and dispute methods it accepts, what an agent may commit to, and when a person must look. It runs before any signing key is used. Source: LCP §4.2⁠ (opens in a new tab) · Source: LCP §4.3⁠ (opens in a new tab)

  4. Buyer

    Keep and pay

    The buyer keeps the ATR, byte for byte, and pays. The payment carries the ATR hash in the field its protocol or rail defines: paying is agreeing to that exact ATR. Source: LCP §5.3⁠ (opens in a new tab) · Source: @integraledger/lcp README⁠ (opens in a new tab)

  5. Seller

    Check

    Before it settles, the seller reads the ATR hash back from what the buyer signed, and refuses a payment that carries another. Source: lcp docs: seller guide⁠ (opens in a new tab)

  6. Seller

    Settle

    The payment settles on its own rail, and the seller reads the ATR hash back from the settlement. Source: lcp docs: seller guide⁠ (opens in a new tab) · Source: lcp docs: reading settlement⁠ (opens in a new tab)

Where the ATR hash travels

On the rail

The ATR hash goes in a field the rail already has: a nonce, a memo, a note, a salt. No pairing in the package adds a contract for LCP, and nothing about the rail changes. Source: lcp docs: rails⁠ (opens in a new tab) · Source: lcp docs: binding⁠ (opens in a new tab)Every rail

Beside the payment

The same reference rides the agentic protocols, payment and otherwise: in the challenge, the checkout, the mandate or the task. Source: lcp docs: agentic checkouts⁠ (opens in a new tab) · Source: LCP Appendix C⁠ (opens in a new tab)Every protocol

In the agent

One buyer gate, published in three forms: TypeScript, Python and MCP. Whatever the buyer builds with, the check before payment is the same check. Source: @integraledger/terms README⁠ (opens in a new tab) · Source: @integraledger/terms-mcp README⁠ (opens in a new tab) · Source: integraledger-terms (Python) README⁠ (opens in a new tab)
Sources (14)

lcp docs: binding⁠ (opens in a new tab) · LCP §5.3⁠ (opens in a new tab) · lcp docs: the buyer gate⁠ (opens in a new tab) · LCP §4.2⁠ (opens in a new tab) · LCP §4.3⁠ (opens in a new tab) · @integraledger/lcp README⁠ (opens in a new tab) · lcp docs: seller guide⁠ (opens in a new tab) · lcp docs: reading settlement⁠ (opens in a new tab) · lcp docs: rails⁠ (opens in a new tab) · lcp docs: agentic checkouts⁠ (opens in a new tab) · LCP Appendix C⁠ (opens in a new tab) · @integraledger/terms README⁠ (opens in a new tab) · @integraledger/terms-mcp README⁠ (opens in a new tab) · integraledger-terms (Python) README⁠ (opens in a new tab)

Confirming it afterwards

The ATR and the payment carry the same ATR hash.

The seller writes what was agreed into one Agentic Transaction Record (ATR) and hashes its exact bytes. The payment carries that ATR hash, the ATR’s unique fingerprint. Anyone holding the ATR can hash it again and see the two match. Source: LCP §3, Level 2⁠ (opens in a new tab) · Source: @integraledger/lcp README⁠ (opens in a new tab)

Agentic Transaction Record

Example
Sold
10,000 calls to a market-data API
Terms
licence scope · acceptable use · rate and quota · data rights
ATR hash
0x8448dc…ad5ca6
same

Payment

Example
Amount
40.00 USDC, on a test network
Carried in
the nonce the payer signs
ATR hash
0x8448dc…ad5ca6
The ATR and the payment carry the same ATR hash.

Sources (3)

LCP §3, Level 2⁠ (opens in a new tab) · @integraledger/lcp README⁠ (opens in a new tab) · lcp docs: rails⁠ (opens in a new tab)

Who can check it

The buyer

Keeps the ATR it compared before paying, byte for byte, and the payment that carries its ATR hash. Source: LCP §5.5⁠ (opens in a new tab) · Source: lcp docs: the buyer gate⁠ (opens in a new tab)

The seller

Keeps the ATR it issued, and reads the ATR hash back from the payment it received and from the settlement on its rail. Source: lcp docs: seller guide⁠ (opens in a new tab)

The verifier

An auditor, an arbitrator or a counterparty. Given the ATR by either party, it recomputes the ATR hash and compares it with the payment, without asking us. Source: LCP §5.5⁠ (opens in a new tab) · Source: LCP §12.2⁠ (opens in a new tab)

A hash without a document is a proof without evidence. Source: LCP §5.5⁠ (opens in a new tab)

The technical check does not decide enforceability or who should prevail.

Sources (4)

LCP §5.5⁠ (opens in a new tab) · lcp docs: the buyer gate⁠ (opens in a new tab) · lcp docs: seller guide⁠ (opens in a new tab) · LCP §12.2⁠ (opens in a new tab)

Ready to see your own agreements proved?

Tell us what you sell, buy or carry, and we will show you where the agreement rides in it.

The hosted appliance is free on test networks, with test-network USDC.

Talk to us