# Cryptyx Signal Explainability

> Cryptyx Signal Explainability is a paid API for AI agents from www.cryptyx.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-10).

Returns audit-grade explainability for a single signal×asset×day combination, including full trigger reason, factor scores by class, composite score, parameters in effect, and regime context.

## Facts

- Endpoint: GET https://www.cryptyx.ai/api/signals/explain?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cryptyx-signal-explainability-cebad69b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jtdqx0xpgSJ2PYQ-o1dXG

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 cryptyx-signal-explainability-cebad69b
```

Example prompt: Can you explain exactly why signal TR_MOMO_CONT_14D fired on BTC on 2026-04-25 — give me the full factor score breakdown, composite score, confidence, and regime context so I can justify this position?

## When to prefer this

Use this endpoint when you need to explain, justify, or audit why a specific signal fired (or did not fire) on a given asset on a particular date. Ideal for compliance, risk review, or when a trader or agent needs to document the reasoning behind a position. Prefer this over the top-signals or asset-thesis endpoints when you already know the specific signal and need deep per-factor decomposition rather than discovery or ranking.

## Known failure modes

- Missing required signal_id parameter returns 400 error
- Unknown signal_id returns 404 not found
- Invalid date format (not YYYY-MM-DD) returns 400 validation error
- No data available for the requested date returns empty or 404 response
- Insufficient USDC balance or payment failure returns 402 Payment Required
- Asset symbol not recognized returns 400 or empty result

## How this service works

CRYPTYX | institutional-grade crypto intelligence: 150+ signals, 440+ metrics, 200+ assets. | Per (asset, day) factor t-score breakdown plus composite score, wrapped under an `explanation` JSONB blob with the queried `signal_id`, `day`, `asset` echoed back at the top level. Surfaces class x horizon t-scores (CORR, EFF, FLOW, FUT, OB, OPT, TR, VOL) and the weighted composite from metrics.factor_scores and metrics.composite. Note: the underlying signals.signal_explain() function does not currently read signal_log or signal_registry, so the explanation is asset-day scoped, not signal-trigger scoped. Use for inspecting which factor classes were hot on a given asset-day, not for a per-signal trigger justification.

## Output

Returns a JSON object with the day, asset symbol, signal ID, triggered boolean, confidence score, and a factors map with per-class scores (e.g. TR: 1.24). Full audit-grade output including trigger reason, composite score, active parameters, and macro regime context for the specified signal×asset×day triple.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "signal_id",
      "day",
      "asset"
     ],
     "properties": {
      "day": {
       "type": "string",
       "description": "Anchor day in YYYY-MM-DD format (UTC-1 canonical)."
      },
      "asset": {
       "type": "string",
       "description": "Asset symbol, uppercased (e.g. BTC, ETH, SOL)."
      },
      "signal_id": {
       "type": "string",
       "description": "Signal registry ID, uppercased (e.g. TR_MOMO_CONT_14D). Echoed back in response but not used by underlying SQL function."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "application/json",
 "example": {
  "day": "2026-04-25",
  "asset": "BTC",
  "factors": {
   "TR": 1.24
  },
  "signal_id": "TR_MOMO_CONT_14D",
  "triggered": true,
  "confidence": 0.73
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cryptyx-signal-explainability-cebad69b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from www.cryptyx.ai](https://www.zero.xyz/host/www.cryptyx.ai/llms.txt)
