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

# Data credits

> One credit per delivered materialization, reserved up front and settled to what actually arrived

<Note>
  This is not vaporware documentation. The API and MCP server run in production
  today, serving the chat analyst every answer it gives. Public access opens in
  beta after launch: key minting and credit packs open with the beta. This page
  documents the live contract. [Launch status](/token/status) tracks what is on
  today.
</Note>

The API bills in **data credits**, and the unit is honest: one credit buys one
delivered materialization, one unit of data that actually arrives in your
response. You pay for what lands, not for what you asked for. This matters
when the spender is an autonomous agent: machine spend needs metering a
machine can trust.

## What one credit buys

| Operation                                   | One credit is                       |
| ------------------------------------------- | ----------------------------------- |
| `read` and domain operations                | One distinct returned asset         |
| `series`, `financials`, `events`, `holders` | One successful list materialization |
| `rank`                                      | One returned row                    |
| A proved exhaustive-empty result            | One                                 |

Some outcomes cost nothing. All-refused results, top-level errors, `304 Not
Modified` responses, and transport failures are charged zero. A refusal is
free because you did not get data; that is the refusal-before-fabrication rule
showing up on your bill.

## Reserve, then settle

Before any upstream work, the gateway reserves the query's maximum possible
charge: the number of `ids` you sent (at most 10), one list materialization,
or `rank.limit` (default 10, maximum 50). After delivery, it settles the
actual delivered count and charges only that. Data is returned only after
settlement succeeds, so the meter can never drift from reality.

For example, a `read` with 10 IDs reserves 10 credits. If only 7 assets
resolve, you are charged 7. The `X-Credits-Charged` response header reports
the real, settled charge on every call. Your agent can audit its own spend
without ever leaving the response.

<Warning>
  Over HTTP you can re-poll a result for free with `If-None-Match`, which
  returns a `304` and costs zero. MCP has no conditional re-poll, so every MCP
  call is a fresh materialization and pays. Check `usage` instead of re-polling
  on MCP.
</Warning>

## What data credits are, and are not

Data credits fund the API and MCP only. They are a separate class from chat
credits. Holder flow and trial credits fund the web chat and cannot pay for
API calls. If your data-credit balance is zero, a paid call returns
`quota_exhausted` before any work runs: fail-closed, never fail-into-debt.

You buy data credits as a pack from the console; packs open with the API
beta. Purchased credits expire one year after they are granted.
