Legal Context Protocol

Schema

Complete field definitions for legal-context.json — required and optional fields.

The legal-context.json discovery document has one required field and a set of optional fields that correspond to increasing levels of trust.


Required Fields

FieldTypeRequiredDescription
termsstringREQUIREDAbsolute HTTPS URL of the legal terms document. MUST return a standalone, downloadable file. For services with only confidential/private terms, this URL MAY return a document stating that terms are provided at transaction time (see Private and Custom Terms).

Optional Fields

FieldTypeRequiredDescription
termsFormatstringOPTIONALThe format or schema of the terms document. Signals to agents whether the terms are machine-readable before fetching. Known values: "agentic-transaction-record-v1", "pdf", "markdown", "html", "plain". When absent, agents determine format from the Content-Type header after fetching.
contentHashstringOPTIONALSHA-256 hash of the terms document, 0x-prefixed hex (66 characters). See Level 2: Provable.
hashAlgorithmstringOPTIONALHash algorithm used. Defaults to "sha256" if contentHash is present.
acceptanceRequiredbooleanOPTIONALIf true, counterparties MUST explicitly accept terms before transacting. See Level 3: Signed. Default: false.
disputeResolutionobjectOPTIONALDispute resolution process. See Level 4: Integrated.
disputeResolution.methodstringOPTIONALThe dispute resolution method (e.g., "AAA Commercial Arbitration Rules").
disputeResolution.jurisdictionstringOPTIONALGoverning jurisdiction.
disputeResolution.contactstringOPTIONALContact for dispute filing.
disputeResolution.clauseIdstringOPTIONALContent-addressed identifier of the dispute resolution clause. Format: sha256:0x<hex>. When present, the clause is verifiable — any party can retrieve the text and confirm it matches the hash.
disputeResolution.sourcestringOPTIONALURL where the dispute resolution clause text can be retrieved. Any resolvable URI (HTTPS, IPFS, Arweave, etc.).
disputeResolution.catalogstringOPTIONALURL of the dispute resolution provider's service catalog. When present, agents can browse offerings, parameters, and constraints, and generate customized clause specifications programmatically.
returnsstringOPTIONALURL of a returns or claims API/process.
contactobjectOPTIONALContact information for the service.
contact.legalstringOPTIONALLegal department contact.
contact.technicalstringOPTIONALTechnical support contact.
apistringOPTIONALURL of a legal context API providing richer functionality (record management, verification, dispute filing). See Level 4: Integrated.

Full Example

{
  "terms": "https://example.com/terms/v3.json",
  "termsFormat": "agentic-transaction-record-v1",
  "contentHash": "0x7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
  "hashAlgorithm": "sha256",
  "acceptanceRequired": true,
  "disputeResolution": {
    "method": "AAA Commercial Arbitration Rules",
    "jurisdiction": "New York, USA",
    "contact": "disputes@example.com",
    "clauseId": "sha256:0x<hash>",
    "source": "https://adr.org/clauses/commercial-arbitration",
    "catalog": "https://adr.org/.well-known/dispute-services.json"
  },
  "returns": "https://example.com/api/returns",
  "contact": {
    "legal": "legal@example.com",
    "technical": "api-support@example.com"
  },
  "api": "https://api.integraledger.net/v1/records/0xabcdef1234567890"
}

Extensibility

The field set is extensible. Implementations SHOULD ignore fields they do not recognize.