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
| Param | Type | Required | Description |
|---|---|---|---|
symbolKey | path | Yes | Asset symbol, e.g. btc_usdt, eth_usdt |
temperature | body | No | Inference temperature, 0–2 (controls randomness of sample paths) |
top_p | body | No | Top-p sampling parameter, 0–1 (nucleus sampling) |
sample_count | body | No | Number 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
- 3 requests per 5 minutes per IP
- 3 requests per 5 minutes per payer wallet
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?
How do I tune inference parameters for crypto predictions?
{"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?
decision_id in /decisions later. Build a custom track record with your own inference config before deploying live.