{"openapi":"3.1.0","info":{"title":"SML Edge Court API","version":"1.0.0","description":"Robustness verdicts for trading strategies: run Pine Script on real multi-year market data or audit an exported trade list. Snapshot-vs-full-history, PSR/DSR significance, regimes, parameter sweep, walk-forward, bootstrap. Ed25519-signed receipts.","contact":{"name":"Script Master Labs LLC","email":"ScriptMasterLabs@gmail.com","url":"https://scriptmasterlabs.com"},"license":{"name":"AGPL-3.0-only","url":"https://edge-court.onrender.com/source.tar.gz"}},"servers":[{"url":"https://edge-court.onrender.com"}],"paths":{"/v1/audit/pine":{"post":{"operationId":"audit_pine","summary":"Edge Court Pine strategy audit (real data + parameter sweep + walk-forward)","description":"x402 v2: $0.25 — USDC on Base (eip155:8453) to 0x5BBd32e0478e49A7540EF2D760E0B0F9AA6328b2, USDC on Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) to Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty, or XRP on XRPL (xrpl:0) to rEmdJWrAWFtud1vFN8Zm8eWkgK4AVMWPiX. Unpaid request returns 402 with PAYMENT-REQUIRED; retry with PAYMENT-SIGNATURE. Settles only after the report is produced.","x-x402":{"price_usd":"0.25","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"250000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x5BBd32e0478e49A7540EF2D760E0B0F9AA6328b2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"250000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty","maxTimeoutSeconds":120,"extra":{"feePayer":"7Re9Q6xC4wMSVTr8XRm334gQD2Sko4ZXoGRHVcrKxF7k","facilitatorFee":"5000","facilitatorFeeRecipient":"Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty"}},{"scheme":"exact","network":"xrpl:0","amount":"200321","asset":"XRP","payTo":"rEmdJWrAWFtud1vFN8Zm8eWkgK4AVMWPiX","maxTimeoutSeconds":300,"extra":{"invoiceId":"inv_edge-court_95f74008f77ba0b748383618"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["source"],"properties":{"source":{"type":"string","maxLength":100000,"description":"Pine Script v5/v6 source that declares strategy(...)."},"market":{"type":"object","additionalProperties":false,"properties":{"symbol":{"type":"string","description":"Binance spot pair, default BTCUSDT"},"interval":{"type":"string","enum":["15m","30m","1h","2h","4h","6h","12h","1d"],"description":"default 4h"},"start":{"type":"string","description":"ISO date, default 2018-01-01"},"end":{"type":"string"}}},"ohlc_csv":{"type":"string","description":"Run on your own price history instead of Binance (futures, equities): time,open,high,low,close[,volume]."},"symbol":{"type":"string","description":"Label for ohlc_csv data, e.g. MNQ1!"},"interval":{"type":"string","description":"Label for ohlc_csv data, e.g. 5m"},"sweep":{"type":"boolean","description":"Parameter sweep + walk-forward (default true)."},"declared_trials":{"type":"integer","minimum":1},"date_order":{"type":"string","enum":["MDY","DMY"]}}}}}},"responses":{"200":{"description":"Signed audit report","content":{"application/json":{"schema":{"type":"object","description":"Full audit report (see /methodology). Includes verdict, checks, summary, significance, per_year, folds, window_illusion, regimes, parameter_sensitivity, walk_forward, monte_carlo, cost_stress, equity_curve, receipt, share, payment."}}}},"400":{"description":"Invalid input (no payment requested)"},"402":{"description":"Payment required (x402 v2 challenge)"},"422":{"description":"Strategy failed to run or produced no trades (payment not settled)"}}}},"/v1/audit/trades":{"post":{"operationId":"audit_trades","summary":"Edge Court trade-list audit","description":"x402 v2: $0.05 — USDC on Base (eip155:8453) to 0x5BBd32e0478e49A7540EF2D760E0B0F9AA6328b2, USDC on Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) to Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty, or XRP on XRPL (xrpl:0) to rEmdJWrAWFtud1vFN8Zm8eWkgK4AVMWPiX. Unpaid request returns 402 with PAYMENT-REQUIRED; retry with PAYMENT-SIGNATURE. Settles only after the report is produced.","x-x402":{"price_usd":"0.05","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x5BBd32e0478e49A7540EF2D760E0B0F9AA6328b2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"50000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty","maxTimeoutSeconds":120,"extra":{"feePayer":"7Re9Q6xC4wMSVTr8XRm334gQD2Sko4ZXoGRHVcrKxF7k","facilitatorFee":"5000","facilitatorFeeRecipient":"Hv4cEGpyyNJDvxvgBb3C8GkcwtouF1qUfPT13innuXty"}},{"scheme":"exact","network":"xrpl:0","amount":"40065","asset":"XRP","payTo":"rEmdJWrAWFtud1vFN8Zm8eWkgK4AVMWPiX","maxTimeoutSeconds":300,"extra":{"invoiceId":"inv_edge-court_a450ffa7fcbf19c5dbdba346"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"trades_csv":{"type":"string","description":"CSV export: TradingView Strategy Tester \"List of trades\", NinjaTrader Trade Performance, or any CSV with an exit time column and a P&L column."},"trades":{"type":"array","maxItems":200000,"items":{"type":"object"},"description":"Alternative to trades_csv: [{exit_time, pnl, entry_time?, side?}] with ISO or epoch times."},"ohlc_csv":{"type":"string","description":"Optional price history CSV (time,open,high,low,close[,volume]) for regime analysis, e.g. TradingView \"Export chart data\"."},"title":{"type":"string","maxLength":120},"date_order":{"type":"string","enum":["MDY","DMY"]},"declared_trials":{"type":"integer","minimum":1,"description":"How many strategy variants you tried before this one (feeds the Deflated Sharpe test)."},"initial_capital":{"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Signed audit report","content":{"application/json":{"schema":{"type":"object","description":"Full audit report (see /methodology). Includes verdict, checks, summary, significance, per_year, folds, window_illusion, regimes, parameter_sensitivity, walk_forward, monte_carlo, cost_stress, equity_curve, receipt, share, payment."}}}},"400":{"description":"Invalid input (no payment requested)"},"402":{"description":"Payment required (x402 v2 challenge)"},"422":{"description":"Strategy failed to run or produced no trades (payment not settled)"}}}},"/api/preview":{"post":{"operationId":"preview","summary":"Free preview (no verdict)","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Preview"}}}},"/api/verify":{"get":{"operationId":"verify_receipt","summary":"Verify a signed receipt token","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Verification result"}}}},"/api/report/{id}":{"get":{"operationId":"get_report","summary":"Stored report by audit_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Report"},"404":{"description":"Not found"}}}},"/api/methodology":{"get":{"operationId":"methodology","summary":"Methodology and rubric","responses":{"200":{"description":"Methodology"}}}},"/api/status":{"get":{"operationId":"status","summary":"Service status","responses":{"200":{"description":"Status"}}}}}}