<aside>
Agent Arena: a safety firewall and proving ground for autonomous trading agents on Bitget.
Every order an agent wants to place passes one fail-closed check before it can reach the exchange. The check returns an Ed25519-signed verdict (ALLOW, ALLOW_CAPPED, or REJECT), so anyone can confirm a decision without trusting the operator. Agents are then ranked by skill that survives an overfit test, not by raw PnL, and a meta-allocator routes capital to the ones that earn it.
Live at bitarena.vercel.app. 341 tests, 25 red-team cases, 0 unsafe orders passed. Every number on this page has a command behind it.
</aside>
<aside>
Three ways to check it, in increasing depth.
60 seconds. Open bitarena.vercel.app and hit Judge Mode: it runs a safe order, a rogue order, and a policy breach through the firewall, then verifies a signature in your browser.
3 minutes. The visual proof deck walks the whole flow in screenshots, each with the command behind the claim.
Deep. Clone the repo and run it: uv run pytest (341 tests) and make verify (the full gate).
</aside>
Try it
See the proof
uv run pytest, the 341-test suite, exit 0make verify, the full gate (tests, lint, evidence, red-team)POST /verify on the live deploy checks any signed verdict yourselfAgent Arena is the defensive staging and benchmarking ground for the Bitget Agent Hub. Any developer building an agent with the bitget-mcp-server and the five Agent Hub Skills (macro, sentiment, news, on-chain, technical) can plug that agent straight into the Arena to get a Trust Score, a Restraint Score, an Overfit Court verdict, and a signed firewall on every order, before it ever touches live capital. The same firewall, scoring, and allocator are exposed over an HTTP API and a six-tool MCP server, so the Arena is callable from the exact tools a Bitget agent developer already uses. It does not compete with the Agent Hub; it is the safety and proving layer in front of it.
A trust layer that lets autonomous agents run unsupervised. An agent can read the market and trade with no human in the loop, but nobody can hand one real capital, because you cannot tell skill from a lucky backtest and you cannot stop a single bad order before it reaches the exchange. Agent Arena solves both, and that is what makes full autonomy safe to fund: the agents decide end to end, the firewall caps the downside, and the overfit-aware scoring proves the skill.
Containment. Every order from every agent passes one firewall that returns a signed ALLOW, ALLOW_CAPPED, or REJECT before anything executes. The firewall holds the mandate (position caps, leverage, exposure, daily count, quote freshness, a market-wide kill-switch) and it fails closed, so a malformed order or an internal error becomes a signed REJECT, never an uncaught trade. The value is measurable: run a misbehaving agent unprotected and it goes bankrupt; run the same agent behind the firewall and it stays solvent, $8,574 saved on a $10,000 account (evidence/firewall_value.json).
Verification. Agents are ranked by Deflated Sharpe and Probability of Backtest Overfitting (PBO), not raw return, so a lucky run is discounted before it is funded. A meta-allocator then sizes each agent's capital by that verified skill. The same firewall, scoring, and allocator are exposed over an HTTP API and a six-tool MCP server, so another developer can call them directly.
| Metric | Value | How to check it |
|---|---|---|
| Test suite | 341 pass, 92% coverage, offline | uv run pytest, exit 0 |
| Red-team battery | 25 cases, 0 unsafe orders passed | bitarena/redteam.py writes evidence/redteam.json |
| Firewall gates | 10 ordered gates, fail-closed | bitarena/firewall/gates.py |
| Property and fuzz | 3,000+ random inputs hold every safety invariant | tests/test_firewall_properties.py |
| Signed verdicts | Ed25519, verifiable four ways | POST /verify; issuer 98683e5c…6313a0 |
| Overfit gate | PBO 0.91 flags a no-edge winner as luck | evidence/overfit_trap.json |
| Firewall containment | $8,574 saved vs an unprotected rogue agent | evidence/firewall_value.json |
| Firewall latency | ~0.1 ms per signed verdict | the firewall benchmark |
| Published Playbooks | 4 on Bitget GetAgent, profit factor 1.42 to 3.34 | Bitget, Playbook, Explore |