The terminal that runs your options book while you sleep.

Credit spreads, iron flies, calendars, and adaptive butterflies. Gated by live GEX walls and portfolio heat, not guesswork.

Abstract illustration of a dark trading terminal interface with a risk-heat gauge, exposure grid, and gamma-level chart
Built on
Python FastAPI PostgreSQL Next.js React TypeScript TastyTrade + Schwab
7
automated strategies running in parallel
60s
entry-gate tick, every trading day
2
brokers wired, TastyTrade and Schwab
Practicedefault
live mode needs an explicit same-day switch
Strategy library

Seven strategies, one entry-gate stack.

Every strategy checks the same heat gauge, GEX-wall filter, and confirmation gates before it's allowed to place a trade.

Triple Calendar

Long-vega calendars across three tenors, scanned by GEX alignment and closed automatically on a profit take or a short-DTE stop.

SPX · SPY · QQQ

Scanner Automation

Credit spreads and broken-wing butterflies, ranked by GEX alignment and probability, bracketed the moment they fill.

SPX · ES

Iron Fly

Zero-DTE ATM iron fly, gated by the opening range and the GEX regime before it enters.

0DTE

Adaptive BWB

A broken-wing butterfly that re-centers itself as the underlying moves through the session.

SPX

MEIC

Multiple-entry iron condors, staggered through the session with condition-based scheduling.

SPX 0DTE

0DTE Auto-Trade

ATM iron condor plus butterfly defense layers, sized off the day's expected move and closed before the bell.

SPX · XSP

Option Flow (experimental)

Debit verticals off clustered, high-conviction options prints. Practice mode only, forward paper-tested against real fills.

Shadow automation

A single heat score gates every new position.

Delta, gamma, vega, and theta roll up into one 0-100 heat gauge, weighted toward vega since every strategy here is short volatility. Cross the threshold and every strategy's entry gate closes at once, not one at a time.

Portfolio heat 0-100 Vega-weighted Refreshed every 5 min Shared across all seven strategies
Delta
Direction

Net directional exposure summed across every open leg, in every strategy at once, not tracked per position.

Gamma
Acceleration

How fast delta itself is moving. Usually the first Greek to spike ahead of a violent session.

Vega, dominant weight
Volatility

Every strategy here is short volatility by construction, so vega carries the heaviest weight in the heat score on purpose.

Theta
Decay

Tracked in dollars collected per day, not points. The fastest Greek to visibly confirm a right or wrong side.

Abstract illustration of a defined-risk options payoff diagram with a flat profit plateau

How a trade actually gets placed.

Five checks, in this order, every single time. A candidate that fails any one of them never reaches an order form.

01

Candidate selected

Scanner Automation ranks by probability. Iron Fly checks the opening range. Flow clusters alerts by tier. Each strategy picks its own top candidate independently.

02

GEX-wall gate

A short call above the call wall, or a short put below the put wall, is rejected before it ever reaches the order form.

03

Heat gate

If portfolio heat is in the red or emergency zone, every strategy's entry closes at once, not just the one that tripped it.

04

Board confirmation

Optional per strategy. When enabled, a trade only fires if the latest Boards score clears its floor and the state isn't AVOID.

05

Bracket order placed

Take-profit and stop-loss submit with the entry, sized in dollars at the moment of fill, not recalculated after the fact.

Gamma exposure

See the wall before price gets there.

Call wall, put wall, and gamma flip, recalculated continuously and shared across every strategy's entry filter.

Call and put walls refreshed as new strikes print, not calculated once at the open.
Gamma flip level, the line where dealer hedging flips from stabilizing price to accelerating it.
Shared regime cache, Scanner Automation, Iron Fly, and Flow Automation all read the same GEX snapshot.
Futures basis-shifted, ES and MES walls aren't SPX's levels divided by ten. They're SPX's levels shifted by the live cash-to-futures basis, then snapped back to the real strike grid.
Abstract illustration of a gamma exposure chart with call wall and put wall reference lines

Boards score the setup. Flow shows who's already in it.

Boards fuses GEX regime and options flow into one score with a named execution state. Flow watches for unusually large, clustered options prints and can shadow-trade a debit vertical against them in practice mode.

GEX regime Flow bias Execution state: READY / ACT / AVOID Board score 0-100 Practice-only shadow automation
Tier 3, high conviction
  • $2M+ combined premium
  • 3+ qualifying alerts
  • Clustered across 2+ strikes
Tier 2, moderate
  • $750K+ combined premium
  • 2+ qualifying alerts
  • Same direction, same window

Below Tier 2: logged, never traded. A single large print isn't a cluster.

Built the way a trading desk would build it.

No single strategy is special-cased. Every one of them, from the oldest to the one shipped this week, goes through the same four disciplines.

Entry gates

Heat, GEX-wall, and board-confirmation checks run before every single order, not just at strategy design time.

Practice by default

Every strategy defaults to a simulated fill. Live trading needs an explicit same-day switch, resolved at the moment of execution.

One dedup tag per day

Every automated entry is tagged and counted straight from the database, so a mid-window restart can't double-place a trade.

60-second loop

Each strategy ticks independently, checks its own window and gates, and manages its own bracket exit.

Every gate leaves a reason, not a silent no.

A rejected order with no visible reason is how these systems quietly drift for weeks before anyone notices. The discipline here is specific, not aspirational.

No silent rejections

Every gate that blocks a trade writes why, surfaced live in the status endpoint. A quiet zero-fill day is one API call to diagnose, not a guessing exercise across four config panels.

One unit convention, enforced

Credit, max loss, and max profit are always stored per-share. Dollars are computed at display time, one multiplication, everywhere. It's the single most common place this class of system quietly breaks.

Dedup from the database, not memory

Daily trade counts are recomputed from stored records on every tick. A mid-window restart can't double-place a position it forgot about.

Forward-tested before backtested

Newer signals run in practice mode against real fills first. A strategy earns a backtest by surviving contact with the market, not the other way around.

Recently shipped.

A running log, not a highlight reel. Fixes count the same as features here.

2026-07-09

FixA unit-scaling bug was pinning portfolio margin usage at 100% regardless of real exposure. Traced to three strategies storing max loss already multiplied by the contract size.

2026-07-09

ReliabilityEvery automation gate now writes a reason when it blocks a trade, visible in the status endpoint instead of a silent zero-fill day.

2026-07-09

DataOption Flow's alert history stopped auto-purging after two days. Retention now runs indefinitely so a signal can eventually be backtested.

2026-07-07

FixA missing scan parameter was silently zeroing out every credit-spread candidate near a GEX wall. No error, no candidates, all day.

2026-07-01

ShippedBracket exits for Scanner Automation. Positions now close themselves on a take-profit or stop-loss instead of waiting on a manual check.

Curious how the risk engine actually gates a trade?

Walk through the strategy library, the heat gauge, and the gamma-wall logic that ties them together.