Entry decisions are made in-process, with no AI and no network call in the path: parse, resolve the exact contract, run the rules against a fresh quote, submit a limit order. Figures are from paper sessions on the simulated account and vary with market conditions.
14:02:11 · signal
A signal lands.
A seller posts an alert in Discord. Fyrm reads it with a deterministic parser: ticker, strike, right, expiry, price. Anything unclear is rejected with a reason. Nothing is guessed.
14:02:12 · checks
Rules first.
Alert age, quote age, per-trade limit, daily limit, funds, health, duplicates. Every check runs before any order, and every decision is recorded with the policy it ran under.
14:02:13 · fill
In at the ask, floor at once.
A limit order at the fresh ask, capped against the signal price. No chase: unfilled in 30 seconds means cancelled. The moment the first contract fills, a floor exists 20% below it.
14:31 · ratchet
The floor climbs.
At +30% the floor rises to lock a gain. At +50% and +70% it rises again. Each rung is a new version of the position's protection, checked on every bid.
14:47 · the dip
It never comes down.
Price falls back through two rungs. The floor stays exactly where it was. A cheaper later fill, a change of policy, a bad print: none of them can lower it.
15:12 · exit
Breach confirmed. Out.
Two consecutive ticks below the floor, then a SELL LIMIT at the bid, re-priced every three seconds up to five times. Never a market order. The gain that was locked is the gain that is kept.
afterwards · Fyrm Lab
What would other rules have done?
Two candidate policies watched the same tape in parallel. A tighter stop left at +71%. Denser rungs left at +58%. The Lab scores them against the live policy on every trade, with no path to the broker.
NVDA 190C · 10/24live BIDwaiting for signal
BTO NVDA 190C 10/24 @ 3.10
agequotelimitsfundshealthduplicate
BUY LIMIT 3.15 · 1 contractack in 0.48 s · filled 3.12 · floor 2.50