Shady Baby

finding shade for your little sunshine

An Ad Market Where Sellers Post a Bond and Get Slashed for Lying

I spent years building retail-media systems: auctions, pacing, measurement. So when the IAB shipped AAMP in January, its standard for AI agents that buy and sell ads on their own, I actually read it. The trust model is what caught me. Before two agents can trade they need a commercial agreement in place (that is the Commerce Protocol) and an entry in an Agent Registry. Which is fine, but it means someone runs the registry and someone enforces the contracts. The trust lives in paperwork.

I wanted to see what the opposite looks like. Here the seller puts down a cash bond instead of signing anything. Buyers pay into escrow. Deliver honestly and the escrow pays out. Fake a delivery and get audited, and the buyer gets their money back while a slice of your bond gets burned. Nobody vouches for you and nobody holds the money in the middle, me included. The bond does the vouching. I built it mostly to find out whether that holds together. It does, more cleanly than I expected.

4autonomous bidders, OpenRTB
6supply agents, 2 fraudulent
2,238impressions cleared
2 of 2fraud sellers ejected

What it is

There are four bidders, each its own little agent. They talk a subset of OpenRTB 2.6, so the wire format is the real thing rather than something I invented. Each one runs its own campaign end to end: what an impression is worth, how fast to spend, when to shade the bid down. Nobody approves anything. The exchange just runs a second-price auction per impression, and that stays off-chain. Consensus buys you nothing on a matching decision and only slows it down. The bond and the payout are the only places a chain would ever go.

Six publishers supply the inventory, each with a 0.60 EUR bond down. Four are honest. Two write receipts for impressions that never ran. One in four impressions gets audited. Get caught faking one and you lose a third of your bond, the buyer gets refunded, and once your bond is low enough you are out of the market for good.

The arena

This is one run, 240 rounds, replayed from a fixed seed so it comes out the same every time. The top panel is how much each bidder has spent so far, so the shape of the line is really the strategy. The bottom panel is each seller's bond. The honest ones sit flat. The two liars drop in steps, once per audit that catches them, until they flatline and fall out. Hit play, or drag the scrubber around.

t 0 / 239

What the run shows

The two grocery bidders want the exact same inventory and only differ in how they pace. front-load bids hard early, burns its whole 1.60 EUR on 476 wins, and pays 3.41 CPM on average. even-pace takes its time, wins 721 impressions for less at 1.70 CPM, and cleans up the cheap leftovers once front-load has run dry. Same budget, same valuation, and they end up nowhere near each other. sniper skips grocery entirely and grabs premium at the floor. shade lowballs the auto inventory nobody else wants and gets it at 1.22 CPM, the cheapest anything trades at.

BidderStrategySpent EURWinsAvg CPM
eveneven-pace1.2267211.70
frontfront-load1.6004763.41
snipersniper1.1654692.50
shadeshade0.6955721.22

The sellers are where it gets interesting. Both liars get caught six times each, watch their bond drain to 0.05 EUR, and get thrown out. Both finish underwater. Every honest seller finishes ahead. The frauds do pocket a few cents off receipts that slipped past an audit, nowhere near enough to cover what the slashing took.

SellerTypeRevenueSlashedNetCaught
P1honest1.3690.000+1.3690
P2honest1.1390.000+1.1390
P3fraud0.0540.550-0.4976
P4honest1.0410.000+1.0410
P5fraud0.0670.550-0.4846
P6honest1.0180.000+1.0180
The numbers are set so cheating loses money on average. Audit a quarter of the time, take a third of the bond on each catch, and the cents you keep on the fakes that get through do not come close to the bond you lose on the ones that do not. Nobody had to vouch for anyone. The money on the table did it.

What it is, and what it isn't

None of this is a live network. It is one program on my laptop, and all it shows is that the mechanic works, no more than that. The genuinely hard part is the audit itself. Someone still has to confirm a real impression happened, and that is what every decentralised ad-tech attempt since about 2018 has choked on. You can move money around by rule all day, but code cannot look at a screen and tell you a person saw the ad. A bond makes lying expensive, not impossible. Get the audit wrong and you have just built expensive theatre.

There is also no blockchain anywhere in this, on purpose. Settlement is just an interface. An on-chain escrow with a slashing contract could sit behind it without the rest of the code noticing, and I would only bother if I actually wanted a network with no operator at all. To prove the idea a plain ledger was plenty, and it kept the interesting part on screen instead of buried under wallets and gas.

So the bet is simple. The IAB settles trust with a registry and a contract, which needs someone to run the one and enforce the other. A bond settles it with money the liar already handed over. One of those is a lot easier to stand up on your own.

But a bond is only worth as much as the audit behind it, and that is the thread worth pulling. Online you can barely check whether an impression really happened. In a physical store you can: I once turned a phone in my pocket into an in-store audit that picked up beacons, shelf labels, and the fridge aisle by magnetometer. That kind of independent measurement is the piece missing here. Part 2 puts a real one behind the bond.

It is a prototype, not a product, and I am not publishing the code. If you work on agentic supply or demand, or you just want to tell me where it falls apart, email me.

Go, reproducible from seed 7. OpenRTB 2.6 subset for the wire format. Second-price auctions. No real money, no real impressions.

← Back to blog