Open for entriestrading agents

Build a trading bot for a $100,000 paper account.

Your bot receives market prices and account holdings, then chooses what to buy or sell. We score its simulated account using live market data. Beat the previous round's winner to qualify for a prize.
Prize
$1,000 to top 3
Closes
Sep 30
Scored on
Paper-account return
Benchmark
Beat the previous round's winning agent

Download the brief, run a sample, then follow the submission steps below.Download starter brief ↓

About these results: Entrants start on different dates; each result is tied to its published forward window.

The benchmark code and notes are public. The short starter brief gets you moving; the detailed sections below cover the template, preview command, submission paths, and revision rules. Download it →

What to build

Build a bot that chooses what to buy or sell in a $100,000 simulated account. It receives market prices, holdings and cash, then returns its trading decisions.

  1. Fork the starter template.
  2. Implement decide(market_state, portfolio_state, cash) in agent.py — or just rename baseline.py to agent.py for a 5-minute first starting point to test locally.
  3. Check it locally: run python preview.py. It runs your bot across three public market windows and reports whether it passes the local safety checks. Builderr runs the admission checks after you submit.

For Round 2, your first try is not your last. Submit early; revise up to 4 times before the cutoff — each submission or revision is scored forward from its first scored market session. A late revision therefore has fewer scored market days.

What to submit

Send a public repository URL, arrange read-only access to a private repository, or send an HTTPS POST /decide endpoint to submit@builderr.ai. The submission options below explain setup and code access.

Endpoint entries keep code private during live scoring. To claim a prize, winner status or certificate, a provisional top-3 entrant must provide read-only access to the exact scored agent for audit. Confirmed top-3 code is shared with backers under the published terms; you keep ownership.

How we test it

First, we run the hidden validation checks to decide admission. Your bot must run and follow the trading limits. Admitted bots trade in simulated accounts using live market data, starting from each bot’s first scored market session.

The local preview uses three public market windows to help you check the bot before submitting. Its result does not determine live rank.

How you score

  1. First, pass the safety checks. Your program must run and follow the trading limits. The hidden validation results decide admission, not rank.
  2. Then, grow the paper account. Ranking uses percentage return from each bot's first scored market session. For example, $100,000 becoming $103,000 is a 3% return.
  3. To win, beat the benchmark and pass review. Prize eligibility requires beating the previous round's winning agent and verifying the exact code that produced your result.

Bots can start on different dates. Read each result's published window before comparing returns. You do not deposit money or connect a brokerage account.

You do not risk

brokerage login, deposits, API keys, or real money

You submit

a public repo, a private repo (read-only), or an HTTPS endpoint

We return

an admission result and a report from the validation tests

One thing to know before you compete: top-3 results are provisional until the agent is audited. To receive a prize, winner status, or certificate, you must give Builderr read-only access to the exact agent version used during scoring. Confirmed top-3 code is then shared with the challenge backers under the published terms — and #1 may trade the real $100k. Below top 3, nothing of yours is shared. You keep ownership either way.

See how the field's doing — the market vs the agents already in:

What you get back (sample admission email)+

When you submit for Round 2, you get an email like this after we run the three hidden validation windows. The admission check asks only whether the bot ran cleanly and stayed inside the limits. The numbers are information, not the ranking; live market data in Round 2 is what scores you. (Real numbers from our seed dual-momentum bot.)

builderr admission check
  regime           Sharpe   MaxDD   Calmar    Return
  crash (contagion)  2.06    3.92%    7.28     +2.13%
  rate downtrend     1.49    5.52%    8.17     +3.38%
  vol spike          1.54    4.48%    4.37     +1.61%

  STATUS: ADMITTED  —  ran clean, no breach, no blow-up.
  You're in the live market board. Profile is info,
  not your rank — return over live market data decides that.

Pre-submit checklist

  • No .env and no API keys committed (your repo may be public).
  • python preview.py says you clear the safety bar.
  • Every position stays under the 30% cap; gross stays under 1.5×.
  • No external data for the regime dates (that's lookahead — instant DQ).
  • It runs with only the bars we give you — no hidden local files.

Submission options

Three ways to hand us your code. None of them needs a brokerage login, a deposit, or real money. Here's the honest trade-off of each — pick the one that fits how much you want to share.

Public repo

simplest
You
Push to a public GitHub repo and email the URL to submit@builderr.ai.
We get
Nothing special — we clone it like anyone else can.
Trade-off
Anyone can read your code, including other entrants while a round is live — and a public repo is the easiest place to accidentally leak a key. Upside: zero setup, and you get a public proof-of-work piece you can show off.
Best if
You don't mind your strategy being visible, or you'll open it up after the contest anyway.

Private repo, read-only access

protects your edge
You
Keep the repo private. Email us first; we reply with a read-only deploy key (one line of text). You paste it into Settings → Deploy keys with “Allow write access” left OFF, then reply. We clone, then you delete the key.
We get
Read access to that one repo, and nothing else.We cannot push to it, we can't see your other repos, and the access dies when you remove the key. We verified this end-to-end: the key clones, and a push with it is rejected.
Trade-off
About two extra minutes of setup, and one email back-and-forth to swap the key. Upside: your strategy stays off the public web — competitors can't read it mid-contest.
Best if
You'd rather not show your edge to the field while the contest is running.

Endpoint mode — keep code private during live scoring

private while live
You
Host a small HTTPS endpoint (POST /decide). We send market data; you return orders. Email us the URL.
We get
Only your orders while the round is live. Your code, prompts, and API keys stay on your server unless you finish provisionally in the top 3.
Trade-off
You host it and keep it up during scoring. Endpoint results stay provisional: claiming a prize, winner status, or certificate requires read-only audit access to the exact scored agent. If it cannot be provided or reproduced, the entry is prize-ineligible and the next eligible entry moves up.
Best if
A proprietary model, or you use an LLM key you simply won't expose.

Why we don't just ask you to add us as a collaborator: on a personal GitHub repo, a collaborator gets writeaccess — they could push to your code. We don't want that and you shouldn't give it. A deploy key is read-only and scoped to the single repo. That's the difference, and it's why we use it.

What we do — and don't do — with your code+
  • Leaderboard placement is not final winner verification. The provisional top 3 must provide read-only access to the exact scored agent for reproduction and a lookahead/rules audit before prizes, winner credentials, or certificates are issued.
  • If the audit passes, the agent goes to the backers — confirmed top-3 code is shared under the published terms, and #1 may trade the real $100k. Below top 3, nothing is shared.
  • If a provisional winner refuses access, submits a different agent, or cannot reproduce the scored behavior, that entry is prize-ineligible and the next eligible entry moves up.
  • Builderr reads and runs your code for evaluation and verification. Confirmed top-three code is shared with backers under the published terms; you retain ownership.
  • You keep ownership of your code. The template is MIT; your repo stays yours.
  • No brokerage connection is required. No LLM is required — the reference bots are plain Python logic.
  • Never commit an API key. If you use an LLM, endpoint mode (above) or a capped throwaway key keeps it safe.

Rules, fairness & timeline

  • Round 2 board: the same data policy, fill rules and caps apply to everyone; ranked by return over each bot's forward live window. Prize and builder points require beating the previous round's winning agent.
  • Endpoint audit: endpoint code may stay private during live scoring, but a provisional top-3 entrant must provide the exact scored agent for audit before the result becomes a verified win.
  • Rule violations include using future information, breaking the caps, or malicious code. We explain the issue first. Losing money or using a simple strategy is not misconduct; the platform rules also apply.
  • Platform-wide rules →
Study the previous winner and Round 1 results+
Learn from the benchmark

The previous round's winning agent is the Round 2 benchmark. Read the public code and breakdown before you build your next submission.

Read the Round 1 winner breakdown →Open the winner project →

Previous run

Round 1 final results

Finalized from the July 2, 2026 US market close.

#AgentReturnPrize
1Arnav+5.91%$1,200
2Aarya+3.91%$500
3Robert+2.39%$300
4Meet+2.04%
5Tanishq+1.29%

Prize winners were Arnav, Aarya, and Robert. Reference and house bots were excluded from prize positions.

90 seconds: build a trading bot from a market thesis — just by talking to your AI.
Not here to build? Back the challenge

This challenge is sponsored by Soham Sinha— he backs the $1,000 Round 2 bounty. The competition accounts are simulated. Any separate use of winning code with real money is not evidence of the competition's returns.

Back it with $200+ and you get the top qualifying agents — the actual code — within ~15 days of the close. Your top-up joins the pool and splits in the same 60/25/15 ratio, lifting all three prizes and pulling in stronger builders. Back this challenge →

Back the bounty →
Fork the templateHow to enter →