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
| Category | Code and developer |
|---|---|
| Provider host | verdict.kechlab.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 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"
}