N°00 / Documentation
What is Banger
Banger is a code-first strategy automation runtime for prediction markets. You write a Python class describing a strategy. We resolve the universe, subscribe to live ticks, fan out events to your handler, gate orders against a declarative risk envelope, and simulate fills (paper) or place them on the venue (live). One interface, every venue, paper-to-live with a flag.
Built for the strategist running twenty small ones — not the trader with one big bet.
The 30-second model
from decimal import Decimal
from banger import Strategy, signals
from banger.venues.polymarket import Polymarket
from banger.risk import RiskEnvelope
class MyStrategy(Strategy):
name = "my_strategy"
venues = [Polymarket()]
universe = signals.polymarket_markets(
time_to_resolution_lt="7d",
min_volume_usd=10_000,
)
risk = RiskEnvelope(
max_position_usd=Decimal("100"),
max_open_positions=10,
)
fade_threshold: float = 0.92
async def on_market_tick(self, market, tick, ctx):
if tick.yes_price is None: return
if float(tick.yes_price) >= self.fade_threshold:
await ctx.place(self.venues[0], market, side="no", size=Decimal("25"))$ banger deploy my_strategy.py --paperThat’s it. From there your strategy runs against live data. Watch P&L on the dashboard, flip to live with --livewhen you’re ready.
Where to next
- Quickstart — install, ship, see your first paper fill in 5 minutes.
- Strategy interface — the full API your subclass implements.
- Venue adapters — Polymarket and Kalshi setup.
- Backtest harness — run the same Strategy against historical data.
- MCP server — let Claude/Cursor inspect your strategies.
What Banger isn’t
- Not a broker. We never custody your assets. You bring your own venue API keys; they live encrypted in the runtime, never on our backend.
- Not a black-box AI.Strategies are real Python you wrote. We don’t hide the code behind a fund.
- Not a venue.We route orders to Polymarket, Kalshi, and whatever ships next. We don’t make markets.