A final pass before you put your service in front of paying agents.
POST /zeroclick/api-key verifies
the signature with a constant-time comparison, rejects stale timestamps,
and is idempotent. DELETE actually revokes the key.X-ZeroClick-Usage header or lands in an async batch, and no action is
reported through both.402 with the right
X-ZeroClick-Reason, and a 402 leaves no side effects so the retry after
/extend is safe.https://{service-slug}.pay.zeroclick.io/plans make sense to an
agent choosing a plan with no prior context.https://{service-slug}.pay.zeroclick.io/plans and check it makes
sense without inside knowledge./extend purchase works, and the retried request succeeds.By default your storefront and proxy live at
https://{service-slug}.pay.zeroclick.io. You can serve them from a
subdomain of your own site instead, which keeps the whole buyer experience on
your brand. We recommend agents.{your-domain}:
agents.example.com. CNAME {service-slug}.pay.zeroclick.io.
Once verified, everything works identically under your domain:
https://agents.example.com/plans, /extend, and proxied API calls. Your
skill description and discovery listings reference the custom domain, and the
default pay.zeroclick.io address keeps working alongside it.
Use a dedicated subdomain, not your apex domain or an existing one: the
record must point at ZeroClick alone, and agents. tells both humans and
agents what lives there.
Once live, your service is listed for agent-payment discovery via MPP and x402, and ZeroClick generates a skill description from your service and plan metadata so agents know how to use your API. Better descriptions get your service picked more often.
If anything in the contract is unclear, or you want the ZeroClick team to set up your catalog with you, reach out from the dashboard. Integration support is part of every plan.