80trust / 100

Metrics Slicer

by CRYPTYX in Onchain & crypto

x402 APIPassing, checked 2 h ago

Single-metric z-score backtest over 5+ years of history per asset. Triggers, trigger rate, and per-horizon forward-return and max-drawdown stats across 8 horizons (1d-365d). Pre-composite single-factor edge testing. Coverage: pass any asset in the CRYPTYX 200+ tracked universe (BTC, ETH, SOL, top-cap + long-tail).

POST
https://cryptyx.ai/api/metrics/slicer
Price
$0.05
per call in USDC
Uptime
100%
last 30 days
Response time
241 ms
436 ms slowest 5%
Last check
Passed
2 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to call it

POST https://cryptyx.ai/api/metrics/slicer

Each call costs $0.05 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

POST https://cryptyx.ai/api/metrics/slicer
content-type: application/json

{
  "asset": "",
  "cooldown_days": 0,
  "metric_id": "",
  "operator": "",
  "threshold": 0
}

Parameters

ParameterTypeRequiredDescription
assetstringYesAsset symbol (case-insensitive, uppercased server-side). Example: BTC, ETH, SOL.
cooldown_daysnumberNoOptional. Integer 0-365, default 7. Suppresses repeat triggers within N days of the last accepted trigger.
metric_idstringYesMetric ID from the 440+ catalog (case-insensitive, uppercased server-side). Example: TR_MOMO_CONT_14D, VOL_COMPRESSION_7v30, FLOW_VWAP_DEV_7D.
operatorstringYesTrigger comparator vs threshold: gt, lt, gte, lte, or abs_gt.
thresholdnumberYesZ-score threshold against fact_stats 365-day window. Example: 2.0 for >2 sigma.

Example response

The provider's example. We can't check it without paying.

Example response, 163 lines
{
  "durationMs": 842,
  "ok": true,
  "params": {
    "asset": "BTC",
    "cooldown_days": 7,
    "metric_id": "TR_MOMO_CONT_14D",
    "operator": "gt",
    "threshold": 2
  },
  "summary": {
    "horizons": {
      "14d": {
        "hit_rate": 0.6596,
        "max_dd_mean": 0.0412,
        "max_dd_p95": 0.0891,
        "max_dd_worst": 0.1245,
        "max_return": 0.1845,
        "mean_return": 0.0341,
        "median_return": 0.0298,
        "min_return": -0.1023,
        "n": 47,
        "sharpe": 3.0124,
        "std_return": 0.0578
      },
      "180d": {
        "hit_rate": 0.7105,
        "max_dd_mean": 0.1245,
        "max_dd_p95": 0.2345,
        "max_dd_worst": 0.3124,
        "max_return": 0.4912,
        "mean_return": 0.1812,
        "median_return": 0.1542,
        "min_return": -0.2345,
        "n": 38,
        "sharpe": 1.5241,
        "std_return": 0.1612
      },
      "1d": {
        "hit_rate": 0.5957,
        "max_dd_mean": 0.0089,
        "max_dd_p95": 0.0234,
        "max_dd_worst": 0.0412,
        "max_return": 0.0421,
        "mean_return": 0.0034,
        "median_return": 0.0028,
        "min_return": -0.0312,
        "n": 47,
        "sharpe": 4.4821,
        "std_return": 0.0145
      },
      "30d": {
        "hit_rate": 0.6739,
        "max_dd_mean": 0.0612,
        "max_dd_p95": 0.1245,
        "max_dd_worst": 0.1812,
        "max_return": 0.2412,
        "mean_return": 0.0612,
        "median_return": 0.0524,
        "min_return": -0.1342,
        "n": 46,
        "sharpe": 2.5814,
        "std_return": 0.0824
      },
      "365d": {
        "hit_rate": 0.7143,
        "max_dd_mean": 0.1812,
        "max_dd_p95": 0.3124,
        "max_dd_worst": 0.4214,
        "max_return": 0.8421,
        "mean_return": 0.3245,
        "median_return": 0.2812,
        "min_return": -0.3124,
        "n": 28,
        "sharpe": 1.3412,
        "std_return": 0.2412
      },
      "60d": {
        "hit_rate": 0.6889,
        "max_dd_mean": 0.0834,
        "max_dd_p95": 0.1612,
        "max_dd_worst": 0.2345,
        "max_return": 0.3245,
        "mean_return": 0.0891,
        "median_return": 0.0734,
        "min_return": -0.1612,
        "n": 45,
        "sharpe": 2.1542,
        "std_return": 0.1024
      },
      "7d": {
        "hit_rate": 0.6383,
        "max_dd_mean": 0.0245,
        "max_dd_p95": 0.0612,
        "max_dd_worst": 0.0934,
        "max_return": 0.1245,
        "mean_return": 0.0218,
        "median_return": 0.0184,
        "min_return": -0.0891,
        "n": 47,
        "sharpe": 3.6912,
        "std_return": 0.0412
      },
      "90d": {
        "hit_rate": 0.6977,
        "max_dd_mean": 0.0961,
        "max_dd_p95": 0.1812,
        "max_dd_worst": 0.2612,
        "max_return": 0.3812,
        "mean_return": 0.1145,
        "median_return": 0.0945,
        "min_return": -0.1845,
        "n": 43,
        "sharpe": 1.8612,
        "std_return": 0.1245
      }
    },
    "n_observations": 1825,
    "n_suppressed": 26,
    "n_triggers": 47,
    "n_triggers_raw": 73,
    "trigger_rate": 0.0258
  },
  "timeseries": [
    {
      "asof_day": "2026-06-15",
      "close_px": 71240.5,
      "pctl": 0.982,
      "triggered": true,
      "z": 2.34
    },
    {
      "asof_day": "2026-06-16",
      "close_px": 71890.1,
      "pctl": 0.971,
      "triggered": false,
      "z": 2.18
    }
  ],
  "triggers": [
    {
      "asof_day": "2026-06-15",
      "fwd_14d": 0.0518,
      "fwd_180d": 0.2104,
      "fwd_1d": 0.0091,
      "fwd_30d": 0.0824,
      "fwd_365d": 0.3815,
      "fwd_60d": 0.1105,
      "fwd_7d": 0.0342,
      "fwd_90d": 0.1342,
      "max_dd_14d": 0.0341,
      "max_dd_180d": 0.1245,
      "max_dd_1d": 0.0042,
      "max_dd_30d": 0.0612,
      "max_dd_365d": 0.1812,
      "max_dd_60d": 0.0834,
      "max_dd_7d": 0.0218,
      "max_dd_90d": 0.0961,
      "pctl": 0.982,
      "z": 2.34
    }
  ]
}

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.05.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://cryptyx.ai/api/metrics/slicer' \
  -H 'content-type: application/json' \
  --data-raw '{"asset":"","cooldown_days":0,"metric_id":"","operator":"","threshold":0}'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://cryptyx.ai/api/metrics/slicer' \
  -H 'content-type: application/json' \
  --data-raw '{"asset":"","cooldown_days":0,"metric_id":"","operator":"","threshold":0}' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.05 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.05" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.05 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fcryptyx.ai%2Fapi%2Fmetrics%2Fslicer&method=POST
const res = await pay("https://cryptyx.ai/api/metrics/slicer", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "asset": "",
    "cooldown_days": 0,
    "metric_id": "",
    "operator": "",
    "threshold": 0
  }),
});
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.05 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.05"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.post(
        "https://cryptyx.ai/api/metrics/slicer",
        json={
            "asset": "",
            "cooldown_days": 0,
            "metric_id": "",
            "operator": "",
            "threshold": 0,
        },
    )
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402347 ms$0.05
7 h agoPassed402219 ms$0.05
11 h agoPassed402280 ms$0.05
15 h agoPassed402212 ms$0.05
19 h agoPassed402233 ms$0.05
Show 10 older checks
23 h agoPassed402320 ms$0.05
27 h agoPassed402330 ms$0.05
31 h agoPassed402590 ms$0.05
35 h agoPassed402233 ms$0.05
40 h agoPassed402271 ms$0.05
44 h agoPassed402235 ms$0.05
2 days agoPassed402270 ms$0.05
2 days agoPassed402258 ms$0.05
2 days agoPassed402239 ms$0.05
2 days agoPassed402270 ms$0.05