Download a working bot
Start with our house bot and exact test contract. You can run everything locally without a YeNo account or trading capital.
Download the brief, run a sample, then follow the submission steps below.Download starter brief ↓
Provisional · 21 October 2026
The same 11 frozen builds ran in two separate 12-hour segments, with a 3-hour-50-minute gap. Of 288 scheduled markets, 282 passed data checks. This is not a continuous 24-hour result or an official qualification decision.
You submit code only. You do not deposit money, open a trading account, or place a real trade. Entry is free and online. YeNo may consider selected bots for a separate pilot under written terms; that review is optional and does not affect scoring. Visit YeNo ↗ Submit your bot →
Diagnostic only · not the official standings
This combines the same 11 sourceable builds frozen on 16 October across two separate 12-hour segments. The first had 143 of 144 usable markets; the second had 139 of 144. A 3-hour-50-minute gap separated them, so this is not one continuous 24-hour result. No bot reached $1,000 in completed-cycle volume in these segments. This diagnostic does not qualify or disqualify anyone officially. Later submissions and revised builds are not included; a twelfth entry could not be scored because its exact source was unavailable.
Swipe sideways to see cash, fees, completed cycles, and stop status.
| Builder | Combined completed-cycle volume | Cash at stop* | Fees | Completed cycles | Stop status |
|---|---|---|---|---|---|
| Hardik Gautam | $506.75 | $3.04 | $10.74 | 59 | Flat at stop |
| Devansh Goenka | $459.38 | $1.15 | $13.00 | 59 | Flat at stop |
| Vidyansh Singh | $448.19 | $3.63 | $8.39 | 46 | Flat at stop |
| Jatin Kumar | $208.23 | $0.01 | $9.08 | 33 | Open position at stop |
| Jianhao Cheng | $172.54 | $0.01 | $7.51 | 26 | Flat at stop |
| Jaswanth L | $164.36 | $1.12 | $7.44 | 50 | Open position at stop |
| Anmol | $111.16 | $0.70 | $3.29 | 15 | Flat at stop |
| Avinash Gehi | $81.27 | $0.79 | $2.85 | 10 | Flat at stop |
| Hardik Hinduja | $29.24 | $9.23 | $0.49 | 3 | Replay failed |
| Omar Baró / Unfire | $0.00 | $10.00 | $0.00 | 0 | Flat at stop |
| Sahil Deshmukh | $0.00 | $0.00 | $0.42 | 0 | Open position at stop |
*Cash from the first segment carried into the second and is shown once. These are simulated cash amounts, not profit. Open-position cash excludes the position value; the replay-failure row shows last recorded cash, not a final balance. Amounts are rounded to cents. Volume counts only completed buy-and-sell cycles. Rows are sorted by volume for readability, not ranked.
Separate diagnostic · not official standings
Both builds were run against a common set of 288 validated five-minute market inputs, using the same frozen paper rules and $10 starting cash. The markets came from separate captures on 21–23 October, with a 7-hour-40-minute gap; two markets failed validation and were excluded. Sanchit stopped before any market was scored; Hrisit stopped after 212 markets because of repeated decision errors. These partial results do not qualify or disqualify anyone or change the official standings.
Swipe sideways to see cash, fees, coverage, and status.
| Builder | Completed-cycle volume | Cash at stop | Fees | Completed cycles | Markets evaluated | Status |
|---|---|---|---|---|---|---|
| Hrisit Roy | $254.77 | $4.81 | $3.45 | 26 | 212 / 288 | Stopped after repeated decision errors; incomplete |
| Sanchit Gupta | $0.00 | $10.00 | $0.00 | 0 | 0 / 288 | Stopped before first scored market after repeated decision errors; incomplete |
Amounts are simulated. Cash at stop is not a profit measure. Volume counts completed buy-and-sell cycles only. Both bots ended flat, but each replay stopped before all 288 markets were evaluated; these are partial, nonofficial results.
Interim rerun · 23 October 2026 · not official standings
We replayed the same two frozen builds on the first 88 markets that passed data checks in the 23 October capture. They cover 7h20 of market time within a 7h25 span; one scheduled five-minute window (01:20–01:25 UTC) was excluded because its BTC reference data was stale. Both builds returned valid decisions on all 88 selected markets and finished flat. The replay stopped when its captured paper data ran out, so this is not a 24-hour result or an official qualification decision.
The selected input sets share 73 market IDs, but the earlier 288-market report did not evaluate those markets for either build: Sanchit stopped before evaluating any market, and Hrisit evaluated 212 markets from the earlier capture segment. This 88-market replay is the first scored evaluation of the shared IDs. Keep the diagnostics separate; do not combine their volumes or treat either as proof of profitability.
Swipe sideways to see the interim paper results.
| Builder | Completed-cycle volume | Cash after replay | Change from $10 | Fees | Max drawdown | Cycles | Coverage / status |
|---|---|---|---|---|---|---|---|
| Sanchit Gupta | $443.47 | $2.21 | -$7.79 | $15.27 | $9.34 | 68 | 88/88 · 0 invalid · flat · INCONCLUSIVE · paper data ended |
| Hrisit Roy | $395.89 | $6.08 | -$3.92 | $5.14 | $5.49 | 40 | 88/88 · 0 invalid · flat · INCONCLUSIVE · paper data ended |
Each rerun starts with $10 of simulated cash. Cash change is not a forecast or proof of strategy edge. The 88-market result is inconclusive for the official 24-hour test; it does not rank, qualify, or disqualify either build. Rows follow frozen submission order, not performance rank. The separate 24-hour capture was still running at 08:09:36 UTC on 23 October.
Your first five minutes
python3 yeno_competition_starter_bot.py→python3 yeno-smoke-test.pyYou should see contractSmokePassed: true. That confirms your local bot works; it is not a score.
How it works
Download our bot, test your strategy, and send us a frozen build. We handle the market data, simulated trades, and scoring.
Start with our house bot and exact test contract. You can run everything locally without a YeNo account or trading capital.
Improve when it buys, when it exits, and how much it risks. Use the included local smoke test to confirm your endpoint, then submit the frozen build you want evaluated.
Submit one frozen commit or container. Builderr runs it for 24 hours on unseen YeNo BTC market data and handles the cash, fills, fees, and scoring.
Bots qualify when a completed cycle first takes them to $1,000 of volume and they are then flat with no pending action. The highest-ranked qualifying bot wins the YeNo-sponsored $500 prize.
Qualification
The public rule, download, and machine evaluator use the same numbers.
Scoring
The bot cannot inflate its score with retries, order count, or unfinished inventory.
Eligible volume
executed BUY notional + executed SELL notionalRejected orders, cancellations, zero fills, settlements, redemptions, pending inventory, and incomplete exits add zero. Partial fills are combined into the same cycle.
Among bots that are flat at their first clean $1,000 crossing, the highest simulated cash wins.
If cash ties exactly, the bot with lower peak-to-trough drawdown ranks higher.
If both still tie, the bot reaching $1,000 sooner ranks higher.
Starter kit
You need Python 3. No YeNo account, API key, wallet, or deposit.
Get the minimal bot, sample input, local test, and exact rules in one zip.
Download the starter kit ↓Start the bot locally. It listens for the same request shape used in the official paper run.
Open the 3-step guide ↓Send the included sample market-data request to your local API and confirm its answer is valid.
Get the local API test ↓The local test checks only your POST /decide interface. It is not a score. In the official run, Builderr sends unseen paper market data to that same endpoint—so there is no separate YeNo test account or API key to request.
Then change the strategy. Do not change evaluator-owned cash, fills, fees, volume, or position accounting.
These are internal development replay results, not official scores. The replay paths are not included in the starter kit. None of the starter bots has qualified yet.
$559 median · $943 best
Trades five-share BTC-reference moves near expiry, checks immediate exit depth, caps entry loss, and allows two cycles per market. This is the included code baseline.
$169 median · $762 best
Reference configuration only; its implementation is not included. It requires the order book to agree with the public BTC signal and trades less often.
$168 median · $818 best
Reference configuration only; its implementation is not included. It removes the immediate-loss cap and was less reliable in development runs.
Development benchmark · Sep 22, 2026
These results come from resampled recorded regimes used during development. They guide builders; they are not a forward qualification result.
No validation path crossed $1,000. Six of 30 reached at least $750. Under a two-cent adverse execution stress, the best run fell to $385 and the median to $70. The largest opportunities are better regime selection, execution timing, dynamic sizing, and guaranteed deadline flattening.
Benchmark meaning: $943 is the best observed development run—not an expected result, promise, or official score.
Build against this
You submit only the algorithm. It never receives a key or controls a real ledger; it only returns HOLD, BUY, or SELL to the paper evaluator.
POST /decideJSON in · JSON out// evaluator → your bot
{
"market": { "id": "opaque", "secondsToClose": 84 },
"account": { "cashUsd": 10, "eligibleVolumeUsd": 0, "position": null },
"rules": {
"maximumBuyCashUsd": 5,
"targetVolumeUsd": 1000,
"evaluationWindowHours": 24
},
"reference": {
"btcMidUsd": 80482.155,
"openingTargetUsd": 80444.946,
"observedAt": 1789880823.619,
"targetObservedAt": 1789880814.203,
"targetProvisional": false
},
"books": {
"YES": { "bids": [[0.49, 100]], "asks": [[0.50, 100]] },
"NO": { "bids": [[0.49, 100]], "asks": [[0.50, 100]] }
}
}
// your bot → evaluator
{ "action": "BUY", "outcome": "YES", "maxCashUsd": 4.80 }HOLDSkip a weak, thin, stale, or late setup.
BUYChoose YES or NO and a fee-inclusive cash ceiling.
SELLRequest a full exit; partial fills remain one cycle.
Submit a repository or HTTPS endpoint plus an immutable commit or container digest. Official runs block arbitrary outbound network access and record the exact input-data hash.
Reality model
The paper evaluator models the expensive and awkward parts of real execution so results are useful to YeNo.
The evaluator applies the 1% YeNo overlay observed in our test account and the dynamic crypto taker fee, 0.07 × shares × price × (1 − price), on entry and exit.
Every action waits 250 ms, then crosses a later L2 update for its own outcome. An opposite-side update cannot reuse a pre-decision quote.
Displayed depth, minimum order size, split exits, share dust, and executable one-sided books near expiry are modeled. A partial exit remains the same cycle.
A timeout is not permission to retry. Reconcile the venue first or risk opening a duplicate position.
Books older than two seconds are rejected. New entries are blocked inside the final 15 seconds. Qualification requires a flat account at the first clean $1,000 crossing.
Each request can include the public BTC midpoint, YeNo opening target, receive timestamps, and a provisional flag. Future-stamped target rows are excluded.
Protocol fee source: Polymarket's current fee documentation. It specifies the crypto rate, price curve, taker-only application, and five-decimal fee precision. The additional 1% overlay is modeled from observed YeNo test-account execution.
Market scope
A narrow universe keeps market data, fills, and qualification comparable.
Qualification uses one unseen, receive-time-ordered 24-hour YeNo window. Internal recorded replay informed development but is not bundled with the starter kit or used for the official score.
Entrants submit an algorithm for paper evaluation. You do not fund an account, receive trading credentials, or place real orders.
Submit
The house bot is a development baseline, not a qualifying result. Run your improved version locally, then send the exact commit or container you want us to test.