AAMP repositories, ranked by what they define
AAMP is 8 independently versioned IAB Tech Lab repositories rather than one protocol: 3 check in a contract another implementer has to match, 3 check in part of one, 2 define nothing, and none is stamped "AAMP 2.3".
AAMP is Agentic Advertising Management Protocols, in the hub README's own expansion of it. The scope is a buyer's software and a seller's software trading media with nobody in the loop: discovery, price negotiation, booking, mutation of the real-time bidstream. It arrives as 8 repositories that share no version and no type system, not as one specification.
Where to start, by what is being built
| Implementation target | Read | Why |
|---|---|---|
| An agent that talks to someone else's agent | iab-agentic-primitives | The contract both reference agents import, under an unreleased warning. |
| Anything in the bidstream | agentic-rtb-framework | Tagged v1.0 and marked FINAL, with Go and Rust implementations to check against. |
| An assessment of a vendor's claim | seller-agent | Its OpenAPI is the fullest picture of what a working agent exposes, and unlike the guides it does not contradict itself. |
| An RFP that says "AAMP support" | The version matrix | A claim resolves to a named repository at a named tag or to nothing: 4 of the 8 repositories have no tag to name. |
| Audience or signal work | agentic-audiences | One vendor's draft, untagged, with the schema that would connect it to the rest of AAMP checked in at zero bytes. |
The hub README lists six of the 8 and numbers them, and its ordering does not correspond to what the repositories contain: it ranks a mock server first, as repository 1, Core Orchestration, and leaves out the wire contract both reference agents pin.
iab-agentic-primitives is the wire: the shared object schemas and the request/response
protocol. buyer-agent and seller-agent sit at either end of that wire, demand
side and supply side, and both are running applications rather than documents.
agentic-rtb-framework (ARTF) is a separate track. It operates in the bidstream, the serve-time
auction traffic, not in the control plane where deals are negotiated and booked.
agentic-audiences and agentic-direct are side proposals: an embedding-exchange
draft from one vendor, and a demo wrapping IAB's pre-agentic object models (OpenDirect for direct
deals, AdCOM for the ad objects, OpenRTB for bidding).
The registry all of this depends on to find an agent is in none of them. It lives in
agent-registry, a repository outside AAMP, and the corpus does not agree on where
it is hosted; the two default hostnames are on the homepage.
The ranking test: what a repository obliges another implementer to match
The test is whether a repository defines messages another party sends, rather than only what it receives. A versioned JSON Schema, an OpenAPI document or a protobuf contract counts; client code and README prose do not. Substantial means the repository defines a contract, partial means it defines part of one, and thin means it defines nothing another implementation could conform to. Path counts inform the grade but do not determine it.
The two reference agents fall either side of that line on their OpenAPI documents. The seller agent's 74 paths, carrying 87 operations, describe the whole negotiation round trip: proposals, counters, quotes, rate cards, change requests, so the document functions as the specification for the buyer side. The buyer agent's 13 paths, carrying 14 operations, describe only what it accepts: bookings, product search, reports, health. None of them is a message to a seller.
| Repository | Version | Kind | Substance | What it defines |
|---|---|---|---|---|
| agentic-rtb-framework | v1.0 | specification | substantial | The only specification here that is tagged and marked FINAL: a v1.0 prose document, a protobuf contract, Go and Rust implementations, and five worked request samples. |
| iab-agentic-primitives | v0.5.0 | specification | substantial | The wire contract both reference agents pin: 48 versioned JSON Schemas for the shared objects and the request/response protocol, plus an OpenAPI document. Its own README opens with WORK IN PROGRESS — NOT YET RELEASED. Not listed in the AAMP hub README. |
| seller-agent | v2.4.1 | reference implementation | substantial | The largest machine-readable surface in the corpus: an OpenAPI 3.1 document with 74 paths carrying 87 operations, 91 component schemas, a changelog, and tags through v2.4.1. Its prose guides contradict the OpenAPI and each other. |
| agentic-audiences | untagged | specification | partial | A readable draft and a detailed embedding taxonomy, described by its own README as LiveRamp's initial proposal. The schema that would connect it to the rest of AAMP is a zero-byte file, and so are the two example payloads and the roadmap. |
| agentic-direct | untagged | reference implementation | partial | One real artifact inside a demo: opendirect.json, a manifest of 40 OpenDirect, AdCOM and OpenRTB object definitions. Its README calls that file an OpenAPI spec twice, the file has no openapi key, and the MCP server it feeds answers every tool call with generateMockResponse. |
| buyer-agent | v2.3.0 | reference implementation | partial | 58 files of documentation, the largest prose set in AAMP, over an OpenAPI that describes only the buyer's own 13 inbound paths. The buyer-to-seller protocol it implements is specified somewhere else. |
| AAMP | untagged | hub | thin | A 270-word README. It lists six of the eight repositories, omits the wire contract, and gives an expansion of the acronym that two of the repositories it lists contradict. |
| registry-agent-example | untagged | example | thin | A 22-line agent that points an MCP client at the registry defined in agent-registry, a repository outside AAMP. |
The oldest tag anywhere here was cut in July 2026, and iab-agentic-primitives carries
the shape that goes with that age: a versioned schema set under an unreleased warning, with reference
code running ahead of the document it implements. In agentic-audiences the corresponding
file, specs/v1.0/schema/agent_interface.schema.json, is checked in at zero bytes.
Conformance
iab-agentic-primitives, the repository whose README says it is not released, ships
the only conformance suite in the corpus: 46 golden fixtures under spec/fixtures/,
canonical payloads that its own spec/README.md says every implementation must round-trip,
and a runner, python -m iab_agentic_primitives.conformance, which exits non-zero
with a gap report when a check fails.
The runner's docstring describes itself as the command both agent repositories call in CI.
Neither buyer-agent/.github/workflows/ nor
seller-agent/.github/workflows/ mentions conformance, and no Python file in either repository
imports the package, so nothing in the corpus runs it. Each agent carries a local
test_opendirect_wire_conformance.py instead, which checks one implementation against
its own reading. ARTF, the only repository here tagged FINAL, has no vectors at all, and the word
conformance appears nowhere in it.
The AAMP 2.3 announcement
IAB Tech Lab announced AAMP 2.3 in July 2026, and no repository carries a framework-level AAMP
version string. The tag, manifest and changelog state of each repository is set out on the version matrix. AdCP, the other agentic buying protocol, answers the same question from a single file: dist/schemas/latest.json
reads 3.1.13.
Frequently asked
- How many repositories are in AAMP?
- 8, of which seven hold code. The hub README names six and skips the one both agents actually pin: iab-agentic-primitives, at v0.5.0, on a byte-identical dependency line in buyer-agent/pyproject.toml:21 and seller-agent/pyproject.toml:37.
- Which AAMP repository is the specification?
- No single repository is the specification. agentic-rtb-framework ships Agentic_Real_Time_Framework_Version_1_0_FINAL.md and a protobuf contract; iab-agentic-primitives ships 48 JSON Schemas under an unreleased notice. The other six are reference implementations, drafts and a README.
- Where is the AAMP source code?
- Under github.com/IABTechLab, spread across 8 repositories that share no version and no release. The repository named AAMP holds a 270-word README; the code is in the other seven, plus agent-registry, which is not one of the 8.
- Is AAMP 2.3 a version of these repositories?
- No. The only 2.3 in the corpus is a v2.3.0 tag the buyer and seller agents each cut on 22 July 2026, numbering two repositories out of 8; the seller agent has shipped five releases since and is at v2.4.1. Nothing carries a framework-level AAMP version string.
Related
- What version is AAMP? works through the repositories one at a time.
- What does AAMP stand for? Agentic Advertising Management Protocols, and the other expansions in the corpus.
- Price negotiation in AAMP — the quote, counter and booking sequence.