> ## Documentation Index
> Fetch the complete documentation index at: https://docs.momentra.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Free and paid work

> The two distinct kinds of free work, and how ZC units line up with Momentra credits.

There are two kinds of free work on the ZeroClick surface. They are enforced in
different places — don't conflate them.

## 1. Free identity-scoped routes

`search/*`, `orgs/{jobId}`, and `report`. Free forever, code-controlled.
`guardIdentity` verifies the signature + requires a registered agent, makes **no
allowance call**, and attaches **no `zc-usage`** (free means free — nothing to
settle). These never touch a buyer's allowance.

## 2. Included free units on the paid meters

The `orgs_index` and `events_pull` meters carry ZeroClick-owned `includedUnits`,
and reach the backend through the **normal `guard` path** exactly like paid
traffic:

* The buyer opts into free per call with `zc-mode: free` at the pay URL.
  **ZeroClick consumes that header and never forwards it — the backend cannot
  tell a free-mode call from a paid one.** The allowance check simply answers
  `allowed`, drawing down the buyer's included units instead of charging.
* Included units are **per buyer** (`zc-buyer-id`), aggregated across every agent
  that human has claimed (including deleted agents). For pay-as-you-go they do
  **not** reset on a schedule — effectively a one-time lifetime free allowance
  per buyer ("free once, then never again").
* Free units require a **claimed agent with a verified email**; ZeroClick
  enforces that gate at the pay URL, not the backend.

<Note>
  Because free-vs-paid is invisible to the backend, an app-side "count only the
  free ones" cap is **not possible** and intentionally not attempted. The
  lifetime-per-buyer free allowance is owned entirely by ZeroClick via
  `includedUnits`.
</Note>

## Credit parity with the MCP surface

Momentra's MCP path uses prepaid **credits**; the ZeroClick path uses **ZC
units**. The two are aligned at a fixed rate so the free tiers are comparable.

| | ZC units | Momentra credits | Rate |
| - | - | - | - |
| Conversion | 1 ZC | 10 M | 1 ZC = 10 M |
| `orgs_index` (fresh crawl) | 4 ZC | 40 M | exact parity (`ORG_INDEX_COST = 40`) |
| `events_pull` | 1 ZC | 10 M | ZC meters in whole units, so 10× the MCP `EVENT_PULL_COST = 1` — an intentional whole-unit-metering divergence |
| **Free allowance** | **\~10 ZC / buyer (lifetime)** | **≈ 100 M (`FREE_CREDITS`)** | the ZeroClick trial mirrors the MCP 100-credit signup grant |

So a new ZeroClick buyer's `includedUnits` should total **≈ 10 ZC** — the same
free envelope as an MCP user's 100 signup credits (≈ two fresh indexes plus a few
pulls). `orgs_index` is at exact 40-credit parity; only `events_pull` diverges
(whole-unit metering). These ZC↔M constants live in
`functions/zeroclick/pricing.ts`.

<Tip>
  **Dashboard action:** set `includedUnits` on the pay-as-you-go meter prices so
  each buyer's free total is \~10 ZC (e.g. cover 2× `orgs_index` + a couple
  `events_pull`). This is the "free once per buyer, never resets" trial.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.