Skip to main content
AI agents read your pages to answer their users’ questions, and today you get nothing back. ABC adds a paid layer on top of that traffic. For AI-agent requests only, your edge fetches a brand card matched to what the page is about and inlines it: a carmaker on an auto review, a skincare brand on a beauty article. You are paid for the agent visit, the agent gets clean structured context, and a human is served the page unchanged.

How it works

Your CDN edge classifies every incoming request by its User-Agent:
  1. A visitor, human or AI agent, requests a page.
  2. For an AI agent, your edge calls the doubleshift fragment endpoint to fetch a card and inlines it just before </body>.
  3. doubleshift returns the card () or, when no brand is eligible, a no-fill ().
  4. A human is served the page unchanged, and doubleshift is never called.
  5. If the call is slow, fails, or returns a no-fill, your edge serves the page without a card. Nothing breaks.
ABC request flow: visitor to publisher edge to doubleshift, branching on User-Agent

The publisher edge classifies each request by User-Agent. Only AI agents trigger a card from GET /fragment; humans get the page unchanged.

What ABC is not

Being precise about the boundaries is faster than describing them:
  • Not a paywall, and not a licensing deal. ABC never blocks, gates or licenses your editorial content. The agent still reads the page in full; the card sits alongside it.
  • Not a change to the human page. Humans never receive a card, and your edge never calls doubleshift for them.
  • Not client-side. The card is inlined at your edge, server-side. No script runs in a browser.
  • Not a guarantee of citation. Serving a card puts branded context in front of an agent. What the agent does with it afterwards is not something any provider can promise.

Sites, fragments and cards

Three objects. You own the first two and the rules the third has to satisfy:

What you control

  • Where the slots are. One fragment per distinct slot, on the sites you choose. See Fragments.
  • What you accept into them. Per-fragment key-values and a match_mode policy decide which cards are eligible at all. See Targeting.
  • When it stops. Pausing a fragment in the console makes the endpoint return a no-fill for new requests, with no edge change on your side. A card already cached against a URL stays available for the rest of its cache window.

Next steps

Integrate your edge

The shortest path from an account to a card on a live page, with a way to prove it works.

See what an agent receives

The actual card markup, its size, and how cards are built.