Blog · Agentic

AAMP, AdCP, and the bid stream: where agentic advertising actually touches OpenRTB

Six months into 2026, agentic advertising has two standards bodies, two protocol stacks, and a public disagreement about which one the industry needs. For the people who maintain bid streams, the useful question is narrower than the headlines: what, if anything, changes in the JSON? The honest answer is almost nothing yet, with two exceptions worth understanding now. One agentic framework wants to run inside your auction path, and while the agent news cycle ran, OpenRTB shipped its first dated snapshot in over a year.

Two stacks, two theories of where agents belong

The Ad Context Protocol (AdCP) launched on October 15, 2025 with six founding members: Yahoo, Optable, PubMatic, Scope3, Swivel, and Triton Digital, plus a longer list of launch partners including Magnite, Raptive, and The Weather Company. It is governed by AgenticAdvertising.org (AAO), a trade organization formed in 2025 specifically to steward it. AdCP is built on Anthropic's Model Context Protocol, with Agent2Agent (A2A) as a second transport, and defines tasks for media buying, creative, signals, and audience activation. The spec now sits on a 3.0 release line under an Apache 2.0 license, split into a negotiation layer (agents discovering inventory and agreeing on terms at planning time) and a serve-time layer called Trusted Match for impression-level decisions. In January 2026, the reference sell-side implementation moved to Prebid.org as the Prebid Sales Agent: Prebid maintains the software, AAO keeps the protocol.

IAB Tech Lab spent the same months building a parallel stack. Its 2026 roadmap put agentic advertising at the center, and the concrete pieces followed: Agentic Audiences v1.0 in November 2025, the Agentic RTB Framework (ARTF) through public comment ending January 15, 2026, and the umbrella Agentic Advertising Management Protocols (AAMP) v1.0 on January 28, 2026, organized into three pillars (foundations, protocols, trust) with buyer and seller agent SDKs on GitHub. The positioning is explicit: extend OpenRTB, AdCOM, VAST, and GPP rather than introduce new standards. CEO Anthony Katsur has said the fastest way forward is "to build on an existing shared foundation, not introduce multiple new standards that create fragmentation," and, more pointedly about AdCP, that the industry did not need another trade group. AAO, for its part, keeps shipping. Nobody has blinked.

Where each one touches the bid stream

AdCP mostly lives above the bid stream. An AdCP media buy is negotiated between agents over MCP or A2A, and what comes out the other end executes through the pipes that already exist: a deal ID in imp.pmp.deals, a programmatic guaranteed line, a direct tag. If your job is parsing OpenRTB, agentic demand arrives looking like any other deal. The part worth watching is the trust plumbing: adagents.json, served at /.well-known/adagents.json, is a publisher's declaration of which sales agents may represent its inventory, with scoped authorization (placement IDs, country restrictions, date windows, signing keys) that goes well beyond what ads.txt can express. It sits naturally beside ads.txt, sellers.json, and schain in the verification stack, and buyers will eventually want to reconcile all four.

ARTF is the opposite bet: agents inside the auction path. It specifies a containerized execution model where a host (an exchange or DSP) runs third-party agent services co-located in its own infrastructure, talking gRPC with Protocol Buffers, enriching and modifying bid requests mid-auction. Proponents claim large latency wins over server-to-server hops. For anyone who validates bid streams, the implication is provenance: under ARTF, the request that reaches a bidder may have been rewritten by a third-party container between the publisher and the auction. Which fields an agent may touch, and how that is audited, will matter as much as the transport. Version 2.0 is already underway, so the answer is still being written.

Meanwhile, OpenRTB shipped a snapshot

While the agentic announcements stacked up, the Programmatic Supply Chain Commit Group did ordinary spec work. Proposed for public comment on April 28, 2026 and shipped on June 11 as OpenRTB 2.6-202606, it is the first dated snapshot since 2.6-202505, closing at just over a year the gap our January roadmap post flagged. It contains two things, neither of them agentic.

First, programming liveness. Two attributes were added to Object: Content in both OpenRTB and AdCOM: realtime (is the event happening in real time while it is being watched: 1 for a live sports game, 0 for a replay) and firstbroadcast (is this the first time the content is available to an audience). Alongside them, the existing content.livestream field was redefined. The old text read "0 = not live, 1 = content is live (e.g., stream, live blog)"; it now reads "0 = the broadcast is not scheduled (e.g. it is VOD or otherwise user initiated), 1 = the broadcast is scheduled (also referred to as linear viewing)." That is a semantic shift, not a clarification: livestream now means scheduled-versus-on-demand, and "live right now" moved to realtime. A replayed football match on a linear channel is livestream=1, realtime=0. If your pipeline populates livestream to mean "live event in progress," it is now saying something else. The motivation is the same live-sports CTV surge behind the pod bidding toolkit: live inventory prices differently, and sellers needed three separate axes to describe it.

Second, money. Two substitution macros were added: ${AUCTION_DISCOUNT_PCT} (a seller discount as a percentage of the bid price) and ${AUCTION_DISCOUNT_CPM} (the same discount as a CPM), with an updated description of ${AUCTION_PRICE} to match. These let a seller communicate net pricing to a DSP through win and billing notices instead of side channels.

rtblint's rule catalog currently runs through the 2.6-202505 snapshot; a field-by-field 202606 review, and catalog support for the new attributes, is next on our list. If you gate builds on bid request validity, this is exactly the situation snapshot pinning exists for: stay pinned to 202505 until you have migrated your livestream semantics, then re-pin, as described in the CLI docs.

What to do now

Nothing in AAMP v1.0 or AdCP 3.0 changes a bid request today. The 202606 snapshot does. If you sell or represent live inventory, audit how livestream is populated before the new definition and your fixtures drift apart, and plan realtime and firstbroadcast for anything genuinely live. If you emit win notices, decide whether you will populate the discount macros before a partner asks. If you already parse ads.txt and sellers.json, start watching adagents.json: it is where agentic authorization is accumulating. And keep running requests through the bid request tester; whichever agentic stack wins, the transactions still have to come out as valid OpenRTB on the other side.

Sources