AgentBench for Bitget
Built for the Bitget Agent Hub ecosystem

Trading agents make claims. AgentBench makes them checkable.

A backtest scorecard for a Bitget trading agent that a stranger can re-run and confirm, with no API keys and no real money. Doctor a single number and the verdict turns red, live in your browser. No video, no install, no trust.

npm v0.5.0 149 tests passing 27 reproducible reports 9 strategies CI green MIT zero keys / zero real money

The gap

Agent Hub lets an agent trade. It can't tell you the agent is any good.

There's no replay, no fill simulation, no PnL or drawdown accounting and nothing a third party can re-run. So every team either trusts a screenshot or trades live to get evidence. AgentBench fills that gap and closes it with verification.

Today

An agent posts a chart and a number. You either trust it or you don't. A screenshot proves nothing.

The other option

Trade live to get real evidence. That costs real money and risks a runaway agent.

AgentBench

A scorecard whose every number recomputes from the trades. Re-run it and check, on a fresh clone, in seconds.

See it, no video needed

A real scorecard verifies. Then we doctor one number.

Everything below runs the real verifier on a committed report, in this browser, no server in the loop. It loops on its own when it scrolls into view, so there is nothing to press and no video to trust. The file on disk is never touched, the tamper happens in memory.

agentbench verify verified

A committed scorecard for sma-crossover, recomputed from its own trade ledger. Every number matched.

VERIFIED sma-crossover
BTCUSDT 4h930 bars
return %-2.14
sharpe-2.46
max drawdown %2.70
win rate %27.8
trades18
datafixture
integrityPASScontent hash matches (c06cf08a59c633ab…)
datasetPASS930 fixture candles re-hash to the claimed dataset SHA256 (3476016e55d868ed…)
ledgerPASSall 12 headline metrics recompute from 36 fills + the equity curve
replayPASSre-running sma-crossover (built-in) from the manifest reproduces every metric
integrity, dataset, ledger and replay each recompute from scratch. Re-stamping the hash can't save a doctored number. This runs on a loop on its own.

Your turn

Verify it yourself. Four ways, one engine.

The same verify that ships in the npm package and runs in CI, compiled for the browser. Pick a committed report, run a fresh strategy, doctor a number, or drop in a report you produced with the CLI.

How verify works

Four independent checks. Any one fails, the verdict fails.

integrity

The file was not edited

Recomputes the scorecard's content hash and asserts it matches. Catches any edit to scorecard.json.

dataset

The candles are the claimed ones

Reloads the candles named in the manifest, re-hashes them (SHA-256) and asserts the match. Catches swapped or doctored price data.

ledger

The metrics follow from the trades

Recomputes every headline metric straight from the trade ledger and equity curve. Catches numbers that don't follow from the fills.

replay

The strategy reproduces the run

Re-runs the strategy from the manifest's own seed and config. The strongest check. Built-ins replay automatically, your own with --agent.

A content hash alone only proves a file was not edited. A forger could change a number and re-stamp the hash. They still can't beat ledger and replay, which recompute the numbers from scratch. That layering is the point.

Bitget ecosystem fit

It speaks Agent Hub, and slots next to the official Bitget MCP.

Drop in an Agent Hub agent

Agent Hub agents place trades with spot_place_order. That's exactly AgentBench's order shape, so fromAgentHub wraps an existing agent with no rewrite.

import { fromAgentHub } from "bitget-agentbench";

export default fromAgentHub("my-hub-agent", decide);
// decide(bar, ctx) returns the same spot_place_order calls

Agents grading agents, over MCP

Ships an MCP server with two tools, so an agent in Claude or Cursor can backtest and grade a strategy inside its own loop, beside the official Bitget MCP server.

claude mcp add -s user agentbench -- \
  npx -y -p bitget-agentbench agentbench-mcp
// agentbench_run -> scorecard, agentbench_verify -> PASS/FAIL

Verify in CI

A committed scorecard should fail the build if its numbers stop reproducing. One action line does it, and this repo dogfoods it on every push.

- uses: zkasuran/bitget-agentbench@v0.5.0
  with:
    report: ./report

Zero setup, real data

Ships real Bitget candle fixtures, so a full backtest runs the moment it's installed. Live mode pulls from Bitget's keyless public endpoint and snapshots the exact candles, so a live run stays checkable too.

npx agentbench run --strategy sma-crossover \
  --symbol BTCUSDT --tf 4h --seed 42 --out ./report
npx agentbench verify ./report