Offering Discovery Protocol · GitHub
Skip to content
@offering-protocol

Offering Discovery Protocol

Open-source specifications and implementations for the Offering Discovery Protocol.

Offering Discovery Protocol

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.

How ODP works

  1. An Agent searches the canonical Directory for relevant Services.
  2. The Agent inspects a Service's live ODP document and its advertised capabilities.
  3. The Agent lists or searches Collections and Offerings using only the operations that Service supports.
  4. 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.

Protocol composition

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.

Start here

Goal Resource
Learn the protocol ODP documentation
Discover Services Canonical Directory
Integrate a Service Service integration guide
Validate a Service Service validator
Use ODP from an Agent or terminal InFlow CLI
Discuss protocol design odp-specs Discussions

Repositories

Repository Purpose
odp-specs Specifications, schemas, examples, test vectors, and conformance
odp-node Node.js software development kit and reference implementation
odp-go Go software development kit
odp-java Java software development kit
odp-python Python software development kit
odp-rust Rust software development kit

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.

Popular repositories Loading

  1. odp-specs odp-specs Public

    Specifications, schemas, examples, and conformance artifacts for the Offering Discovery Protocol.

    Ruby 1 1

  2. odp-node odp-node Public

    Node.js reference implementation of the Offering Discovery Protocol.

    TypeScript 1 1

  3. odp-rust odp-rust Public

    Rust implementation of the Offering Discovery Protocol.

    Rust 1 1

  4. odp-go odp-go Public

    Go implementation of the Offering Discovery Protocol.

    Go 1 1

  5. odp-python odp-python Public

    Python implementation of the Offering Discovery Protocol.

    Python 1 1

  6. odp-java odp-java Public

    Java implementation of the Offering Discovery Protocol.

    Java 1 1

Repositories

Showing 7 of 7 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…