# Cryptyx Custom Composite Ranker

> Cryptyx Custom Composite Ranker is a paid API for AI agents from www.cryptyx.ai, paid per call via x402, $0.25/call, status unknown (last checked 2026-09-15).

Re-ranks the full ~200-asset crypto universe using caller-supplied factor class weights to produce a custom composite score ranking.

## Facts

- Endpoint: POST https://www.cryptyx.ai/api/signals/composite/custom
- Price: $0.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cryptyx-custom-composite-ranker-7a103e81
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_F0tc_lUnkLmM9dnxZ2SRQ

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-custom-composite-ranker-7a103e81 -d '<json body>'
```

Example prompt: Rank the full crypto universe for a 30-day horizon using my custom weights: put 40% on trend, 25% on volatility, 15% on momentum, 10% on liquidity, and 10% on sentiment — make sure the weights sum to 1.

## When to prefer this

Use this endpoint when you need to impose a specific institutional view or custom factor allocation on the full crypto ranking, rather than relying on Cryptyx's default composite. Ideal for A/B testing alternative weighting recipes, backtesting a house model, or generating a bespoke ranked universe for portfolio construction. Prefer this over the default composite endpoint whenever factor weights need to deviate from the platform default.

## Known failure modes

- Weights do not sum to 1.0 — returns 400 validation error
- Invalid factor class key in weights object — returns 400 with unrecognized key message
- Unsupported horizon value (not 7d/14d/30d) — returns 400 enum error
- Missing required weights or horizon field — returns 422 unprocessable entity
- Payment not provided or insufficient — returns 402 payment required

## Output

Returns a ranked list of ~200 crypto assets sorted by custom composite score (rank, asset ticker, custom_score), plus a confirmation of the weights actually applied across factor classes.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "weights"
     ],
     "properties": {
      "day": {
       "type": "string",
       "description": "Optional anchor day, YYYY-MM-DD. Defaults to MAX(asof_day) in signals.class_composite_log."
      },
      "horizon": {
       "type": "string",
       "description": "Composite horizon: 7d | 14d | 30d. Default 7d."
      },
      "weights": {
       "type": "object",
       "description": "Custom weight per factor class. Required keys: CORR, EFF, FLOW, FUT, OB, OPT, TR, VOL. Each value 0-2. Weights are normalised by sum of absolute values, not required to sum to 1."
      },
      "threshold": {
       "type": "number",
       "description": "Optional |score| floor — assets with |custom score| < threshold are excluded from assets[] (top_movers and summary still computed against the full ranked set)."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "application/json",
 "example": {
  "rankings": [
   {
    "rank": 1,
    "asset": "BTC",
    "custom_score": 0.55
   }
  ],
  "weights_applied": {
   "TR": 0.3,
   "VOL": 0.2
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cryptyx-custom-composite-ranker-7a103e81/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)
