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.
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.
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.
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.
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.
The primary score uses the trailing 90 days of live performance. Older trades roll off so rankings reflect current edge, not ancient history.
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.
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.
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.
| Metric | Weight | Definition |
|---|---|---|
| Risk-adjusted return | 40% | Annualized return divided by annualized volatility. Rewards builders who earn their returns smoothly. |
| Sharpe ratio | 25% | Excess return over the risk-free rate per unit of total risk. The classic measure of reward per unit of discomfort. |
| Max drawdown | 20% | Largest peak-to-trough decline during the window. Smaller drawdowns score higher. |
| Win rate & consistency | 15% | Percentage of profitable days, with a penalty for high variance in daily returns. |
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.
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.