Genesis
For publishers

Turn controlled AI moments into revenue.

Genesis lets AI products request single or multi-placement sponsored suggestions, persist category controls, collect optional first-party signals, proxy tracking through publisher-owned routes, and render native formats only where the publisher allows it.

Offer call
Bounded
timeout and no-fill fallback
Disclosure
Required
every sponsored response
Auction
Quality-weighted
publisher-weighted ranking
Integration
1 endpoint
REST, SDK, MCP, React
Revenue & controls

Publisher revenue estimate

A simple planning model based on sessions, fill rate, and effective RPM.

Estimated monthly publisher revenue$252

Planning estimate only. Actual earnings depend on approved demand, valid events, policy controls, and reconciliation.

Publisher controls

Decide where Genesis can appear, what categories are allowed, and how disclosure should render before anything goes live.

  • Explicit calls only at eligible moments.
  • Saved app-level category allow and block lists.
  • Single-placement and multi-placement offer requests.
  • Per-request category and advertiser controls.
  • Hosted tracking with optional first-party proxy rewriting.
  • Test mode before production access.
  • No-fill fallback that leaves the answer alone.
Developer workflow

Your first offer request is small.

Create an app. Copy a test key. Call the endpoint. Render the Sponsored label only when an offer is returned.

Node SDK offer request
const response = await genesis.requestOffers({
  placement: {
    placementId: "assistant_after_answer",
    appId: "app_123",
    agentType: "coding_assistant",
    surface: "chat"
  },
  context: {
    userMessage,
    categories: ["developer_tools"]
  },
  signals: [{
    signalCategory: "recommendation_request",
    subject: "TypeScript API monitoring",
    confidence: 0.84,
    categories: ["developer_tools"],
    purpose: "offer_request_context"
  }],
  controls: { maxOffers: 1 }
});
Optional signals

Improve matching without handing over the whole conversation.

Record structured first-party signals inline with an offer request or through the signal endpoint, including recommendation intent, subject, confidence, IAB category, placement, and feedback. Keep raw PII out of requests and use hashed identifiers when you need stable frequency or attribution context.

Node SDK signal
await genesis.recordSignal({
  sessionId: "session_12345678",
  placementId: "assistant_after_answer",
  signalCategory: "recommendation_request",
  subject: "TypeScript API monitoring",
  confidence: 0.84,
  categories: ["developer_tools"],
  purpose: "publisher_first_party_personalization"
});
What to expect

Disclosure requirements

Use the returned Sponsored label anywhere the offer appears.

Expected integration effort

Run Genesis beside the model call so it never blocks the answer.

Saved publisher policy

App-level category controls are merged before matching and auction.

Earnings reporting

See estimated, pending, confirmed, payable, and paid earnings separately.

Analytics

Simple reporting for every decision.

Track requests, fill, impressions, clicks, earnings, experiments, and surfaces before you ask for production approval.

Frequently asked

Common launch questions.

Can Genesis run server-side?

Yes. Use REST or the server SDK beside your model request.

What happens when there is no fill?

The offer array is empty. Your product continues without changing the answer.

Get started

Earn from moments you already control.

Start in test mode, wire one placement, and move to production once disclosure and controls read the way you want.