🌙 From Dusk Till Dawn · Agentic Economy track · Team showcase

Agents buy ads.
We make sure the humans saw them.

An advertiser agent posts a campaign. Publisher agents bid in a live auction. Budget is escrowed per impression batch on Masumi — and when one publisher serves bot traffic, the fraud judge fires and the money comes back. Automatically. With evidence.

How it's built
SIMULATED DEMO — no funds moved Built on Masumi rails €20 campaign → €11 spent · €7 refunded
$25.3B
lost to ad fraud, H1 2026 (Spider AF) — ~$1 of every $18
9
escrow slices across 3 publishers, settled per batch
62/100
bot score on DevNewsletter — policy threshold 40
€7
auto-refunded with signed evidence bundle
① The live demo

Watch the money move.

A simulated run of the full 2-minute submission flow — campaign brief → live auction → escrow → impression serving → fraud alert → auto-refund → receipt. Play it end-to-end, or step through phase by phase.

0:00 brief0:15 auction + escrow0:40 serving1:00 fraud check1:20 settlement1:40 receipt
adslot-auction · operator console · masumi-sandbox IDLE
All payments & traffic simulated
Campaign budget lifecycle — €20.00 €20.00 unallocated
€20
Escrowed (FundsLocked) Released to publisher Refunded to advertiser Unspent

— Press “Run full demo” or “Next phase” to begin

🌙
The auction floor is quiet… for now.
Eight phases. One fraud. Every euro accounted for.

Track rule, verbatim: “An agent completes a transaction scenario with a visible outcome. A sandbox transaction counts; a simulated payment must be labelled.” — every money movement in this console is a simulation, labelled as such.

② The problem

Agents will buy ads. Fraud will follow the money.

💸 The $25.3B hole

Spider AF (H1 2026): $25.3 billion lost to invalid traffic, a 5.58% fraud rate — roughly $1 of every $18 in ad spend. Bot farms, datacenter click loops, spoofed impressions. Humans built dashboards for this. Agents won't read dashboards — they need the refund to be automatic.

🤖 The agentic twist

AI agents will negotiate placements, budgets and audiences at machine speed — overnight, unsupervised. Nobody hands an agent a credit card without proof the impressions were human. The missing piece isn't the auction. It's the trust layer: every batch escrowed, verified, and refundable by policy, not by support ticket.

Our one-liner: “Advertiser agents bid in real time for ad slots on publisher agents; payment is escrowed per impression batch and refunded automatically when fraud is detected. We are the auctioneer and the fraud judge: we run the market and decide which impressions were real.”
③ How it's built

We built the market. Masumi is the rails.

The clean division we enforced all night: Masumi provides identity, discovery, escrow, payment states and audit anchors. We never rebuilt any of it. Our entry is the auction engine, the fraud evaluator, and the wrapper UI.

🛠️ Our build (the entry)

  • Campaign intake — budget, audience, vertical → structured brief
  • Auction engine — rounds, bid rules, winner selection (price × audience fit × reputation)
  • Policy card — signed mandate: budget cap, max publishers, fraud refund threshold
  • Fraud evaluator — deterministic bot signatures: click bursts, datacenter ASN check, CTR anomalies. The heart of the build.
  • Wrapper UI — bid ticker, impression counters, fraud alert, receipt. No chain jargon.
  • Evidence store — off-chain logs & reports; on-chain hashes only
⇄

⛓️ Masumi rails (not rebuilt)

  • Agent DIDs — publishers are registered, identified entities
  • Registry / discovery — find publishers by audience & vertical
  • Escrow smart contracts (Aiken, Cardano) — budget locked per batch
  • Payment state machine — FundsLocked → ResultSubmitted → RefundRequested / Disputed
  • Dispute states — fraud flag is a first-class refund path, not an exception
  • Decision logging — immutable bid log; hashes of reports & verdicts
  • Explorer — raw chain view under our receipt

Masumi integration — primitive by primitive all real capabilities

Masumi primitiveHow this scenario uses itWhy it's essential
Agent identity (DIDs)did:masumi:techblog-07, did:masumi:devnews-02, …Reputation attaches to someone — repeat fraud is visible
Service discovery (registry)Find publishers by audience / vertical before the auctionNo auction without bidders you can find
Escrow€18 locked in 9 per-batch slices (3 per winner)Advertiser doesn't trust publishers; publishers don't trust advertiser
Payment state machineFundsLocked → ResultSubmitted → Settled | RefundRequestedThe visible money lifecycle the demo narrates
Dispute statesFraud flag → RefundRequested / Disputed path firesInvalid traffic is a first-class state, not an exception
Decision loggingImmutable bid log; sha256 of impression reports + fraud verdictsAudit anchor for “who won, and why that batch was refunded”
ExplorerRaw chain view linked from the receiptWe build the ticker and receipt on top

Payment state machine — per impression batch

DRAFT → QUOTED → AUTHORIZED → ESCROWED · FundsLocked → IN_PROGRESS → DELIVERED → ResultSubmitted → VALIDATING → SETTLED | REFUNDED · RefundRequested | ESCALATED

In plain UI language: Draft → Bids in → Winners picked → Budget reserved → Serving → Report in → Fraud check → Paid / Refunded. The demo animates all 9 slices through this machine in the settlement phase.

④ Why it wins

Mapped to the judging rubric.

Five criteria, 0–5 each. A 3 on end-to-end = “one complete core scenario works.” A 5 = “works convincingly and handles an important failure case.” Our failure case IS the demo's main event.

35%
Working end-to-end result
Full loop: brief → auction → escrow → serving → fraud verdict → refund → receipt. Narrow, complete, and the failure path is rehearsed, not hand-waved.
25%
Value & track relevance
$25.3B ad-fraud problem; hits all three keywords — DISCOVERY, PAYMENTS, TRUST — in one visible transaction.
20%
Technical execution
Deterministic fraud signals with declared thresholds; real Masumi primitives (escrow, state machine, DIDs, logging) — we built the market, not the chain.
10%
Originality
The auctioneer is the fraud judge: invalid traffic as a first-class payment state, with the refund math shown on stage.
10%
Validation & honest limits
Declared signal thresholds, evidence bundles, and a labelled simulation boundary — see below.
DISCOVERYPAYMENTSTRUST
⑤ Honest limitations

What's simulated. What's real.

The track rule says a simulated payment must be labelled — so here's the boundary, in writing, exactly as we'd show the jury.

SIMULATED in this showcase

  • ▸ All payment movements — no funds moved, no real escrow contracts executed
  • ▸ Impression traffic & bot traffic — scripted feed, not real ad serving
  • ▸ Fraud signal inputs — the detector logic is real (deterministic), its input data is staged
  • ▸ Chain data & explorer links — representative of Masumi sandbox output
  • ▸ The compressed demo timeline (the real 2-minute video covers the same beats)

REAL on Masumi (sandbox/preprod)

  • ▸ Agent DIDs & registry discovery — publishers are registered, identified entities
  • ▸ Escrow via payment smart contracts — FundsLocked per batch slice
  • ▸ Payment state machine — FundsLocked → ResultSubmitted → RefundRequested / Disputed
  • ▸ Refund/dispute path — invalid traffic as a first-class state
  • ▸ Decision logging — immutable bid log, hashes of reports & verdicts

Known weaknesses (we'd tell the jury unprompted)

  • ▸ Fraud detection uses declared signals — it catches scripted bots, not sophisticated human-mimicking fraud. Real deployment needs certified traffic measurement (IAB standards).
  • ▸ Identity and reputation reduce ambiguity; they don't prevent collusion between a publisher and the detector. Human oversight stays on the dispute path.
  • ▸ Thresholds (40% burst / 50% datacenter) are policy choices in the signed mandate card — aggressive bot farms will adapt, so the policy must be versioned and re-signed.
  • ▸ 3 publishers is the demo's sweet spot for a 2-minute video; a production market needs Sybil resistance at discovery time.