Rulebook · Season 0

Tournament rulebook.

One protocol, one feed, one clock. Every ranked bot runs under the same conditions so the leaderboard reflects skill — not luck, not selection bias, not who had the fastest private data.

1. Eligibility

  • — Open to any individual builder or two-person team, 18+.
  • — One active submission per builder per season.
  • — Bots must be your own work. Wrapping a third-party signal service without material logic on top is not permitted.
  • — Residents of jurisdictions where the underlying venue (e.g. Polymarket, Kalshi) is restricted may still build and submit bots — they run against the shared forward-test feed, not real capital.

2. Submission format

Every submission is a small, self-contained package:

  • — Language: Python 3.11 (only runtime for Season 0).
  • — Entrypoint: a single class implementing on_tick(state) -> list[Order].
  • — Dependencies: pinned in requirements.txt, restricted to the published allow-list (numpy, pandas, scipy, scikit-learn, statsmodels, pydantic, orjson).
  • — Artifact size: ≤ 1 MB, uploaded as a single zip.
  • — Resource caps per tick: 0.5 vCPU, 512 MB RAM, 30 s wall-clock.

3. Season cadence

  • — Seasons run 90 days end-to-end.
  • — A 2-week submission window opens before each season.
  • — A 1-week paper-trading shakedown validates every bot end-to-end.
  • — After close, results are locked; the top 10 receive a final replay audit.

4. Market universe

The universe is fixed at season start and published to the methodology page. Season 0 targets the top-liquidity Polymarket CLOB markets by 7-day rolling volume, capped at 10 markets to keep the feed deterministic. Bots may trade any subset of those markets; markets added or resolved mid-season do not enter the universe.

5. Standardized inputs

  • Data feed: a daily, cron-ingested snapshot of each market's live Polymarket CLOB midpoint, normalized to (ts, market_id, mid) rows, replayed identically to every bot.
  • Timeframe: one snapshot per market per calendar day (daily cadence), not a continuous or sub-day tick feed.
  • Fees: 0.1 % taker, 0.02 % maker modelled at fill time.
  • Fill price: every order fills flat at Polymarket’s live CLOB midpoint at the instant it’s placed. No spread buffer, no VWAP smoothing — the same live number for every bot.
  • Starting capital: 1,000 virtual USDC per bot.

6. Scoring

Rank is a percentile-weighted composite: Sortino (35 %), Calmar (25 %), max drawdown (25 %), consistency (15 %). Each metric is converted to a percentile rank across the season's qualified field, then combined into a 0–100 composite. Full formulas live on the methodology page.

A minimum of 30 live trading days is required to appear on the ranked leaderboard. Bots below that threshold show in an "unranked" shadow list.

7. Guardrail mandate & breach policy

At submission, every agent declares its mandate: a maximum drawdown limit, a maximum position size (% of account), and a maximum daily loss. The declaration is immutable once submitted — you cannot loosen your own mandate mid-season. Breaches are logged automatically by the scoring engine and shown on the agent's Verified Agent Record.

In Season 0, guardrail adherence is reported, not weighted in the composite score — a breach does not move your rank. A breach of the declared max-drawdown limit disqualifies the agent from prize eligibility for that season; the agent stays on the leaderboard and keeps its rank. From Season 1, guardrail adherence becomes a scored component. This is a separate track from disqualification triggers below, which remove a run from the leaderboard entirely.

Season 0 runs on Polymarket's event-resolved markets: positions are marked daily at venue mid-price (mark-to-market), and consistency is measured as the share of weeks (not days) with positive mark-to-market P&L. Full definitions live on the methodology page.

8. Disqualification triggers

  • Lookahead: reading any tick with a timestamp beyond the current virtual clock.
  • Private data: fetching or embedding external feeds not published in the season universe.
  • Sandbox breakout: outbound network calls, filesystem writes outside /tmp, subprocesses, or importing packages outside the allow-list.
  • Non-determinism: RNG without the provided seed, or logic changes mid-run.
  • Runtime failure: more than 1 % of ticks lost to exceptions, timeouts, or OOM kills.
  • Copying: submissions substantially identical to another entry.

9. Prize distribution

Prize pools are sponsored per season and announced at the submission window opening. A representative split for a $10,000 pool:

  • — 1st: 40 %
  • — 2nd: 20 %
  • — 3rd: 12 %
  • — 4th–10th: 4 % each

Payouts are made in USDC on Polygon within 14 days of season close, after the replay audit clears.

10. Appeals

Any builder may request a full replay of any ranked run — their own or a competitor's — within 7 days of the season closing. Appeals are reviewed by two independent verifiers from the community and one ScriptSamurai maintainer. All decisions and the underlying replay logs are published.

Addendum B — Season 0 Private Beta

This addendum governs the Season 0 Private Beta specifically. Where it conflicts with the rest of this rulebook during the beta, this addendum controls.

  • B.1 Scope and duration. The beta begins when the first invite code is issued and ends at public launch, or earlier at the founder's notice on the site.
  • B.2 Access. Signup for the Season 0 Beta is currently open to the public — no invite code is required. (The founder may reinstate invite-only access at any time; if reinstated, codes are personal, non-transferable, revocable, and attributable — we record which code brought which account.)
  • B.3 Simulated accounts. All beta trading occurs in simulated accounts: virtual balances marked against real market prices under this rulebook's fill and mark rules. No real money is deposited, traded, owed, or paid out. Nothing on ScriptSamurai constitutes financial advice or an offer of financial services.
  • B.4 Cohort and standings. All beta bots compete in a single cohort, the Season 0 Beta, on a shared leaderboard. Every listing that shows performance also shows each bot's origin label (Builder, Code, or Signal). Beta standings are a test of the system and of strategies — they confer no rank, title, or entitlement beyond the beta itself.
  • B.5 No Verified Agent Records, no prizes. No Verified Agent Records are issued for beta activity, and no prizes, rewards, or monetary value of any kind attach to beta performance. These exclusions are enforced in code and cannot be waived for individual bots or users during the beta.
  • B.6 Builder bots. Builder bots are created from the dojo's curated strategy forms (archetypes). A plain-language description is mapped to a form and its parameters; the mapping never generates code, and no user-authored code is executed. Parameters are fixed at creation. Each account may run up to 3 Builder bots; bots may be paused or retired, and a retired bot frees its slot while its history is preserved.
  • B.7 Deferred eligibility. Whether Builder bots may enter ranked competition at public launch is a founder decision made at public launch — it is neither promised nor excluded by anything in this beta. No beta outcome, standing, or record creates a claim to ranked eligibility.
  • B.8 Names and conduct. Bot names must be free of profanity and must not impersonate real people, organizations, or brands. Names are screened at creation, and the founder may rename, pause, or remove any bot or account that violates these standards or abuses invite codes, quotas, or the platform. Revoked access ends beta participation immediately.
  • B.9 Founder controls. A global control may pause the Bot Builder and/or all Builder bots at any time without affecting other agents. The founder may modify, suspend, or end the beta at any time; material changes are announced on the site.
  • B.10 At public launch. Beta bots persist: their configuration and ownership carry over. Equity and standings reset to a clean slate at the season boundary, so all public-season participants start level. Beta performance records are archived and viewable but are not ranked and carry no weight in any public season.
  • B.11 Amendments. The founder may amend this addendum during the beta. Material amendments take effect on publication and are announced on the site or by email to beta participants.

Ready to submit? Register an agent to enter, ranked.