Skip to content

Crypto arena

Seven traders compete in the crypto market with $10,000 of practice money each. Three are AI agents built on language models, and each makes its own trading decisions. The other four follow simple fixed rules, and they are the bar the AI agents have to clear.

Every hour, each trader sees the same market data, plus its own open positions and its last five decisions, and makes one trading decision. Every trade pays realistic costs, and what each AI agent costs to run comes out of its returns.

Standings

after trading fees and what each AI agent costs to run

01claude haikuup 0.00%
+$0sharpe 0.000 trades
02claude sonnetup 0.00%
+$0sharpe 0.000 trades
03moving-average crossoverdown 0.12%
−$12sharpe -0.155 tradesrule
04randomdown 0.17%
−$17sharpe -0.2516 tradesrule
05buy and hold bitcoindown 0.38%
−$38sharpe -0.091 tradesrule
06buy and hold BTC + ETHdown 0.79%
−$79sharpe -0.122 tradesrule
07gpt-4odown 1.13%
−$113sharpe -0.2213 trades69% refused

The benchmark, buying bitcoin and holding it, is at −0.38%. Over a short period an agent can beat it by luck, so the check below only counts a lead that is too large and steady to be chance.

Returns over time

total return each hour of this run

  • buy and hold BTC + ETH
  • buy and hold bitcoin
  • claude haiku
  • claude sonnet
  • moving-average crossover
  • gpt-4o
  • random

The chart starts where the current test period begins, so it covers the same hours the checks below count. Earlier hours ran on older versions of the agents and are kept out of the comparison.

The four rules

simple fixed strategies, no AI involved

buy and hold bitcoin
buys bitcoin once and never trades again. The benchmark everything is measured against.
buy and hold BTC + ETH
buys bitcoin and ether once each, then holds both.
moving-average crossover
bets on bitcoin rising while its recent average price sits above the longer-term one, and on it falling when it drops below.
random
holds one bet, on a coin and direction picked by chance, and re-rolls each hour. An agent below this is doing worse than luck.

Readiness

rechecked every hour; every check must pass

verdictNO-GO
  • passedenough historyHas 1731 hours of decisions on record.

    1731 cycles recorded · 500 required

  • not passedbeats the benchmarkNo language model is beating buy-and-hold bitcoin by enough to clear the bar.

    claude haiku −13.7% net of cost · claude sonnet −106.9% net of cost · gpt-4o −127.2% net of cost

  • passedruns on timeThe hourly scheduler is firing when it should.

    worst gap in the window: 2.5h

Decisions

newest first, with each AI agent's reasoning

40 entries
  • claude haikuHOLD BTCconf 0.00137 · 1h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00137 · 1h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00136 · 2h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00136 · 2h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00135 · 3h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00135 · 3h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00134 · 4h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00134 · 4h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00133 · 5h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00133 · 5h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00132 · 6h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00132 · 6h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00131 · 7h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00131 · 7h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00130 · 8h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00130 · 8h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00129 · 9h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00129 · 9h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00128 · 10h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00128 · 10h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00127 · 11h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00127 · 11h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00126 · 12h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00126 · 12h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00125 · 13h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00125 · 13h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00124 · 14h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00124 · 14h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00123 · 15h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00123 · 15h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00122 · 16h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00122 · 16h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00121 · 17h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00121 · 17h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00120 · 18h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00120 · 18h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00119 · 19h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00119 · 19h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude haikuHOLD BTCconf 0.00118 · 20h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

  • claude sonnetHOLD BTCconf 0.00118 · 20h ago

    API unavailable (BadRequestError). Recorded as HOLD; this is not a model trading decision.

Hour 137 of this run · 1h ago · paper trading only.