ToolAssay

Reads your whole trade history and answers with exact laws, not a market forecas

Reads your whole trade history and answers with exact laws, not a market forecast: is your edge proven (bootstrap, probabilistic Sharpe ratio, trades still needed), does your position size make you lose despite an edge (Kelly, volatility drag), did your edge die and when (CUSUM change detection), wh

Answeringour last check, 2026-10-20
1 of 1checks answered this week
1736 msmedian answer time
$0.3276listed price per call
$0.3312price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://verdict.kechlab.com/v1/trade-audit

CategoryCode and developer
Provider hostverdict.kechlab.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-20 valid payment request 402$0.3312 1736 ms

Example input (from the provider)

{
  "body": {
    "challenge": {
      "daily_loss_pct": 5,
      "fee": 540,
      "max_loss_pct": 10,
      "target_pct": 10
    },
    "equity": 25000,
    "trades": [
      {
        "close_time": "2026-03-02T09:05:00Z",
        "note": "A setup, plan followed",
        "open_time": "2026-03-02T08:10:00Z",
        "pnl": 410,
        "risk": 250,
        "side": "long",
        "symbol": "EURUSD"
      },
      {
        "close_time": "2026-03-02T10:20:00Z",
        "note": "pullback entry",
        "open_time": "2026-03-02T09:40:00Z",
        "pnl": -240,
        "risk": 250,
        "side": "short",
        "symbol": "EURUSD"
      },
      {
        "close_time": "2026-03-02T10:50:00Z",
        "note": "need to get it back",
        "open_time": "2026-03-02T10:24:00Z",
        "pnl": -470,
        "risk": 480,
        "side": "long",
        "symbol": "XAUUSD"
      },
      {
        "close_time": "2026-03-03T10:00:00Z",
        "note": "breakout retest per plan",
        "open_time": "2026-03-03T08:30:00Z",
        "pnl": 520,
        "risk": 250,
        "side": "long",
        "symbol": "GBPUSD"
      },
      {
        "close_time": "2026-03-03T14:40:00Z",
        "note": "saw it moving",
        "open_time": "2026-03-03T14:05:00Z",
        "pnl": -255,
        "risk": 250,
        "side": "short",
        "symbol": "US30"
      },
      {
        "close_time": "2026-03-04T09:30:00Z",
        "note": "trend pullback, stop under swing",
        "open_time": "2026-03-04T08:15:00Z",
        "pnl": 300,
        "risk": 250,
        "side": "long",
        "symbol": "EURUSD"
      },
      {
        "close_time": "2026-03-04T10:30:00Z",
        "note": "A setup",
        "open_time": "2026-03-04T09:50:00Z",
        "pnl": -250,
        "risk": 250,
        "side": "long",
        "symbol": "EURUSD"
      },
      {
        "close_time": "2026-03-04T11:00:00Z",
        "note": "one more, it will turn",
        "open_time": "2026-03-04T10:33:00Z",
        "pnl": -460,
        "risk": 450,
        "side": "short",
        "symbol": "NAS100"
      },
      {
        "close_time": "2026-03-05T09:45:00Z",
        "note": "plan followed",
        "open_time": "2026-03-05T08:20:00Z",
        "pnl": 610,
        "risk": 250,
        "side": "short",
        "symbol": "GBPUSD"
      },
      {
        "close_time": "2026-03-05T14:30:00Z",
        "note": "bored, small setup",
        "open_time": "2026-03-05T13:55:00Z",
        "pnl": -245,
        "risk": 250,
        "side": "long",
        "symbol": "US30"
      }
    ]
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "challenge": {
              "description": "(optional) { target_pct, max_loss_pct, daily_loss_pct, max_days, trailing, phase2_target_pct, fee }: the rules of your funded account challenge",
              "type": "object"
            },
            "current_risk_pct": {
              "description": "(optional) your usual risk per trade, in %"
            },
            "equity": {
              "description": "(optional) starting balance, for percentages",
              "type": "number"
            },
            "max_drawdown_pct": {
              "description": "(optional) largest drawdown you can bear, 20 by default"
            },
            "tag_notes": {
              "description": "(optional) false to keep the notes from being read"
            },
            "trades": {
              "description": "list of 10 to 5000 trades { pnl, risk or r, open_time, close_time, symbol, side, size, note } (pnl or r required)",
              "items": {
                "type": "object"
              },
              "type": "array"
            },
            "variants_tried": {
              "description": "(optional) number of strategy variants tried before this one"
            }
          },
          "required": [
            "trades"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON