Loading…
Refresh in 5s

Auction Performance

Impressions / min
—
Total p50
—
ms
Total p95
—
ms
Total p99
—
ms
Phase breakdown (p50 · p95 · p99)
No data yet, run an auction to populate.

Today

Revenue today
—
USD
Platform revenue
—
USD
Impressions today
—
Total impressions
—
Avg CPM
—
USD
CTR
—

Platform Entities

Active publishers
—
Advertisers
—
Active campaigns
—
Total campaigns
—

Pending Approvals
0 waiting

TypeName / IDEmail / ContextSubmitted
Loading…

Quick actions

System

System Health
DB status
—
DB ping
—
ms
DB backend
—
Pool (open / in-use / idle)
—
Version
—
Uptime
—
User Metrics
Paid users
—
linked payout email
Proof-of-uniqueness events
—
not a headcount, nullifiers rotate per epoch
New paid users / day (30d)
Proof-of-uniqueness events / day (30d)
Database Overview
Raw Auction Log
TimePublisherHostEndpointOutcomeClear CPMLatency
Loading…
Audit Log
TimeAdminMethodPathIP
Loading…
Request Shape
On-device vs legacy path, shortlist/proof/ad-policy adoption, daily per publisher/endpoint
DayPublisherEndpointOn-DeviceShortlistProofsAd PolicyCount
Loading…

Impersonation

Open any publisher's or advertiser's portal as them. All impersonation sessions are audit-logged and expire in 1 hour.

Name / IDEmailStatus
Loading…

Publisher Management

Total
—
Active
—
Suspended
—
Total earnings
—
Name / ID Email Status Integration Floor CPM Safety Rev share Available ads Impressions Earnings
Loading…

Advertiser Management

Total
—
Active
—
Suspended
—
Total spend
—
Name / ID Email Status Agencies Active campaigns Impressions Spend Avg CPM
Loading…

Administrators

Email Login methods MFA status Created
Loading…

Recent Impressions (last 20)

ID Publisher Type CPM ZK proof Clicked Time
Loading…

Live Auction Feed

Time Publisher Winner / Tier CPM ZKP Latency Status
Loading…

Revenue Dashboard

Gross revenue
—
USD
Publisher payouts
—
User earnings
—
Cognatu margin
—
Impressions
—
Avg CPM
—
USD
Publisher User Cognatu
Impressions per day (last 30 days)
Period Impressions ZKP % Gross USD Publisher USD User USD Cognatu USD Avg CPM
Select a period above to load data

Line Item Manager

Total
—
Delivering
—
Paused
—
Draft / Ready
—
Demo
—
Name Advertiser Order Type Status Bid CPM Impressions Spend Flight Pacing
Loading…

ZKP Proof Inspector

Paste a ZKProof JSON to inspect its structure and verify it against the active backend.

Site Analytics

Pages and actions across every host, marketing, portals, docs, blog. Aggregate counters only: no cookies, no IDs, no IPs. Paths are stored as page shapes (/admin/publishers/:id) with query strings dropped, so a URL carrying a campaign ID or a search term can never persist. Mark any element data-track="name" to count an action.

Page views
—
Actions
—
Pages tracked
—
Actions / 100 views
—
Views per day
Top pages
PageHostViews
Loading…
Top actions
ActionCount
Loading…
By host
HostViewsShare
Loading…
By source
SourceViewsShare
Loading…

Blog Analytics

Aggregate counters only. No cookies, no visitor IDs, no IPs (see internal/store/blogstats.go). A “read” means the visitor scrolled ≥85% of the post and stayed ≥45s of visible-tab time. Medium republished copies report separately in Medium’s own dashboard.

Views
—
Completed reads
—
Completion rate
—
Avg read time
—
Views per day
By source
SourceViewsShareReadsCompletionAvg read
Loading…
By post
PostViewsReadsCompletionAvg read
Loading…

Geo Cell Lookup

Look up the S2 cell for a known latitude/longitude, so you can paste it into a campaign or line item's Geo targeting field above without a GeoIP database. Pure coordinate math, does not touch live IP resolution.

Latitude
Longitude

ZKP Audit Dashboard

ZKP rate
—
of impressions
Avg CPM (ZKP)
—
USD
Avg CPM (no ZKP)
—
USD
Fill rate
—
of auctions
Avg latency (ZKP)
—
ms
Avg latency (no ZKP)
—
ms
p95 latency
—
ms
Total auctions
—
ZKP impressions Contextual impressions

No-fill breakdown

ReasonCount
No data

Last updated: —

Playground

Send messages and watch the full ad pipeline run in real-time on the right.

Model:
Try one of these to see ad injection:
✈️ Japan trip
💰 Investing
🚀 Deploy app
🚫 Safety test

Pipeline Trace

Run a query to see the
full pipeline trace here.

🔒 On-Device Demo

Simulates the real browser JS SDK (sdk.js): the text below is embedded and matched entirely in this browser tab using the same tiny static model the SDK ships, then — only if a matched line item requires it — a real Groth16 proof is generated in-browser via WebAssembly. Only the derived shortlist, topic scores, and proof (never the raw text below) are sent to the server. The exact JSON sent is shown in the trace panel so you can verify this yourself.

🔄 New chat
Try one of the samples above, or paste your own page content below.

On-Device Trace

Simulate a page visit to see each
on-device step run, live, right here.

Ad Inventory

All active campaigns, targeting rules, and creative previews.

Loading…

🛒 Marketplace Inventory

Ingested ad supply — products embedded on-device and ranked by eCPM. These compete in the auction alongside campaigns.

Loading…

Topic Analyzer

Paste any text to see exactly how the context extractor categorises it — audience segments, intents, and brand safety score.

This runs the same context extraction pipeline that runs locally on the publisher's machine before any data is sent to the ad gateway. Raw text never leaves.
Results will appear here after analysis.

Publisher Stats

Live earnings and impression data. Refreshes every 3 s.

Loading…
Fill Rate
Fill Rate (24h)
—
— auctions
Lost Reasons
no_demand: — unsafe: —
Last 12 Hours
No data yet
Recent Impressions
TimeCampaignCPMZKPPub EarningsEvents
No impressions yet

User Wallet

Inferred attribute scores built from local conversation analysis. The marketplace never sees these values — only ZK proofs.
This describes the production SDKs — this Playground's own wallet lives server-side for debugging visibility. See it actually run on-device in the On-Device Demo.

Simulate User Profile
Attribute Scores
No attributes yet — send a query or apply a preset.
Inject Test Attribute
Directly set score — bypasses EMA, for testing campaign eligibility.
Pending Earnings
$0.0000
From proved attribute impressions
≈ 0 free LLM requests
ZKP Proof Capability
Build up attributes by chatting in the Playground.
Cashout Email
Register an email to receive earnings payouts. Ownership is proved with a one-time server challenge — your wallet secret never leaves the device.
Loading…

Publisher Onboarding

Register your LLM node to start earning from contextual ads. Your API key is shown once — store it securely.

New Publisher Signup
SDK Integration Snippet
After signup, drop your key into your Go or Python SDK config:
// Go SDK (pkg/sdk)
cfg := sdk.Config{
  PublisherID: "pub_xxxxxxxx",
  APIKey:      "pub_key_...",   // your key
  GatewayURL:  "https://api.cognatu.com",
}
proxy := sdk.NewMiddleware(cfg)
// proxy is a standard http.Handler — mount it on your LLM port
The SDK intercepts LLM traffic, runs context extraction locally, and injects a contextual ad after each response — all without exposing raw conversation data.
Registered Publishers
IDNameCreatedDefault
Loading…

Advertiser Onboarding

Create your account, fund campaigns, and reach users in relevant LLM conversations. Your API key is shown once — store it securely.

New Advertiser Signup
How Pricing Works
Second-price RTB auction — you bid a max CPM; you pay one cent above the next-highest bid.
ZKP premium targeting — campaigns that require a zero-knowledge proof of user intent receive first-bid priority and attract higher-quality audiences.
Revenue split — 70% publisher / 30% platform on base CPM. When ZKP is used, an additional 30% of the premium flows to the user who proved their intent.
70%
Publisher
30%
User (ZKP)
30%
Platform
Registered Advertisers
IDNameEmailCreated
Loading…
Manage Campaigns
Enter your API key above to view and manage your campaigns.
Key rotation: current key stays valid 24 h after rotation

Targeting Parameters

Loading experiments…