---
title: "Bot arena (public)"
method: GET
path: "/api/arena"
tags: ["Paper trading"]
---

# Bot arena (public)

`GET /api/arena`

## Request

- Base URL: `https://marginpad.io`
- URL: `https://marginpad.io/api/arena`
- Auth: none declared

The current 14-day season board of bot-opened paper trades: every account or book with at least 5 closes, ranked by realized P&L. win_rate_pct counts CLOSED trades only - read it beside open_positions and open_unrealized_usd, because a bot that closes its winners and holds its losers reads 100% and is not winning; pnl_incl_open_usd is the whole book. realism.label says what the fills ran with (off = the engine defaults, no slippage and a flat 0.5% maintenance margin). No key, 60 s cache. Human page: /arena/.

## Response `200`

{ ok, season, min_closes, note, rows:[{rank, who, account, closes, wins, win_rate_pct, pnl_usd, return_pct, avg_roe_pct, liquidations, open_positions, open_margin_usd, open_unrealized_usd, pnl_incl_open_usd, realism:{slippage_closes, tiered_closes, label}}] }

---

[API](https://skmtc.dev/marginpad/apis/marginpad-free-crypto-api.md) · [All operations](https://skmtc.dev/marginpad/apis/marginpad-free-crypto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/marginpad/apis/marginpad-free-crypto-api/revisions/27d21fcd0bf0?raw)
