Public beta: Banger supports paper trading only. Live execution is disabled, and hosted historical backtesting remains in private acceptance testing.
N°08 / Ship

HTTP API reference

The Banger control plane is a small REST API. The CLI, the MCP server, and the dashboard all hit the same endpoints. You can use it directly for any integration use case the SDKs don’t cover yet.

Base URL

https://www.bangertrades.com/api/v1

Authentication

Bearer token in the Authorization header:

curl https://www.bangertrades.com/api/v1/strategies \
  -H "Authorization: Bearer $BANGER_API_KEY"

Generate keys at /settings. Keys have a scope: read < deploy < admin. Endpoints state which scope they require.

Endpoints

Strategies

MethodPathScopeDescription
GET/strategiesreadList your strategies
POST/strategiesdeployUpload a new strategy from source
GET/strategies/:idreadFetch a strategy with source
PATCH/strategies/:iddeployUpdate name, source, visibility, etc.
DELETE/strategies/:iddeploySoft-delete
GET/strategies/:id/performance?range=24hreadP&L series + summary

Deployments

MethodPathScopeDescription
GET/deployments[?status=running]readList your deployments (with strategy names)
POST/deploymentsdeployStart a deployment for a strategy
POST/deployments/:id/stopdeployStop a running deployment

Backtests

MethodPathScopeDescription
GET/backtestsreadList recent runs
POST/backtestsdeployStart an immutable hosted run
GET/backtests/:idreadPoll status and fetch a bounded result
POST/backtests/:id/deploydeployPromote a successful run to paper

Creating a backtest requires an Idempotency-Key header containing 8–128 characters from A-Z a-z 0-9 _ . : -. Reuse the same key only for transport retries of the identical request; changing any input requires a new key.

Marketplace

MethodPathScopeDescription
GET/marketplacereadList public strategies
GET/marketplace/:idreadPublic strategy detail (incl. source)
POST/marketplace/:id/clonedeployFork into your account; optionally start a deployment

Positions

MethodPathScopeDescription
GET/positions[?venue=polymarket]readOpen positions across running deployments

Account (dashboard-only)

These endpoints use Clerk session auth, not API keys — you can’t hit them from the CLI/MCP. They power the dashboard UI directly.

MethodPathDescription
GET/POST/api_keysList + mint API keys
DELETE/api_keys/:idRevoke
GET/POST/venue_credentialsList + add (encrypted) BYO venue keys
POST/billing/checkoutCreate a Stripe Checkout session for a tier upgrade
POST/billing/portalOpen the Stripe Customer Portal

Errors

All error responses are JSON in the shape { "error": "..." }. Common statuses:

  • 401 — missing or invalid auth
  • 403 — auth ok, but scope insufficient
  • 404 — resource not found (or not yours)
  • 400 — invalid request body (with issues from Zod for details)
  • 500 — something on our end

Rate limits

Hosted backtests enforce owner-level daily and concurrent limits at the database boundary. Strategy inspection is separately metered, and exact source cache hits consume no inspection unit. Other endpoint buckets remain subject to product-specific limits.

See also