This guide takes you from an existing API to a purchasable, proxied service. You'll need a ZeroClick dashboard account and the base URL of the API you want to sell.
In the dashboard, create your organization, then create a Service with a
name, a description, a Pay subdomain slug, and your upstream URL (the
base URL of your API). Agents use
https://{service-slug}.pay.zeroclick.io, and ZeroClick proxies those requests
to your upstream URL. Agents read the description when deciding whether your
service can do the job, so be specific about what your API does.
Set the upstream auth header if your API does not use
Authorization: Bearer {apiKey}. The value template can include
{{apiKey}}, for example Token {{apiKey}}.
Create a Product on the service and pick its pricing model. ZeroClick supports four setup paths:
See Product shapes for how to choose a path and Products & pricing for every field in detail.
Host one endpoint on your API that ZeroClick calls after a buyer purchases a plan. It exchanges a stable ZeroClick buyer ID for an API key in your system:
https://api.example.com/zeroclick/api-keyimport express from "express";
const app = express();
app.use(express.json());
app.post("/zeroclick/api-key", (req, res) => {
const { userId, plan, product, entitlements } = req.body;
const apiKey = issueApiKeyForUser(userId, { plan, product, entitlements });
res.json({ apiKey });
});The full contract, including the payload shape and configurable exchange URL, is in API key exchange.
For pay as you go, subscription + included usage, and prepaid credits, call the usage check API before side effects when an action may be blocked:
https://api.zeroclick.io/v1/usage/checkThen add a usage header to responses on proxied endpoints so ZeroClick can meter consumption:
HTTP/1.1 200 OK
Content-Type: application/json
X-ZeroClick-Usage: api-requests=1Prefer batched, asynchronous reporting for long-running work:
https://api.zeroclick.io/v1/usage/batchBoth usage endpoints authenticate with service API keys scoped to
usage:read and usage:write. Create these from the Service API keys
section on the service detail page; tokens are shown once. If your product is
subscription only, skip usage reporting and enforce access from the API key
and entitlements delivered during exchange. Both metered reporting options are
covered in Metering & usage.
Your service gets a proxy at https://{service-slug}.pay.zeroclick.io. Check
that your products are discoverable:
curl https://{service-slug}.pay.zeroclick.io/plansBuy a test product, make a proxied call to one of your endpoints, and verify
the expected result: usage appears for metered products, while subscription
products grant access until the purchased period expires. Normal proxied calls
use zero-cost MPP/x402 wallet identity to identify the buyer; they do not move
funds. Only plan purchase and /extend top-up routes move money. When
everything looks right, run through the going live checklist.