{"openapi":"3.1.0","info":{"title":"TASignal","version":"0.1.0","contact":{"name":"TASignal","email":"hello@youraitools.co","url":"https://agentgate-source.pages.dev/x402-tasignal/"},"license":{"name":"MIT"},"x-service-name":"TASignal by AgentGate","x-category":"trading","x-categories":["trading","market-data","analytics","crypto"],"x-tags":["technical-analysis","backtest","trading","risk","indicators"],"x-logo":{"url":"https://agentgate-source.pages.dev/icons/tasignal.png"},"description":"Technical analysis, risk analytics and backtests for trading agents in one x402 API: RSI, MACD, EMA 20/50/200, Bollinger Bands, ATR, ADX, stochastic, realized volatility and a descriptive technical bias score for any crypto asset on 15m/1h/4h/1d candles; historical VaR/CVaR, max drawdown, Sharpe/Sortino and ATR-based position sizing; and rule backtests (SMA/EMA cross, RSI reversion, Donchian breakout, MACD cross) with fees, next-open fills, trade list and equity curve. Candles from Hyperliquid with dYdX v4 fallback. Read-only analytics; free preview and remote MCP. Not financial advice. Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys.","x-guidance":"GET /v1/lite?symbol=BTC&timeframe=1h ($0.005); GET /v1/risk?symbol=ETH&timeframe=4h&account_usd=10000&risk_pct=1&side=long ($0.02); GET /v1/backtest?symbol=SOL&timeframe=4h&strategy=ema_cross&fast=20&slow=50 ($0.05). POST the same fields as JSON. USDC via x402 (Base, Polygon, Arbitrum One, Solana), charged only on HTTP 200. Free: /v1/preview?symbol=BTC&timeframe=1h."},"servers":[{"url":"https://api.youraitools.co/tasignal"}],"externalDocs":{"description":"Source and docs","url":"https://agentgate-source.pages.dev/x402-tasignal/"},"paths":{"/v1/lite":{"get":{"operationId":"ta_indicators_lite","summary":"Indicator snapshot + technical bias: RSI, MACD, EMA 20/50/200, Bollinger, ATR, ADX, stochastic, realized vol, trend and regime ($0.005)","description":"Technical indicators for any crypto asset on closed 15m/1h/4h/1d candles: RSI 14, MACD 12/26/9 with cross, EMA 20/50/200, SMA 20, Bollinger Bands 20/2 (%b, bandwidth), ATR 14 and ATR %, ADX 14 with +DI/-DI, stochastic %K, annualized realized volatility, volume vs 20-bar average, 20-bar high/low; plus a descriptive technical bias score (-100..100) with components, trend (up/down/mixed) and regime (trending/ranging). Candles from Hyperliquid, dYdX v4 fallback. Not financial advice.","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","enum":["15m","1h","4h","1d"]},"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"}],"responses":{"200":{"description":"Indicators (RSI, MACD, EMAs, Bollinger, ATR, ADX, stochastic, realized vol), technical bias score with components, trend, regime, confidence, sources_failed. (payment settled)","content":{"application/json":{"example":{"symbol":"BTC","timeframe":"1h","source":"hyperliquid","market":"BTC","candles_used":300,"last_closed_at":"2026-10-22T19:00:00.000Z","last_price":81399,"indicators":{"close":81381,"ema_20":82179.416,"ema_50":82607.493,"ema_200":82541.062,"sma_20":82305.95,"rsi_14":30.65,"macd":{"line":-550.39178,"signal":-449.65055,"histogram":-100.74123,"cross":"none"},"bollinger_20_2":{"upper":83991.316,"middle":82305.95,"lower":80620.584,"percent_b":0.226,"bandwidth_pct":4.095},"atr_14":443.84296,"atr_pct":0.545,"adx_14":{"adx":46.16,"plus_di":8.15,"minus_di":35.13},"stochastic_k_14":22.64,"realized_vol_annual_pct":30.4,"volume_vs_20_avg":0.926,"change_pct":{"bars_1":0.22,"bars_24":-3.554},"high_20":84459,"low_20":80911,"notes":[]},"signal":{"bias":"strong_bearish","score":-84,"trend":"mixed","regime":"trending","components":[{"name":"ema_20_vs_50","points":-20,"why":"EMA20 below EMA50"},{"name":"price_vs_ema_200","points":-20,"why":"price below EMA200"},{"name":"macd_histogram","points":-15,"why":"MACD below signal"},{"name":"rsi_14","points":-10,"why":"RSI below 50"},{"name":"adx_direction","points":-15,"why":"trend strength ADX 46.16 (-DI leads)"},{"name":"bollinger_percent_b","points":0,"why":"inside the bands"}],"note":"Descriptive summary of the indicators above on closed candles; not a prediction or a recommendation to trade."},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.379Z","tier":"lite","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}},"post":{"operationId":"ta_indicators_lite_post","summary":"Same as GET, POST {\"symbol\":\"BTC\",\"timeframe\":\"1h\"}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},"timeframe":{"type":"string","enum":["15m","1h","4h","1d"],"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"}},"required":["symbol"]}}}},"responses":{"200":{"description":"Indicators (RSI, MACD, EMAs, Bollinger, ATR, ADX, stochastic, realized vol), technical bias score with components, trend, regime, confidence, sources_failed. (payment settled)","content":{"application/json":{"example":{"symbol":"BTC","timeframe":"1h","source":"hyperliquid","market":"BTC","candles_used":300,"last_closed_at":"2026-10-22T19:00:00.000Z","last_price":81399,"indicators":{"close":81381,"ema_20":82179.416,"ema_50":82607.493,"ema_200":82541.062,"sma_20":82305.95,"rsi_14":30.65,"macd":{"line":-550.39178,"signal":-449.65055,"histogram":-100.74123,"cross":"none"},"bollinger_20_2":{"upper":83991.316,"middle":82305.95,"lower":80620.584,"percent_b":0.226,"bandwidth_pct":4.095},"atr_14":443.84296,"atr_pct":0.545,"adx_14":{"adx":46.16,"plus_di":8.15,"minus_di":35.13},"stochastic_k_14":22.64,"realized_vol_annual_pct":30.4,"volume_vs_20_avg":0.926,"change_pct":{"bars_1":0.22,"bars_24":-3.554},"high_20":84459,"low_20":80911,"notes":[]},"signal":{"bias":"strong_bearish","score":-84,"trend":"mixed","regime":"trending","components":[{"name":"ema_20_vs_50","points":-20,"why":"EMA20 below EMA50"},{"name":"price_vs_ema_200","points":-20,"why":"price below EMA200"},{"name":"macd_histogram","points":-15,"why":"MACD below signal"},{"name":"rsi_14","points":-10,"why":"RSI below 50"},{"name":"adx_direction","points":-15,"why":"trend strength ADX 46.16 (-DI leads)"},{"name":"bollinger_percent_b","points":0,"why":"inside the bands"}],"note":"Descriptive summary of the indicators above on closed candles; not a prediction or a recommendation to trade."},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.379Z","tier":"lite","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}}},"/v1/risk":{"get":{"operationId":"ta_risk_position_size","summary":"Risk analytics + position sizing: historical VaR/CVaR 95/99, max and current drawdown, volatility, Sharpe/Sortino, ATR stop, units, notional, leverage ($0.02)","description":"Risk analytics and position sizing for a crypto asset: historical VaR and CVaR at 95/99% per bar and per day, annualized volatility, max drawdown and current drawdown from the high, Sharpe and Sortino, worst/best bar over up to 1000 closed candles; ATR(14)-based stop (or your stop), risk per unit and, with account_usd and risk_pct, the position size in units and USD notional, implied leverage and 2R/3R levels. Not financial advice.","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","enum":["15m","1h","4h","1d"]},"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"},{"name":"account_usd","in":"query","required":false,"schema":{"type":"number"},"description":"Account size in USD (optional; enables units, notional, leverage)"},{"name":"risk_pct","in":"query","required":false,"schema":{"type":"number"},"description":"Percent of the account risked if the stop is hit (default 1)"},{"name":"side","in":"query","required":false,"schema":{"type":"string","enum":["long","short"]},"description":"Position side (default long)"},{"name":"stop_atr","in":"query","required":false,"schema":{"type":"number"},"description":"Stop distance in ATR(14) multiples when no stop is given (default 2)"},{"name":"entry","in":"query","required":false,"schema":{"type":"number"},"description":"Entry price (default: last price)"},{"name":"stop","in":"query","required":false,"schema":{"type":"number"},"description":"Stop price (optional; overrides stop_atr)"},{"name":"bars","in":"query","required":false,"schema":{"type":"integer"},"description":"Candles for risk metrics, 50-1000 (default 500)"}],"responses":{"200":{"description":"VaR/CVaR, volatility, drawdowns, Sharpe/Sortino, ATR, stop price and distance, units, notional, implied leverage, 2R/3R levels. (payment settled)","content":{"application/json":{"example":{"symbol":"ETH","timeframe":"4h","source":"hyperliquid","market":"ETH","candles_used":500,"last_price":2383.6,"atr_14":36.160089,"atr_pct":1.517,"risk":{"bars":499,"period_return_pct":27.347,"volatility_annual_pct":49.18,"sharpe_annual":2.4,"sortino_annual":3.914,"max_drawdown_pct":-15.882,"current_drawdown_from_high_pct":-13.65,"var_95_per_bar_pct":1.394,"var_99_per_bar_pct":2.972,"cvar_95_per_bar_pct":2.237,"cvar_99_per_bar_pct":3.406,"var_95_1d_pct":3.415,"var_99_1d_pct":7.281,"worst_bar_pct":-4.03,"best_bar_pct":8.496,"method":"historical simulation on closed-candle simple returns; 1-day VaR scaled by sqrt(time); Sharpe/Sortino use a 0% risk-free rate"},"position_sizing":{"side":"long","entry":2383.6,"stop":2311.2798,"stop_method":"2 x ATR(14) from entry","stop_distance_pct":3.034,"risk_per_unit":72.320178,"risk_pct_of_account":1,"account_usd":10000,"risk_usd":100,"units":1.38274,"notional_usd":3295.9,"implied_leverage":0.33,"take_profit_2r":2528.2404,"take_profit_3r":2600.5605},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.578Z","tier":"risk","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}},"post":{"operationId":"ta_risk_position_size_post","summary":"Same as GET, POST {\"symbol\":\"ETH\",\"timeframe\":\"4h\",\"account_usd\":10000,\"risk_pct\":1,\"side\":\"long\"}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},"timeframe":{"type":"string","enum":["15m","1h","4h","1d"],"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"},"account_usd":{"type":"number","description":"Account size in USD (optional; enables units, notional, leverage)"},"risk_pct":{"type":"number","description":"Percent of the account risked if the stop is hit (default 1)"},"side":{"type":"string","enum":["long","short"],"description":"Position side (default long)"},"stop_atr":{"type":"number","description":"Stop distance in ATR(14) multiples when no stop is given (default 2)"},"entry":{"type":"number","description":"Entry price (default: last price)"},"stop":{"type":"number","description":"Stop price (optional; overrides stop_atr)"},"bars":{"type":"integer","description":"Candles for risk metrics, 50-1000 (default 500)"}},"required":["symbol"]}}}},"responses":{"200":{"description":"VaR/CVaR, volatility, drawdowns, Sharpe/Sortino, ATR, stop price and distance, units, notional, implied leverage, 2R/3R levels. (payment settled)","content":{"application/json":{"example":{"symbol":"ETH","timeframe":"4h","source":"hyperliquid","market":"ETH","candles_used":500,"last_price":2383.6,"atr_14":36.160089,"atr_pct":1.517,"risk":{"bars":499,"period_return_pct":27.347,"volatility_annual_pct":49.18,"sharpe_annual":2.4,"sortino_annual":3.914,"max_drawdown_pct":-15.882,"current_drawdown_from_high_pct":-13.65,"var_95_per_bar_pct":1.394,"var_99_per_bar_pct":2.972,"cvar_95_per_bar_pct":2.237,"cvar_99_per_bar_pct":3.406,"var_95_1d_pct":3.415,"var_99_1d_pct":7.281,"worst_bar_pct":-4.03,"best_bar_pct":8.496,"method":"historical simulation on closed-candle simple returns; 1-day VaR scaled by sqrt(time); Sharpe/Sortino use a 0% risk-free rate"},"position_sizing":{"side":"long","entry":2383.6,"stop":2311.2798,"stop_method":"2 x ATR(14) from entry","stop_distance_pct":3.034,"risk_per_unit":72.320178,"risk_pct_of_account":1,"account_usd":10000,"risk_usd":100,"units":1.38274,"notional_usd":3295.9,"implied_leverage":0.33,"take_profit_2r":2528.2404,"take_profit_3r":2600.5605},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.578Z","tier":"risk","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}}},"/v1/backtest":{"get":{"operationId":"ta_backtest","summary":"Rule backtest: SMA/EMA cross, RSI reversion, Donchian breakout or MACD cross on up to 2000 candles with fees; return vs buy-and-hold, drawdown, Sharpe, win rate, profit factor, trades, equity curve ($0.05)","description":"Backtest a rule-based strategy (sma_cross, ema_cross, rsi_reversion, breakout, macd_cross) on up to 2000 closed candles of any crypto asset: signals on close, next-open fills, fees per side, long-only or long/short. Returns total and annualized return vs buy-and-hold, max drawdown, Sharpe, trades, win rate, profit factor, average trade, exposure, the last 20 trades and a 50-point equity curve. Historical simulation only. Not financial advice. Past performance does not guarantee future results.","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"50000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","enum":["15m","1h","4h","1d"]},"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"},{"name":"strategy","in":"query","required":true,"schema":{"type":"string","enum":["sma_cross","ema_cross","rsi_reversion","breakout","macd_cross"]},"description":"Strategy rule"},{"name":"fast","in":"query","required":false,"schema":{"type":"integer"},"description":"Fast period (sma_cross/ema_cross default 20, macd_cross 12)"},{"name":"slow","in":"query","required":false,"schema":{"type":"integer"},"description":"Slow period (sma_cross/ema_cross default 50, macd_cross 26)"},{"name":"signal","in":"query","required":false,"schema":{"type":"integer"},"description":"MACD signal period (default 9)"},{"name":"period","in":"query","required":false,"schema":{"type":"integer"},"description":"RSI period (default 14) or breakout lookback (default 20)"},{"name":"lower","in":"query","required":false,"schema":{"type":"number"},"description":"RSI entry level for longs (default 30)"},{"name":"upper","in":"query","required":false,"schema":{"type":"number"},"description":"RSI entry level for shorts / exit (default 70)"},{"name":"direction","in":"query","required":false,"schema":{"type":"string","enum":["long_only","long_short"]},"description":"default long_only"},{"name":"fee_bps","in":"query","required":false,"schema":{"type":"number"},"description":"Fee per side in basis points (default 5)"},{"name":"bars","in":"query","required":false,"schema":{"type":"integer"},"description":"Candles to test, 100-2000 (default 500)"}],"responses":{"200":{"description":"Total / annualized return, vs buy-and-hold, max drawdown, Sharpe, trades, win rate, profit factor, exposure, last 20 trades, equity curve, current position. (payment settled)","content":{"application/json":{"example":{"symbol":"SOL","timeframe":"4h","source":"hyperliquid","market":"SOL","candles_used":500,"strategy":{"name":"ema_cross","params":{"fast":20,"slow":50},"direction":"long_only"},"result":{"period":{"from":"2026-08-08T16:00:00.000Z","to":"2026-10-22T16:00:00.000Z","bars":450},"total_return_pct":42.693,"buy_and_hold_return_pct":36.933,"excess_vs_buy_and_hold_pct":5.759,"annualized_return_pct":464.18,"max_drawdown_pct":-10.327,"sharpe_annual":3.869,"trades":2,"win_rate_pct":100,"profit_factor":null,"avg_trade_pct":19.972,"exposure_pct":69.78,"fees_bps_per_side":5,"last_trades":[{"side":"long","entry_time":"2026-08-08T16:00:00.000Z","entry":76.373,"exit_time":"2026-09-10T16:00:00.000Z","exit":99.676,"return_pct":30.447},{"side":"long","entry_time":"2026-09-18T12:00:00.000Z","entry":105.74,"exit_time":"2026-10-07T20:00:00.000Z","exit":115.84,"return_pct":9.497}],"equity_curve":[["2026-08-08T16:00:00.000Z",0.99632],["2026-08-23T16:00:00.000Z",1.24486],["2026-09-07T16:00:00.000Z",1.36524],["2026-09-22T16:00:00.000Z",1.45808],["2026-10-07T16:00:00.000Z",1.42764],["2026-10-22T12:00:00.000Z",1.42693]],"current_position":"flat","assumptions":"Signals on candle close, fills at the next candle open, fees per side as set; no slippage, funding, borrow or liquidity limits; position size 100% of equity, no leverage."},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.904Z","tier":"backtest","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}},"post":{"operationId":"ta_backtest_post","summary":"Same as GET, POST {\"symbol\":\"SOL\",\"timeframe\":\"4h\",\"strategy\":\"ema_cross\",\"fast\":20,\"slow\":50}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"50000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},"timeframe":{"type":"string","enum":["15m","1h","4h","1d"],"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"},"strategy":{"type":"string","enum":["sma_cross","ema_cross","rsi_reversion","breakout","macd_cross"],"description":"Strategy rule"},"fast":{"type":"integer","description":"Fast period (sma_cross/ema_cross default 20, macd_cross 12)"},"slow":{"type":"integer","description":"Slow period (sma_cross/ema_cross default 50, macd_cross 26)"},"signal":{"type":"integer","description":"MACD signal period (default 9)"},"period":{"type":"integer","description":"RSI period (default 14) or breakout lookback (default 20)"},"lower":{"type":"number","description":"RSI entry level for longs (default 30)"},"upper":{"type":"number","description":"RSI entry level for shorts / exit (default 70)"},"direction":{"type":"string","enum":["long_only","long_short"],"description":"default long_only"},"fee_bps":{"type":"number","description":"Fee per side in basis points (default 5)"},"bars":{"type":"integer","description":"Candles to test, 100-2000 (default 500)"}},"required":["symbol","strategy"]}}}},"responses":{"200":{"description":"Total / annualized return, vs buy-and-hold, max drawdown, Sharpe, trades, win rate, profit factor, exposure, last 20 trades, equity curve, current position. (payment settled)","content":{"application/json":{"example":{"symbol":"SOL","timeframe":"4h","source":"hyperliquid","market":"SOL","candles_used":500,"strategy":{"name":"ema_cross","params":{"fast":20,"slow":50},"direction":"long_only"},"result":{"period":{"from":"2026-08-08T16:00:00.000Z","to":"2026-10-22T16:00:00.000Z","bars":450},"total_return_pct":42.693,"buy_and_hold_return_pct":36.933,"excess_vs_buy_and_hold_pct":5.759,"annualized_return_pct":464.18,"max_drawdown_pct":-10.327,"sharpe_annual":3.869,"trades":2,"win_rate_pct":100,"profit_factor":null,"avg_trade_pct":19.972,"exposure_pct":69.78,"fees_bps_per_side":5,"last_trades":[{"side":"long","entry_time":"2026-08-08T16:00:00.000Z","entry":76.373,"exit_time":"2026-09-10T16:00:00.000Z","exit":99.676,"return_pct":30.447},{"side":"long","entry_time":"2026-09-18T12:00:00.000Z","entry":105.74,"exit_time":"2026-10-07T20:00:00.000Z","exit":115.84,"return_pct":9.497}],"equity_curve":[["2026-08-08T16:00:00.000Z",0.99632],["2026-08-23T16:00:00.000Z",1.24486],["2026-09-07T16:00:00.000Z",1.36524],["2026-09-22T16:00:00.000Z",1.45808],["2026-10-07T16:00:00.000Z",1.42764],["2026-10-22T12:00:00.000Z",1.42693]],"current_position":"flat","assumptions":"Signals on candle close, fills at the next candle open, fees per side as set; no slippage, funding, borrow or liquidity limits; position size 100% of equity, no leverage."},"confidence":"high","sources_failed":[],"checked_at":"2026-10-22T19:00:54.904Z","tier":"backtest","disclaimer":"Not financial advice. Past performance does not guarantee future results. Technical indicators, risk metrics and backtests describe historical prices only; they are not predictions or trade recommendations. TASignal never trades, holds funds or keys."}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"404":{"description":"Symbol not listed (never charged)"},"503":{"description":"Data sources unavailable: upstream_unavailable with sources_failed (never charged)"}}}},"/v1/preview":{"get":{"operationId":"tasignal_preview","summary":"Free: technical bias label, trend and regime, confidence (no indicator values), 10/min per IP","security":[],"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Base asset ticker, e.g. BTC, ETH, SOL, HYPE (BTC-PERP, ETH-USD and SOLUSDT are accepted too)"},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","enum":["15m","1h","4h","1d"]},"description":"Candle timeframe: 15m, 1h, 4h or 1d (default 1h; risk default 4h)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Free tier rate limit"},"503":{"description":"Data sources unavailable"}}}}},"x-x402-networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]}