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

# Pricing

> Per page billing. Standard and Express priority. Top-up via Stripe. No charge for failed tasks.

AwaitVerify bills per page reviewed. No subscriptions, no minimums, no markup on the AI verifier in Flow C.

## Rates

| Priority     | Per page    | When to use                                                                                  |
| ------------ | ----------- | -------------------------------------------------------------------------------------------- |
| **Standard** | \$0.80      | Default. Reviewer SLA target: under 24 hours, typically under 4 hours during business hours. |
| **Express**  | \$1.60 (2×) | When you need a faster turnaround. Reviewer SLA target: under 1 hour, with priority routing. |

Selected per call:

```python theme={"system"}
result = await verify_document(
    document_path="urgent-contract.pdf",
    response_schema=Summary,
    task_description="...",
    priority="high",   # "high" = Express; default is "standard"
)
```

## What counts as a page

After we rasterize the document, one rendered page = one billed page. So:

| Input                               | Page count                                     |
| ----------------------------------- | ---------------------------------------------- |
| Single PNG / JPEG / single-page PDF | 1                                              |
| Multi-page PDF (N pages)            | N                                              |
| Multi-page TIFF (N frames)          | N                                              |
| DOCX / XLSX / PPTX                  | The page count of the LibreOffice-rendered PDF |

We cap at 100 pages per call. If you have a 500-page document, split it.

## What doesn't get billed

* **Failed tasks.** If the SDK can't load the document, if the OSS reviewer service is unreachable, or if the reviewer cancels the task before submitting, you're not billed. The pre-check happens before the debit.
* **AI verifier loops in Flow C.** If the verifier disagrees and the task re-routes to a second human, the second review is included in the original page-count charge.
* **Tasks that time out.** If no reviewer submits before `timeout_seconds`, the task expires and you're not billed.
* **Provider calls in Flow B.** Your OpenAI / Reducto / Azure calls run on your machine with your credentials. We don't see them, we don't pass them through.

## How balance works

Sign up gives you a small free credit so you can run your first few smoke tests. After that you top up.

* Open [app.awaithumans.dev/billing](https://app.awaithumans.dev/billing).
* Pick an amount, pay with a card via Stripe.
* The credit lands within seconds.

Balance is checked at task creation time. If you don't have enough to cover the estimated cost of the call (`page_count × rate`), the call fails with `InsufficientBalanceError` before any work happens.

## Low-balance warnings

Configure a threshold from the billing page. When a debit takes your balance below the threshold for the first time, we send one email warning. The email contains a top-up link. No spam, one shot, you re-arm the warning by topping up.

For programmatic monitoring, the `verify_document()` response includes a `low_balance_crossed` flag on the underlying managed task (read it from the `AwaitHumans` client if you need it):

```python theme={"system"}
# Coming in v0.2: track the flag via the client.audit() API.
# For v0.1 use the email threshold.
```

## Errors related to billing

`InsufficientBalanceError` is raised when the pre-flight check fails:

```python theme={"system"}
from awaithumans.awaitverify import InsufficientBalanceError

try:
    result = await verify_document(...)
except InsufficientBalanceError as exc:
    # exc.balance_cents: current balance
    # exc.required_cents: what the call needed
    # exc.docs_path: points back to this page
    print(f"Add ${(exc.required_cents - exc.balance_cents) / 100:.2f} of credit at app.awaithumans.dev/billing")
```

The exception's `docs_path` field is `"insufficient-balance"`, so you can route users to the right help page from your own UI.

## Enterprise / volume

Above \$5,000/month or specific compliance terms (BAA, SCC, audit-log retention beyond 30 days), email `enterprise@awaithumans.dev`. We do prepaid credits with custom invoicing and operator-grant transactions for the test sandbox.

## Where to go next

<CardGroup cols={2}>
  <Card title="Errors" icon="circle-exclamation" href="/awaitverify/errors">
    Every error class including InsufficientBalanceError + how to recover.
  </Card>

  <Card title="Security" icon="lock" href="/awaitverify/security">
    What we retain about your billing (timestamps + amounts) vs. what we don't (response content).
  </Card>
</CardGroup>
