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 --paper

That’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

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.