Genesis
The ad network for AI products

Monetize your AI product without ruining it.

Your product asks Genesis for a sponsored card at a moment you choose. Genesis returns one clearly labeled card, or nothing. The request contract Picasso uses refuses prompts, source code and file paths. Brands use the same network to reach developers inside AI tools.

Create a free account and get test keys. Genesis staff approve each app before it serves live.

SponsoredExample Cloud

Managed Postgres with instant branching

Branch your production database for every pull request. Free tier available.

Try the free tierexample.com

Returned with the card

disclosure
"sponsored"
tracking.provider
"genesis_hosted"
tracking.expiresAt
ISO timestamp
tracking.destinationHost
"example.com"
impressionUrl, clickUrl
signed token links
  1. Disclosure is part of the type

    Every card Genesis returns carries disclosure: "sponsored". The publisher has to show the label. Genesis cannot render it for them.

  2. A fixed, typed shape

    Title up to 120 characters, description up to 500, call to action up to 60, plus the brand. Fields outside the contract are dropped, so your UI renders a known shape.

  3. The click is tracked, and signed

    Impression and click URLs are hosted by Genesis as encrypted, signed tokens that expire (30 minutes by default). Redirects refuse localhost and private addresses.

Illustration of one returned card. The brand and copy are placeholders, not a live ad.
Live with
Picasso
an AI coding agent and our featured publisher
Private fields rejected
20
by the Picasso request contract
Request context cap
2,048 B
bytes of context per request
Disclosure
Every card
typed as sponsored
Live today

Live with Picasso, our featured publisher.

Picasso is an AI coding agent. Genesis serves sponsored cards into it through the same typed, disclosure-first API a new publisher would use.

Serving
Sponsored cards in Picasso
Delivered through the Picasso v1.1 request contract. Every card is typed as sponsored.
Privacy
20 private fields refused
Prompts, source code, file paths, terminal output, repo URLs and secrets are rejected if they appear in a request.
Decks
Up to 3 cards a request
One paid advertiser appears at most once in a deck, so a deck is never one brand three times.
House campaigns
Picasso's own promos
Run through the same pipeline, never spend budget, and bid lowest, so paid demand outranks them.

Picasso is our featured publisher, serving Genesis cards today. Read how the Picasso integration works or visit Picasso.

Two sides

For publishers

Revenue without handing over the user.

Call Genesis only where your product allows it. Set category controls, get a typed card back with its disclosure and signed tracking, and fall back quietly when there is no fill. Production serving is approved per app, and third-party publisher payouts are not switched on yet.

For advertisers

Reach developers while they choose tools.

Create an Offer Unit with copy, destination, budget and goals. After review, it competes in a quality-weighted auction inside AI tools. Bids are CPM or CPC, and each campaign is activated by Genesis staff.

Inside a card

What a publisher gets back.

A typed sponsored card with its disclosure, and tracking links that Genesis signs. The publisher decides where and how to render it.

SponsoredExample Cloud

Managed Postgres with instant branching

Branch your production database for every pull request. Free tier available.

Try the free tierexample.com

Returned with the card

disclosure
"sponsored"
tracking.provider
"genesis_hosted"
tracking.expiresAt
ISO timestamp
tracking.destinationHost
"example.com"
impressionUrl, clickUrl
signed token links
  1. Disclosure is part of the type

    Every card Genesis returns carries disclosure: "sponsored". The publisher has to show the label. Genesis cannot render it for them.

  2. A fixed, typed shape

    Title up to 120 characters, description up to 500, call to action up to 60, plus the brand. Fields outside the contract are dropped, so your UI renders a known shape.

  3. The click is tracked, and signed

    Impression and click URLs are hosted by Genesis as encrypted, signed tokens that expire (30 minutes by default). Redirects refuse localhost and private addresses.

Illustration of one returned card. The brand and copy are placeholders, not a live ad.
How a decision works

Six stages, one bounded call.

Every offer request passes the same stages. Each one leaves something you can check in the API contract or the audit trail.

  1. 01

    Request

    Your product sends one request with a placement, locale, product details and a consent state. Context is capped at 2,048 bytes.

    POST /v1/offers

  2. 02

    Privacy check

    Requests that carry private fields are rejected before anything is matched. A user who has opted out is blocked before serving, and the check fails closed.

    20 private fields rejected

  3. 03

    Match

    Offers are filtered by the publisher's category allow and block lists, review state and placement. Sensitive categories are blocked by default.

    Controls applied before ranking

  4. 04

    Auction

    Each bid is multiplied by relevance, trust and quality, then cleared at a weighted second price. Every score and every exclusion reason is logged.

    Audit trail per decision

  5. 05

    Budget hold

    A billable card needs a budget hold before it is returned. If a batch fails, every hold is released.

    No hold, no card

  6. 06

    Signed tracking

    The card comes back with hosted impression and click URLs, signed and encrypted, with the clearing price fixed in the decision.

    gtrk1 tokens, 30 min default

Bounded by a deadline. The demand lookup is raced against a time limit (250 ms in production). A late answer becomes no fill, so your product never waits on an ad. The response carries a per-stage Server-Timing header.

Quality-weighted auction

A better offer can beat a bigger bid.

Money counts, and so does the offer. Relevance, trust and quality each multiply the bid, so a useful card from a trusted advertiser can outrank a larger bid for a poor one. Every candidate's score and every exclusion reason is stored in an auction log.

ts
rank = bid value × relevance × trust × quality

// the winner pays a weighted second price,
// signed into the decision so it cannot change

Live pricing is CPM and CPC. For click bids, the expected click-through rate is a fixed default today, not a rate learned per publisher.

Bid
CPM and CPC bids are turned into one comparable expected value.
Relevance
Fit with the placement and categories scales the value between 0.5 and 1.5.
Trust
Advertiser history scales it between 0.6 and 1.4.
Quality
The quality of the offer itself scales it between 0.7 and 1.3.
Trust & privacy

The privacy rules are in the contract, not the policy page.

Genesis enforces data minimization at the API. A request that breaks the rules is rejected, and every card that comes back is labeled. There are no third-party cookies and no cross-site profiles.

  • Private fields are refusedPrompts, source code, file paths, terminal output, repo URLs and secrets are rejected if they appear in a Picasso-contract request. Context is capped at 2,048 bytes.
  • No plaintext PIIAn email address or phone number anywhere in a request returns a 422. Detection is pattern-based, so keep identifiers out of requests regardless.
  • Identifiers need consentThe frequency key is accepted only when consent is granted. The 30-day click-attribution handle is added to an advertiser URL only for consenting users.
  • Publishers stay in controlSixteen category allow and block toggles apply before matching. Finance, health, legal and HR intents are blocked by default.
Status, plainly

What is live, and what is not.

Genesis has been in production since 2 November 2026 and is still in beta. This is the line between what runs today and what is built but switched off.

Live now

  • Sponsored cards for approved apps through POST /v1/offers, with Picasso as our featured publisher
  • Signed, hosted impression and click tracking
  • CPM and CPC bids in a quality-weighted auction, with a budget hold before every billable card
  • Publisher category controls and restricted-category defaults
  • House campaigns and decks of up to three cards
  • Self-serve sign-up by emailed link, with test keys and test mode
  • An MCP server at mcp.thegenesis.com (API key required)

Not live yet

  • Payouts to third-party publishers. Revenue-share terms are not published.
  • Genesis Rewards earnings. Rewards is a private beta and nothing is paying out.
  • Pay-per-conversion bids (CPA, affiliate, lead generation)
  • Card or USDC deposits. Advertiser deposits are manual and confirmed by Genesis.
  • Published SDK, CLI and VS Code packages. The source exists; it is not on a package registry yet.
  • Open access to production serving. Genesis staff approve each app before it serves live.
Questions

Straight answers.

Who is using Genesis today?

Picasso, an AI coding agent, is our featured publisher. Genesis serves sponsored cards into Picasso through the typed offers API, including house campaigns for Picasso's own promos. Any AI product can join: sign up, build in test mode and go live once your app is approved.

Can I get paid as a publisher today?

Not yet. Third-party publisher payouts are not switched on and the revenue-share terms are not published. You can sign up, get test keys and build the integration; Genesis staff approve each app before it serves live.

What does Genesis see of my users?

Under the contract Picasso uses: a placement, locale, product details, a consent state and up to 2,048 bytes of context. Prompts, source code, file paths, terminal output, repo URLs and secrets are rejected. On every request, plaintext email addresses and phone numbers are rejected, and a frequency key is accepted only with granted consent. Other integrations use the standard offers request, where context is optional: send categories, not conversations.

What happens when there is no relevant offer?

Genesis returns no fill and your product carries on. The demand lookup is also raced against a deadline (250 ms in production), so a slow answer becomes no fill instead of a delay.

How is sponsorship disclosed?

Every card Genesis returns is typed as sponsored. The publisher has to render the label; Genesis cannot force that, so the publisher policy requires it.

Does Genesis use third-party cookies?

No. Requests are initiated by the publisher, identifiers are consent-gated, and there is no cross-site profile.

Which advertisers can run campaigns?

Any advertiser can create an account and submit an Offer Unit. Genesis reviews it before it can serve. Bids are CPM or CPC; pay-per-conversion models are built but not switched on. Funding is by manual deposit confirmed by Genesis.

Start

Build against test mode today.

Create a free account, get test keys, and send your first offer request. You can move to production once Genesis has approved your app.