> Toden documentation. For the full index fetch /llms.txt. Every page is available as Markdown by appending .md to its URL. Identity verification uses /api/kyc, Risk Intelligence uses /api/v1; they are separate contracts with different error shapes. Never invent an endpoint, field or enum value: read the API reference page for the operation first.

# How billing works

> Prepaid credit, what is charged in Sandbox and Production, when a charge is taken and when it is returned.

Toden runs on prepaid credit held in US dollars. You add credit in the console under **Billing**, and usage draws it down. Your current prices are shown there, per product and per check.

## The rules that matter when integrating

#### Sandbox identity checks are free

Verifications run with test keys and test IDs never draw on credit.

#### You pay for what runs

A verification is priced as the sum of the checks it actually performs, such as the government lookup, document reading, liveness and face match.

#### Faults on our side are returned

If a verification ends in `error` because of a system or provider fault, the charge is returned automatically.

#### A real answer is still an answer

A check that completes and finds a mismatch, an expired document or no record was performed, so it is charged.

## Identity verification

| Situation                                                    | Charged?                              |
| ------------------------------------------------------------ | ------------------------------------- |
| Sandbox verification with a test ID                          | No                                    |
| Production verification that completes, whatever the outcome | Yes                                   |
| Production verification that ends in `error`                 | No, the charge is returned            |
| The customer abandons the flow before submitting             | No                                    |
| A retry with the same `metadata.requestId`                   | No, you get the original verification |

## Risk Intelligence

Risk Intelligence requests are priced per decision or per screening run. One difference from identity verification is worth planning for:

> **Warning**
>
> In Sandbox, a Risk Intelligence request that names a `sandboxScenario` is deterministic and free. An ordinary Sandbox request **without** a scenario uses your configured Sandbox pricing and can be charged. Use scenarios in automated tests.

## When credit runs out

* **Risk decisions fail closed.** A transaction or activity decision that cannot be paid for is not silently allowed. See [Errors](/get-started/errors) for the `INSUFFICIENT_CREDIT` response and how to resume.
* **Face match and contact verification** refuse the request up front with `402 insufficient_credits`, so nothing is started that cannot be completed.
* **Verifications and one-off checks** are accepted and then do not complete. Watch for the `insufficient_credits` reason code on the result and the `credits.low` webhook before that point.

Set a low-balance alert under **Billing** and subscribe to the [billing webhooks](/integrate/webhooks/events/billing) so your team hears about a low balance before your customers do.

## Check a price before you build

The workflow builder in the console shows an estimated cost per verification as you add checks, and the **Billing** page lists your current rates. Prices are specific to your account, so this documentation does not quote them.