thetaghost
Pre-launch · Vol. 01

The rulesyou set,enforced by thewatcher you pay for.

Thetaghost watches your account read-only and tells you when you’re about to break the rules you set— 21 DTE, 50% PT, ex-dividend assignment, earnings surprises. We catch the phantom legs your bot missed. Rolls thread automatically. Every position carries the voice journal you recorded when you opened it.

  • read-only IBKR
  • AES-256-GCM per-user keys
  • TOTP mandatory
  • no third-party trackers
scroll
The quiet failures

Most losing trades aren’t bad reads.
They’re bad follow-throughs.

  1. Past 21 DTE. Again.

    Your own rule. The calendar moved. The position kept breathing without you while gamma sharpened.

  2. A leg you didn’t open.

    The broker shows it. Your local journal doesn’t. It sat there for two days before you noticed.

  3. Why the May 29 IC?

    Three weeks ago you had a thesis. Today the rationale is gone. The trade is still open and you’re guessing.

What goes wrong

Four ways every premium-seller
quietly bleeds money.

None of these are exotic. They’re the failures r/thetagang keeps writing the same post-mortems about. Thetaghost watches for each one against the thresholds you authored at signup.

  1. 21 DTE

    I knew I should’ve closed at 21 DTE. I told myself I would. Wednesday came and gamma stomped me before I checked.

    Your 21 DTE rule fires 24 hours before. Telegram, push, or email — your channel choice.

  2. 50% PT

    Hit 50% profit on a put credit spread Tuesday morning. Got busy, didn’t close. By Friday it was a loser.

    Your 50% PT (set 2026-04-12) hit 4h 12m ago.

  3. ex-div

    Woke up to 100 shares of AAPL assigned overnight on a covered call. Dividend was the next day. I knew. I forgot.

    AAPL ex-div in 2 days · 0.24 dividend · short call ITM by $1.10.

  4. earnings

    Sold the iron condor Thursday. Earnings were Tuesday. I never checked the calendar.

    AAPL earnings in 3 days. Historical 1-day move: avg 5.1%, max 11.4%.

What you get

Three things no journal app does.

We’re not trying to replace your spreadsheet. We’re trying to catch the failures your spreadsheet can’t see.

Your 50% PTset 2026-04-12
47%50%
01The killer hook

The rules you set, fired the moment they trigger.

21 DTE management. 50% profit-take. Ex-dividend assignment heuristic. Earnings-event-in-window. You set the thresholds during onboarding from a neutrally-worded menu. We watch for them. We never authored a default. We never will.

Per ADR-0008: zero default position-management rules. The product holds no opinion about whether you should take 50% or 75% PT. It only holds your answer to that question, and the date you gave it.

“Finally, someone’s watching the rules I keep ignoring.”

A hand holding a phone, capturing voice rationale at dusk
REC00:24

“…selling the 440/445 call spread, IVR’s in the sixties, scaling out at fifty percent…”

02The differentiator

Voice-first rationale, captured at the fill.

Call a number. Record 30 seconds about why you put the trade on. Deepgram Nova-3 transcribes with finance-jargon keyterm-prompting (“DTE”, “IVR”, “iron condor”, “roll”). Claude Haiku 4.5 extracts thesis, conviction, exit_trigger.

When the close fill confirms three weeks later, the dashboard replays your rationale beside the result. No competitor in the journal category ships this.

“Why the May 29 IC?” — never an unanswered question again.

A constellation of strikes with one phantom leg highlighted in cyan
Apr 10 PCSopened
May 1 ICrolled
May 29 ICopen · gen 3
03The moat

Roll-threading and the integrity engine.

Every options journal silently mis-attributes rolls as two separate trades. We thread them as one continuous lineage. This May 29 IC is the third generation of an Apr 10 put credit spread. Win-rate math becomes correct for the first time.

The same engine diffs your broker against your local journal every 60 seconds. Six detectors run on every snapshot: phantom_leg, quantity_drift, orphan_position, expiry_ghost, broken_combo, partial_close. Caught before they cost you.

“The broker shows it. Your journal doesn’t. We close the gap.”

Thetaghost watches your account read-only and tells you when you’re about to break the rules you set — 21 DTE, 50% PT, ex-div assignment, earnings surprises. We catch the phantom legs your bot missed. Rolls thread automatically. Every position carries the voice journal you recorded when you opened it. We can see your transcripts to power search; we cannot read your audio.

— the launch pitch, in plain words.

How it watches

Three loops. Sixty seconds.
One source of truth.

01

Read-only IBKR connection.

The IBKR API token Thetaghost holds has read-only scope. No placeOrder, no cancelOrder, no modifyOrder. Ever. We’re an observer, not an executor.

When you need to act on something we surface, we deep-link into your TWS. You execute. We never can. This is an architectural invariant under ADR-0003 — breaking it requires a new ADR superseding the old one.

  • no placeOrder
  • no cancelOrder
  • no modifyOrder
02

60-second reconciliation loop.

Every minute, the poller snapshots your broker state and diffs it against your local journal. Six detector classes run on every snapshot. Each detector returns either silence or a structured alert with a severity grade.

  • phantom_legbroker has it, journal doesn’t
  • quantity_driftcontract count moved without a fill
  • orphan_positionleg outlived its combo
  • expiry_ghostexpired position still tracked
  • broken_combomulti-leg structure no longer hedged
  • partial_closehalf the spread closed, half didn’t

last sync OK · 23s ago — the engine wears its reliability publicly. Because if we lie about that, the rest doesn’t matter.

03

Voice in 30 seconds, end-to-end.

  1. 01
    Twilioinbound number takes the call. Up to 60 seconds of audio.
  2. 02
    Deepgram Nova-3streaming transcription with keyterm-prompting on options jargon — sub-7% WER. Zero-retention contract.
  3. 03
    Claude Haiku 4.5structured extract: thesis, conviction, exit_trigger, position_ref.
  4. 04
    AES-GCM in browseraudio blob encrypts client-side with your key before upload. Server stores ciphertext.
Security & privacy

Built paranoid.
On purpose.

Your audio is sent over TLS to our transcription provider (Deepgram) under their zero-retention agreement; once transcribed it is encrypted with your key and we cannot decrypt it. Transcripts are stored server-side to power search. We will never train on them.

Honest seam

There is no zero-knowledge speech-to-text vendor in 2026. We document this on /securityinstead of pretending otherwise. A “Paranoid Mode” with on-device Whisper-tiny ships in v2 for users who refuse server-side transcription.

Read the full security page
  • Read-only broker connection.

    View-only IBKR API. No placeOrder, no cancelOrder, no modifyOrder — enforced at the connector. Ever.

  • Per-user AES-256-GCM with Argon2id-derived keys.

    m=64 MiB, t=3, p=1. Every customer carries their own envelope. Server stores ciphertext. KEKs live in request scope only — never cached.

  • Mandatory TOTP MFA on every account from day one.

    MFA is on, day one, no opt-out for paid tiers. Passwords alone never gate paid surfaces.

  • No third-party trackers in the dashboard.

    No Google Analytics. No FullStory. No Mixpanel. No marketing pixels. The dashboard talks only to us.

  • Bug bounty live from launch.

    Public security page documents the architecture, the seam, and the bounty schedule. We expect to be tested.

Status

Where the build is, today.

Honest is the first feature. Below: what works in the dogfood build right now, what’s wired and shipping next, and what’s coming after that. Everything is dated; nothing is hand-wavy.

Live in the dogfood build

  • Public site, dashboard, position detail, journal, settings, playbook
  • Read-only IBKR connector + integrity engine (6 detectors, 116 tests)
  • Mandatory TOTP MFA · Argon2id · AES-GCM zero-knowledge envelopes
  • Tax-export CSV (Form-8949 shaped, rolls aggregated)
  • PWA install + Cloudflare-routed admin email
  • Server-rendered dashboard pulling live broker state via Cloudflare Tunnel

Building now

  • Personal-rules CRUD (Add / Edit / Disable rules)
  • Encrypted journal note save + integrity-alert mute toggles
  • Historical-trade backfill at signup (IBKR Flex Web Service, 90-365 days)
  • Waitlist application form (qualifies first-10 by attention, not money)
  • Brokerage account connection flow + per-account isolation surface

Coming next (v0.5)

  • Voice rationale capture (Twilio → Deepgram Nova-3 → Haiku 4.5)
  • Pattern-recognition coach (statistics-not-advice, after backfill data)
  • Daily morning briefing + 21 DTE / 50% PT / ex-div / earnings alerts
  • Roll-threading + adjustment-chain genealogy
  • Auto-detect strategy from leg structure
  • Public broker-sync reliability badge per account
  • Tastytrade brokerage support (REST-API, second connector after IBKR)
  • Day-trade headroom warning (FINRA 4-in-5 today; intraday-margin after the June 2026 cutover)
  • Canadian T5008-shaped tax export alongside US Form-8949 + Section 1256 (60/40)

v0.1.0-alpha · paid customer launch when the v0 must-ships above are complete. The first 10 waitlist applicants who clear the qualifying form get the year free. The rules-engine and integrity detector code is open to inspection during onboarding for the technical-minded.

Early access

For premium-sellers,
by a premium-seller.

Founder runs a paper SPY iron-condor bot on IBKR. Eats his own dog food. We charge for software, not for your data.

$19/ mo
  • Rule-violation alerts on the rules you set
  • Voice rationale capture · unlimited
  • Read-only IBKR · roll-threading · integrity engine
  • Zero-knowledge encryption · TOTP · per-user keys

We’re reading every application. The first 10 we onboard get the year free. Six short questions follow.

We won’t add you to any list. Email’s only used to reach you about the product. We respond by hand — no auto-drips.

No credit card. Read-only broker access. Cancel any time.