{"components":{"schemas":{"Signal":{"properties":{"confidence":{"format":"float","type":"number"},"disclaimer":{"type":"string"},"generated_at":{"format":"date-time","type":"string"},"pair":{"example":"BTC/USD","type":"string"},"signal":{"enum":["BUY","SELL","HOLD"],"type":"string"},"timeframe":{"type":"string"}},"type":"object"},"TopSignals":{"properties":{"actionable":{"type":"integer"},"disclaimer":{"type":"string"},"generated_at":{"format":"date-time","type":"string"},"scanned_pairs":{"type":"integer"},"top":{"items":{"$ref":"#/components/schemas/Signal"},"type":"array"},"universe":{"items":{"type":"string"},"type":"array"}},"type":"object"}},"securitySchemes":{"x402Payment":{"description":"x402 payment payload (USDC on Base).","in":"header","name":"X-PAYMENT","type":"apiKey"}}},"info":{"contact":{"name":"Kraken Crypto Signals (Nikoble1926)","url":"https://github.com/Nikoble1926/kraken-crypto-signals"},"description":"Pay-per-call crypto market-state data (BUY/SELL/HOLD + confidence) for AI agents over x402 on Base.","title":"Kraken Crypto Signals","version":"1.0.0"},"openapi":"3.1.0","paths":{"/backtest":{"get":{"operationId":"getBacktest","parameters":[{"description":"Any active Kraken */USD spot pair.","in":"query","name":"pair","required":false,"schema":{"default":"BTC/USD","example":"ETH/USD","type":"string"}},{"description":"Forward window in 1m bars to score each signal (5-120, default 30).","in":"query","name":"forward","required":false,"schema":{"default":30,"maximum":120,"minimum":5,"type":"integer"}},{"description":"Walk-forward step in 1m bars (1-15, default 5).","in":"query","name":"step","required":false,"schema":{"default":5,"maximum":15,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Recent walk-forward replay summary."},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Backtest unavailable (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Walk-forward replay: win-rate + avg forward return per signal","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.25","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/history":{"get":{"operationId":"getHistory","parameters":[{"description":"How many past snapshots to return (1-100, default 20).","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Revealed signal snapshots (commit-reveal hash chain)."},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Not enough history yet (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Historical revealed signal snapshots + verifiable hashes","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.05","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/indicators":{"get":{"operationId":"getIndicators","parameters":[{"description":"Any active Kraken */USD spot pair.","in":"query","name":"pair","required":false,"schema":{"default":"BTC/USD","example":"ETH/USD","type":"string"}},{"description":"Candle timeframe.","in":"query","name":"tf","required":false,"schema":{"default":"1h","enum":["1m","5m","15m","30m","1h","4h","1d"],"type":"string"}},{"description":"Optional: return only one indicator (e.g. rsi14, ema50, macd_hist).","in":"query","name":"name","required":false,"schema":{"example":"rsi14","type":"string"}}],"responses":{"200":{"description":"Indicator snapshot for the requested pair/timeframe."},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Indicators unavailable (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Atomic technical indicators (RSI, EMA, MACD, ATR, Bollinger, volume)","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.005","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/regime/changed":{"get":{"operationId":"getRegimeChanged","parameters":[{"description":"Regime you last saw (e.g. RISK_ON); response reports if it changed.","in":"query","name":"since","required":false,"schema":{"example":"RISK_ON","type":"string"}}],"responses":{"200":{"description":"Current regime + change indicator."},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Regime feed unavailable (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Market regime (RISK_ON/RISK_OFF) + change-since flag","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/signals":{"get":{"operationId":"getSignal","parameters":[{"description":"Any active Kraken */USD spot pair.","in":"query","name":"pair","required":false,"schema":{"default":"BTC/USD","example":"ETH/USD","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signal"}}},"description":"Trading signal"},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Market data unavailable (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Trading signal for one pair (BUY/SELL/HOLD + confidence)","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":["x402"]}}},"/signals/preview":{"get":{"operationId":"getSignalPreview","responses":{"200":{"description":"Free preview signal"},"503":{"description":"Market data unavailable."}},"security":[],"summary":"Free sample signal (BTC/USD direction, no payment)"}},"/signals/top":{"get":{"operationId":"getTopSignals","parameters":[{"description":"How many top signals to return (1-10, default 3).","in":"query","name":"limit","required":false,"schema":{"default":3,"maximum":10,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopSignals"}}},"description":"Strongest signals"},"402":{"description":"Payment required (x402 challenge)."},"503":{"description":"Market data unavailable (no charge)."}},"security":[{"x402Payment":[]}],"summary":"Market scan: strongest BUY/SELL signals across major pairs","x-payment-info":{"network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990","price":{"amount":"0.10","currency":"USD","mode":"fixed"},"protocols":["x402"]}}}},"servers":[{"url":"https://signals.nsgoods.org"}]}
