Naming Conventions
The lcp: prefix, the legalContext JSON key, and raw byte conventions for protocol integration.
This section is advisory.
Naming Conventions
The agentic commerce protocols are structurally different, so a single wire format cannot apply everywhere. The LCP standard defines three conventions depending on the field type.
String Fields: The lcp: Prefix
For string fields, use the lcp: prefix with a type indicator:
lcp:{type}:{value}Self-identifying — any parser checks startsWith("lcp:"), then reads the type to know how to resolve the value.
Parsing rule: Split on the first colon to get lcp (the namespace). Split on the second colon to get the type. Everything after the second colon is the value (which may itself contain colons, e.g., in URLs).
Structured JSON: The legalContext Key
For structured JSON fields where the carrier admits a structured object (a session metadata map, a task metadata block, an extension object), use a standard key — "legalContext" — with type and value fields:
{
"legalContext": {
"type": "sha256",
"value": "0x7f83b165..."
}
}Raw Byte Fields
Where the carrier is a fixed-width byte string with no room for prefix or structure, the LCP reference is the raw atrHash bytes. The carrier's own conventions define how the value is interpreted; placement and length are specified in an external profile document or in the relevant per-protocol illustration.
MCP Resource URIs: The lcp:// Scheme
Where the carrier is an MCP resource URI scheme, deployments MAY use the lcp:// URI scheme to expose LCP records as readable resources. The lcp:// scheme is distinct from the lcp: prefix used in string fields above; the URI form is appropriate where the carrier expects a fully-qualified URI rather than a self-identifying string. See MCP Integration for indicative resource URI shapes such as lcp://legal-context/{domain} and lcp://agreement/{id}. The MCP stewards are invited to publish authoritative resource URI conventions.
Known Types
The type set is extensible and is not closed. Implementations SHOULD ignore types they do not recognize. Additional types MAY be defined by deployments; implementers are encouraged to publish type extensions in their own documentation rather than canonizing them in this standard.
| Type | Value Format | Example |
|---|---|---|
sha256 | ATR hash, 0x-prefixed hex | lcp:sha256:0x7f83b165... |
ipfs | IPFS CID | lcp:ipfs:QmYwAPJzv5CZsnA... |
ar | Arweave transaction ID | lcp:ar:bNbA3DWNQJ... |
url | URL to terms or legal-context.json | lcp:url:https://example.com/terms/v3.md |
Protocol Integration
How legal context references embed in existing agentic commerce protocols via extension mechanisms and spec contributions.
On-Chain Binding Patterns
Pattern vocabulary for binding a settlement transaction to the atrHash of the terms document — Native Field, Overlay Contract, Sidecar Attestation, Opaque Challenge, Id-Reuse, Protocol Extension.