# modell.halowerk.com Trace Grade

> modell.halowerk.com Trace Grade is a paid API for AI agents from modell.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Analyzes an AI agent run's step trace to produce a scored quality report detecting loops, failure streaks, wasted calls, and per-step cost attribution.

## Facts

- Endpoint: POST https://modell.halowerk.com/v1/trace-grade
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/modell-halowerk-com-trace-grade-da9ca18d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Cs2cc0HVRIdxFAwz0ZJte

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability modell-halowerk-com-trace-grade-da9ca18d -d '<json body>'
```

Example prompt: Can you grade this agent run trace and tell me where it looped, which tool calls came back empty, and what the most expensive steps were?

## When to prefer this

Choose this endpoint when you need a post-hoc audit of a completed agent run — specifically when you want loop detection, failure streak analysis, wasted-call identification, and cost attribution all in one scored report. Prefer it over generic logging tools when you need machine-readable quality scores tied to individual tool calls rather than raw logs.

## Known failure modes

- Missing or malformed steps array causes validation error
- Unrecognized model name falls back to token-count-based pricing if token counts provided, or fails if neither cost nor tokens supplied
- Empty trace (zero steps) may return trivial or error response
- Malformed tool argument shapes prevent loop detection accuracy
- Rate limiting or payment failure for the $0.002 USDC per-call fee

## How this service works

Takes the steps of one agent run and returns a scored report. It counts identical tool calls (same tool, same arguments) as loops, finds the longest run of consecutive failures, marks calls whose result was empty or null as wasted, and attributes cost per step and per tool so the expensive part is visible. Cost is taken from your figures when supplied, otherwise computed from token counts against the model price table.

## Output

A structured scored report containing: detected loop instances (identical tool+arguments pairs), the longest consecutive failure streak, a list of wasted calls (empty or null results), per-step cost attribution, per-tool cost attribution, and an overall quality score for the agent run.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "model": {
   "type": "string",
   "description": "Model id used, to price token counts when cost_usd is absent."
  },
  "steps": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "ok": {
      "type": "boolean",
      "description": "Whether the step succeeded. Defaults to true unless error is set."
     },
     "tool": {
      "type": "string",
      "description": "Name of the tool or step."
     },
     "error": {
      "type": "string",
      "description": "Error text, if it failed."
     },
     "result": {
      "description": "The result. Empty, null or an empty list counts as a wasted call."
     },
     "cost_usd": {
      "type": "number",
      "minimum": 0,
      "description": "Cost of this step, if you already know it."
     },
     "arguments": {
      "description": "The arguments used. Identical arguments on the same tool count as a loop."
     },
     "duration_ms": {
      "type": "integer",
      "minimum": 0
     },
     "input_tokens": {
      "type": "integer",
      "minimum": 0
     },
     "output_tokens": {
      "type": "integer",
      "minimum": 0
     }
    },
    "additionalProperties": true
   },
   "maxItems": 1000,
   "minItems": 1,
   "description": "The steps of the run, in order."
  },
  "loop_threshold": {
   "type": "integer",
   "default": 2,
   "minimum": 2,
   "description": "From how many identical calls on it counts as a loop."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/modell-halowerk-com-trace-grade-da9ca18d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from modell.halowerk.com](https://www.zero.xyz/host/modell.halowerk.com/llms.txt)
