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

# Cost controls

> How Xura keeps Signals research spend in check.

Signals is the highest-cost feature per run (web\_search + LLM + retries). Xura has four defensive layers.

## 1. 24-hour cooldown

Once a run produces signals, Refresh Research locks for 24 hours. Both client-side (button disabled with countdown) and server-side (returns 429 if bypassed).

**Empty runs don't count** — you can retry immediately if nothing was found.

## 2. Web-search cap

The `web_search` tool is capped at **5 uses per run**. Each search costs (fetches + processes a page); more than 5 rarely improves signal quality.

## 3. Output cap

`max_tokens: 2500` limits how much prose the LLM can emit. 6-12 signal JSON + a 60-120 word digest fits comfortably.

## 4. Prompt caching

The fixed instruction block (schema + rules) is marked `cache_control: ephemeral`. Anthropic serves it from cache on subsequent runs at \~10% of the input cost.

## Typical cost per run

Depends on your model choice:

| Model      | Approx cost per Signals run |
| ---------- | --------------------------- |
| Sonnet 4.6 | $0.05 - $0.15               |
| Opus 4.8   | $0.25 - $0.75               |
| Haiku 4.5  | $0.01 - $0.05               |

Numbers assume \~4 web\_search calls, 2500 output tokens, cached system prompt after the first run.

## Where to see actual spend

**AI Studio → Activity log** shows every LLM call with token counts + source. Filter by `source: market` to see Signals-only usage.
