Two paths, one moment.

When your user sends a prompt, two things happen at the same time. The model thinks. An ad is matched. Neither waits for the other.

User sends prompt

Model path

Your API call runs exactly as usual

~800ms+

Ad path

Filtered signal goes to the ad market

< 20ms

Response + ad delivered

Filter

Only topic and language leave your system. No prompts. No PII. No history.

Match

OpenRTB 2.6 auction during model inference. No extra user-side roundtrip.

Prove

Every impression gets signed proof. Auditable. Billable. No self-reporting.

What data leaves your system

Your app

"Plan me a weekend trip to Barcelona with museum visits"
Raw prompt blocked

After firewall

topic: travel, lang: en

Filtered signal allowed

Ad market

Receives only abstract category and language. It never sees the original prompt, user data, or conversation history.

You control what leaves. Config is explicit. Missing config means blocked by default.

The timeline

0 ms5 ms15 ms20 ms800 ms+
Ad pathdone ~20 ms
Model path~800 ms+
Firewall 0.22 ms
SSP roundtrip 15.28 ms
Model inference ~800 ms+

The ad is ready before the model finishes. Zero added latency to the user.

Proof chain

1

Slot created

2

SSP fills

3

Beacon sent

4

Proof signed

Every impression is cryptographically linked to a compute unit. Settlement is signed, auditable, and billable. No self-reported counting.

In code

wrapper-flow.ts

typescript

SDK FLOW
const job = await client.createJob({
  job_type: "chat",
  model_id: "gpt-4o-mini",
  locale: "en-US",
  consent: { semantic_targeting: true },
  prompt: { text: userMessage },
});

const decision = await client.getDecision(job.slot_ids[0]);

if (decision.fill) {
  renderAd(decision.creative);
  await client.sendBeacon({
    beacon_type: "rendered",
    asset_token: decision.asset_token,
  });
}

Compliance

Built on Compute Sponsoring v1.0

Profile: CS-S (S1/P0)

Ads and AI stay architecturally separated
Sponsors never receive user-level data
Semantic targeting requires explicit consent

Why wavebird

Ads are usually not the hard part. The real choice is ownership: market access, consent, proof, billing, and rollout.

Self-build

When it fits

  • Maximum control
  • In-house ad-tech team
  • Own ops and billing

Why teams still switch

  • Keep UX and data rules
  • Avoid auctioning and SSP ops
  • Outsource proof and billing

Traditional ad stack

What works

  • Mature demand
  • Liquid market
  • Standard OpenRTB rails

What is missing

  • No GenAI-specific paths
  • No semantic-consent layer
  • No proof per compute unit

Subscriptions only

When it fits

  • High ROI workflows
  • Clear willingness to pay
  • Strong paid conversion

Where it falls short

  • Most users stay free
  • Usage still creates compute cost
  • No revenue on the free tier

Direct SSP path

What you get

  • Direct demand access
  • Full bid and policy control
  • Custom consent and billing

Why wavebird sits on top

  • Keeps market compatibility
  • Adds filtered AI signals
  • Handles proof and rollout

Next step

Explore the integration path.

Start with the SDK for the production path, or talk to the team if you want rollout, placement, or partnership guidance.