Single-metric z-score backtest over 5+ years of history per asset
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…
by cryptyx.ai · discovered, not yet claimed by its owner · updated 2026-10-04
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
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).
Tags: crypto · trading · signals · intelligence · agents · bazaar
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-04
{
"asset": "",
"cooldown_days": 0,
"metric_id": "",
"operator": "",
"threshold": 0
}{
"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
}
]
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/29764.jsonfor the price and payment options. - Pay. Call
GET https://cryptyx.ai/api/metrics/slicer. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.05 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 13 calls · 2 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.05 | 0x0cD2c9724F185a029101b4AEACf3F114415c394f | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x0cD2c9724F185a029101b4AEACf3F114415c394f",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"amountUsd": 0.05,
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {},
"type": "string"
}Examples
curl "https://cryptyx.ai/api/metrics/slicer"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://cryptyx.ai/api/metrics/slicer");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://cryptyx.ai/api/metrics/slicer")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- cryptyx.ai
- Endpoint
- https://cryptyx.ai/api/metrics/slicer
- Machine-readable
/resources/29764.json