A seller agent now verifies what tier a buyer claims

Updates4 Aug 2026Damian Naglak
260804 damian

It’s the middle of summer and IAB Tech Lab is shipping. AAMP 2.3 has no new deal types. It’s plumbing: where the agents run, and who is allowed to claim they are an advertiser.

The agents now run where companies already run things, on Amazon Bedrock AgentCore and Databricks, with swappable storage so an agent is no longer stuck on one machine, and your own choice of model behind it. Google Ad Manager reporting and Meta buying got wired in.

Then a heading IAB called “trust and safety move from optional to enforceable,” which covers two worries. The first is who you deal with: the buyer agent can now check a seller against the IAB Diligence Platform, a privacy questionnaire vendors fill in, before it buys. It’s one yes or no, it comes off a list the buyer keeps itself, and it’s off by default. The second is money. Earlier versions let the agent invent a CPM when it had no pricing data, and 2.3 removes that and records where every price came from.

On the seller side the matching question is who the buyer is. The seller agent has had buyer tiers since AAMP 2.0, and your tier sets the shape of the negotiation: a public buyer gets 3 rounds and at most 8 percent off the opening price, a seat 4 rounds and 12 percent, an agency 5 and 15, an advertiser 6 rounds and 20 percent. When the seller counters by splitting the difference, the public buyer gets 30 percent of that gap and the advertiser gets 65.

Until 16 July the tier came from the request body. Put an advertiser ID in and the pricing engine treated you as an advertiser, on quotes, counters, negotiation messages and template booking, with no ceiling applied anywhere. Twelve points of discount and three extra rounds, for filling in a field. Now the buyer passes the address of its agent card, the public profile page every agent publishes at a fixed URL. The seller looks that up in the AAMP registry, and the answer caps whatever the buyer claimed. An agent the registry doesn’t know drops to the public floor, a blocked one is refused before any pricing goes back, and a buyer with no card and no API key can’t be checked at all, so it floors to public too. Every check is recorded: what was claimed, what was enforced, which endpoint. One gap is left and the commit says so, because the shared negotiation message carries no field for the card address, so on that route the seller falls back to an API key.

A buyer agent used to be able to claim a better tier and get a cheaper price for it. Now the seller checks that claim against the registry, so the price matches who the buyer really is, and both sides can trust the number.