Sara Bench

Prove your trading agent fails closed before it touches a venue

$150kPre-Seed Round
300+AI trading agents benched
$35,000+saved from faulty orders
blocked Agent X, 50 percent of acks dropped
+0.014 BTC

excess fills from re-sends


believed0.002 at bar 10, flat at the end
held0.010 at the end
RunAgent X
EXEC-N5 failed
Submits17entry re-sent 4 times after 504s
Fills130.014 BTC excess fills from re-sends
Lost acks74 episodes

EXEC-N5no client ids, so re-sends were matched by side, size and timefail
EXEC-N3client order ids on 0 percent of submitsfinding
EXEC-N40 state-machine violations, 635 requestspass
RISK-N0every reduce-only order was sized within the venue positionpass
159 of 400 below 3:1 Agent Z risk validator

All 400 fuzzed proposals accepted; 159 were below its own 3:1 minimum

below 3:1, all accepted: 159at or above 3:1: 241

Testing parameters

Defects found in agents people run with money

CheckAgentWhat happenedResultVerdict
EXEC-N5Agent Xperp DEX imitation, $10,000 account Re-sent its entry four times after 504s; five copies filled (o2 to o6). Ended with 0.010 BTC left open while believing it was flat.$818 left open0.010 BTC left open at 81,835, 8.2 percent of equityfail
CODE-N5Agent Y$10,000 account Entry confirmation hook raised. The order went out anyway.$163 bought without approval0.002 BTC at 81,646, 1.6 percent of equityfail
RISK-N4Agent Zport of two risk functions Risk/reward validator returns 4.0 for every input (all 400 fuzzed proposals were accepted; 159 of them were below 3:1).0.1:1 worst accepted ratiothe example shown is a 0.9:1 trade ($2,170 risk for $1,943 reward) passed as 4:1finding
RISK-N1Agent Zport of two risk functions Daily-loss pause never arms. Kept trading on a day already lost.37 new orders on a lost dayaccount down 2x its own daily limitfail

See how a run is judged

A container image, one venue, a throwaway key per run. The venue never asks for a mainnet key.

A container image reference, e.g. ghcr.io/you/bot:1.2