Strata Logo
TESSERACT STRATA
Quantitative Options Engine
Auto-Pilot
0 Active
0 Take Profit
0 Hold
0 Defense
$0 Collateral
Net liquidation
β€” β€”
Margin β€”
Maint β€” Cushion β€”
CSPs β€”
β€” of β€” cash Free β€” (β€”)
Checking positions…
Instrument Status Pos DTE / Age Spot / Ξ” PnL ($/%) Mark/Entry Target Guidance Action
Connecting to IBKR gateway...
Alerts
Loading alerts…

Covered Call Scanner

Checks every strike against 12 safety gates.

Instrument DTE Premium / AROC Delta / Cushion Basis / Break-Even IV / 1y pct Gates Action
Enter a stock symbol to run the 11-gate Covered Call evaluation.

Your Shares

Each 100 shares can back one covered call.

0 Owned
Ticker Shares Avg Price Mkt Value Unrealized PnL CC Eligible? Action
Loading owned stocks from IBKR...

Cash-Secured Put Scanner

Checks every strike against 11 safety gates.

Instrument DTE Premium / AROC Delta / POP Cushion / Margin IV / 1y pct Gates Action

Active Cash-Secured Puts

Open puts in this account.

0 open puts
Instrument Status Pos DTE / Age Spot / Ξ” PnL ($/%) Mark/Entry Target Guidance Action
Loading active CSP positions...

LEAPS Scanner

Deep-ITM LEAPS calls 270–540 days out, checked against 4 gates. Once you hold one, the scheduler sells the calls.

Instrument DTE Ask / Cost vs Stock Delta / Bid-Ask Time Value / Yr Lowest Safe Strike Gates Action
Enter a stock symbol to find LEAPS for a Poor Man's Covered Call.

Your PMCCs

LEAPS you hold, and the calls written against them.

0 LEAPS
Instrument Status Pos DTE / Age Spot / Ξ” PnL ($/%) Mark/Entry Target Credits / Break-even Golden floor / Carry Guidance Action
Loading PMCC positions...

Index Credit Spreads

SPX / NDX verticals expiring today, checked against the 0DTE gates and entry window. Closed out by the cutoff time; cash-settled at 4:00pm ET.

Macro calendar β€” Loading FOMC / CPI / PCE / NFP…
Volatility (VIX) β€” Loading…
Trend (50 / 200 SMA) β€” Loading…
SPX + NDX risk β€” Cap: 20% of net liq
Gates & settings

Open Index Spreads

Credit spreads held in this account.

0 open spreads
Instrument Status Pos DTE / Age Spot / Ξ” PnL ($/%) Mark/Entry Target / Stop Guidance Action

The stocks you pick yourself. To let a strategy choose stocks for you, see .

Active Investment Universe

0/10
Asset Company Name Sector Price 1D 5D 30D IV / Yield Allow CSP Allow CC Scan PMCC Actions
Loading universe...
Prices are delayed (Yahoo Finance) and not used for orders.
πŸ“œ Trade Ledger
Realized P&L $0.00 0 closed
Edge / trade β€”
Return β€”
POP check β€”

Daily workflow

What the bot does each trading day, what happens to a position from entry to exit, and what watches it along the way. Times are US Eastern. For what each gate checks, open .

On a phone, swipe a diagram or table sideways to see all of it.

A position's life

A position repeats in the put loop until a put ends in the money. That puts you in the call loop with 100 shares, where you stay until a call is exercised and the shares are sold. The PMCC loop swaps the shares for a LEAPS.

THE WHEEL: TWO LOOPS, TWO HAND-OFFS PUT LOOPneeds cash11 gates Β· AI veto CALL LOOPneeds 100 shares12 gates Β· AI vetoex-dividend alert Sell put+ GTC buy-back at 50% Expiry or 50% hitbelow strike: assigned Premium keptsell the next put Sell call+ GTC buy-back at 50% Expiry or 50% hitabove strike: called away Premium keptsell the next call assignednow own 100 shares called awayshares sold at the strike, so sell puts again THE PMCC LOOP: A LEAPS INSTEAD OF SHARES PMCC LOOPneeds a LEAPS, not sharescarry gates Β· news check Buy LEAPS9:45 and 1:00 Β· alert or auto-buy Sell calls against itDTE 7+, ends before LEAPS Roll or exit by dateplan and news alerts only each call then follows the call loop above

Boxes with a green border are entries the bot can place itself. Every other step happens at the exchange or is your decision.

Who is watching each position type

coveredpartialnot covered yetnot applicable
PositionEntry gatesAI check at entryEvent checkDividend checkExit order at fillWatched after entryNewsActs on its own
Cash-secured put11 gatesnews + macroearnings gaten/aGTC at 50%3Γ— a dayyesmargin exits onlymargin accounts, if enabled
Covered call12 gatesnews + macroearnings onlyno other eventsex-dividend alertday before, if time value is less than the dividendGTC at 50%3Γ— a dayyesalerts only
Long LEAPSPMCC gates + carrynews checka keyword match blocks the buy; the AI only flags the alertn/ayield in carry mathno datesn/aplan healthyesbuys onlynever sells
Shares from assignmentn/an/an/an/an/anews alerts onlywhen no option is open on themyesn/a

A trading day

Four things run on different clocks. Only the checkpoints place entry orders. The others watch and warn. The first three run on NYSE trading days only.

8:309:3010:3011:3012:301:30 pm2:303:304:30 market open 9:30 to 4:00 Scheduler3 checkpoints 9:45 Morningdefense Β· manage Β· puts Β· calls Β· PMCC 1:00 pm Mid-daydefense Β· manage Β· puts Β· calls Β· PMCC 3:30 pm Pre-closedefense Β· manage Β· Discord digest News watchholdings 8:45 pre-market then every 30 min, 9:30 to close Margin exitsmargin accounts only every 5 min while the market is open Always on24/7 gateway reconnect check every 15 s Β· fills and order updates recorded as they arrive

On an early-close day (1:00 pm close) the second and third checkpoints move to 11:30 am and 12:30 pm, and news sweeps and margin checks stop at 1:00 pm. Weekends and holidays: only the always-on lane runs.

Every checkpoint, first
  • Catch up fills. Pull in any executions the live listener missed.
  • Defense check. A short option with |delta| of 0.50 or more and 14 to 21 days left sends a Discord roll alert. Alert only.
  • Position manager. Re-asks "would I still hold this?" for every short option and held LEAPS. It journals every answer and alerts on anything but hold. It never places orders.
9:45 and 1:00 pm
  • Cash-secured puts: scan, gates, AI veto, order.
  • Covered calls: on 100+ shares, or on a long call with no short call against it.
  • PMCC scan: looks for a LEAPS to buy for stocks flagged for PMCC. It alerts on Discord, or buys if auto-buy is on for the account.
  • The 1:00 pm run is a second chance, for example after a morning take-profit freed cash.
3:30 pm
  • No new entries.
  • The position-manager results go to Discord as one digest.
Scan Now
  • Runs defense, puts and covered calls for the accounts you pick. If a scan is already running you get "busy" instead of a queue.

How a put gets from your stock list to an order

Each ticker's option chain is fetched once and shared. Every step after that runs separately for each account, with that account's own cash, stock list and Auto-Pilot setting. The right-hand column shows every place the cycle can stop, and the status you see on the bot card. Covered calls follow the same route with 12 gates and no deployment ceiling, since a call commits no new capital.

STEPSTOPS HERE WITH 1 Β· Load each accountsettings, approved stocks, puts on or off, Auto-Pilot on or off 2 Β· Scan each ticker's chain once (3 at a time)earnings date Β· IV percentile Β· 1 and 5 day momentum Β· up to 20 strikes quoted 3 Β· Capital check, per accountnet liquidation and free cash; margin accounts also need enough cushion 4 Β· Deployment ceilingwhat is committed so far vs the account's max deployed share of net liq. 5 Β· Gates, then rankIV rank Β· DTE Β· delta Β· AROC Β· cushion Β· earnings Β· liquidity Β· EV Β· caps Β· lot 6 Β· Allocate and AI vetoticker and sector caps Β· max new positions Β· news and macro review Β· Kelly sizing 7 Β· Margin guard (margin accounts only)crash stress test and IBKR what-if margin preview; trims contracts 8 Β· Place or stagefresh quote re-checked, then Auto-Pilot or Co-Pilot SKIPPED_STRATEGY_DISABLEDputs off for the account NO_UNIVERSE / NO_CANDIDATESnothing approved, or no chain data SKIPPED_CAPITALplaceholder balances, or cushion too low SKIPPED_CEILING_REACHEDno headroom left to deploy ZERO_PASSED_GATESevery candidate failed a gate AGENT_VETOEDAI reviewer said no on news or macro SKIPPED_MARGIN_RISKnothing fits the stress or cushion limit EXECUTED_AUTOSell put + GTC buy-back at 50% CO_PILOT_READYAlert with a 1-click order SKIPPED_PRICE_MOVEDquote drifted; nothing sent

Auto-Pilot sends a parent sell order with a child GTC buy-to-close at 50% of the credit, so the take-profit exists from the first second. Co-Pilot sends the same trade as an alert for you to approve.

What watches an open position

Risk is not one process. It is five layers, from before a trade to long after it fills. Only the last one can close anything on its own, and only for margin accounts.

LayerRunsChecksCan it move money?
Entry gatesEach entry cycle (9:45, 1:00)11 put gates or 12 call gates, concentration caps and deployment ceiling (puts), AI veto (puts and calls)Blocks entries
Margin guardEach entry cycle, margin accountsA crash of every underlying must stay within the account's loss limit, and IBKR's what-if must leave enough cushionTrims or blocks entries
Position managerAll 3 checkpoints, and right after a news signal on a held symbolThe rule ladder belowNo. Journal and Discord alert with Apply, Keep and Wrong-call buttons
News watch8:45, then every 30 minNew headlines for held short options, LEAPS and shares (100+): keywords first, then one batched AI call. A 5%+ move with no headline counts as a price shockNo. Feeds the position manager, or alerts directly for shares with no option open
Margin exitsEvery 5 min, market hoursDefaults: stop at 200% loss of credit Β· in the money with 7 days or less left Β· cushion under 45% closes the worst losers until it is back to 55%Only if the account has Auto-Close on and the kill-switch is off. Otherwise a Discord alert

The position manager's rule ladder

FIRST MATCH WINS, TOP TO BOTTOMACTION Β· URGENCY Past 50% profit and no take-profit order working Short call, ex-dividend tomorrow, time value under dividend News: thesis broken, or deal announced New catalyst, or earnings now before expiry Tested: high |delta| inside the roll window Profit stalled in the 25–45% band and a risk signal exists Negative (not fatal) news 10 DTE or less and pennies left to collect 40–50% profit captured unusually fast Under 50% and no take-profit order CLOSE_TARGET_UNPROTECTED Β· act today CALL_EARLY_ASSIGN_RISK Β· act today CLOSE_THESIS_BREAK / *_REVIEW Β· act today CLOSE_PRE_CATALYST Β· act today ROLL_REVIEW Β· worth a look CLOSE_STALLED_RISK Β· act today NEWS_REVIEW Β· worth a look CLOSE_GAMMA Β· worth a look CLOSE_WINDFALL Β· worth a look ADD_TAKE_PROFIT Β· worth a look otherwise HOLD Β· audit only (journaled, no alert)

Held LEAPS use a separate, shorter ladder: exit-by date, delta decay, roll, behind plan, and news. Repeat alerts are suppressed for 24 hours (120 hours for the missing take-profit reminder, since trades opened by hand often have none).

Where the data comes from and goes
Supabaseconfig, stock lists,account settings, logins IB Gatewaypositions, balances,chains, quotes, fills News + earningsheadlines, calendar,price momentum Scheduler (one process) Gates + sizingpure math, no AI AI vetonews + macro, puts and calls Position managerrules decide, AI only labels news News watchverdicts kept 72 h Margin guard + exitsmargin accounts only Orders to IBKRsell + GTC 50% buy-back;closes only by you or margin exits Reconciler β†’ Ledgerfills matched, P&L computed,open lots checked vs IBKR Discord + this appalerts and 1-click orders;bot card, ledger, positions readreadreadplacealert fill events returnread Dashed: IBKR sends fill and order-status events back as they happen; the reconciler records them without waiting for a checkpoint. Every position-manager decision is also written to a journal file, which the alerts' Apply, Keep and Wrong-call buttons update.

Fills reach the ledger two ways: the live event stream, and a catch-up pass (executions, order states, then a position check) on every reconnect and at the start of every defense check.

What has to be true before an order goes out
Per accountEffect
Auto-PilotOn: entries are sent to IBKR. Off (Co-Pilot): they arrive as alerts for you to approve.
Strategy flagsPuts, covered calls and PMCC can each be turned off for an account, and per stock in the stock list.
Margin modeFor margin accounts that are not IRAs. Swaps the cash cap for a notional cap and adds the margin guard. "Auto-Close" decides whether margin exits alert or close.
Global switches (admin only)Effect
Scheduler on or offOff: no checkpoints run. It also stays off until the config loads from Supabase, retrying every 60 seconds and alerting on Discord.
Dry runOn (the default): Auto-Pilot builds and logs the order but sends nothing.
Kill-switchForces every entry to Co-Pilot and stops margin auto-closes. Alerts keep working. It survives restarts.

Autonomous Oversight

Live accounts, autonomy states, and emergency controls.

Account & Alias Linked Users Autonomy Status Mandates & Universe Active Quota Deploy Ceiling Admin Action
Loading accounts oversight data...

Screening & Sizing Engine Configuration

Gate thresholds, sizing and dip timing. Applies from the next scan.

1. Screening Gates (11-Gate Filter)
Contract filter bounds, duration window, and minimum volatility percentile.
2. Capital Allocation Guardrails
Portfolio-level safety guardrails, cash commitments, and sector concentration caps.
System hard ceiling: 60%. Tickers with open positions are skipped automatically each cycle.
3. Kelly Sizing & AROC Optimization
Mathematical risk model, yield hurdle thresholds, and contract quantity caps.
4. Momentum & Dip Timing
Tactical scoring multipliers based on daily price pullbacks vs overbought spikes.
5. Covered Call Gates (12-Gate Filter)
Covered calls use their own gate settings, separate from the put gates in card 1.
6. Order Execution
How Auto-Pilot prices and works its entry orders, and how fast it scans.
7. PMCC (LEAPS & Short Calls)
Active: Auto-Pilot accounts buy the best LEAPS passing every buy gate at the morning scan, one contract per stock. Off: alerts only. Exit rules only raise alerts; nothing is rolled or closed automatically.
8. Recommended Bot Rules
What accounts that follow the recommendation get. Owners can switch it off in Trading Mode and choose their own. Auto places the order, and only on accounts that have Auto-Pilot on. It exists only for the two actions that have a safe order.

Index Spreads

System defaults for SPX / NDX credit spreads: the scheduler, the webhook, gates, sizing and exits. Saved with their own Save button. An account trades only with Index Spreads switched on in its Setup tab.

AI Check Prompts

What the AI is asked before each Auto-Pilot entry, and when sorting news on positions you hold. Saved changes apply to the next check. The AI can only approve or skip; it can't change a trade.

User & Access Control

Multi-tenant users, roles, and linked accounts.

User Stage IBKR Accounts Activity Actions
Loading users from Supabase...

Fleet

Customer servers, the machines they run on, and what the worker is doing.

Loading the fleet…

Subscriptions

Loading subscriptions…

Grant access
Lets a user set up their own stack

Add a host
A machine that runs customers' stacks

The machine must be on your tailnet, with the worker's SSH key authorised. A worker installs Docker if it is missing, works out how many stacks fit, and opens it.

Or register a machine that is already set up (leave the SSH address empty):

Capacity
How many stacks may be placed here

Lowering it below what is already there only stops new placements; nothing is moved.

Each stack takes one port from this range. Keep it clear of ports the machine already uses.

How the worker reaches this machine. "default" means the worker's own machine.

✨ What's New in Tesseract

Release Highlights
Loading latest feature highlights...
🧭 How the bot picks trades
Every candidate must pass every gate. Numbers shown are the settings in effect now.
Loading the gates…
🧭 Strategy
Loading…

⚑ Place order

AAPL CSP $220 Put • 30 DTE
Quote
πŸ›‘οΈ Capital & margin impact βœ“ Buffer Safe
Free cash after

πŸšͺ Exit position

AAPL $220 Put • 1 Contract
How an exit works

Sends a buy-to-close limit order for the contracts below. It fills at your limit or better; raise the limit toward the ask to fill faster.

Exit estimate
Estimated debit
Realized PnL est.

🎯 Take-profit order (GTC)

AAPL $220 Put • 1 Contract
How a GTC take-profit works

Sends a Good-Til-Cancelled limit buy-to-close to IBKR. As theta decay works, IBKR closes the position at your target without you watching it.

Entry
--
Target
Target summary 50.0% Profit
BTC limit
Gain / share
Realized profit est.

🐾 Trailing stop (GTC)

AAPL $220 Put • 1 Contract
How a trailing stop works

As the short option decays to lower lows, the buy-to-close stop ratchets down with it. If the price bounces up by the trail amount from its lowest mark, IBKR buys to close and locks in your gain.

Order type
Presets
Optional cap on the fill price (trail limit). Blank = trail market stop.
Trailing stop estimate TRAIL STOP (GTC)
Current mark
Initial trigger
Protected profit est.

⚠️ Override advisory gates

AMD Advisory review
What can be overridden

Only advisory thresholds (e.g. IV rank, DTE window, liquidity). Hard safety gates (earnings binary risk, shares owned, cost basis) can't be overridden. Every override is recorded in the audit ledger.

Failed advisory gates

⚑ Open credit spread

SPX BULL PUT β€”
How a spread order works

Both legs go to IBKR as one combo (BAG) order: sell the short strike and buy the long wing together for a net credit at your limit or better. Neither leg can fill alone. Max loss is the width minus the credit.

Sell 1 short -- --
Buy 1 wing -- --
Order summary
Net credit
Max loss
EV / share
AROC (ann.)

πŸšͺ Close credit spread

SPX BULL PUT β€”
How closing a spread works

Buys back the short leg and sells the long wing as one combo (BAG) order for a net debit at your limit or better, so you are never left holding one leg.

Exit estimate
Net debit
Realized PnL est.

⚠️ Turn on Margin Mode?

Account
Configure Supabase credentials and broker account authorization
We email them an invitation with a link to choose their own password.
Leave blank when editing to keep current password.
Comma-separated IBKR account numbers. Leave blank if you don't know it yet: it is added automatically once their server connects and the account is verified. * (all accounts) is for admins only.
Lets them set up and connect their own IBKR server from Get started. Removing it later does not stop a running server; do that in Fleet.
Choose which applications this user is authorized to unlock and operate.
⚑ Connect Claude via MCP
1-Click configuration for Claude Desktop, Cursor, and Claude Web
Active Account Tier Managed Client
Claude can use your linked IBKR accounts.

Claude.ai & Modern MCP 2.x standard: In Claude (Web or Desktop), when adding this connector, select Streamable HTTP (under Advanced) and paste this URL:

πŸ’‘ Recommended: the current MCP transport, no SSE warnings.
Two-factor sign-in
Protect your account with an authenticator app
TESSERACT STRATA
Sign in to access your options portfolio & console