The Offering Discovery Protocol (ODP) enables Agents to discover Services and navigate the Collections, Offerings, and Actions they expose. It supports everything from a Service with a small static catalog to a marketplace with a large, searchable catalog and Service-defined structured data.
ODP is an open protocol with public specifications, schemas, examples, test vectors, conformance artifacts, and software development kits. A Service publishes a well-known ODP document that tells an Agent which catalog operations are available and where to call them.
- An Agent searches the canonical Directory for relevant Services.
- The Agent inspects a Service's live ODP document and its advertised capabilities.
- The Agent lists or searches Collections and Offerings using only the operations that Service supports.
- The Agent retrieves complete Offering details and can resolve an advertised Action before enrollment or payment.
The Directory contains searchable Service metadata. Product catalogs remain with their Services, allowing each Service to control its catalog, availability, access requirements, and structured Offering data.
ODP provides agentic discovery: what a Service offers and how an Agent can navigate it. It composes with the Agent Enrollment Protocol (AEP) for agentic enrollment and with MPP or x402 for agentic payments.
These layers can be used independently, but together they provide a complete agentic commerce flow: an Agent discovers an Offering, enrolls when the Service requires an identity or credential, and pays through the payment protocol accepted by the Action endpoint.
Protocol proposals and wire-format discussions belong in odp-specs. Implementation bugs and
language-specific integration questions belong in the corresponding software development kit
repository.
