{"service":"Runbot Strategy Copilot","description":"Most crypto strategy tools backtest on basic OHLC — so their strategies look good on paper and break live. StratForge runs the Runbot engine (behind app.apevsbot.com): full market modelling with orderflow, orderbook depth, slippage, volume and tick precision, so strategies reflect real fills and hold up live. Turn a plain-English idea into a real, backtested, optimized, export-ready strategy from 50+ indicators and 200+ trading rules (Bollinger Bands, Orderflow, and more). Paid per call via x402 (OKX Agent Payments Protocol) over X Layer.","engine":{"name":"Runbot backtesting engine","differentiator":"THE moat. Most crypto strategy tools model only basic OHLC, so their strategies overfit idealised fills and break in live trading. Runbot models the real market — orderflow, orderbook depth, slippage, volume, tick precision — so a strategy that backtests well here actually holds up live. Same for the AI optimizer: it searches variants against that realistic model, not a toy one.","market_modelling":"Full market modelling — OHLC, volume, slippage, execution, orderbook depth and tick precision — so backtests reflect real fills and strategies hold up live, not just on paper.","advanced_market_data":["Volume Profile","Volume Anomaly","Open Interest","Orderflow","Liquidations","Funding rates","Orderbook depth"],"indicators":"50+ indicators across 31 documented families (Bollinger Bands, Orderflow, Orderbook, RSI, moving averages, and more), plus partner AI packs — see docs.runbot.io/indicators.","trading_rules":"200+ configurable trading rules across ~36 documented rule types: 7 entry rules (majority, unanimity, equality, min/max signals…), 11 exit rules (trailing stop, decaying TP, magnetic TP, stop candle…), 4 position-adjustment rules, 5 position-sizing rules, 5 entry-execution methods (Market, Slippage market, Sequential Market, Pyramid orders, Delay), and 4 signal types.","markets":"Perpetual futures on OKX Top-20 coins, and Polymarket Up&Down prediction markets (BTC/ETH/XRP/SOL, 5 min to 1 day).","trading_status":"Paper trading now; live trading soon — run any strategy on your own app.apevsbot.com account.","docs":"https://docs.runbot.io"},"recommended_flow":{"one_call":"quick_strategy","steps":["build_strategy","start_optimization","export_strategy"],"note":"EASIEST — call quick_strategy ONCE ($3.99): it builds, OPTIMIZES and prepares the export for you in a single self-contained paid call, returning a finished, optimized, export-ready strategy (poll the free GET /v1/quick-strategy/{job_id} for the deliverable). Use it when you just want a good strategy without chaining calls. GRANULAR — or run the à-la-carte flow build -> OPTIMIZE -> export for step-by-step control. Either way, a raw build is only a BASELINE (often mediocre); the OPTIMIZE step is where performance is unlocked — it explores many parameter variants and auto-applies the best verified improvement (leaving the strategy unchanged if nothing beats it). quick_strategy does that optimize step FOR you; in the à-la-carte flow, build_strategy and run_backtest responses carry a machine-actionable `recommended_next_action` pointing at the exact optimize call for that strategy."},"metrics_window":"All metrics are computed on a 30-day backtest window by DEFAULT — fast, and directly comparable across strategies. Ask for a longer window explicitly: build_strategy and run_backtest take backtest_window_days (7-365); start_optimization takes backtest_window_days and maps it to the nearest supported preset (one_week, two_weeks, one_month, three_months, six_months, one_year — up to one year in v1).","partner_indicators":"The BF Indicator pack is the only partner (NFT-gated) family. A strategy that uses it builds, backtests and optimizes normally, but it CANNOT be taken live until the required partner NFT is held on the trading account (a partner-indicator marketplace is coming to Quanta). The former AI Harmonia and VeloData packs are RETIRED and no longer available for building, backtesting or trading. build_strategy and export_strategy therefore return a live_tradeable field (true | false | null) plus live_tradeable_reasons (e.g. 'requires_partner_nft:BF Indicator') so your agent can decide BEFORE paying for optimization minutes or an export. IMPORTANT: this gating does NOT change x402 tool pricing — build, backtest, optimize and export are billed per call exactly as listed. Separately, Quanta's own backtest credits are free on partner-indicator strategies, but that is internal to Quanta and does not change the x402 price you pay here.","payment":{"protocol":"x402 / OKX Agent Payments Protocol","network":"eip155:196","flow":["1. POST your JSON request to a service URL with NO payment header.","2. You receive HTTP 402; the response BODY is the full payment challenge (accepts[0] carries scheme/network/asset/amount/payTo, same content as the PAYMENT-REQUIRED header).","3. Sign the challenge with your wallet (OKX Onchain OS skills).","4. Replay the SAME request to the SAME URL, adding the header 'PAYMENT-SIGNATURE: <authorization from the payment flow>'.","5. You receive HTTP 200 with the result."],"no_wallet":"No wallet yet? Run: npx skills add okx/onchainos-skills --yes -g, start a new agent session, log in to the Agentic Wallet with your email, fund it, then retry."},"services":[{"name":"quick_strategy","method":"POST","url":"https://mcp.runbot.io/v1/quick-strategy","price":"$3.99","self_contained":true,"request_body":{"description":"string (required) — the strategy idea in plain English","market_type":"'perp' | 'polymarket' (optional, default 'perp')","market":"string (optional) — e.g. 'Binance:ETHUSDT'","timeframe":"string (optional) — e.g. '1h', '4h', '1d'","backtest_window_days":"integer (optional, 7-365) — scoring window; default 90 (three_months), longer than the à-la-carte 30-day default for a more robust strategy. The optimizer RUNTIME is fixed internally (flat price) — not a client parameter."},"returns":"a job_id IMMEDIATELY (the pipeline takes minutes); poll the free GET /v1/quick-strategy/{job_id} until status='completed' for the ONE finished deliverable: baseline_metrics (pre-optimize), optimized_metrics (post-apply), improvement (the honest before/after, or a 'baseline kept' message if nothing beat it), the import-ready export, and live_tradeable / fidelity disclosures","note":"THE self-contained one-call path ($3.99 flat): ONE call delivers a finished, optimized, export-ready strategy — it builds it, runs the AI optimizer over a robust window, and exports it, so you never chain separate calls or need to know to optimize. A raw build is only a baseline; the optimize is where a mediocre strategy becomes a good one, and this does it for you. Running the steps à la carte (build/optimize/export below) is possible but requires several paid calls and manual polling."},{"name":"strategy_flash","method":"POST","url":"https://mcp.runbot.io/v1/strategy-flash","price":"$2.99","self_contained":true,"request_body":{"description":"string (required) — the strategy idea in plain English","market_type":"'perp' | 'polymarket' (optional, default 'perp')","market":"string (optional) — e.g. 'Binance:ETHUSDT'","timeframe":"string (optional) — e.g. '1h', '4h', '1d'","objective":"'balanced'|'return'|'risk'|'winrate'|'active' (optional) — which optimized variant to auto-apply; omit for best overall score","backtest_window_days":"integer (optional, 7-365) — scoring window"},"returns":"a job_id IMMEDIATELY; poll the free GET /v1/quick-strategy/{job_id} until status='completed' for the ONE finished, optimized, export-ready deliverable","note":"StratForge Flash ($2.99): ONE self-contained paid call — build + a 2-min AI optimization + export. Deeper tiers search more variants for a stronger, less-overfit strategy; the optimizer runtime is FIXED per tier (co-bound to the price — not a client parameter)."},{"name":"strategy_deep","method":"POST","url":"https://mcp.runbot.io/v1/strategy-deep","price":"$8.99","self_contained":true,"request_body":{"description":"string (required) — the strategy idea in plain English","market_type":"'perp' | 'polymarket' (optional, default 'perp')","market":"string (optional) — e.g. 'Binance:ETHUSDT'","timeframe":"string (optional) — e.g. '1h', '4h', '1d'","objective":"'balanced'|'return'|'risk'|'winrate'|'active' (optional) — which optimized variant to auto-apply; omit for best overall score","backtest_window_days":"integer (optional, 7-365) — scoring window"},"returns":"a job_id IMMEDIATELY; poll the free GET /v1/quick-strategy/{job_id} until status='completed' for the ONE finished, optimized, export-ready deliverable","note":"StratForge Deep ($8.99): ONE self-contained paid call — build + a 15-min AI optimization + export. Deeper tiers search more variants for a stronger, less-overfit strategy; the optimizer runtime is FIXED per tier (co-bound to the price — not a client parameter)."},{"name":"strategy_ultra","method":"POST","url":"https://mcp.runbot.io/v1/strategy-ultra","price":"$24.99","self_contained":true,"request_body":{"description":"string (required) — the strategy idea in plain English","market_type":"'perp' | 'polymarket' (optional, default 'perp')","market":"string (optional) — e.g. 'Binance:ETHUSDT'","timeframe":"string (optional) — e.g. '1h', '4h', '1d'","objective":"'balanced'|'return'|'risk'|'winrate'|'active' (optional) — which optimized variant to auto-apply; omit for best overall score","backtest_window_days":"integer (optional, 7-365) — scoring window"},"returns":"a job_id IMMEDIATELY; poll the free GET /v1/quick-strategy/{job_id} until status='completed' for the ONE finished, optimized, export-ready deliverable","note":"StratForge Ultra ($24.99): ONE self-contained paid call — build + a 60-min AI optimization + export. Deeper tiers search more variants for a stronger, less-overfit strategy; the optimizer runtime is FIXED per tier (co-bound to the price — not a client parameter)."},{"name":"build_strategy","method":"POST","url":"https://mcp.runbot.io/v1/build-strategy","price":"$1.50","request_body":{"description":"string (required) — the strategy idea in plain English","market_type":"'perp' | 'polymarket' (optional, default 'perp')","market":"string (optional) — e.g. 'Binance:ETHUSDT'","timeframe":"string (optional) — e.g. '1h', '4h', '1d'","session_id":"string (optional) — reuse to refine the SAME strategy","backtest_window_days":"integer (optional, 7-365) — metrics window; default 30"},"returns":"a job_id IMMEDIATELY (the build takes 1-2 min); poll the free GET /v1/build-strategy/{job_id} until status='completed' for the built strategy: strategy_id, backtest metrics, reconstructed_params, a fidelity verdict (Quanta's post-build audit of whether the built strategy matched your request: pass|fail|unknown + discrepancies), and a live_tradeable flag (true|false|null — whether a partner NFT-gated indicator blocks live trading). Keep the strategy_id for the à-la-carte follow-ups."},{"name":"run_backtest","method":"POST","url":"https://mcp.runbot.io/v1/backtest","price":"$0.25","request_body":{"strategy_id":"string (required)","window_days":"integer (optional, 7-365) — default: the strategy's own window (30 days for strategies built here)"},"returns":"backtest metrics for the requested window"},{"name":"start_optimization","method":"POST","url":"https://mcp.runbot.io/v1/optimize/{minutes}","example_url":"https://mcp.runbot.io/v1/optimize/10","price":"$0.25/minute — put the minutes in the URL (2-60, default 10); e.g. /v1/optimize/20 = $5.00","request_body":{"strategy_id":"string (required)","backtest_window_days":"integer (optional, 7-365) — variant scoring window; default 30 (one_month), mapped to the nearest supported preset up to one_year"},"returns":"job_id — then poll the free optimization route until completed. This is the value-unlock step: the optimizer explores many parameter variants and auto-applies the best verified improvement (or leaves the strategy unchanged if none beats it)."},{"name":"export_strategy","method":"POST","url":"https://mcp.runbot.io/v1/export","price":"$0.35","request_body":{"strategy_id":"string (required)"},"returns":"import-ready strategy JSON, go-live (non-custodial) instructions, and a live_tradeable flag (true|false|null — false when a partner NFT-gated indicator blocks live trading)"}],"free_routes":[{"name":"get_quick_strategy","method":"GET","url":"https://mcp.runbot.io/v1/quick-strategy/{job_id}","price":"free","description":"Poll a one-shot job (job_id from quick_strategy) every 30-60s until status='completed' for the final optimized deliverable."},{"name":"get_optimization","method":"GET","url":"https://mcp.runbot.io/v1/optimization/{job_id}","price":"free","description":"Poll an optimization job (job_id from start_optimization) every 30-60s until status='completed'."},{"name":"recover","method":"POST","url":"https://mcp.runbot.io/v1/recover","price":"free","description":"AUTONOMOUS recovery of a paid one-shot/tier whose delivery was lost (e.g. the facilitator settled on-chain but the original response never returned a job_id). We prove the on-chain payment to our treasury and re-build+deliver the paid tier EXACTLY ONCE — NO new charge. Idempotent per settlement; only the paying wallet (via its signature) can recover or read the job.","request_body":{"tx_hash":"the X Layer settlement transaction hash that paid this service (your wallet client has it)","description":"your ORIGINAL plain-English strategy description","signature":"personal_sign by the PAYER wallet of the exact message 'Runbot StratForge: recover settled payment <tx_hash>' (the endpoint also returns this message in a 401 if omitted)"}},{"name":"discovery","method":"GET","url":"https://mcp.runbot.io/v1","price":"free","description":"This document."}],"mcp_endpoint":{"url":"https://mcp.runbot.io/mcp","note":"MCP-native clients can call the same paid tools over JSON-RPC at this endpoint instead of the REST URLs above."}}