Playground — Custom GPU Inference

The /playground endpoint is an experimental endpoint — run a prediction with custom inference parameters (temperature, top_p, sample_count). Each run consumes GPU time, so the rate limit is aggressive: 3 requests per 5 minutes per IP and per payer wallet. Results are persisted with config.preset='custom' so they're traceable. Price scales with sample_count.

Endpoint

POST /api/feeds/kronos/playground/:symbolKey

Parameters

ParamTypeRequiredDescription
symbolKeypathYesAsset symbol, e.g. btc_usdt, eth_usdt
temperaturebodyNoInference temperature, 0–2 (controls randomness of sample paths)
top_pbodyNoTop-p sampling parameter, 0–1 (nucleus sampling)
sample_countbodyNoNumber of inference samples, 1–100 (must be between 1 and 100; values >100 are rejected). Affects price — more samples = higher cost but more accurate distribution.

Pricing

$0.005 per request (upfront payment — settled before the handler runs). Price scales with sample_count.

Rate limits

This is a POST endpoint, not GET. Send inference parameters as a JSON body. Results are persisted with config.preset='custom' for traceability.

Example request

curl -X POST \
  -H "X-PAYMENT: <x402-payment-header>" \
  -H "Content-Type: application/json" \
  -d '{"temperature": 0.8, "top_p": 0.95, "sample_count": 100}' \
  "https://kronos.seshat.markets/api/feeds/kronos/playground/btc_usdt"

Example response (truncated)

{
  "symbol": "btc_usdt",
  "config": {
    "preset": "custom",
    "temperature": 0.8,
    "top_p": 0.95,
    "sample_count": 100
  },
  "timeframes": {
    "1h": {
      "direction": "up",
      "upside_prob": 0.65,
      "confidence": 0.68,
      "conformal_lower": 66800,
      "conformal_upper": 68900
    }
  },
  "audited": true,
  "decision_id": "c4d5e6f7-..."
}

Use cases

Parameter Sweep

Run the same prediction with temperature: 0.3, 0.5, 0.7, 0.9 and compare. If direction is stable across temperatures, the signal is robust. If it flips, the model is sensitive to sampling — lower confidence.

Sample Count Tuning

Default sample_count is 15. Try 100 (the maximum) — if upside_prob shifts significantly, the default is under-sampled. More samples = more accurate distribution but higher cost. sample_count must be between 1 and 100.

Distribution Exploration

Use high temperature and top_p: 0.99 to explore the full range of possible outcomes. The tails of the distribution reveal tail risks that conservative parameters hide.

Custom Strategy Backtesting

Run playground predictions with your strategy's parameters, then check decision_id in /decisions later. Build a custom track record with your own inference config before deploying live.

Frequently asked questions

What is a crypto prediction API playground?
An experimental endpoint that lets you run predictions with custom inference parameters — temperature, top_p, and sample_count. Each run consumes GPU time, so the rate limit is aggressive: 3 requests per 5 minutes per IP and per payer wallet.
How do I tune inference parameters for crypto predictions?
Send a POST request with a JSON body: {"temperature": 0.8, "top_p": 0.95, "sample_count": 100}. sample_count must be between 1 and 100 (default 15). Run the same prediction with different temperatures and compare — if direction is stable across temperatures, the signal is robust.
How much does the playground API cost?
$0.005 per request (upfront payment). Price scales with sample_count — more samples means higher cost but more accurate distributions. Pay with USDC on Solana or Base via x402.
Can I backtest custom crypto prediction strategies?
Yes. Run playground predictions with your strategy's parameters, then check the decision_id in /decisions later. Build a custom track record with your own inference config before deploying live.

Related endpoints