Examples on this page use a seller named Acme whose storefront runs on the custom domain
agents.acme.com from step 1. Substitute your own values as you paste: your storefront domain everywhere agents.acme.com appears (or your default pay URL, like https://acme.pay.zeroclick.io, if you skip the custom domain), your store name in the callout and badge text, and your seller id in the head snippet’s ?seller= parameter.The storefront URLs below carry a ?src= parameter naming the surface they sit on (head-link, body-text, llms-txt, link-header, badge). Your storefront records it on every visit, so you can see which pointer actually routed each agent. Keep it as written when you paste.1
Serve your storefront on your own domain
RequiredAgents click through to a domain they recognize more often than a generic one, so serve your storefront on a subdomain you own rather than the default
<your-slug>.pay.zeroclick.io. Acme, the example seller on this page, uses agents.acme.com, and every snippet below carries it. Configure yours under Custom domains in your store’s settings before you paste anything: the domain is baked into the head tags, the callout, the badge, and the llms.txt links, so setting it up first means you paste each snippet once.2
Add the head tags to every page
RequiredPaste into every page’s The
<head>:alternate link advertises your storefront’s llms.txt to crawlers. The inline script marks the document as JavaScript-capable and removes the agent callout (next step) for human visitors once the page loads. The badge script advertises the storefront to crawlers that do run JavaScript.If your site sets a strict Content-Security-Policy, allow
img-src for your storefront domain (the badge image) and script-src for cdn.zeroclick.io.3
Paste the agent callout right after the opening body tag
RequiredAgents read raw HTML top to bottom, so this block must lead the document. Paste it immediately after the opening The callout is text for agents, and it does not need to look like part of your page. The head script removes it for human visitors once the page loads, and it stays visible without JavaScript, so nothing on your site is served only to agents. Of everything on this page, this step does the most to route agent purchases through your storefront.
<body> tag:4
Add your storefront to llms.txt
RequiredRaw HTTP agents fetch This block doubles as the markdown the next step’s no-SDK path serves, so writing it once covers both.
/llms.txt at your domain before anything else - plain text by construction, so no markup layer can strip it - and verification fetches it too: your site must serve /llms.txt with your storefront referenced in it. Add this block near the top of the file, right after the title and summary. If your site does not serve one yet, create the file with it:5
Serve markdown to agent fetchers
RequiredMany agent tools fetch pages with an SDK middleware covers configuration and options. A single-page app on a CDN, with no server to mount middleware in, runs the same contract in an edge function: see SPA setup.Without an SDK, serve your llms.txt content for markdown-preferring requests yourself. This is content negotiation, not cloaking: the same page in the representation the client asked for. It does change what your existing URLs serve to markdown-preferring clients, so decide deliberately. Send
Accept header that prefers text/markdown over text/html; browsers never do. Answering those requests with markdown reaches summarizing fetchers that would otherwise drop head tags and links during HTML conversion. Verification asks each submitted page for markdown - your homepage always, plus the docs, pricing, and sign-up pages you add - and requires the returned markdown to reference your storefront. Apply it to every page, not just those: agents land everywhere.The managed path is Agentify: mount the seller SDK’s middleware in front of your site, and it detects markdown-preferring and AI-agent traffic, serves an agent-optimized markdown rendering of the requested page with your storefront inlined - which is exactly what verification checks for - and falls through to your HTML on any failure:Vary: Accept so caches keep the two representations apart.6
Send the storefront Link header
Highly RecommendedRaw HTTP clients - curl, HEAD requests, fetchers that never parse HTML - see response headers and nothing else. An RFC 8288 Verification records the header when present but does not require it yet.
Link: header is the one pointer that survives every fetch path: no HTML parsing, no JavaScript execution, no markdown conversion step to lose it. Send it on every page response:On a static host or CDN, set the header in the hosting config (a per-path headers map or an edge rule) - the value stays the same. If something in front of your site already sends a
Link header, append this entry to it rather than replacing it.7
Show the badge to human visitors
OptionalThe visible ZeroClick badge is a plain link and image for humans, typically in the footer. The image is served from your storefront domain, so it carries your store name and updates automatically; swap Nothing moves it at runtime, so render it however your site renders content, including natively inside a React or Vue app. The callout and head tags carry the agent traffic.
badge-light.svg for badge-dark.svg on dark footers:Why every step matters
Each required signal catches an agent class the others cannot reach, so the steps compose rather than substitute:- Raw HTTP clients (curl, HEAD requests, plain fetchers) never parse HTML. They find your site’s
/llms.txt- and theLink:header when you send it - or nothing at all. - Markdown-converting fetchers, the summarizers behind most agent browsing tools, strip
<link>and<script>tags and bare attributes during conversion. They see the negotiated markdown and the callout’s visible text, and nothing else. - DOM-parsing agents read the head tags without rendering or summarizing the page.
Verify your changes
The onboarding wizard’s Verify step runs these same checks against the pages you submit; passing them here means verification passes there.-
Fetch the homepage raw, the way an agent does. The callout heading appears near the top of the HTML and the
alternatelink tag is in the head: - Load the page in a browser. The callout is gone, and the badge renders where you placed it.
-
Your site serves
/llms.txtwith the agentic commerce block near the top, so the file mentions your storefront: -
Each required page - the homepage, docs, pricing, and sign-up pages - answers a markdown-preferring request with markdown that references your storefront:
-
If you send the
Link:header, it survives a bare header fetch:
Next steps
Integrate your API
The billing guard contract: verify, check allowance, serve, settle usage.
How ZeroClick works
What happens after an agent lands on your storefront.