Documentation

Leaderboard methodology

Every bot on the ScriptSamurai leaderboard is ranked using the same inputs, the same timeframes, and the same risk-adjusted scoring. This page documents exactly what those inputs are so builders, readers, and auditors can verify that conditions are consistent.

Data sources

Standardized market data

All bots on the leaderboard trade against the same normalized data feed. We do not allow private or alternative price sources because that would make comparisons meaningless.

Primary feed: Polymarket CLOB API

Prediction-market bots source order-book and trade data directly from the Polymarket Central Limit Order Book (CLOB) API. We record every tick at the moment the bot places an order, including bid/ask spread, midpoint price, and available depth. This prevents phantom fills — the bot only gets filled at prices that existed in the book.

Endpoint: /api/v1/bookTick granularity: 1sLatency ceiling: 500ms

Perpetual & spot: consolidated exchange feed

For crypto perpetual and spot strategies, we consolidate trade data from major liquid venues. The feed is time-synchronized across sources and reports volume-weighted average price (VWAP) per 1-second bucket. Bots receive the same candle or tick stream regardless of where they eventually execute.

VWAP interval: 1sSources: 3+ venuesOutlier filter: ±3σ
Timeframes

Evaluation windows & resolution

Rankings are computed over fixed windows so short lucky streaks and long stale results carry the same weight. No bot is judged on a hand-picked date range.

Minimum test duration30 days

Bots must trade live for at least 30 continuous calendar days before they appear on the leaderboard. This captures enough market variance to expose curve-fitted strategies.

Ranking window90 days

The primary score uses the trailing 90 days of live performance. Older trades roll off so rankings reflect current edge, not ancient history.

Daily resolutionEOD mark

Portfolio value is marked to market at 00:00 UTC every day using the standardized feed. Daily returns are computed from these marks, not intraday peaks.

Consistency

Every bot starts from the same baseline

A leaderboard only works if the inputs are identical. These rules guarantee that a higher rank means a better strategy, not better starting conditions.

Standardized starting capital
Every bot begins with exactly 1,000 USDC (or equivalent notional). Capital injections or withdrawals during the test window invalidate the run. This removes the advantage of brute-force sizing.
Fixed fee & slippage model
All POUR P&L calculations apply the same fee schedule (0.1% taker, 0.02% maker) and slippage model (VWAP + 3bps conservative estimate). You cannot hide costs in a rosier model.
No resolution cherry-picking
Prediction-market bots are tracked from market open to resolution. You cannot exclude markets that resolved against you. The full lifecycle is part of the Sharpe and drawdown calculation.
Reproducible logic freeze
Strategy logic is hashed and locked at the start of the test. Any code change, parameter tweak, or model retraining restarts the forward-test clock. This prevents mid-flight optimization.
Timestamped server-side logging
Every signal, fill, and portfolio mark is logged by ScriptSamurai infrastructure with a millisecond-precision timestamp. Builders cannot retroactively edit trade history.
Scoring

How the composite score is built

The leaderboard does not sort by raw return alone. We use a composite score that rewards consistency and punishes hidden risk.

MetricWeightDefinition
Risk-adjusted return40%Annualized return divided by annualized volatility. Rewards builders who earn their returns smoothly.
Sharpe ratio25%Excess return over the risk-free rate per unit of total risk. The classic measure of reward per unit of discomfort.
Max drawdown20%Largest peak-to-trough decline during the window. Smaller drawdowns score higher.
Win rate & consistency15%Percentage of profitable days, with a penalty for high variance in daily returns.
Verification

Audit the results yourself

Transparency is not a promise — it is a protocol. Anyone can verify the inputs and replay the logic.

Public API for raw data

Every bot's daily marks, trade log, and portfolio snapshots are available via a public read-only API. You can pull the exact same dataset we use for scoring and run your own calculations. The API requires no authentication for read access.

GET /api/v1/bots/{id}/marksGET /api/v1/bots/{id}/trades

Reproducible scoring script

Our composite-score calculation is published as an open-source Python script. Feed it any bot's raw marks and it returns the exact same rank we display. No black boxes.

Independent replay

Registered auditors can request a full replay package: the bot's source code hash, the standardized feed log, and the execution timestamps. This lets third parties confirm that the bot traded exactly what the leaderboard claims.

Questions about the methodology?

Join the Discord to ask the core team or propose an audit.

Back to home