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

# Receipts

> Every material answer says where it came from, when it was fetched, and whether the source was healthy.

An agent that reports a number without a source is asking you to trust it. Hive attaches
provenance to every material response so the number can be checked.

## The three fields

<ResponseField name="provider" type="string">
  The source that served this data, written as a display name: for example `CoinGecko`,
  `GoPlus`, or `CCXT`.
  When Hive routes the same question to different providers on different days, the receipt
  changes with it.
</ResponseField>

<ResponseField name="fetched_at" type="ISO 8601 timestamp">
  When the data was retrieved from that provider. Compare it against your own clock to decide
  whether a figure is fresh enough to act on.
</ResponseField>

<ResponseField name="runtime_status" type="string">
  Whether the provider was healthy for this call. A degraded or partially available provider
  says so rather than returning a number that looks authoritative.
</ResponseField>

## What the call cost

Since 1.7.0 the same receipt says what the call cost, on every surface:

<ResponseField name="credit_cost" type="0 or 1">
  The static price of the tool. Discovery tools, category listings and `report_feedback` are
  0; every other tool is 1. There is no price list beyond this.
</ResponseField>

<ResponseField name="credits_used" type="integer">
  What this call cost: the `credit_cost` when the call succeeded, and 0 when it did not. A
  call stopped by argument validation or a gate never reached the provider and was never
  charged; a call that failed after that had its credit refunded, and `warnings` says so. The
  keyless lane works the same way with its daily allowance. Refunds began in 1.9.0; before
  that, a call that reached a provider cost its credit even when the provider failed.
</ResponseField>

<ResponseField name="credits_remaining" type="integer or null">
  The balance after this call: credits on a keyed lane, calls left today on the keyless lane.
  `null` means an unlimited plan. Absent when the lane has no notion of a balance, for
  example local `stdio`.
</ResponseField>

Errors add `doc_url`, an anchor on the [errors page](/reference/errors) for the exact code, next
to `cause` and `next_action`.

## Why this matters in practice

An agent doing token diligence might pull a price, a liquidity figure, and a contract risk
score from three different providers within a few seconds of each other. Without receipts,
the summary reads as one confident answer. With them, you can see that the price is four
seconds old, the liquidity figure is two minutes old, and the risk score came back while its
provider was degraded.

That last case is the one worth designing for. Hive would rather tell you a source was
struggling than quietly serve you a stale number.

## Normalization is a field, never a filter

When Hive knows something is off about a datapoint, it says so in the response instead of
dropping the row. You will see fields like:

| Field | Meaning |
| - | - |
| `is_delisted` | The asset is no longer actively traded on the venue |
| `is_price_suspect` | The price diverges enough from other sources to be worth a second look |
| `funding_mechanism` | How this venue calculates funding, since venues differ |

Your agent decides what to do with a suspect price. Hive does not decide for you by hiding it.

## Reading receipts in your agent

Ask for them explicitly and models will surface them:

> Get the price of SOL and tell me which provider it came from and how old it is.

For workflows where provenance matters every time, the [agent skills](/skills) build receipt
citation into the prompt so you do not have to ask.


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