Docs and this page
Docs / Every guide
The FirmTape guide
Every product guide on one page: what the terminal can and cannot tell you, then each product's features written up in turn.
What this screen can and cannot tell you
It does not tell you direction. It tells you where the book stands and how far price may travel.
Direction was tested three independent ways on this data and is not there: momentum on negative gamma does not replicate over 2022 to 2026, the sign of net gamma carries nothing across horizons, and a random entry time beats the crossing of a gamma threshold. So there are no arrows on this screen and no trade calls in any message: there is nothing honest to put in them.
What holds up is size. The expected move is calibrated: over 1,088 sessions the close landed inside one expected move 72.4% of the time. Read the numbers for position size, stop width and whether the day's geometry suits your own model, never for which way to face.
Every number is a measurement from a named book: the volume book (the conventional public object, built here from the tape), the open-interest book, or the measured book, signed print by print from the tape and its quotes. The guides say which book each reading comes from.
REPLAY Every finished session, minute by minute, plus today's levels delayed and the free tools, no account
Free, no account. Today's session as it trades is LIVE. This guide alone · The product page
Why it matters
A dealer level is only worth something if it was on the screen before price got there. A chart of yesterday cannot show that: it shows the close drawn backwards. REPLAY opens each finished session with the book as it stood at every minute.
It answers one question: what did the dealer book look like at this minute, on this day? The walls, the zero-gamma flip, the levels of interest, the strike ladder and every readout follow the cursor, so the screen at 10:15 shows what was knowable at 10:15.
The archive holds every trading day since April 2022 and grows by one each evening. It is free, needs no account, and uses the same terminal and controls as LIVE. The free tools around it read the same archive: the screener and event pages filter it, /now and the ES, NQ and RTY pages show today's levels late, the symbol pages cover 123 tickers, and the MCP server hands all of it to an AI assistant.
Where to find it
Open firmtape.com: the terminal starts in REPLAY on the newest finished session. The date button on the playback bar opens any other day; the site's Sessions, Screener and Week pages link straight into a replay.
The free tools are pages of their own: /now, /calendar, /gex, /es, /spx/most-active-options, /expiry and MCP.
| You want | Go to |
|---|---|
| The newest finished session | firmtape.com, which opens on it |
| A specific date | The date button on the playback bar, or /session/<date> on the site |
| Days with a given event | /sessions and its event chips (FOMC, CPI, NFP, opex and more) |
| Days where the book did something | /screener and its question pages |
| A link to this exact minute | The share icon at the top right of the terminal |
| Today's levels without an account | /now, and /es, /nq, /rty for the futures |
| The most traded contracts of a day | /spx/most-active-options |
| The expiries ahead | /expiry |
| The archive in your AI assistant | The MCP server, connect steps on /docs/developers/mcp |


Read it in 30 seconds
- The wordmark under the logo says replay, and the date on the playback bar is the session on screen.
- The clock at the right of the playback bar is the cursor's minute; every level and readout is as it stood then.
- Ticks on the scrubber are the day's scheduled releases, the minutes that moved the tape, and your notes.
- The status line under the chart says whether the day is complete and how often its price moves (1s or 5m).
- A level drawn on the chart was on screen at that minute; one that has not appeared yet was not.
How to use it
Find a session
The terminal, free on every finished day#
Why: the terminal itself is the free archive: the walls, the flip, the levels of interest and the ladder of the last finished day, with nothing to sign up for. Where: firmtape.com; the wordmark under the logo reads replay. Plan: Free, no account.
- Open firmtape.com: the chart opens on the newest finished session.
- Scrub the playback bar to any minute; every level follows the cursor.
- Press LIVE at the top left to switch to today's session (the LIVE plan).

How to read it:
- Every line is named at its left end and plated on the price scale, so the chart reads without a legend.
- Green is a positive-gamma strike, red a negative one, amber the zero-gamma flip; none of them says direction.
Limits: SPX carries all three books on every session; tickers beyond SPX start in September 2026.
Related: LIVE: The chart at a glance · LIVE: LIVE and REPLAY · REPLAY: The playback bar
The session archive and session pages#
Why: one line and one page per trading day, with the levels it closed at, ready to open in the replay. Where: firmtape.com/sessions; each day at /session/<date>. Plan: Free, no account.
- Open /sessions: every finished session, newest first.
- Read the line under a day: where SPX closed against the zero-gamma flip and how often the flip was crossed.
- Narrow the list with the event chips (FOMC, CPI, NFP, opex and more), or open the screener for what the book did.
- Open a day's page for its numbers: open, close, range, VWAP, the flip, call resistance, put support, 0DTE ATM IV and the regime at the close.
- Press the replay link on that page to open the session minute by minute in the terminal.

What it measures: A session page carries the volume book's day levels, read at 15:45 ET, how many times price crossed the flip, the tape's completeness, the day's scheduled events with what the book did after each, and the minutes that moved the tape.
How to read it:
- The flip and walls on a session page are the day levels, read at 15:45 ET; the replay shows them minute by minute.
- Closing above or below the flip is a fact about the close, not a forecast of the next session.
Limits: Only finished sessions are listed. Today's levels, fifteen minutes behind, are on /now.
Developer reference: /docs/developers/replay
Related: The session archive and session pages, the full page · REPLAY: The session screener · REPLAY: Sessions by event · REPLAY: The week page · REPLAY: Now: today's levels, delayed
The session calendar#
Why: a month grid of every session, with the scheduled events marked, one click from the chart. Where: the date button at the left of the playback bar. Plan: Free on every finished session.
- Click the date on the playback bar.
- Days with a session are in bold; a dot marks a scheduled event, amber for high impact.
- Click a day to open it; the arrows page months and the date field takes a typed date.
- TODAY returns to the newest session.

How to read it:
- A grey day had no session: a weekend, a holiday, or a day not finished yet.
Limits: The calendar opens SPX days; a ticker's history starts the day it was added.
Related: REPLAY: The playback bar · REPLAY: Market calendar and pulse
Sessions by event#
Why: every FOMC, CPI, payrolls or opex day in one list, with the release's measured effect on the tape. Where: the event chips on /sessions, or /sessions/fomc, /sessions/cpi and the rest. Plan: Free, no account.
- Open /sessions and pick an event chip, for example FOMC.
- Read the header: the measured effect of the release on the window after it, against the tape's own volatility, and what the volume book did on those days.
- Each row gives the session, the event time, the prints against the forecast and the move; the date opens the session page and its replay.

What it measures: The window after the release on event days against the same window on every other archived day, so the header says how much bigger the move ran, not which way.
How to read it:
- The move column is the signed change in index points after the release; it is a record, not a forecast.
Limits: Event kinds include FOMC, CPI, NFP, PCE, PPI, GDP, retail sales, JOLTS, ISM, claims, auctions, Fed speakers, opex, VIX settlement and more. A kind with few days says so in its count.
Related: REPLAY: The session archive and session pages · REPLAY: Market calendar and pulse · REPLAY: The session screener
The week page#
Why: five sessions side by side, with the flip at each close and what the week's events did. Where: firmtape.com/week for the last full week; earlier weeks are one link back. Plan: Free, no account.
- Open /week for the last full week.
- Read each day's open, close, change, range, close to close, the flip read at 15:45 ET with its crossings, and the gamma at the close.
- Read the summary under it: points moved, total range, the flip's drift and the sessions that closed in positive gamma.
- Use the link at the top for the previous week; every week has its own address.
How to read it:
- The flip's drift across the week is where the book's balance point moved, not where price will go.
Limits: Weeks are listed from April 2026.
Related: REPLAY: The session archive and session pages · REPLAY: Sessions by event
The session screener#
Why: test a hunch on the whole archive in seconds, before a backtest and before opening a single replay. Where: firmtape.com/screener and its question pages. Plan: Free, no account.
- Open /screener and set the filters: regime at the open and at the close, flip crossings, direction and size of the move, the net-gamma percentile at the close, 0DTE ATM IV at the open, the event and the weekday.
- Press Screen. The count and the share closing above the flip are shown against the whole archive.
- Read the table of matching sessions; each date opens its session page and replay.
- Press JSON for the same result as data.
- Or start from a question page, such as days that moved 1% or more, and adjust any filter from there.

What it measures: Every filter reads a closing measurement the session pages print. The shares are counts over the matched days next to the same counts over the whole archive.
How to read it:
- A share that matches the archive's own is a base rate, not a pattern.
- A count is a description of past sessions; it says nothing about the next one.
Limits: The screener filters SPX sessions. To test a rule with entries and exits, use LAB.
Related: LAB: The LAB desk and the backtest · REPLAY: The session archive and session pages · REPLAY: Sessions by event
The tape's receipt#
Why: each session's own record of how much of the tape arrived, so a replay is read with its completeness in view. Where: firmtape.com/status. Plan: Free, no account.
- Open /status.
- The header says whether a session is running and how fresh the ticker books are.
- Read the table: one row per session over the last sixty, with the share of the session the archive carries.

How to read it:
- A full bar means the session's minutes are all in the archive.
Limits: The receipt covers the last sixty sessions.
Play it back
The playback bar#
Why: the bar under the chart moves the minute on screen, and every level and readout follows it. Where: the bar under the chart; the keys below work anywhere on the terminal. Plan: Free on every finished session; the same bar works in LIVE.
- Press play and pick a speed, from the session's own pace (1×) up to an hour a second.
- Drag the scrubber to any minute; the clock on the right names it.
- The inner arrows step one candle; the outer buttons jump to the open and the close.
- Read the ticks on the scrubber: scheduled releases, the minutes that moved the tape, and your notes.
- The fold button turns the bar into a chip on the status line.

| Key | What it does |
|---|---|
| ← → | One minute |
| shift + ← → | Ten minutes |
| Home, End | The open, the close |
| space | Play, pause |
| Cmd K | Every command, day and ticker in one box; typing a ticker anywhere opens it too |
| Option 1 to Option 6 | Chart layouts: single, 2-up, 2-stack, 3-up, 3-stack, 4-up; each pane holds its own symbol and follows the page's day and minute |
| ? | Every key on one card |
Stepping by hand pauses playback: having picked a moment, you did not ask to be moved off it a tick later.
Limits: The scrubber is coarse for a specific minute; use the keys, or open a link with ?t=HH:MM.
Related: REPLAY: The session calendar · REPLAY: Share a link to a view · LIVE: Would-be fires on a replay
Keep and share
Share a link to a view#
Why: a link that opens the same session, symbol, book, layers and minute, and leaves the other person's own toolbar alone. Where: the share icon at the top right of the terminal; the camera beside it saves an image. Plan: Free on every finished session; works in LIVE without the minute.
- Press the share icon: a link to the session, the symbol, the book, the layers that are on and the cursor's minute is copied.
- Paste it anywhere; whoever opens it lands on the same picture.
- Press the camera icon to save the terminal as an image at twice the screen's pixels; shift-click saves the chart alone at three times.

A session lives at /replay/2026-08-28, and the query string says how it should open. Nothing is remembered: a link shows someone else's chart and leaves your own toolbar as you left it. To compose one by hand:
| Parameter | What it does |
|---|---|
| ?book= | volume, oi or measured: the book the ladder and its levels are drawn from. A link names one book |
| ?levels= | The levels card as one list: lad, lines, bands, trail. Anything not named is switched off |
| ?lad= and the rest | One switch each: ?lines=off, ?trail=dim. LAD and TRAIL take dim for their middle state; read after ?levels, so a list plus one override works |
| ?t= | The moment to open at: ?t=14:30, seconds and colons optional (1430, 143000) |
/replay/2026-08-28?book=measured&levels=lad,lines&t=15:40 opens the measured book with the ladder and lines only, parked on the last twenty minutes.
Limits: A LIVE link carries no minute: the stream is wherever it has got to when the link is opened.
Related: LIVE: Notes on a minute · ORDERS: A link that opens ORDERS · LIVE: Chart layouts
Daily replay clips#
Why: a short video of the day's replay with its levels, for when watching is quicker than scrubbing. Where: youtube.com/@firmtape; the explainers are also embedded on the Learn pages. Plan: Free.
- Open the channel for the daily clip of the last finished session.
- Open the session in the terminal to stop at any minute the clip passes.

Limits: A clip is a recording; the replay is where every level and readout can be read at any minute.
Related: REPLAY: The terminal, free on every finished day · REPLAY: Learn the terms
Free around the archive
Most active SPX options#
Why: the day's most traded contracts as a page you can read, quote and link, without opening the terminal. Where: /spx/most-active-options, one page per finished session. Plan: Free, no account.
- Open /spx/most-active-options for the newest finished session and the list of every day with a page.
- Read the sentence at the top: the day's most traded SPX option, written to be quoted.
- Read the four tables of ten contracts each: by volume, by premium, by open interest and by volume over open interest, with the expiry, the days to expiry and the share of volume inside multi-leg orders.
- Read the structure mix of the most traded contract: how much of it traded alone and how much inside verticals, condors and the other shapes.
- Step to the session before or after, or open the day in the terminal for the full contract boards and a card per contract.

What it measures: The 1D contract boards of the session cut to ten rows, counted from the options tape after the close. Volume over open interest is the day's volume over the morning's open interest.
How to read it:
- A high Vol/OI says the day's trading was large against the positions that existed; it does not say whether they were opened or closed.
- Counts only: no price target, and no side of any print is read.
Limits: Finished sessions only; today never has a page, whatever the clock says. A day without the evening's contract file has no page.
Related: ORDERS: Contract boards · ORDERS: The contract card · REPLAY: The session archive and session pages
Expiration calendar#
Why: every expiry-class date ahead, by rule, and the measured share of dealer gamma that left the book on the last session. Where: /expiry, also linked from the market calendar. Plan: Free, no account.
- Open /expiry and read The dates ahead: monthly and quarterly options, the ES and NQ futures expiry and roll, month-end and quarter-end SPX, the January LEAPS cycle, and the days on which they coincide.
- Read How much gamma expired, by symbol: each symbol's share of its book that expired on its last session, with a mark at what is usual for that weekday.
- Read the SPX strip of recent sessions; a bar opens that session in the terminal.

What it measures: The share is the unsigned dealer gamma of the contracts that expire on the day over the unsigned gamma of every expiry inside the book's reach (120 days since 2026-09-26, 45 before), near the money, read at 10:00 ET. The usual mark is the median of the symbol's earlier sessions on the same weekday.
How to read it:
- Amber marks a day at least half again above the symbol's usual share.
- The share says how much of the book is about to disappear, not what price does afterwards; each symbol is compared with its own history only.
Limits: Dates are rules, so they are known years ahead; a third Friday that is a market holiday moves to the Thursday. The by-symbol history starts in September 2026.
Related: REPLAY: Market calendar and pulse · REPLAY: Gamma by symbol · REPLAY: Sessions by event
Now: today's levels, delayed#
Why: the current reading, free, for anyone without the live stream. Where: firmtape.com/now. Plan: Free; the undelayed stream is LIVE.
- Open /now during the session for the reading at least fifteen minutes behind, stamped with its own time; when the market is shut it shows the last session's levels, read at 15:45 ET.
- Read the title line for the flip and both walls, then the distance from the flip, the regime and the gamma percentile for the minute.
- Read the next calendar event with what usually followed, and the ES, NQ and RTY levels.

How to read it:
- The gamma percentile ranks net gamma against the same minute of the prior 20 sessions.
- Positive gamma on the volume book is a position, not a forecast.
Related: REPLAY: ES, NQ and RTY levels · REPLAY: The session archive and session pages
Market calendar and pulse#
Why: what is scheduled, what usually followed it, and which minutes moved the tape today. Where: the calendar and pulse icons in the top bar; the public calendar at /calendar. Plan: Free.
- Click the calendar icon for the week: FOMC, CPI, NFP, PCE, ISM, opex and the rest, with actual, forecast and prior.
- Click the pulse icon for the session's tape-confirmed minutes with their tag and the move 5 and 15 minutes after each; a click seeks the scrubber five minutes before the minute.
- On /calendar, read this week and next with what usually followed each kind of release across the archive; subscribe by webcal or read it as JSON.

How to read it:
- "What usually followed" is a measurement over the archive, not a forecast for this release.
Related: LIVE: ±σ band and event marks · REPLAY: Sessions by event
Learn the terms#
Why: the concepts behind the terminal, in plain language, with what they do not mean. Where: /learn, and this guide's glossary; every guide on one page at /guide. Plan: Free.
- Open /learn for gamma exposure, the zero-gamma flip, call and put walls, vanna and charm, reading a gamma chart, 0DTE, open interest against volume, skew, and ES and NQ levels.
- Read an article: a boxed definition, a short video on a real session, then how to read it on the chart.
- Open /guide to read every product guide on one page.
Related: LIVE: The three books · Zero-gamma flip
MCP server#
Why: ask your assistant about dealer positioning and get answers built on measurements, not on what it remembers. Where: the address and the connect steps are on MCP. Plan: Free tools need no account and no key; LAB tools need a sign-in or a Lab token and spend LAB credits.
- Add the server's address from MCP to your assistant as a remote MCP server.
- Ask about a session, a level or a week: the assistant calls the free tools.
- To backtest from the assistant, sign in when it asks, or give it a Lab token.

What it measures: Only derived per-session measurements cross the interface, one session per call: the levels, the regime, the percentiles and the events. Nothing on it is a trade call.
| Tool | What it answers |
|---|---|
| list_sessions | The finished trading days in the archive, newest first |
| get_session | One session: open, high, low, close, the flip and its crossings, the walls, the gamma percentile, ATM IV |
| get_levels | The level set of a day and where the session closed against it |
| get_level_history | How the flip and the walls moved over up to 40 sessions |
| get_symbol_gamma | The latest book of a ticker other than SPX, or of ES and NQ |
| get_events | The market calendar for a window, with what usually followed each kind of event |
| get_gex_profile | Gamma by strike of a session |
| screen_sessions | Filters and counts sessions across the archive |
How to read it:
- A ticker's book comes from five-minute chain snapshots with a trust grade; it is not a tape-signed book.
Limits: One session per call. LAB tools spend the same credits as the terminal. The tool list and the connect steps for each assistant are on MCP.
Developer reference: /docs/developers/mcp
Related: MCP server, the full page · REPLAY: Pages for AI assistants · LAB: The LAB desk and the backtest · REPLAY: The session archive and session pages
Pages for AI assistants#
Why: an assistant that cites the right page and the right number instead of guessing. Where: For AI agents, llms.txt and the Markdown copy of every features and docs page. Plan: Free.
- Give an assistant /for-ai-agents: what FirmTape provides, how to reach it, and what to say about it.
- For a crawler, /llms.txt summarises the site and /llms-full.txt carries more.
- Add
.mdto any features or docs address for its Markdown copy; /docs/llms.txt lists them all.
How to read it:
- The pages state the date their facts were checked.
Limits: They describe the product; the numbers themselves come from the MCP server and the pages it links.
Related: REPLAY: MCP server
Gamma by symbol#
Why: the flip, the walls and net gamma for QQQ, SPY, sector ETFs and the most traded stocks, free. Where: Symbols, and one page per ticker at /gex/<symbol>. Plan: Free on the site; on the LIVE chart every five minutes through the session.
- Open Symbols. The top box gives the ES, NQ and RTY levels.
- Sort by size against the symbol's own turnover, net gamma in dollars, distance to the flip or prints a second; filter to index, ETF or stock.
- Open a row for its symbol page.
- On the page, read the tiles, the session chart, gamma by strike in both books and the per-expiry table out to 120 days; a link replays the symbol in the terminal.

What it measures: Each ticker's book is built from a snapshot of its whole option chain every five minutes: spot from put-call parity, the volume and open-interest books, the flip and the walls. Net gamma is scaled by the symbol's own option turnover so a stock and an index can share one scale.
How to read it:
- The trust grade says how much of the book the chain supports.
- "Above the flip" is a position against the level, not a forecast.
- The data-as-of stamp says how old the reading is.
Limits: No measured book for tickers (it needs the signed tape), no hold band. A ticker's history starts the day it was added, in September 2026.
Related: LIVE: Symbol picker · REPLAY: ES, NQ and RTY levels · LIVE: Levels API
ES, NQ and RTY levels#
Why: the dealer levels in the points you chart, if you trade the E-mini rather than the index. Where: ES, NQ and RTY; the micros trade the same prices. Plan: Free at least fifteen minutes late, or the last close; every second on the LIVE chart.
- Open ES, NQ or RTY.
- Read the price, the flip, call resistance and put support in the future's points beside the index's.
- Read the basis line: the contract, the basis and the time it was read.
- Press the button to open the same view in the live terminal.

What it measures: The index's volume book moved by the day's basis: the future minus the index, measured from put-call parity on the index's own quarterly options, so no futures exchange data is used. Only prices move; the regime and every size are the index book's own.
How to read it:
- MES and MNQ trade at the same prices as ES and NQ.
- When no basis was measured for the day, the page says so and shows the index levels in index points.
Limits: Regular session only. YM is not offered: its basis cannot be measured cleanly.
Related: LIVE: Futures views: ES, NQ, RTY, GC, SI, ZB, CL · REPLAY: Gamma by symbol · ES and NQ levels
Use it with other tools
| Tool | How it pairs |
|---|---|
| LIVE | The same chart and controls; learn them on a finished day, use them live. |
| LAB: The LAB desk and the backtest | Test on the whole archive what you saw on a few replays. |
| ORDERS: The order ledger | The day's order ledger stops at the replay cursor. |
| LIVE: Would-be fires on a replay | Your alert lines mark where they would have fired on the day on screen. |
| LIVE: The ASK drawer | Ask about the minute on screen; answers link back to replay times. |
Ask about it
Open ASK beside the chart and try:
| You want | Ask |
|---|---|
| What were the levels at this minute? | /levels |
| Which orders printed today? | /orders |
| Was this level tested this week? | /history 7800 |
| What was on the calendar this day? | /calendar |
Good to know
- Stepping by hand pauses playback, so a minute you picked stays on screen.
- A replay draws session levels (prior day, opening range, week, month) as they stood at the cursor.
- A shared link carries the view, never your own settings: the person who opens it keeps their toolbar.
- The premarket is not shown in a replay; it is a LIVE-only drawer.
- /now and the ES, NQ and RTY pages are at least fifteen minutes behind the tape and stamp the time their reading belongs to.
- The most active options pages cover finished sessions only; today's never has a page.
If something looks wrong
| You see | Do this |
|---|---|
| The chart is empty for a date | The market was closed that day, or the session is not finished yet: the calendar shows sessions in bold. |
| A level appears partway through the day | That is when it came in: levels of interest stay once their strike has held up, and a replay shows that moment. |
| The minute I shared opens somewhere else | A LIVE link carries no minute; share from REPLAY, or add ?t=HH:MM by hand. |
| A ticker's history starts in September 2026 | Tickers beyond SPX were added then; SPX goes back to April 2022. |
| The RTY page shows index points | No basis was measured that day, so the page shows the RUT levels in index points instead of inventing RTY prices. |
Glossary
| Term | Meaning |
|---|---|
| session | One trading day, 09:30 to 16:00 ET, kept in the archive once it has finished. |
| replay | The terminal reading a finished session, minute by minute, at the cursor. |
| cursor | The minute on screen; every level and readout is as it stood at that minute. |
| zero-gamma flip | The price where the book's net dealer gamma changes sign. |
| volume book | The book built from the day's traded volume, signed by the call or put side; the one the chart draws by default. |
| MCP | The Model Context Protocol: how an AI assistant calls a server's tools. FirmTape's server reads the archive. |
| Vol/OI | A contract's volume over its open interest at the start of the window. |
LIVE The SPX dealer book every second, with alerts, ASK, the structure tester and the levels in your own platform
LIVE: today's session every second, alerts, ASK, the levels API and the platform integrations, and 5 LAB credits a month. Every finished session is free in REPLAY. This guide alone · The product page
Why it matters
Dealers hedge the options they hold, and that hedging concentrates on a few strikes. LIVE measures where it concentrates, rebuilt from every options print each second, and draws it where price can meet it.
It answers one question: where does the dealer book stand right now, and how much weight sits on each level? It does not answer which way price goes. That was tested three independent ways on this data: momentum on negative gamma does not replicate over 2022 to 2026, the sign of net gamma carries nothing across horizons, and a random entry time beats a gamma-threshold crossing.
What holds up is size. Read the levels and the expected move for position size, stop width and whether the day's geometry suits your own model, never for direction.
Around the chart, LIVE carries what makes the book usable during a session: alerts on a price or a level that moves, delivered to Telegram, your phone or your server; ASK, which answers about the minute on screen from these same numbers; the OPTIONS tester, which puts a structure against the book; and the levels API and platform integrations, which put the flip and the walls on the chart you already trade from.
Where to find it
LIVE is the terminal at firmtape.com, mode LIVE at the top left while the market trades. Every layer and control works the same on a finished session in REPLAY, free. Alerts, ASK and OPTIONS are buttons on the terminal's toolbar; the alert destinations and the integration tokens are under Account.
| You want | Go to |
|---|---|
| Today's walls and levels on the chart | Chart bar, WALLS and LEVELS |
| Gamma on every strike | The ladder columns at the right of the chart; LADDER on the chart bar |
| Another book | A column's head card: VOL, OI or MEAS |
| The day's numbers | READOUTS tab at the chart's left edge, or the header chip |
| The whole session's book as a heatmap | LAYERS > HEATMAP |
| Another symbol, ES or NQ | The symbol chip, or just start typing a ticker |
| An alert on a price or a level | Right-click the chart (hold it on a phone), Alert at ... or Alert when price reaches ... |
| Alerts in Telegram, on your phone or on your server | Account, Level alerts, WHERE ALERTS GO |
| Plain-word answers about the screen | ASK on the toolbar, or Cmd+\ |
| A structure read against the book | OPTIONS on the toolbar, then click strikes |
| The levels on your platform's chart | Integrations, then Account, Integrations |


Read it in 30 seconds
- Find the flip (amber) and price's side of it: the header chip's REG says POS, NEG, SPLIT or AT FLIP across the books.
- Find the nearest call wall (green) and put wall (red), and read their width: a fat line is a heavy wall.
- Read EM in the header chip: the share of the opening expected move already used. Past 100% the tape tends to keep moving and go less far.
- Look at the ladder: are the bars stacked near price or spread out? A few heavy strikes near price is a concentrated book.
- The bell plates on the price scale are your alert lines: a dashed line is a fixed price, a named line follows its level.
How to use it
Read the book
The chart at a glance#
Why: one screen where price and the dealer book share a scale, so every level sits where price can meet it. Where: firmtape.com, the terminal itself. Plan: LIVE for today; free on every finished session.
- Open firmtape.com: a finished session opens in REPLAY; press LIVE while the market trades.
- Read the top bar for modes and tools, the chart bar under it for the symbol, the header chip and the switches.
- Read each line by its name at the left end and its plate on the price scale.

How to read it:
- Green lines are positive-gamma strikes, red negative, amber the flip; the chips name the book.
- The playback bar sits at the bottom on every session.
Related: LIVE: Walls and levels · LIVE: Ladder columns · REPLAY: The playback bar
LIVE and REPLAY#
Why: one chart for both: today as it trades, and any finished day to study. Where: LIVE and REPLAY at the top left; the wordmark under the logo says which one you are in. Plan: LIVE needs the LIVE plan; REPLAY is free for every finished session.
- Press LIVE to follow today's session, once a second.
- Press REPLAY to open a finished day; the date on the playback bar opens any other.

How to read it:
- Outside market hours LIVE shows waiting for the session on the status line with the clock in New York time.
Related: REPLAY: The playback bar · REPLAY: The session calendar
Candles, period and candle type#
Why: the price in the form you read best, on a period that suits the zoom. Where: the candle button and the period chip on the chart bar. Plan: LIVE for today; free on every finished session.
- Click the candle button for the type: Candles, Bars, Volume candles, Heikin-Ashi or Line, and a colour scheme.
- Click the period chip to step through 5s, 15s, 1m, 2m, 5m and 15m; AUTO lets the zoom choose.
- Read the 1s chip beside the symbol: on a per-second day price moves every second.

Related: LIVE: Chart navigation
Chart navigation#
Why: look closer at one stretch of the day without losing your way back. Where: the chart itself; the small panel at the bottom right while the view is set by hand. Plan: LIVE for today; free on every finished session.
- Scroll to zoom in time, drag to pan.
- Drag the price scale to stretch prices.
- Use the small panel (Price, Time, Ladder, Move, Reset) that appears while the view is set by hand.
- Double-click the chart, or press Reset, to go back to auto. Dragged handles such as the ladder width stay.

Related: LIVE: Candles, period and candle type · LIVE: Ladder columns
Ladder columns#
Why: the whole shape of the book, strike by strike, level with the price it belongs to. Where: the columns between the plot and the price scale; LADDER on the chart bar turns them on, dims or hides them. Plan: LIVE for today; free on every finished session.
- Click a column's head (for example VOL NET GEX ALL) to open its card.
- Pick the book: VOL, OI or MEAS; the expiry: ALL, 0DTE or NEXT.
- Pick the metric: NET GEX, DEX, VEX, ABS GEX, or the contract counts NET OI, TOTAL OI, NET VOL, TOTAL VOL.
- Pick the flow window (NOW, 5m, 15m, 30m, OPEN), the look (BARS or HEAT) and whether its walls draw as LINES and BANDS.
- Add a column with + on a head, remove one with x; drag a column's left edge to widen or narrow its bars.

What it measures: Each row is one strike, level with its price. The figure on a row is the gamma on that strike in dollars per point; the bar's length is its size against the column's largest.
| Control | What it does |
|---|---|
| VOL, OI, MEAS | The book the column reads |
| ALL, 0DTE, NEXT | Every expiry, today's, or the next one |
| NET GEX, DEX, VEX, ABS GEX | Net gamma, delta, vanna, or gross gamma |
| NET OI, TOTAL OI, NET VOL, TOTAL VOL | Contract counts instead of a greek |
| NOW, 5m, 15m, 30m, OPEN | The window the flow is summed over |
| BARS, HEAT | A bar per strike, or a shaded cell per strike |
| LINES, BANDS | Whether this column's walls draw on the chart |
| left edge | Drag to widen or narrow the bars; remembered for the next visit |
How to read it:
- Green bars are positive gamma, red negative.
- HEAT shows where the book clusters at a glance; BARS is better for comparing two strikes.
- A heavy bar near price is concentration, not a direction.
Limits: Tickers have the VOL and OI books only, and no DEX or VEX: those need a signed position.
Related: LIVE: The three books · LIVE: Walls and levels · LIVE: PANELS
The three books#
Why: the same session read three ways, and where they disagree is information. Where: a ladder column's head card, and LAYERS > LEVELS OF for the lines. Plan: LIVE for today; free on every finished session.
| Book | What it is |
|---|---|
| volume | The call-put signed volume book at 0DTE: the conventional public gamma object, built here independently from the tape. In LAB: net_gamma_vol. |
| open interest | The same construction on open interest, summed over four expiries, so its net is not comparable with the 0DTE books. In LAB: net_gamma_oi. |
| measured | Signed from the actual trade tape with the prevailing quote. It disagrees with the convention book about the regime in 43.0% of all minutes over 1,086 archived sessions. In LAB: net_gamma_meas. |
The per-book readouts (flip, walls, net gamma, distance to the flip), the regime, the gamma percentile and the flow of gamma are in READOUTS and are LAB columns too, each named for its book: flip_vol_dist, call_wall_vol_dist, gamma_pctl_vol and their _meas and _oi twins.
How to read it:
- An unqualified level means the volume book.
- Two books on one line agree on that price; a level in one book only is that book's view.
Related: LIVE: Ladder columns · LIVE: READOUTS drawer · LAB: The LAB vocabulary
Header chip and REGIME#
Why: the three numbers that frame the minute, without opening anything. Where: the chip beside the symbol on the chart bar; REGIME on the right of the chart bar. Plan: LIVE for today; free on every finished session.
- Read EM: the share of the opening expected move already used.
- Read REG: POS, NEG, SPLIT or AT FLIP, price against each book's flip.
- Read Δ: the largest 30-minute change in the book.
- Click the chip to open READOUTS; press REGIME for a thin strip at the plot's right edge, green above the chart book's flip and red below.

How to read it:
- SPLIT means the books disagree about the regime.
- A regime is a position, not a forecast.
Related: LIVE: READOUTS drawer · LIVE: The expected move
The expected move#
Why: the one reading on this screen that has held up: the market's own price for the session's move. Where: the EM chip beside the ticker and section 01 of READOUTS. Plan: LIVE for today; free on every finished session.
- Read used so far: how much of the move priced at the open the day has already travelled, in either direction.
- Read left to close: the expected move from here to the close, off the current straddle.
- Read the close bands: where the close lands on most days, from the straddle.
What it measures: The ATM 0DTE straddle, doubled to a range. Over 1,088 sessions it is calibrated: the close lands inside one expected move 72.4% of the time, and as a variance forecast it is unbiased (E[z²] 1.03). In LAB: em_used.
| Control | What it does |
|---|---|
| used so far | Share of the opening move travelled, anchored at the opening print |
| CHOP | Past 100%: after the opening move is spent, realised vol over the next 30 minutes is no lower, but the net distance travelled is 17 to 27% smaller |
| left to close | The expected move from here to the close |
| after 15:55 | Left to close greys out: implied vol is read from a vanishing time to expiry |
How to read it:
- Take the expected move as the day's span and size against it: twice as wide as usual means half the position for the same risk, or a stop twice as far.
- Past 100%, expect the tape to keep moving and go less far: smaller targets rather than a chase.
- Every number is about magnitude, never about which way.
Limits: SPX only: the other tickers have no straddle here. It follows the cursor, the day and the symbol, not the book switches: the straddle is the market's price, not one of our books. Our own gamma-based forecast of the move added nothing to the straddle (t +0.03 against +3.54).
Developer reference: /docs/developers/live/expected-move
Related: LIVE: READOUTS drawer · LIVE: Header chip and REGIME · Expected move calibration
READOUTS drawer#
Why: the expected move, flow by strike, the regime in three books and the vol, read at the cursor. Where: the READOUTS tab on the chart's left edge, or a click on the header chip. Plan: LIVE for today; free on every finished session.
- Open READOUTS and pick the book at the top: VOL, OI or MEAS.
- 01 Expected move: the share used, the move left to close, the close ranges and the median close.
- 02 Flow by strike: the strikes where gamma was added or shed over 5, 15 or 30 minutes.
- 03 Regime: spot against each book's flip, and the distance to the flip through the day.
- Further sections: reach (touch and close odds for the call wall, flip and put wall), the book's largest change, ATM IV and skew, and how much of the book expires today.

What it measures: ATM IV at the foot of the expected move is the vol the market is charging. It climbs about threefold from the open to the close on a 0DTE, so its 30-minute change mostly reads the clock and is no longer shown. In LAB:atm_iv,atm_iv_chg30.
How to read it:
- "Gamma added" and "gamma shed" describe the book, not anyone's trade.
- Touch odds are frequencies from the archive at the same distance, not a forecast for today.
Limits: Each section reads the minute under the cursor. A ticker shows the sections its five-minute book can fill.
Related: LIVE: The expected move · LIVE: The three books · LIVE: Header chip and REGIME
See the walls
Walls and levels#
Why: the strikes the book leans on, drawn where price can meet them, each with its weight. Where: the chart bar switches WALLS, LEVELS and BANDS; which books draw is LAYERS > LEVELS OF. Plan: LIVE for today's session; free on every finished session.
- Turn on WALLS to draw each book's call wall and put wall with its chip and price tag (CW 7810).
- Turn on LEVELS to add the levels of interest: strikes that keep standing out in the VOL and OI books, ranked C1, C2, P1, P2.
- In LAYERS > LEVELS OF, pick one, two or three books. Where two books agree on a price, their chips sit side by side on one line.
- Turn on BANDS to paint each wall over the strike interval it owns.
- Set the levels filter to hide levels holding less than a share of the strongest; 8 to 20% is the useful range, 0 shows everything.

What it measures: A wall is the major positive or negative gamma strike of a book; width is that strike's share of the near-money gamma in the window. A level of interest is a strike that has stood out for a while and stays for the day once it has held.
| Control | What it does |
|---|---|
| WALLS | Call wall and put wall of each selected book, with chips and price tags |
| LEVELS | Levels of interest from the VOL and OI books |
| BANDS | Half a strike step either side of each wall, opacity by share; never on the flip |
| LEVELS OF | Which books draw their levels (one to three) |
| levels filter | Minimum share of the strongest drawn level; a line below says how many were hidden |
How to read it:
- Colour is the kind of level, never the book: green the major positive-gamma strike, red the major negative, amber the zero-gamma flip. The book is named on the chip.
- Width is weight: a fat line is a heavy wall, a thin one a level the book barely carries.
- Fade is distance: a level about forty points away draws at roughly a quarter strength.
- OI standouts at the open (yesterday's positions) are levels from the first minute; the rest appear once their strike has held up, and a short tick marks when.
- None of it says direction. Concentrated hedging holds price on a positive-gamma strike and speeds it away from a negative one.
Limits: Whether price is drawn to strength has not been measured here; it is an open idea, not a claim. Walls, levels and session levels that meet on one price share a line and one price-scale plate (CW·C2·PDC 7620).
Related: Walls and levels, the full page · LIVE: Level card · LIVE: Session levels · LIVE: TRAIL · LIVE: Alert lines · Call wall
Level card#
Why: weigh a level before you lean on it. Where: click a level's chips at the left edge of the chart. Plan: LIVE for today; free on every finished session.
- Click the chips of a wall or level.
- Read the distance from spot in points and in expected moves.
- Read the gamma on the strike, its share of the window, how often a level at that distance is touched by the close, and since when it has stood.
- Read the same kind of level in the other two books at the foot.

How to read it:
- "Touched by close" is how often a level at that distance was reached by the close in the archive, not a forecast for this one.
Related: LIVE: Walls and levels · LIVE: The expected move
Session levels#
Why: the reference prices of the sessions around the one on screen, joined with the dealer levels where they meet. Where: LAYERS > SESSION: PD, OR, PM, ON, WEEK, MONTH. Plan: LIVE for today; free on every finished session (PM and ON in LIVE only).
- Open LAYERS in the chart's header. The SESSION row has six switches, all off until you turn them on; the chart remembers your choice.
- PD: the prior day's high, low and close (PDH, PDL, PDC).
- OR: the opening range, 09:30 to 10:00 ET (ORH, ORL), dim while it forms and final from 10:00.
- PM: the premarket high and low, 04:00 to 09:30 ET (PMH, PML), in LIVE where the premarket is on the chart.
- ON: the overnight high and low, 20:00 ET the evening before to 09:30 (ONH, ONL), the premarket included, in LIVE where the night has prints.
- WEEK: the prior calendar week's high and low (PWH, PWL); MONTH: the month's high and low to date (MTDH, MTDL).

What it measures: Session levels come from prices, not from a book. The prior day's high and low are read from that session's per-second prices, so a high the replay of that day reached is the high on the line. Week and month come from the finished sessions before the day on screen; the month adds the day itself up to the cursor. Before the open the premarket chart draws them too: today's prior day, week and month, with PM and ON growing as the premarket prints.
How to read it:
- Each group has its own colour, a badge at the line's left end and a plate on the price scale. A price crossing a session level flashes it.
- When a session level lands on a wall or a level of interest they share one line and one plate naming every member, such as CW·C2·PDC 7620. The strongest kind draws the line: a wall, then a level of interest, then a session level.
- A replay draws them as they stood at its cursor.
Limits: PM is LIVE only: a replay has no premarket on its chart. On ES, NQ and RTY every session level is moved by the day's basis, the same way the view moves its dealer levels.
Related: Session levels, the full page · LIVE: Walls and levels · LIVE: PREMARKET · LIVE: LAYERS
TRAIL#
Why: which strikes the book kept rebuilding, and which were left after one touch. Where: TRAIL on the chart bar (on, dim, off). Plan: LIVE for today; free on every finished session.
- Press TRAIL once for on, again for dim, again for off.
- Read the hatched trail behind each level: thick where the book carried the strike, gaps where it did not.

Limits: TRAIL needs the per-second grid; on a day without one it offers to build it.
Related: LIVE: Walls and levels
±σ band and event marks#
Why: the session's own stretch around its VWAP, and the releases that moved it. Where: ±σ on the chart bar. Plan: LIVE for today; free on every finished session.
- Press ±σ to draw the session VWAP with one, two and three standard deviations of the session's prices.
- Point at a short tick on a 1σ edge to read the release it marks, for example 14:00 FOMC decision.

How to read it:
- The band measures the session's own prices, not the book.
Related: REPLAY: Market calendar and pulse
Map the surface
LAYERS#
Why: one place for everything drawn over the candles. Where: LAYERS on the chart bar; the number on it counts what is on. Plan: LIVE for today; free on every finished session.
- Click LAYERS.
- Pick rows: SESSION, LEVELS OF, OVERLAYS, HEATMAP, INDICATORS, RESEARCH, ORDERS.
- Point at any button for what it draws.

Related: LIVE: Session levels · LIVE: Heatmap: GAMMA, VANNA, CHARM · ORDERS: Orders on the chart
Heatmap: GAMMA, VANNA, CHARM#
Why: the whole session's book in one picture: where gamma sat, and how it moved, minute by minute. Where: LAYERS > HEATMAP: GAMMA, VANNA or CHARM, one at a time. Plan: LIVE for today; free on every finished session.
- Open LAYERS and pick GAMMA in the HEATMAP row.
- Read the colour behind each candle: one side of the legend for positive, the other for negative, brighter for more.
- Switch to VANNA to see how hedges move with implied vol, or CHARM for how they move with time to expiry.
- Turn walls and levels on with it to see which bright regions became levels.

What it measures: Each cell is one strike at one minute, coloured by that greek's dealer exposure in the volume book's frames. The legend at the bottom right gives the sign of each colour.
| Control | What it does |
|---|---|
| GAMMA | Where gamma sat through the day |
| VANNA | How hedges move with implied vol |
| CHARM | How hedges move with time to expiry |
How to read it:
- Bright bands that persist are strikes the book carried all day; short flashes are flow that came and went.
- Price moving from one colour into the other is crossing between gamma regions, not a forecast.
Limits: One heatmap at a time. Tickers draw vanna and charm from the volume and open-interest books.
Related: Heatmap: GAMMA, VANNA, CHARM, the full page · LIVE: Walls and levels · LIVE: TRAIL · LIVE: The three books · Vanna and charm
VOL DOTS and VOL BARS#
Why: where the session's traded volume landed. Where: LAYERS > OVERLAYS. Plan: LIVE for today; free on every finished session.
- VOL DOTS marks candles whose 0DTE volume is in the top tenth of the window.
- VOL BARS draws contracts per candle under the chart, the busiest bars brightened.

How to read it:
- Volume says how much traded, never which side.
Related: LIVE: CVD · LIVE: ΔΓ overlay
ΔΓ overlay#
Why: candle by candle, how the measured flow changed the book. Where: LAYERS > OVERLAYS > ΔΓ. Plan: LIVE for today; free on every finished session.
- Press ΔΓ once for a strip of bars under the chart (green added, red shed).
- Press again to write the number beside each candle; again for off.

What it measures: Net dealer gamma put on while each candle formed, in the measured flow book, in $M.
Related: LIVE: READOUTS drawer · LIVE: The three books
SMILE#
Why: the volatility smile on the same strikes as the book. Where: LAYERS > OVERLAYS > SMILE. Plan: LIVE for today; free on every finished session.
- Turn on SMILE.
- Read the dots at the right of the plot: each strike's implied vol, red for puts below spot, green for calls above, with the range written at the top.

Related: LIVE: READOUTS drawer
CVD#
Why: how the session's 0DTE volume split between calls and puts, totalled from the open. Where: LAYERS > INDICATORS > CVD. Plan: LIVE for today; free on every finished session.
- Turn on CVD: a band opens under the chart.
- Pick the expiry scope on its right: ALL, 0DTE or NEXT.
- Pick CT for contracts, and CVD or BARS for the style; the x closes it.

What it measures: Cumulative volume delta: call contracts minus put contracts per bar, totalled from the open.
How to read it:
- Calls minus puts counts contracts by right, not by side: a call can be opened or closed by anyone.
Related: LIVE: VOL DOTS and VOL BARS
Research overlays: RV/IV and 25Δ·HI#
Why: the strongest relationship in the whole study, drawn as it happens. Where: LAYERS > RESEARCH. Plan: LIVE for today; free on every finished session.
- Turn on RV/IV: a strip under the chart of trailing realised range over implied range, at 15, 30 or 60 minutes.
- Read 1.00 as the market having priced the move exactly; above 1 it underpriced, below 1 it overpriced.
- 25Δ·HI marks with a violet dot the candle where 25-delta skew reached the top tenth of the session so far, and shades the 30 minutes after it.

What it measures: Realised over implied is the strongest relationship in the study (coefficient +0.49, day-clustered t +12.8, deciles running 0.70 to 1.35).
How to read it:
- It does not pay on its own. The naked round trip fails because implied vol moves against you by almost exactly as much as you gain: at 60 minutes the underlying leg runs from minus $213 to plus $324 across deciles while the IV leg runs from plus $115 to minus $130. Hedging removes delta, not vega.
Limits: Research layers: measurements to test in LAB, not rules.
Related: LIVE: The expected move · LAB: The LAB desk and the backtest
FORWARD#
Why: how the current book reprices toward the close, drawn beside the price. Where: FORWARD on the chart bar. Plan: LIVE for today; free on every finished session.
- Press FORWARD.
- Read the cone: one expected move to each checkpoint.
- Read the heavy strikes with their share of the near-money window.
- Read the white path, labelled model, not a forecast.

What it measures: The book on screen repriced at future clocks: the volume book carried to the close over eleven checkpoints. The band shows the strikes still loaded.
How to read it:
- The path is a model of the book carried forward, not a forecast of price.
Related: LIVE: The expected move · LIVE: COMPARE
COMPARE#
Why: how other symbols' books carry forward, side by side on one scale. Where: COMPARE on the chart bar. Plan: LIVE for today; free on every finished session.
- Press COMPARE, type or pick a symbol and press enter.
- Each one appears under SELECTED with its colour and a Remove button.
- The paths draw over FORWARD, each as a percentage of its own spot; the count shows on the button.

Related: LIVE: FORWARD · LIVE: Symbol picker
Before the bell
PREMARKET#
Why: the market's position against yesterday's flip and walls before the index trades. Where: LIVE from 04:00 ET until the open: the PREMARKET drawer above READOUTS, and the premarket candles left of 09:30. Plan: LIVE only.
- Open the terminal in LIVE from 04:00 ET: the PREMARKET drawer opens above READOUTS for the market on the chart.
- Read the estimate: where the market stands now and its change against the close, with the source and how old it is.
- Read the levels: yesterday's flip, call wall and put wall, each with the signed distance from the estimate, in the market's own points.
- Read ATR used: how much of the average daily range the move since the close has used.
- Pan the chart left: the premarket from 20:00 ET the evening before sits in 5-minute candles left of 09:30. LAYERS > SESSION > PM draws its high and low.

What it measures: The index does not trade yet, so its price is an estimate: the live price of a stand-in ETF times yesterday's closing ratio between the two. SPX and ES come from SPY, NQ from QQQ, gold (GC) from GLD and crude (CL) from USO; ES and NQ then go through the basis measured from the index options, and on the morning a stock goes ex-dividend the dividend is added back. A ticker shows its own price; an index goes through its ETF (NDX via QQQ, RUT via IWM).
| Control | What it does |
|---|---|
| the estimate | Where the market stands now, its change against the close, the source and its age |
| the levels | Yesterday's flip, call wall and put wall with the signed distance from the estimate |
| ATR used | The move since the close against the mean true range of the last 14 sessions, with the night's range |
| releases | The morning's scheduled releases before 09:30 marked on the premarket charts |
| the chart | Premarket from 20:00 ET in 5-minute candles, left of 09:30 on the same time axis |
How to read it:
- Every number says est. or, for a ticker's own price, ref.: none is an official print.
- A jump is read against its cause: an 8:30 CPI or payrolls is marked.
Limits: Part of LIVE, and on the screen only: no file, API, alert or ASK answer carries a premarket number. A replay has no premarket.
Related: PREMARKET, the full page · LIVE: Session levels · LIVE: Futures views: ES, NQ, RTY, GC, SI, ZB, CL · LIVE: Morning levels mail
Lay it out
PANELS#
Why: several books side by side, each with its own symbol and settings. Where: PANELS 1, 2, 3 or + PANEL in the top bar. Plan: LIVE for today; free on every finished session.
- Press PANELS 1, 2 or 3, or + PANEL for one more, up to twelve.
- Click a panel's symbol chip to change its ticker; empty means it follows the chart.
- Set each panel like a ladder column: book, expiry, metric, window, bars or heat.
- Read FLIP, CW, PW and NET at the panel's foot; CHART in the bar hides or shows the main chart.

Related: LIVE: Ladder columns · LIVE: Chart layouts
Chart layouts#
Why: several symbols, each with its own switches, playing on one clock. Where: the layout icon at the top right; ⌥1 to ⌥6. Plan: LIVE for today; free on every finished session.
- Click the layout icon at the top right.
- Pick an arrangement: Single, 2-Up, 2-Stack, 3-Up, 3-Stack, 4-Up (⌥1 to ⌥6).
- Or pick a preset: Index quad (SPX, QQQ, IWM, DIA), Semis, Risk gauges (SPX, UVXY, TLT, GLD), Commodities and more.
- Each pane keeps its own symbol chip, layers and ladder, and follows the page's day and minute.

How to read it:
- When you are signed in, your arrangement (the grid and its tickers, panels, columns, display settings) is kept with your account, so it follows you to another device; the newer copy wins.
Limits: Up to four charts in one layout.
Related: LIVE: PANELS · LIVE: Symbol picker · REPLAY: Share a link to a view
Symbol picker#
Why: the same chart and controls for every symbol, with how often its book is rebuilt. Where: the symbol chip, or start typing a ticker anywhere. Plan: LIVE for today; free on every finished session.
- Click the symbol chip, or just start typing a ticker; the list opens on it.
- Read the sections: SPX (live engine, every second, three books), the futures, and the snapshot tickers (volume and OI books every five minutes), each with its price, its side of the flip and a trust grade.
- Filter with INDEX, ETF, STOCK or FUTURES, or search by name (semi, gold).
- enter opens it on the chart, shift+enter in a new panel; the star pins it.

What it measures: SPX is measured every second in three books. More than a hundred more symbols are carried from snapshots of the option chain every five minutes with the volume and open-interest books, the flip and the walls. What a snapshot cannot measure is absent rather than faked: no measured book, no DEX or VEX, no hold band.
How to read it:
- The badge on the chip says how often its book is rebuilt: 1s or 5m.
- A stock shows its next earnings date on the chart.
Limits: A symbol's history starts the day it was added, in September 2026, and grows by one session every evening. LAB runs on SPX only.
Related: LIVE: Futures views: ES, NQ, RTY, GC, SI, ZB, CL · REPLAY: Gamma by symbol · LIVE: PANELS
Futures views: ES, NQ, RTY, GC, SI, ZB, CL#
Why: the levels in the points you actually chart, with no futures exchange data. Where: the symbol picker's FUTURES section, or type ES, NQ, RTY, MES, MNQ or M2K. Plan: LIVE for today; free on every finished session.
- Pick FUTURES in the symbol picker, or type the symbol; the micros trade the same prices.
- Point at the symbol chip to read the contract and today's basis or ratio.
- Read the READOUTS book section: it opens with the contract and the basis, for example ESZ26 from the SPX book, basis +58.50.

What it measures: ES and NQ are the SPX and NDX books drawn at the future's price. Every price on the chart is moved by the basis: the gap between the future and the index, read every five minutes from put-call parity on the AM-settled options of the future's own quarterly expiry. The ES price it gives sat a median 0.02 points from the real ES over 206 sessions, the NQ price 0.4 points over September 2026. RTY is the RUT book moved the same way, at RTY's 0.1 tick. GC, SI, ZB and CL take the fund's book (GLD, SLV, TLT, USO) times the ratio.
How to read it:
- Only prices move: the expected move, the regime, gamma sizes, IV and every percentage are the index book's own.
- The basis shown is the day's running median at the future's tick; it shrinks to zero at expiry and jumps at each quarterly roll, eight days before expiry.
Limits: The regular session only: the index does not trade overnight, so neither does the view. RTY has not yet been checked against real RTY prices; on a day with no measured basis the RUT levels show in index points. YM is not offered.
Related: LIVE: Symbol picker · LIVE: PREMARKET · REPLAY: ES, NQ and RTY levels
Focus mode#
Why: the chart alone, nothing around it. Where: the focus icon at the top right. Plan: LIVE for today; free on every finished session.
- Click the focus icon: the top bar and the status line go away and the chart fills the window.
- Press Escape to bring them back.
Related: LIVE: Chart layouts
Tell us what to build
DARE US#
Why: a use case the terminal does not cover yet, sent straight to the people who build it. Where: DARE US on the toolbar. Plan: Free.
- Press DARE US.
- Describe what you trade and what you want to see, and press Send.
- The card answers Got it: every request is read and answered by email.
Related: LIVE: The ASK drawer
Alerts and delivery
Alert lines#
Why: an alert where you are looking, on a fixed price or on the call wall, put wall or flip wherever the book moves it. Where: right-click the chart or a ladder row (hold for half a second on a phone); the bell on the price scale opens the line's card. Plan: LIVE.
- Right-click a price on the chart and pick Alert at 7,809.75 for a price line at that price.
- Near a wall or the flip, pick Alert when price reaches Call wall instead: a level line that follows that level as the book moves it.
- On a ladder strike the menu offers Alert at strike and Contract card; All alerts opens the list in your account.
- Drag a price line up or down to move it; the new price is saved when you let go.
- Click the bell plate on the price scale for the card: Once, Repeat or Delete.

What it measures: A line fires on the first reading that crosses or touches it, with no waiting period, because you chose the price. A level line reads the volume book's flip, call wall or put wall, the levels the chart draws by default.
| Control | What it does |
|---|---|
| Alert at <price> | A price line, dashed, at that price |
| Alert when price reaches <level> | A level line on the call wall, put wall or flip, which follows it |
| Alert at strike | A price line at a ladder strike |
| bell plate | Opens the card: Once, Repeat, Delete, and when it would have fired on the day on screen |
| drag | Moves a price line; saved on release |
How to read it:
- A dashed line with a bell is a fixed price; a line named like Call wall 7,810.00 follows its level.
- A loop mark on the bell means the line repeats.
- A line says nothing about direction: it fires whichever way price meets it.
Limits: Up to 25 lines an account, kept on your account so they are on every device you sign in on. A repeating line fires again once price has been 20 SPX points away. Lines fire during the regular session only.
Developer reference: /docs/developers/live/alert-lines
Related: Alert lines, the full page · LIVE: Would-be fires on a replay · LIVE: Where alerts go · LIVE: The list of your alert lines · LIVE: Walls and levels
Would-be fires on a replay#
Why: judge a line on past sessions before trusting it live. Where: keep or set a line, then open a finished session; marks sit on the line and the card lists the times. Plan: LIVE for the lines; the sessions are free.
- Set a line, or keep one you have.
- Open a finished session from the date on the playback bar.
- Read the small bell marks on the line: each one is a moment it would have fired. Point at one for would fire HH:MM.
- Press play: the line flashes as playback crosses a would-be fire.
- Click the bell for the card, which says, for example, On Oct 9 it would have fired once (to 15:59): 12:17.

What it measures: The same firing rule as the live alert, run over the session from the open to the cursor: the first reading that crosses or touches the line, and for a repeating line every return after price has been 20 SPX points away.
How to read it:
- A mark is where the rule would have fired. It does not say what price did next.
Limits: Nothing is sent for a would-be fire. In LIVE scrubbed back, the marks cover the part of today already traded.
Related: LIVE: Alert lines · REPLAY: The playback bar
Level alerts on a watchlist#
Why: hear about the events that change the book on every symbol you follow, without a chart open for each. Where: Account, Level alerts, YOUR SYMBOLS and ALERT ME WHEN. Plan: LIVE.
- Type symbols under YOUR SYMBOLS (SPX, ES, NQ, RTY or any ticker on the chart) and press Add; the x on a chip removes it.
- Under ALERT ME WHEN, switch on the events you want.
- For The flip moves set the minimum move in points; for Price nears the flip or a wall set the distance.
- Press Save alerts. HOW ALERTS FIRE below explains the hold time and the repeat window.

What it measures: SPX, ES and NQ are checked every few seconds against the book rebuilt each second. Other symbols read their five-minute book, and the message says so. ES, NQ and RTY are the index book moved by the day's basis.
| Control | What it does |
|---|---|
| Price crosses the flip | Price moves to the other side of the zero-gamma flip |
| Price breaks a wall | Price goes through the call wall or the put wall |
| The gamma regime turns | The book's net gamma changes sign |
| A wall moves to a new strike | The call wall or the put wall moves (off by default) |
| The flip moves | The flip moves by more than the points you set (off by default) |
| Price nears the flip or a wall | Price comes within the distance you set (off by default) |
How to read it:
- Each message carries the event, the price, the time in New York, the flip and both walls, and the book.
- A regime turning is a fact about the book, not a forecast of the next move.
Limits: Up to twenty symbols. A new side must hold for twenty seconds, and the same alert is not sent again within fifteen minutes. Regular session only.
Developer reference: /docs/developers/live/events
Related: LIVE: Where alerts go · LIVE: Webhooks · LIVE: Symbol picker · LAB: Desk alerts · Zero-gamma flip
The list of your alert lines#
Why: see all your lines across symbols, and change a line's mode without finding it on a chart. Where: Account, Level alerts, section 05, or All alerts in the chart's right-click menu. Plan: LIVE.
- Open the list: each line shows its symbol and price, or the level it follows (SPX flip (follows it)).
- Read Once or Repeats under each line.
- Press Make repeat or Make once to switch it, or Delete to remove it.

How to read it:
- The count on the right (3 / 25) is the lines in use against the limit.
Limits: Lines are added on the chart, not here.
Related: LIVE: Alert lines
Where alerts go#
Why: one place decides where every alert goes: level alerts, alert lines and order alerts alike. Where: Account, Level alerts, WHERE ALERTS GO. Plan: LIVE.
- Telegram: press Open @FirmTapeBot; the one-time link works for 30 minutes.
- Push to this device: turn the switch on, on each device that should ring. On iPhone and iPad only from the installed app.
- Webhook: paste an
https://address and press Save; Send test event checks it.

How to read it:
- An alert goes to every destination that is on. One alert is claimed once, so it goes out once.
Limits: One webhook address an account.
Related: LIVE: Telegram: @FirmTapeBot and the channel · LIVE: Notifications on your phone · LIVE: Webhooks
Telegram: @FirmTapeBot and the channel#
Why: alerts and the current levels in the chat app already on your phone. Where: Account, Level alerts, Open @FirmTapeBot; then commands in the chat. Plan: LIVE for alerts and live levels; without LIVE the bot's levels are fifteen minutes late.
- Link the chat from Account, Level alerts.
- Type
/levelsfor your list, or/levels esfor one symbol. - Use
/watch,/unwatchand/listto edit the watchlist from the chat.

| Command | What it answers |
|---|---|
| /levels | Your list, or one symbol: live with LIVE, fifteen minutes late otherwise, the last close when the market is shut |
| /gex QQQ | One symbol's book |
| /watch, /unwatch, /list | Edit and read your list from the chat |
| /session 2026-09-29 | A finished day |
| /ask | The terminal's assistant, in the same fifty questions a day |
The public channel @firmtape posts SPX, ES, NQ and four of the most opened tickers fifteen minutes late at 09:50, 12:00 and 15:45 ET, and the day's summary after the close.
Limits: Alerts reach the one chat linked to the account.
Related: LIVE: Level alerts on a watchlist · LIVE: The ASK drawer
Notifications on your phone#
Why: an alert on the lock screen with no other app to install. Where: Account, Level alerts, Push to this device, on each device. Plan: LIVE.
- On iPhone or iPad open firmtape.com in Safari, tap Share, then Add to Home Screen.
- Open FirmTape from the Home Screen and turn on Push to this device under Account, Level alerts.
- On Android or a desktop browser, open the same page and turn it on.
- Press Send test to check the device at once.

Limits: Push is set per device. On iPhone and iPad it works only from the installed app.
Developer reference: /docs/developers/live/web-push
Related: LIVE: Where alerts go
Webhooks#
Why: every alert as data your own code can act on. Where: Account, Level alerts, Webhook. Plan: LIVE.
- Paste one
https://address and press Save. - Press Send test event to post an event of type
test. - Open Signing secret and keep it on your server; verify every request with it.
- Rotate secret replaces it; the old one stops verifying at once.

What it measures: Every event on your list (the same symbols, events and holds as Telegram), every fired alert line and every order alert is POSTed to the address as JSON, signed with HMAC-SHA256 over the timestamp header, a dot and the raw body.
POST https://your.server/firmtape
Content-Type: application/json
X-FirmTape-Event: flip_cross
X-FirmTape-Event-Id: evt_3f9a0c6e21d4b7a8e5f10c2d
X-FirmTape-Timestamp: 1760034725
X-FirmTape-Signature: sha256=<hex HMAC-SHA256 of "<timestamp>.<raw body>">
{"version": 1, "id": "evt_3f9a0c6e21d4b7a8e5f10c2d", "type": "flip_cross",
"symbol": "SPX", "level": {"kind": "flip", "value": 6715.5}, "price": 6712.25,
"book": "volume", "ts": "2026-10-09T14:32:05-04:00", "day": "2026-10-09",
"levels": {"flip": 6715.5, "call_wall": 6750, "put_wall": 6700, "put_support": 6700},
"text": "SPX crossed below the flip 6,715.50", "direction": "below"}
| Field | What it holds |
|---|---|
| type | flip_cross, wall_break, regime_change, wall_move, flip_move, level_near; for an alert line price_alert (a price line) or level_line (a line that follows a level); for an order rule's match order (its rule and order: time, structure, legs, expiry, size, premium, points from the flip and a wall, never a side); or test |
| level | kind is flip, call_wall, put_wall or, for a regime change, net_gamma; value the level; a moved level adds from |
| levels | The book's flip, call_wall and put_wall at the event. Deprecated: put_support, the same number as put_wall, is sent until 2026-11-30; read put_wall |
| direction | above or below for a cross or an approach, up or down for a move, positive or negative for a regime |
| ts, day | When the event was found, ISO 8601 in New York time with its offset, and the ET trading day |
| id | Stable: every retry of one event carries the same id, so drop one you have seen |
| also | threshold_points for flip_move and level_near (SPX points); from and basis for ES, NQ and RTY; levels_asof for a ticker's five-minute book |
| alert | An alert line's own: id, kind (price or level), level (flip, call_wall, put_wall), price, mode (once or repeat) |
Verify every request: recompute the signature over the timestamp header, a dot and the raw body, compare in constant time, and refuse a timestamp more than five minutes old. The POSITIONS webhook is signed the same way; Geo's webhooks sign theirs differently, and the developer reference has each one and the single format all three move to. Until 2026-10-11 the POSITIONS webhook signed the raw body alone; that signature is still sent, until 2026-11-30, as X-FirmTape-Signature-V0.
// Node
const crypto = require("crypto");
function verify(rawBody, headers, secret) {
const t = headers["x-firmtape-timestamp"], sig = headers["x-firmtape-signature"] || "";
if (!t || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
const want = "sha256=" + crypto.createHmac("sha256", secret).update(t + "." + rawBody).digest("hex");
return sig.length === want.length && crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(want));
}
# Python
import hmac, hashlib, time
def verify(raw_body: bytes, headers, secret: str) -> bool:
t = headers.get("X-FirmTape-Timestamp", "")
if not t or abs(time.time() - int(t)) > 300: return False
want = "sha256=" + hmac.new(secret.encode(), t.encode() + b"." + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(want, headers.get("X-FirmTape-Signature", ""))
Limits: Answer with any 2xx within three seconds. No answer, a 429 or a 5xx is tried again after one and four seconds, three tries in all; redirects are not followed. Ten failed events in a row switch the webhook off, and the account page shows why; saving the address switches it back on. Up to thirty events a minute per account. An address that resolves to a private, loopback or link-local address is refused.
Developer reference: /docs/developers/webhooks
Related: Webhooks, the full page · LIVE: Where alerts go · LIVE: Level alerts on a watchlist · ORDERS: Order rules
Morning levels mail#
Why: the levels you need before the open, in your inbox, before you open the chart. Where: on by default with LIVE; Account, Mail switches it. Plan: LIVE.
- Keep Morning levels on under Account, Mail (it is on when LIVE starts).
- Read it at 08:45 New York time on each trading day.
- Switch it off with one click from the mail or under Account, Mail.

What it measures: The previous session's close, high and low; the volume book's flip and walls at 15:45 ET with their distance from the close; the expected move set at the previous open; today's scheduled releases; and on Mondays the week's events with the one that moved the archive most.
How to read it:
- The levels are the previous session's, read at 15:45 ET: the book rebuilds from the open.
- The distance column is points from the close, not a target.
Limits: Trading days only. The same Mail pane holds What's new, a mail of the terminal's changes every second Monday.
Related: Morning levels mail, the full page · LIVE: PREMARKET · LIVE: Walls and levels · LIVE: The expected move
ASK, the assistant beside the chart
The ASK drawer#
Why: questions about the chart you are looking at, answered from FirmTape's own measurements for that symbol, day and minute. Where: ASK on the toolbar (Cmd+\). Plan: any active paid plan, fifty questions a day.
- Press ASK on the toolbar, or Cmd+\.
- Pick a suggested question, or type your own and press Enter.
- Read the counter under the box: questions left today.
- Press the history button for earlier conversations, kept per session and symbol; + starts a new one.

How to read it:
- The chip in the header (SPX Oct 2, 2026 · 14:30 ET) is what ASK reads; it follows the cursor, the day and the symbol.
- The suggestions change with the chart: a replay offers questions about what happened, a live session about now.
Limits: Fifty questions a day per account, reset at midnight New York time. The drawer needs an active paid plan.
Related: LIVE: Slash commands · LIVE: Screen context and /context
Slash commands#
Why: the common look-ups in one line, without waiting for the model and without spending a question. Where: type / in the ASK box. Plan: any active paid plan.
- Type
/to open the list. - Pick a command with the arrows and press Enter, or type it in full.
- For /history, add the level:
/history 7810or/history CW.

| Control | What it does |
|---|---|
| /levels | Every level on screen with its distance from price |
| /orders | The largest orders of the session on screen, ranked by the dealer gamma they added |
| /calendar | Today's and this week's events |
| /history <level> | Whether a level was tested this week (asks the model one fixed question) |
| /context | What ASK sends about your screen |
| /help | What the commands do |
How to read it:
- /orders ranks by the gamma an order added to the book, not by premium: the largest cheque is often not the largest effect.
- The /orders header says how many orders carry no known side; no answer reads a side.
Limits: All but /history answer from the data without the model and without spending a question. Today's orders need the ORDERS plan; finished sessions are free.
Related: LIVE: /levels and answer cards · ORDERS: The order ledger · REPLAY: Market calendar and pulse
/levels and answer cards#
Why: the whole level set of the minute on screen, nearest first, in one compact list. Where: type /levels; model answers that cite levels or orders carry the same rows. Plan: any active paid plan.
- Type
/levelsand press Enter. - Read the first line: how many levels, the price, and the nearest level above and below.
- Read each row: the level's name and rank, its price, its distance from price, and the VOL or OI chips of the books that carry it.
- Press COPY to take the answer as text.

How to read it:
- Green distances are above price and red below; the colour is position, not direction.
- A row with two names (PW·P1) is two levels on one price.
- The chips name the books: VOL the volume book, OI the open-interest book.
Limits: The list is the level rows drawn on the chart at that minute, from the books shown.
Related: LIVE: Walls and levels · LIVE: Slash commands
Screen context and /context#
Why: every question carries your screen, so "this level" means the one you see; /context shows that object. Where: type /context. Plan: any active paid plan.
- Type
/contextand press Enter. - Read the object: symbol, mode (live or replay), day, minute, book, the values at the cursor and the level rows drawn.
- Press COPY to take it as text.

What it measures: The values are the chart's own at the minute under the cursor: spot, VWAP, the gamma percentile, ATM IV, the straddle and the expected range, the session's open, high and low, and the flip of the book on screen.
How to read it:
- The server adds your alert lines on the symbol to what the page sends.
Limits: What a data licence keeps from the model is left out of the context.
Related: LIVE: The ASK drawer · LIVE: Alert lines
Free questions and answers#
Why: a question in plain words answered in this chart's terms, with the numbers to check it. Where: type any question in the ASK box and press Enter. Plan: any active paid plan, fifty questions a day.
- Type a question, for example Why is price where it is against the flip?, and press Enter.
- While it works, the drawer says what it is reading.
- Read the answer: the symbol and minute, a short reading, then the cards it cites.
- Pick one of the follow-up questions under it, or press COPY.
- If an answer cannot be finished, press TRY AGAIN.
How to read it:
- Every time in an answer is a link that moves the replay to that minute.
- The cards under the prose are the levels and orders the answer cites, so each figure can be checked on the chart.
Limits: Each free question spends one of the fifty a day. The answer explains measurements and never gives a trade call or a forecast.
Related: LIVE: /levels and answer cards · LIVE: Screen context and /context · LIVE: Telegram: @FirmTapeBot and the channel
OPTIONS, the structure tester
The structure tester#
Why: a structure drawn where the book is, in a few clicks. Where: OPTIONS in the top bar; the rail opens beside the chart. Plan: Free on any finished session, with no account; live with LIVE.
- Press OPTIONS.
- Pick the side: writing the legs (short premium) or holding them (long premium).
- Pick the right: AUTO puts calls above spot and puts below; CALL or PUT forces one.
- Click strikes on the rail's ladder, up to four legs; the x on a leg removes it.
- Or press STRADDLE, STRANGLE or CONDOR, then TIGHTEN ×0.8 or WIDEN ×1.25.

| Control | What it does |
|---|---|
| side | Writing (short premium) or holding (long premium) the next leg |
| AUTO, CALL, PUT | The right of the next leg; AUTO is calls above spot and puts below |
| STRADDLE, STRANGLE, CONDOR | The standard shapes, as the research engine defines them |
| TIGHTEN, WIDEN | Rescale the whole shape by 0.8 or 1.25 |
| HELD | Pins the legs to their minute while you scrub; click to let them follow the clock |
How to read it:
- Short legs are red, long legs green, the colours the legs wear everywhere in the terminal.
Limits: SPX 0DTE, up to four legs. On another symbol the rail prices that symbol's nearest expiry, but the archive run is SPX only.
Related: LIVE: Payoff, needs and priced · LIVE: Against the book · LIVE: Ladder columns
Open an order in OPTIONS#
Why: start from a structure that actually printed in size rather than from a blank ladder. Where: ORDERS, a row's OPT button, or Open in OPTIONS in the row's detail. Plan: Free on finished sessions; today's orders with the ORDERS plan.
- Open ORDERS and find the order.
- Press OPT on its row, or open the row and press Open in OPTIONS.
- The strikes and rights load into the tester; read the structure like your own.
How to read it:
- The order's legs load as a structure; nothing about who was on which side of it is implied.
Limits: Orders of more than four legs, or not on SPX 0DTE, cannot be priced over the archive.
Related: ORDERS: The order ledger · LIVE: The structure tester
Payoff, needs and priced#
Why: the number that decides a short-premium trade, before any credit is spent. Where: the OPTIONS rail, under the structure: AT SETTLEMENT, then the tiles. Plan: Free.
- Build a structure.
- Read AT SETTLEMENT: the payoff at every possible close, the expected-move band and the breakevens.
- Read NEEDS / PRICED: the win rate to break even against the probability the market prices.
- Read KEEPS and RISKS, then the breakevens in expected moves and the risk to reward.

What it measures: Arithmetic off your own legs and the quotes of the minute on screen: the payoff at settlement, the breakevens, and the win rate the structure needs to break even after a $1.25 fee a leg, against the probability the market prices from the same quotes.
How to read it:
- A negative gap (needs above priced) means the market charges less than the structure needs to win.
- Breakevens in expected moves say how far price may travel before the structure loses, in the day's own units.
Limits: A reading of one minute's quotes; it says nothing about how often the structure paid in the past.
Related: LIVE: The archive run · LIVE: The expected move
Against the book#
Why: the reading no payoff calculator has, because it needs a dealer book to compare against. Where: the OPTIONS rail, NET POSITION and AGAINST THE BOOK, and the ladder beside the chart. Plan: Free.
- Build a structure on the session on screen.
- Read where each short strike sits against the measured call wall, the put wall and the zero-gamma flip.
- Scrub the session: a held structure stays put while the book moves around it.

What it measures: The net position of the structure now and its distance from the levels of the measured book at the minute on screen.
How to read it:
- A short strike near a wall is near where the book is heavy; that is a position, not a forecast of the next move.
Limits: Measured on SPX; other symbols read their five-minute volume and open-interest books.
Related: LIVE: Walls and levels · LIVE: Payoff, needs and priced
The archive run#
Why: an answer from history, on real quotes and real settlement, about your own shape. Where: the run button at the foot of the OPTIONS rail; the result opens in the rail. Plan: 10 LAB credits a run; a failed run refunds them.
- Build the structure and check STORED AS A RULE: each leg as its distance from spot.
- Press the run button at the foot of the rail.
- Read the result first, then the grid under it: seven widths across nine entry times, each coloured by what it averaged.
- If the first 63 come back flat, the run carries on for the same credits: where the structure sits, past the edge of the grid, then eight standard 0DTE shapes, up to 154 configurations.
What it measures: Your geometry priced over about 1,080 archived sessions with short legs filled at the bid, long legs at the ask and $1.25 a leg. A structure collecting less than its own commission is dropped rather than counted as a small win. What it pays is shown per session and per month, on the holdout and the full sample, each with the error bar from session-to-session dispersion.
How to read it:
- Every run ends in one of three findings: a change of width or entry the archive paid for, a flat top with what it pays, or other structures that held up instead.
- A change is reported only when the gain is ordered along the stretch you would walk, clears the error bar on the difference, and a withheld holdout agrees.
- When the error bar crosses zero, the result says so instead of quoting the mean.
Limits: SPX 0DTE only, same-day expiry. The AM-settled monthly root is not ingested, and the rail says so rather than failing quietly.
Related: LAB: Credits and tokens · LAB: Quant optimize · LIVE: Payoff, needs and priced
Levels in your platform and your code
Platform integrations#
Why: the levels on the chart you already trade from, refreshed by themselves. Where: Integrations, one page per platform; the token under Account, Integrations. Plan: LIVE. Beta.
- Open Integrations and pick your platform.
- Create an integration token under Account, Integrations.
- Follow that platform's page to install the plugin and paste the token.
- For platforms that cannot fetch data, copy the levels string from the same account page and paste it into the script.
What it measures: The volume book's zero-gamma flip, call wall and put wall, optionally the open-interest levels and gamma by strike, for SPX, ES, NQ, RTY and the tickers on Symbols. Plugins that fetch refresh every few seconds.
| Platform | What you install |
|---|---|
| Sierra Chart | A study shipped as source and built by the platform itself |
| Bookmap | An add-on, or Cloud Notes with nothing to install |
| MotiveWave | A study |
| TrendSpider | A custom indicator |
| TradingView | A script that reads a pasted levels string |
| thinkorswim | A study that takes typed levels |
How to read it:
- Each plugin writes a status line naming the symbol, the contract and basis for a future, the book and how old it is.
- A line is a level of the book, not a target.
Limits: All plugins are beta. Platforms that cannot fetch data keep the pasted levels until you paste again. More platforms are being prepared and appear on Integrations when released.
Developer reference: /docs/developers/live/integrations
Related: LIVE: Integration tokens · LIVE: Levels API · LIVE: Walls and levels
Integration tokens#
Why: a key that can only read levels, one per place it is used, so each can be revoked alone. Where: Account, Integrations. Plan: LIVE.
- Name the token after the platform or machine and press Create integration token.
- Copy it at once: it is shown once, then only its last characters.
- Paste it into the plugin or your script.

How to read it:
- The list shows each token's name, its last characters, when it was made and last used, and Revoke.
Limits: A token reads levels only: it cannot run LAB or spend credits.
Related: LIVE: Platform integrations · LIVE: Levels API
Levels API#
Why: the levels as data, with their book and time, for a bot, a sheet or a dashboard of your own. Where: a token from Account, Integrations; the requests are on the reference page. Plan: LIVE.
- Create an integration token under Account, Integrations.
- Send it as a bearer header with each request, as the reference shows.
- Ask for up to twenty symbols at once: SPX, ES, NQ, RTY or any ticker on Symbols.
- Add gamma by strike when you need the ladder, or the day's levels as a series.

What it measures: The volume book's zero-gamma flip, call wall, put wall and net gamma, with the open-interest book alongside. SPX's book is rebuilt every second; a ticker's every five minutes; ES, NQ and RTY are the index books moved by the day's basis.
How to read it:
- Each answer names the book and the time of the reading; a future also names its contract and basis.
- An unchanged reading answers with no body, so polling every few seconds costs little.
Limits: 120 requests a minute per token. A revoked token or an ended plan stops working within a minute. Every field and error is on the reference page, with an OpenAPI document.
Developer reference: /docs/developers/live
Related: Levels API, the full page · LIVE: Integration tokens · LIVE: Platform integrations · LIVE: Webhooks
Your own marks
Notes on a minute#
Why: a private line attached to the minute under the cursor, marked on the scrubber when you come back. Where: the pencil on the status line (N). Plan: Free with a signed-in account.
- Put the cursor on the minute and press the pencil on the status line, or N.
- The editor names the minute, the day, spot and the flip. Type your note.
- Press SAVE, or Cmd+Enter.
- The note shows as a tick on the scrubber with its text on hover; the day's notes are listed under the editor.
- all my notes opens every note at /account/notes.

How to read it:
- Only you see a note. A ?t= link to the minute is shareable; the note is not.
Limits: Notes need a signed-in account.
Related: REPLAY: Share a link to a view · REPLAY: The playback bar
Bracket: sketch a structure against the book#
Why: see your own sketch in the book's terms: how far each of its lines sits from the nearest wall or the flip, and the odds the market prices for the close landing beyond each. Where: the tool bar at the chart's left edge (the cursor, the two bracket tools and clear). Plan: LIVE for today's session; free on every finished session in REPLAY.
- Pick a bracket tool on the tool bar at the chart's left edge.
- Click the chart at the price you want to study. The stop and the target start half an expected move away (one percent of the price when the symbol has no expected move).
- Drag the stop line, the target line or the box's right edge to reshape it.
- Read the card beside it, and pick the unit it counts in: ES or MES contracts, index points or shares.
- Clear it from the tool bar. Nothing is sent anywhere; it is a sketch on your screen.
What it measures: For each line, the distance in points to the nearest call wall, put wall or flip of the book on the chart, and the odds the option chain prices for the close landing beyond that line (shown with at least thirty minutes left). The units are the symbol's own: on the ES view every price is already moved by the basis.
| Control | What it does |
|---|---|
| tool bar | The cursor, the two bracket tools and clear |
| stop and target lines | Drag to move; the card follows |
| right edge | How long the box runs, in minutes |
| unit | ES or MES contracts, NQ or MNQ, RTY or M2K, index points, or shares |
How to read it:
- The card describes the sketch, not a trade: distances, the chain's odds for the close beyond each line, and the book's levels near each line.
- Those odds are the market's own pricing of where the close lands, not a forecast of which line price meets first.
Limits: One bracket a symbol, kept in this browser until you clear it, not on your account. It is never sent to a broker or an alert.
Related: LIVE: Level card · LIVE: Walls and levels · LIVE: The expected move
Use it with other tools
| Tool | How it pairs |
|---|---|
| ORDERS: Orders on the chart | The day's largest orders as circles on the same chart. |
| ORDERS: Order rules | Order rules send new large orders to the same Telegram chat, phone and webhook as your alerts. |
| LAB: Desk alerts | A tested LAB rule draws on this chart and rings in the browser when it triggers. |
| REPLAY: The playback bar | Scrub a finished session with every layer on, and see where your alert lines would have fired. |
| REPLAY: MCP server | The free MCP server lets an assistant read the archive behind the same levels. |
Ask about it
Open ASK beside the chart and try:
| You want | Ask |
|---|---|
| The levels on screen with their distances | /levels |
| Whether a level was tested this week | /history 7810 |
| What today's events are | /calendar |
| How far each of my alert lines is | /levels, then: how far are my alert lines? |
| What the book did around a time | What changed in the book between 14:00 and 14:30? |
Good to know
- Colour is the kind of level, never the book: green the major positive-gamma strike, red the major negative, amber the flip.
- The open-interest book sums four expiries, so its net gamma is not comparable with the 0DTE books.
- A ticker's book is rebuilt every five minutes from chain snapshots, with the volume and open-interest books only: no measured book, no DEX or VEX.
- After 15:55 the expected move's left-to-close greys out: implied vol is read from a vanishing time to expiry.
- The premarket estimate is on the screen only: no file, API, alert or ASK answer carries it.
- Alerts read the volume book, the book the chart draws by default; a new side must hold for twenty seconds, and the same alert is not sent again within fifteen minutes.
- ASK answers from FirmTape's own measurements for the symbol, day and minute on screen, never from the web, and never with a trade call.
If something looks wrong
| You see | Do this |
|---|---|
| The chart says waiting for the session | LIVE runs in the regular session; outside it, pick a finished day in REPLAY or read the premarket drawer from 04:00 ET. |
| A level I saw earlier is gone | Levels below the filter share are hidden; the line under the filter says how many. Set it to 0 to see all. |
| TRAIL offers to build a grid | That day has no per-second grid yet; accept and it is built in the browser. |
| A ticker shows no measured book | Only SPX is measured print by print; tickers carry the volume and open-interest books. |
| RTY shows index points | No basis was measured for the day, so the RUT levels are shown in index points rather than invented RTY prices. |
| A line did not fire when price touched it | A line set to once has already fired and is gone. On a finished session lines never fire, they only show would-be fires. |
| No Telegram message arrives | Account, Level alerts: if Telegram shows not connected, press Open @FirmTapeBot again; the link works for 30 minutes. |
| No notification on iPhone | Push works only from the installed app: Share, Add to Home Screen, open FirmTape from the Home Screen, then turn it on there. |
| ASK says no questions left | Fifty a day; the count resets at midnight New York time. Slash commands other than /history still answer. |
| The archive run opens the credits card | The balance is below 10 LAB credits; building and reading a structure stays free. |
| A plugin shows no lines | Check the token is pasted and the plan is LIVE; the levels may be outside the visible price range, so zoom out. |
Glossary
| Term | Meaning |
|---|---|
| volume book | The 0DTE book built from the day's traded volume, signed by the call-put convention: the conventional public object. |
| open-interest book | The same construction on open interest, summed over four expiries. |
| measured book | Signed from the trade tape against the prevailing quote, print by print. |
| zero-gamma flip | The price where the book's net gamma changes sign. |
| call wall, put wall | The strikes with the largest positive and negative gamma in a book. |
| level of interest | A strike that has stood out in the VOL or OI book for a while, ranked C1, P1 and on, kept for the day. |
| expected move | The ATM 0DTE straddle, doubled to a range: what the market charges for the rest of the session. |
| basis | The gap between a future and its index, read from put-call parity on the index options. |
| alert line | One line set on the chart that fires when price crosses or touches it: a price line, or a level line that follows a wall or the flip. |
| level alert | An event on your watchlist: flip cross, wall break, regime change, wall move, flip move, price near a level. |
| AS OF | The symbol and minute an ASK answer read. |
| structure | Up to four SPX 0DTE legs built together in OPTIONS: a straddle, strangle, condor or your own. |
| integration token | A read-only key for the levels API, one per platform or machine. |
ORDERS The orders that built the SPX book, a card for every contract, and your own shorts checked every minute
Free on every finished session. Today's ledger, live, and the live POSITIONS check are the ORDERS plan. This guide alone · The product page
Why it matters
A print on the SPX tape is a fill, not a decision. A four-leg condor prints as four prints, a ratio vertical as two of unequal size, and reading them one by one gets both the size and the meaning wrong. The large premium of the day is also rarely the order that changed the dealer book most.
ORDERS answers two questions: which orders built today's book, and what shape were they? and where does each of my shorts stand against this minute, by my own conditions? Each ledger row is one order rebuilt from the tape, placed against the measured book at the minute it printed. POSITIONS reads each side of your position (the put half or the call half, named by its short strike) against the market minute.
Nothing in ORDERS reads a side of an order. The side of an SPX print is close to a coin flip against the exchange's own record, and a quarter to a half of the orders carry none, so rows, highlights, rules and cards describe an order and never name a side. A position's label (TRADE, CAUTION or SKIP) is the count of your own conditions that are on, at the counts you choose: your rule applied for you, never a call by FirmTape.
Where to find it
Press ORDERS on the toolbar, or open any terminal address with ?orders. The panel docks right of the chart. POSITIONS on the toolbar opens ORDERS with it and docks to its right. Finished sessions are free (POSITIONS needs you signed in); today's live ledger, the live check and its alerts are the ORDERS plan.
| You want | Go to |
|---|---|
| The session's large orders | ORDERS on the toolbar |
| Only 0DTE orders above $1M | The filter row: 0DTE, then $1M |
| Orders summed by structure or by expiry | STRUCT or TERM in the filter row |
| The most traded contracts | BOARDS in the filter row |
| One contract's day | Click a strike on the price scale, a board row or an order's leg |
| An alert on new large orders | RULES in the panel header |
| To enter a position | POSITIONS, then + or EDIT |
| A message when a position's label changes | The POSITIONS editor, Entry & alert |
| How the check read at your entry on past days | ENTRY LOG, or LOG in ORDERS |


Read it in 30 seconds
- The header names the book and the sort: ORDERS · MEASURED · BY TIME means the measured book, newest first.
- Γ ADDED is the gamma the order added to the book at its minute; green added, red shed. It is size, not direction.
- VS FLIP is the order's distance from the volume flip in points; VS EM the same in expected moves when it is near enough to matter.
- In POSITIONS, each side's card gives the short, its label with the count (1/4 is one of four counted conditions on), and its distance in points and expected moves.
- On a replay the ledger and the check stop at the cursor: neither reads anything after the minute on screen.
How to use it
Watch the prints
The order ledger#
Why: the session's large orders as decisions rather than fills, each placed against the book at the minute it printed. Where: ORDERS on the toolbar, or ?orders on a terminal address; the public page is /orders. Plan: Free on every finished session; today's live ledger is the ORDERS plan.
- Press ORDERS on the toolbar; the panel docks right of the chart.
- Read a row: time, Γ ADDED, structure, contracts, expiry, size, net premium, VS FLIP, VS EM and SHARE.
- Click a row to open its detail with Open in OPTIONS; the OPT button does the same.
- Click a contract name to open its contract card.
- On a replay, move the cursor: the ledger shows the orders up to that minute.

What it measures: Each row is one SPX order above $100,000 of net premium, rebuilt from the tape: prints grouped by the millisecond into one order, the structure named from its legs. Γ ADDED is the change it made to the measured dealer book at its minute; VS FLIP is its distance from the volume flip in points, VS EM in expected moves; SHARE is its share of its busiest strike.
| Control | What it does |
|---|---|
| ORDERS / STRUCT / TERM / LOG / BOARDS | The view: orders, summed by structure, by expiry, your entry log, or the contract boards |
| ALL EXP / 0DTE / NEXT | The expiry slice |
| $100k / $250k / $1M | The premium floor |
| BOOK / MONEY / TIME | The sort |
| COLUMNS, CSV, IMG, RULES | Columns and highlights, the two exports, order rules |
How to read it:
- Green gamma added means the order added gamma to the book, red that it shed some; it is a size, not a direction.
- A small $ chip on a row is a premium highlight you set; an amber expiry is today's.
- No row names a side: the side of an SPX print is close to a coin flip, and a quarter to a half of the orders carry none.
Limits: SPX only. Orders under $100,000 of net premium are not in the ledger. Finished sessions go back to January 2024.
Related: ORDERS: Sort and filters · ORDERS: The contract card · LIVE: The structure tester · LIVE: The three books
Orders on the chart#
Why: the session's ten largest orders drawn on the candles, at the minute and the price they printed. Where: LAYERS in the chart's header, the ORDERS row. Plan: Free on every finished session; today's live orders need the ORDERS plan.
- Open LAYERS and switch ORDERS to ON.
- Pick GAMMA or PREMIUM to size the circles.
- Point at a circle to read the orders in it: time, structure, expiry and gamma.
- The ORDERS button on the same row opens the ORDERS table on that day.

How to read it:
- A bigger circle is a larger order by the measure you picked; a number inside counts orders that share a circle.
- A letter names the structure: V vertical, D diagonal, R a ratio, S straddle, RR a strangle or risk reversal, IC iron condor, IF iron fly, C calendar, M several expiries; a single leg has none.
Limits: The ten largest of the session only.
Related: ORDERS: The order ledger · LIVE: LAYERS
Sort and filters#
Why: the slice of the ledger you trade, in the order you want to read it. Where: the filter row under the panel's tabs. Plan: Free on every finished session; live with the ORDERS plan.
- Pick ALL EXP, 0DTE or NEXT for the expiry.
- Pick a floor: $100k, $250k or $1M of net premium.
- Pick BOOK, MONEY or TIME; the header reads the sort (BY TIME, MONEY FIRST).
- Click a column head to sort by that column instead.

| Control | What it does |
|---|---|
| ALL EXP / 0DTE / NEXT | Every expiry, today's, or the next one |
| $100k / $250k / $1M | Orders of at least that net premium |
| BOOK | By the gamma added to the book |
| MONEY | By net premium |
| TIME | Newest first |
How to read it:
- The floors and the expiry slice apply to every view: ORDERS, STRUCT, TERM and BOARDS.
Limits: A narrow slice can be kept as its own tab.
Related: ORDERS: Saved tabs · ORDERS: STRUCT and TERM views
STRUCT and TERM views#
Why: the day's orders summed, so the mix of structures and the term structure of the size read at a glance. Where: STRUCT or TERM in the filter row. Plan: Free on every finished session; live with the ORDERS plan.
- Press STRUCT: one row per structure with its orders, net premium, contracts and share of the slice.
- Press TERM: the same slice by expiry bucket, 0DTE, this week, this month and later.
- Combine either with the expiry and $ floors; the footer counts the orders in the slice.

How to read it:
- The bar is the structure's share of the filtered slice, not of the whole market.
Limits: SPX orders above the ledger's floor only.
Related: ORDERS: Sort and filters · ORDERS: The order ledger
Saved tabs#
Why: switch between the slices you read every day without setting them again. Where: the tabs row at the top of the panel. Plan: Free.
- Press + beside the tabs; a new tab opens with its name field ready to type.
- Set the view, the slices, the sort, the columns and the highlights.
- Double-click a tab, or open its menu (the dots), to Rename, Duplicate or Delete it.
- Switch tabs: each one restores everything it was set to.

Limits: One to twelve tabs, kept in this browser.
Related: ORDERS: Columns and highlights · ORDERS: Sort and filters
Columns and highlights#
Why: the columns you read in the order you read them, and the rows you care about marked. Where: COLUMNS in the panel header. Plan: Free.
- Press COLUMNS. Tick a column to show it; the arrows move it; RESET restores the default order.
- Under HIGHLIGHT, mark orders larger than their strike's open interest (OI), expiring today (0D) or of at least a net premium ($: $0.5M, $1M, $2.5M or $5M).
- The tag appears on the row.

How to read it:
- A highlight describes the order only; none of them rests on the side of the order.
Related: ORDERS: Saved tabs · ORDERS: CSV and IMG
CSV and IMG#
Why: the exact slice you are reading, as a file or a picture. Where: CSV and IMG in the panel header. Plan: Free on every finished session; live with the ORDERS plan.
- Press CSV to download the active tab as
orders-<day>.csv, in its sort and columns. - Press IMG to copy the table to the clipboard as a picture.
How to read it:
- Both use exactly what the tab shows: view, filters and columns.
Limits: The file holds FirmTape's own fields only, never a vendor's option price or quote.
Related: ORDERS: Saved tabs · ORDERS: Orders API and MCP
EXPAND#
Why: the full ledger without a cut column or a shortened contract list. Where: EXPAND in the panel header. Plan: Free.
- Press EXPAND; press it again for the normal width.
- In the wide panel the OPT button shows on every row and long contract lists are no longer cut.
Related: ORDERS: The order ledger
A link that opens ORDERS#
Why: send someone straight to a session's orders. Where: the address bar, or any link you write. Plan: Free.
- Add
?ordersto a terminal address, for example/replay/2026-08-21?orders. - Combine it with the other switches of the address, such as
?t=for the minute.
Related: REPLAY: Share a link to a view · ORDERS: The order ledger
Order rules#
Why: an alert when a new order in today's live ledger matches what you look for. Where: RULES in the panel header. Plan: ORDERS.
- Press RULES, then + NEW RULE, and give it a name.
- Pick PREMIUM AT LEAST ($100k to $5M), a STRUCTURE (any, or one or more shapes) and an EXPIRY (any, this week, 0DTE).
- Optionally pick NEAR A LEVEL: one of its strikes within 5, 10, 25 or 50 points of the flip or a wall.
- Press SAVE. Each rule can be switched on or off, edited or removed.

What it measures: A rule describes the order: its premium, structure, expiry and distance to a level. It never reads the side, because the side of an SPX print is close to a coin flip.
How to read it:
- A match is sent once, by the first rule it matches.
Limits: Up to ten rules. At most 30 order alerts an hour. They go where level alerts go (Telegram, push, the webhook, as type order).
Developer reference: /docs/developers/live/events/order
Related: LIVE: Where alerts go · LIVE: Webhooks · ORDERS: The order ledger
Read a contract
Contract boards#
Why: see which single contracts the session traded most, over one session or seven. Where: BOARDS in the ORDERS filter row; each finished day's boards are also a page at /spx/most-active-options. Plan: Free on every finished session; today's boards with the ORDERS plan.
- Press BOARDS.
- Pick the ranking: TOP VOLUME, TOP PREMIUM, TOP OPEN INT or UNUSUAL VOL/OI.
- Pick the window: 1D (one session) or 7D (seven sessions).
- Read the head line: calls, puts, the put-call ratio and the total.
- Click a row to open its contract card.

What it measures: Each board ranks contracts over the window. Vol/OI is the window's volume over the open interest at its start; 7D sums seven sessions and divides by the open interest at the first one's morning.
| Control | What it does |
|---|---|
| TOP VOLUME | Contracts by volume |
| TOP PREMIUM | Contracts by premium traded |
| TOP OPEN INT | Contracts by morning open interest |
| UNUSUAL VOL/OI | Contracts by volume over open interest |
| 1D / 7D | One session or seven |
How to read it:
- A high Vol/OI says the day's trading was large against the positions that existed; it does not say positions were opened.
- The multi-leg share says how much of the contract traded inside multi-leg orders; read the structure, not the leg.
Limits: Nothing on a board names a side, or whether a position was opened or closed. Today's boards are rebuilt every five minutes from the tape so far; the evening's build replaces them at full width.
Related: ORDERS: The contract card · LIVE: Ladder columns · Open interest and volume
The contract card#
Why: one contract's day in one place: how much traded, when, at what average price, inside which structures, and in which large orders. Where: click a strike on the price scale, right-click a ladder row and pick Contract card, or click a board row or an order's leg. Plan: Free on every finished session; live with the ORDERS plan.
- Click a strike on the price scale: the card opens beside it as a popover. C and P switch the right.
- Read the numbers: volume and prints, morning open interest, Vol/OI, average price, premium traded and the share in multi-leg orders.
- Read VOLUME PER 5 MINUTES: single-leg and multi-leg bars with the average fill price as a line; hover a bar for its five minutes.
- Open the tabs: STRUCTURES, LARGEST ORDERS and SESSIONS.
- In LARGEST ORDERS, press the play button on a row to move the replay to that second.
- Press Expand for the drawer, one scrolling card over the chart's right edge beside ORDERS.

What it measures: Volume and prints are the session's; open interest is the morning count, before the open. Structures group multi-leg prints by the millisecond and name them by shape, as shares of the contract's volume. The change in open interest on SESSIONS is the next morning's count minus this one.
| Control | What it does |
|---|---|
| C / P | The call or the put at the same strike |
| STRUCTURES | The shapes it traded in, as shares of its contracts |
| LARGEST ORDERS | The largest ledger orders that touched it, each with a button to the replay at that second |
| SESSIONS | Its last sessions: volume, open interest, change in open interest and last price |
| Expand | The card as a drawer beside ORDERS |
How to read it:
- A high Vol/OI says the session's trading was large against the morning's positions; it does not say positions were opened.
- A large multi-leg share means the contract mostly traded as a leg; read the structure, not the leg.
- The average fill price line is a price, not a direction.
Limits: Nothing on the card names a side, or whether a position was opened or closed. A session's change in open interest is known the next morning.
Related: The contract card, the full page · ORDERS: Contract boards · ORDERS: Card actions: alert line and its orders · ORDERS: The order ledger · REPLAY: The playback bar
Card actions: alert line and its orders#
Why: from reading a contract to watching it in one press. Where: the two buttons under the card's title. Plan: Alert line: LIVE. Show its orders: free on finished sessions, live with the ORDERS plan.
- Press Alert line at <strike>: the button turns to Alert line set and the line appears on the chart with its bell.
- Press Show its orders: the ledger gains a chip with the contract (for example 7680C Aug 21) and lists only the orders that touched it.
- Press the chip's x to remove the filter.

Limits: On a replay only the orders up to the cursor show.
Related: LIVE: Alert lines · ORDERS: The contract card
In your code
Orders API and MCP#
Why: the same rows the panel draws, as data, with the fields the panel has to abbreviate. Where: keys under Account, Orders; the reference is at /docs/developers/orders. Plan: The Orders API or Team plan.
- Take the API or Team plan on /pricing#orders.
- Create a key under Account, Orders; it is shown once.
- Follow the reference to ask for a dated session or the newest one, or point an assistant at the MCP server.

The rows carry every field the panel shows, plus per-leg detail. Half of them carry no side, and the reference says why. POSITIONS checks and entry logs are available the same way.
Developer reference: /docs/developers/orders
Related: ORDERS: The order ledger · ORDERS: CSV and IMG · ORDERS: Entry log · REPLAY: MCP server
POSITIONS: your own structure, checked
POSITIONS panel and editor#
Why: your shorts read against the market minute, side by side, with the large orders at your strikes one panel away. Where: POSITIONS on the toolbar (ORDERS opens with it), then + or EDIT. Plan: Free signed in on finished sessions; the live day with the ORDERS plan.
- Press POSITIONS on the toolbar, then + for a new position or EDIT for the one shown.
- Pick a structure: IRON CONDOR, STRANGLE, PUT SPREAD or CALL SPREAD.
- Set the strikes with 1 EM OUT, LAST USED or TYPE STRIKES (low to high); the line under them gives each short's distance from spot in expected moves.
- Set ENTRY (between 09:30 and 16:00) and ALERT FROM, and where the alerts go.
- Switch your conditions on or off with their thresholds, then SAVE POSITION.
- Read each side's label and its reason; 15m, 30m and 60m set the window the orders near your shorts are counted in, 1x and 2x the panel's width.

What it measures: The check reads each side against the market minute, the same for every account: the short's distance in points and in expected moves left to the close, the large orders near it, the levels inside or outside it, the move toward it, and realised against implied volatility. A side's label counts the counted conditions that are on: TRADE below your CAUTION count, CAUTION from it, SKIP from your SKIP count (two and three by default).
| Control | What it does |
|---|---|
| IRON CONDOR / STRANGLE / PUT SPREAD / CALL SPREAD | The structure |
| 1 EM OUT / LAST USED / TYPE STRIKES | How the strikes are set |
| ENTRY, ALERT FROM | The entry minute and the minute of the opening read (ten minutes before the entry by default) |
| TELEGRAM / EMAIL / WEBHOOK / OFF | Where the opening read and label changes go |
| 15m / 30m / 60m | The window the orders near your shorts are counted in |
| 1x / 2x | The panel's width |
| ENTRY LOG, COPY AS JSON | The check on past sessions, and the check as data |
How to read it:
- A label is a count of your own conditions, at the threshold you chose. It is not a forecast and not an instruction.
- The reason names the conditions that are on, and the one that is off but nearest its threshold.
- A condition whose input is not known at that minute reads not known yet and never counts.
Limits: SPX only, 0DTE structures: condor, strangle, put spread or call spread. Up to five positions an account. A position is a set of strikes you typed, not an account at a broker.
Developer reference: /docs/developers/orders/positions
Related: POSITIONS panel and editor, the full page · ORDERS: Conditions and the not counted list · ORDERS: Opening read and label changes · ORDERS: Entry log · ORDERS: The order ledger
Conditions and the not counted list#
Why: the label is yours: each test has the threshold you choose, and the ones you do not count stay visible. Where: POSITIONS, section 01 Your conditions and 03 Not counted; thresholds in the editor. Plan: Free signed in on finished sessions; the live day with the ORDERS plan.
- Read each side's counted conditions with the value now and your threshold.
- The tick on each bar is your threshold; a filled dot marks a condition that is on.
- Under 03 Not counted, read the conditions shown but not counted, each with where it stands now.
- Press COUNT beside one to add it to the label, or switch it in the editor.

| Condition | What it tests (default) |
|---|---|
| Short within | The short's distance from spot, in expected moves (0.75 EM; counted) |
| Moving toward the short | Price's move toward the short over the window, in expected moves (0.4 EM; counted) |
| Repeated orders at the short | Large orders with a leg within 5 points of the short in the last 30 minutes (2 orders; counted) |
| Needs above priced | How far the break-even win rate the side needs sits above the chance the market prices, in points (5 pp; counted) |
| A wall or the flip inside the short | A level between spot and the short (not counted) |
| Vol expanding | Realised against implied volatility (1.2x; not counted) |
| Trending, not ranging or pinning | The session's range state (not counted) |
How to read it:
- An uncounted condition is still read and shown in the reason's words; it never moves the label until you count it.
- A condition that cannot be measured at that minute reads not known yet and is never counted as on.
Limits: Needs above priced uses the same formulas as OPTIONS, at the ATM vol of the minute.
Related: ORDERS: POSITIONS panel and editor · LIVE: The expected move · LIVE: Against the book
Label track#
Why: whether a side's count has been steady or keeps changing. Where: POSITIONS, section 02 Label, last hour. Plan: Free signed in on finished sessions; the live day with the ORDERS plan.
- Read the PUT and CALL rows: one cell per minute, coloured by the label.
- Read the sentence under them: the minutes at each label and since when the current one holds.

How to read it:
- Colour is the label of your own count at that minute; it says nothing about the next minute.
Related: ORDERS: POSITIONS panel and editor
Opening read and label changes#
Why: the first read of the day at your time, then one message only when something changes. Where: POSITIONS editor, Entry & alert. Plan: The live day with the ORDERS plan.
- Set ALERT FROM (ten minutes before the entry by default); the line under it says what will be sent.
- Pick TELEGRAM, EMAIL or WEBHOOK (Telegram must be linked in the account), or OFF.
- At that minute every side's label and reason arrive in one message, sent whether or not anything changed: the opening read.
- After it, one message each time a side's label changes, to the close.

How to read it:
- A message reports your conditions' count and its reason; it is not an instruction.
Limits: Live sessions only, between 09:30 and 16:00 New York. A label that stays put sends nothing, and each label is sent once a day per side.
Related: ORDERS: The POSITIONS webhook · LIVE: Where alerts go · ORDERS: POSITIONS panel and editor
The POSITIONS webhook#
Why: the opening read and every label change as data your own code can act on. Where: POSITIONS editor, Entry & alert, WEBHOOK. Plan: The Orders API or Team plan.
- Pick WEBHOOK and paste an
https://address. - Copy the signing secret shown under it and keep it on your server.
- Press SEND TEST to post a test message to the address.
What it measures: The body is the same check the Orders API returns, so one parser serves both, signed as the level alerts' webhook is: HMAC-SHA256 over the timestamp header, a dot and the raw body.
Limits: Without the Orders API or Team plan the WEBHOOK channel is locked. The address must be public.
Developer reference: /docs/developers/orders/events
Related: ORDERS: Opening read and label changes · LIVE: Webhooks · ORDERS: Orders API and MCP
Entry log#
Why: how your conditions read at your entry minute day after day, recorded or replayed. Where: ENTRY LOG in POSITIONS, or LOG in the ORDERS filter row. Plan: Free signed in; the live day's record with the ORDERS plan.
- Press ENTRY LOG (or LOG in ORDERS). With no saved position it says NO POSITION YET.
- Read each day's entry record: the label of the put and call side at entry, the reason, how close price came to each short after entry and where it stood at the close.
- Read the tallies of days by the label at entry, and how many kept both shorts outside at the close.
- DOWNLOAD CSV or COPY AS JSON to keep the table.
What it measures: RECORDED rows are kept exactly as they were on live days; REPLAYED rows are worked out later from the archive, with every strike moved by how far the price at the entry minute stood from the newest session's, because a 0DTE strike is set from the day's price. Either way the check reads nothing after the entry minute; only a recorded row proves you saw it then. Points only.
How to read it:
- The tallies count your own conditions' labels at entry and what price did after; they are a record, not a forecast of the next session.
Limits: Recent sessions only.
Related: ORDERS: POSITIONS panel and editor · ORDERS: Orders API and MCP
Add to ORDERS
| Add-on | What it adds |
|---|---|
| Orders API | The same ledger as JSON over REST and an MCP server, with per-leg data, an OpenAPI document, the POSITIONS API and its webhooks |
| Orders Team | Five seats with their own logins and keys, one shared call budget for REST and MCP, and one invoice for the desk |
Use it with other tools
| Tool | How it pairs |
|---|---|
| LIVE: The structure tester | Open any order's strikes and rights in OPTIONS with OPT or Open in OPTIONS. |
| LIVE: Walls and levels | Read an order's distance from the flip against the walls and levels drawn on the chart. |
| LIVE: Where alerts go | Order rules and POSITIONS alerts go to the same Telegram chat, phone and webhook as level alerts. |
| REPLAY: The playback bar | Scrub a finished session and the ledger and the check follow the cursor. |
| LIVE: Slash commands | /orders in ASK lists the session's largest orders at once. |
Ask about it
Open ASK beside the chart and try:
| You want | Ask |
|---|---|
| The largest orders of the session | /orders |
| How far is the biggest 0DTE order from the flip? | Which of today's largest orders sits closest to the flip? |
| What did the book do around 14:00? | What orders printed between 13:45 and 14:15, and what did they add to the book? |
Good to know
- The ledger lists orders above $100,000 of net premium; smaller ones are not in it.
- Structures are grouped by the millisecond and named by shape: single, vertical, ratio, diagonal, calendar, straddle, strangle, butterfly, condor, iron fly and other multi-leg orders.
- Gamma added reads the measured book; the distance from the flip reads the volume flip, the level the chart draws by default.
- The contract boards and cards count volume, premium and open interest only: no price direction, no side.
- POSITIONS distances are in SPX points and in expected moves; nothing is in dollars of profit or loss.
- Four conditions are counted by default (short within, moving toward the short, repeated orders at the short, needs above priced); three more are shown but not counted until you count them.
If something looks wrong
| You see | Do this |
|---|---|
| Rows stop before the close on a replay | The ledger stops at the cursor; press End to move the cursor to the close. |
| Today's ledger shows a plate instead of rows | Today's live ledger is the ORDERS plan; every finished session stays free. |
| A filter shows no rows | The expiry and premium floors apply to every view; widen them, or check the chip of a contract filter in the filter row. |
| A contract's change in open interest is empty | It is the next morning's count minus this one, so a session's change is known a day later. |
| An order alert did not arrive | At most 30 order alerts an hour are sent, and each order alerts once, by the first rule it matches. |
| POSITIONS asks you to sign in | Positions are kept on your account; sign in, and finished sessions are free. |
| A condition reads not known yet | Its input is not available at that minute (early in the session, for example); it does not count until it is. |
| The POSITIONS webhook channel is locked | Webhooks are on the Orders API and Team add-ons. |
Glossary
| Term | Meaning |
|---|---|
| order ledger | Every large SPX order of a session rebuilt from the tape as one order, placed against the book at its minute. |
| measured book | The dealer book signed print by print from the tape and its quotes. |
| contract boards | Contracts ranked by volume, premium, open interest or Vol/OI over one session (1D) or seven (7D). |
| contract card | One contract's session: its volume, open interest, premium, structures, largest orders and recent sessions. |
| Vol/OI | The window's volume over the open interest at its start. |
| position | One short options position you follow through a session: an iron condor, a strangle, a put spread or a call spread, by its strikes, with an entry time. |
| side | The put half or the call half of a position, named by its short strike. Every reading and every label is per side. |
| condition | One test you set on a side, with its own threshold; only counted conditions move the label. |
| label | TRADE, CAUTION or SKIP: how many counted conditions are on, at counts you choose. Your rule, never a call by FirmTape. |
| expected move | The ATM 0DTE straddle as a range: what the market charges for the rest of the session. |
LAB Test an idea on the full archive, then watch it draw and alert on the live chart
LAB credits: developing an idea is free, a backtest or an optimize pass is one credit, the desk is free once an idea is tested. LIVE includes 5 credits a month. This guide alone · The product page
Why it matters
Patterns on the tape are easy to see and hard to trust. LAB answers one question: does this rule beat its own core condition, after a cost, out of sample?
What LAB scores is directional: a rule names the way its trade profits, and the backtest measures whether that move arrives. That does not contradict the rest of the terminal, which asserts no direction: LAB is where a directional idea goes to be measured instead of believed, and that is usually where it stops.
The path has four steps: an idea in plain words, a backtest against an honest baseline, a quant optimize pass, and the desk, where a rule you keep draws on the chart and alerts with the same formula the backtest scored.
Every column a rule names is a measurement already in the archive: the session clock, the price and its distances, the levels of each book, the flow, volatility, the calendar and the minutes the tape marked.
Where to find it
Press LAB in the terminal's top bar; the LAB desk opens beside the chart. The reference pages are /lab/vocabulary and /docs/developers/lab.
| You want | Go to |
|---|---|
| Test an idea | LAB, type it in the box at the bottom of the desk |
| Start a new idea | LAB, + NEW IDEA |
| See every column a rule can use | LAB, VOCABULARY, or /lab/vocabulary |
| Try ideas others posted | LAB, the IDEA FEED, DEVELOP |
| A tested rule on the chart | ADD TO DESK after optimizing, then the idea's switch on the desk |
| An alert when a rule triggers | the idea's settings (the gear), ALERT: sound or push |
| Credits | LAB, GET CREDITS, or Account, Credits and tokens |


Read it in 30 seconds
- Gates passed (2/4) is the verdict: all four must pass for a rule to be called promising and still owe a stricter test.
- Beats its own core compares the full rule with its core condition alone, never with doing nothing.
- The era table shows all, 2026 and hold40 (the last 40 sessions): a rule that only works in one era did not pass.
- Outside the day error bar is a t across sessions, not across trades: nine triggers in one afternoon count as one day.
- After an optimize pass, read the overfitting line before any number in the variant table.
- On the desk, a blinking colour dot means the idea is drawing on the chart now; a grey dot means it is off.
How to use it
Describe an idea
The LAB desk and the backtest#
Why: a verdict on every finished session, against the idea's own core condition, out of sample. Where: LAB in the top bar; + NEW IDEA starts one, the box at the bottom sends it. Plan: Developing is free; a backtest is one LAB credit.
- Press LAB in the top bar. The desk lists your ideas.
- Press + NEW IDEA and type the idea the way you would say it, for example a stretch off VWAP while the book is short gamma, with a 30-minute horizon.
- Read what LAB understood: the rule in words, with its thresholds, horizon and cost. If it cannot compile yet, it asks one concrete question instead of guessing.
- Press BACKTEST (one credit).
- Read the gates passed, then the era table under them.

What it measures: The rule runs over every archived session on a minute grid. For each trigger it measures the move over the horizon, after the cost, and compares the full rule with its core condition alone. The verdict is split out of sample: this year, and the last 40 sessions.
| Control | What it does |
|---|---|
| Clears the cost | Net per trade is positive after the cost, in 2026 and hold40 |
| Beats its own core | The full rule does better than its core condition alone |
| Outside the day error bar | The day-clustered t is at least 2.0 |
| Beats the luck of its grid | The deflated Sharpe against the variants tried is at least 95% |
| era table | n triggers, net per trade and t for all sessions, 2026 and hold40 |
How to read it:
- 2/4 gates passed, promising, not proven means the rule has not cleared the bar; four of four means it owes a stricter test.
- A thin sample is named: 48 trades over 8 sessions is eight observations, not 48.
- A good number in one era and a poor one in another is a rule that did not hold.
Limits: SPX only, inside one session, at a 5, 15 or 30 minute horizon. A tested idea can draw and alert on the chart with the same thresholds; that is a convenience, not a forecast.
Related: The LAB desk and the backtest, the full page · LAB: Quant optimize · LAB: The LAB vocabulary · LAB: Credits and tokens · REPLAY
The LAB vocabulary#
Why: know exactly which measurements a rule can name, and which book each one reads. Where: LAB, VOCABULARY, or the full reference at /lab/vocabulary. Plan: Free to read.
- Open VOCABULARY on the LAB desk, or /lab/vocabulary.
- Find the group your idea belongs to, then the column, its unit and range.
- Use the column's name in your words, or in a rule sent through the API.

LAB understands 120 columns in ten groups, each named for what it is and, where the value depends on a book, for its book: _vol the volume book, _meas the measured book, _oi open interest. Old names (renamed 2026-10-03) are refused with the new one in the error.
A rule is one or two legs. A leg has a direction, up or down, the way the trade profits, and a list of conditions that must all hold at the same minute. The engine measures the move over the next 5, 15 or 30 minutes of the same session, after a cost, against the core condition alone, out of sample.
| Group | What it holds |
|---|---|
| time | min, minutes_to_close: where in the session the rule is read. The last horizon minutes have no outcome. |
| price | spot, its running mean and ±2 SD band (not a VWAP), the stretch in SDs (spot_mean_z), the last 1 / 15 / 30 minutes of tape (ret1, ret15, ret30), intra-minute realised vol. |
| levels | the flip, the call wall and the put wall as signed distances in all three books, how much of the book stands on each wall, and whether the books agree on a wall. |
| book | net gamma per book, its 1-minute flow and its percentile against the same minute of the prior 20 sessions; measured delta, vega, charm and vanna and their flows; the largest single-strike change and the total change of the book; concentration. |
| gross | the unsigned book (|γ| × OI per strike): its total, the heaviest strike each side and its distance, the near and top-3 shares, signed ÷ unsigned, and the two-sided measured book within 30 points with its 15 / 30-minute changes. |
| expiry | today's 0DTE against the book that survives it, per book, and the width the session was archived with. |
| vol | 0DTE ATM IV and its 1 and 30-minute changes, the straddle and how much of the expected move is used, FirmTape's forecast of the range left, realised ÷ implied range at 15 / 30 / 60 minutes, realised ÷ implied vol, skew and its ratio form. |
| tape | contracts printed per minute across the whole 0DTE chain, and its rank against the same minute of the prior 20 sessions. |
| calendar | day flags for FOMC, CPI, payrolls, PCE, ISM, a mega-cap print and opex, whether a release came before the open, minutes to the next / since the last in-session event, and which expiry the session is. |
| pulse | the minutes the tape itself marked as market-moving: minutes since the last, its size, whether a headline or the book alone moved it, and the count so far. |
Limits: The vocabulary is the same dictionary the compiler is given, so what is not in it cannot be tested yet.
Developer reference: /docs/developers/lab/vocabulary
Related: LAB: The LAB desk and the backtest · LAB: LAB from a script · Data dictionary
The idea feed#
Why: a running supply of rule-shaped ideas to test, when you do not have one of your own. Where: LAB, the IDEA FEED beside the desk. Plan: Free to read; testing spends credits.
- Read the feed: each card has the idea, when it was found and whether it compiles clean.
- Press DEVELOP to drop it into the desk exactly as if you had typed it.
- Backtest it like any idea of your own.

How to read it:
- Every card is marked untested: the feed is deliberately not judged, and the test is yours to run.
Limits: The ideas are collected from public posts by a scanner and are not checked before they appear.
Related: LAB: The LAB desk and the backtest
Backtest and optimize
Quant optimize#
Why: learn whether a better threshold exists, or whether the best one is only lucky. Where: after a backtest, OPTIMIZE on the LAB desk. Plan: One LAB credit a pass.
- Backtest the rule first.
- Press OPTIMIZE (one credit). Every threshold of every filter is swept.
- Read the chart: the running total of the rule as written against its variants.
- Read the variant table by era, then the lines under it: the five best days' share, the deflated Sharpe, the overfitting check.

What it measures: Each variant's net per trade in all sessions, 2026 and hold40; the deflated Sharpe of the best row against the number of variants; the probability that the best row lands below the median out of sample, over thousands of splits.
How to read it:
- Green means positive out of sample, above the core baseline and outside the day-clustered error bar; anything that clears still owes a stricter test.
- The five best days are 131% of the total means that without them the rule loses.
- Picking the best row is no better than picking at random is the overfitting check saying the grid holds no real ordering.
Limits: Variants that never bind give identical rows; that says the filter decided nothing.
Related: LAB: The LAB desk and the backtest · LIVE: The archive run
Put it on the chart
The desk on the chart#
Why: see where your tested rule triggers, on the live session, on any finished day and in playback, with the formula the backtest scored. Where: ADD TO DESK after a backtest or an optimize pass; the desk lists your ideas, each with its switch, its draw style and its colour. Plan: Free once an idea is tested; the live session needs LIVE, finished days are free.
- Take an idea through BACKTEST (and OPTIMIZE if you like), then press ADD TO DESK.
- Flip the idea's switch on the desk. A blinking colour dot means it is drawing; grey means it is off.
- Pick how it draws: ZONES, MARKS, TRADES or RAILS, and its colour from six.
- Play a finished session, or follow the live one: the drawing moves with the chart.
- Press the star to pin an idea to the top of the list.

What it measures: The rule's conditions read at each minute of the day on screen, with the thresholds the backtest used. For a rule whose core is a stretch off VWAP, the threshold is a rail (VWAP plus a number of standard deviations of the session's prices) and its crossings are computed on any day, live included.
| Control | What it does |
|---|---|
| ZONES | The strips of time where the rule's core condition held |
| MARKS | A triangle at each entry on the day on screen |
| TRADES | The marks plus a dotted tail over the rule's own horizon: a simulated trade, nothing is placed |
| RAILS | Dashed threshold lines for each leg's core condition |
| switch | Draws the idea on the chart or stops it |
| star | Pins the idea to the top of the desk |
How to read it:
- A mark is where the rule's conditions were met, measured on that minute. It is not a call to act.
- A simulated trade shows the rule's horizon from its entry; its result is the backtest's kind of measurement, not a forecast.
- Most rules on most desks did not clear the honest bar; drawing one does not change its verdict.
Limits: A rule whose core is not a stretch off VWAP has no price line to cross: rails and zones stay empty, and its marks and trades come from the backtest's recent triggers, so they show only on those days. SPX only.
Related: LAB: Desk alerts · LAB: The LAB desk and the backtest · REPLAY: The playback bar
Desk alerts#
Why: the chart watches your rule for you, live or in playback, and tells you the moment it triggers. Where: the idea's settings on the desk (the gear), ALERT: OFF, SOUND or PUSH. Plan: Free on a desk idea; on the live session with LIVE.
- Open a desk idea and press the gear for its settings.
- Under ALERT pick SOUND (then a tone and a volume) or PUSH.
- For PUSH, allow notifications when the browser asks; a test notification confirms it.
- Keep the terminal open: the alert fires when the rule triggers as time passes on the chart.

What it measures: The same crossing the desk draws: the price moving through the rule's rail at a minute it had not crossed before. It fires on time that passes (a live tick, a playing playback, a one-step arrow) and stays silent on a far jump of the scrubber or a step backwards.
| Control | What it does |
|---|---|
| OFF | No alert |
| SOUND | A tone in the open terminal: pop, bass, bright or phone, with a volume |
| PUSH | A browser notification naming the idea and the price where it triggered; falls back to the sound when notifications are blocked |
How to read it:
- An alert is the rule's measured trigger, the same one its backtest counted. It says nothing the backtest did not.
Limits: Desk alerts sound or notify in the browser where the terminal is open; they are separate from the alert lines and level alerts, which go to Telegram, push and your webhook (Alerts and delivery). They need a rule with a rail (a core that is a stretch off VWAP). SPX only.
Related: LAB: The desk on the chart · LIVE: Alert lines · LIVE: Level alerts on a watchlist
Credits and tokens
Credits and tokens#
Why: machine time priced honestly: conversation is free, each job has a fixed cost. Where: LAB, GET CREDITS, or Account, Credits and tokens. Plan: LAB packs or the LAB monthly plan; LIVE includes 5 credits a month. Pricing.
- Read your balance: the plan's monthly credits and the purchased ones, shown apart.
- Press GET CREDITS for the packs, or start the monthly plan.
- Under Account, Credits and tokens, + Create token makes a LAB token for scripts and assistants; it is shown once.

| Job | Credits |
|---|---|
| Developing an idea in the chat | 0 |
| A backtest | 1 |
| An optimize pass | 1 |
| An OPTIONS archive run | 10 |
How to read it:
- Monthly credits are spent first and expire with the month; purchased credits never expire.
Limits: A failed job refunds its credit automatically. A LAB token spends the same credits as the terminal.
Related: LAB: LAB from a script · REPLAY: MCP server · LIVE: The archive run
LAB from a script#
Why: automate research: compile, backtest, optimize and read the verdict without the terminal. Where: Account, Credits and tokens, + Create token; the reference is /docs/developers/lab. Plan: The same LAB credits as the terminal.
- Create a LAB token on the account page.
- Send it as the Authorization header from your script.
- Describe, backtest and optimize exactly as on the desk, and read the same verdict as JSON.

Limits: Every call spends credits like the desk does.
Developer reference: /docs/developers/lab
Related: LAB: Credits and tokens · LAB: The LAB vocabulary · REPLAY: MCP server
Read the evidence
Published research#
Why: see what has been measured on this data, with its sample and method, before trusting a reading or testing an idea. Where: /research, grouped as do the levels hold, what the book is made of, rules tested and published work replicated. Plan: Free.
- Open /research and pick a group.
- Read the dated header: the book, the sample and the status of the measurement.
- Read the table and the definitions under it, so the numbers cannot be read as something else.

How to read it:
- Every post states its sample, its method and its caveats, so it can be rebuilt from the public session files.
- Null results are published too: a level that holds as often as a random line at the same distance is reported as that.
Limits: Posts are re-measured as the archive grows and say so. None of it is investment advice.
Related: LAB: The LAB desk and the backtest · REPLAY: The session archive and session pages
Add to LAB
| Add-on | What it adds |
|---|---|
| LAB credit packs | TASTE, RESEARCH and DEEP DIVE: credits that never expire, without a subscription |
| OPTIONS archive run | A structure tested over the archive on real quotes, paid in LAB credits |
Use it with other tools
| Tool | How it pairs |
|---|---|
| REPLAY | Replay the sessions behind any number LAB reports, free. |
| LIVE: The archive run | Test a structure on real quotes with the same credits. |
| LIVE: Alert lines | Desk alerts are LAB's own; alert lines and level alerts watch a price or a level instead. |
| LIVE: The ASK drawer | ASK can explain a reading before you write a rule on it. |
| REPLAY: MCP server | Run LAB from an AI assistant with a Lab token. |
Good to know
- Developing an idea costs nothing; credits are spent only on a backtest or an optimize pass, and a failed job refunds its credit.
- Purchased credits never expire and are spent after your monthly allowance.
- LAB tests SPX only, inside one session, at 5, 15 or 30 minutes.
- Adding an idea to the desk and drawing it cost nothing: the credits were spent getting it tested.
- A desk alert fires as time passes on the chart (the live tape, a playing playback, a one-step arrow), never on a far jump of the scrubber.
- A seeded idea on every new desk walks the whole conveyor, and its verdict is that it does not clear the honest bar, because that is what most ideas honestly do.
If something looks wrong
| You see | Do this |
|---|---|
| The chat asks a question instead of compiling | Your words did not map to one rule yet; answer the question with the threshold or the column it names. |
| Every variant in the optimize table has the same numbers | The filter changed did not bind on any session; the rule is its core plus a condition that never decided anything. |
| A send opens the credits card | Your balance is zero; developing stays free, a backtest needs one credit. |
| A desk idea draws nothing on the day on screen | A rule whose core is not a stretch off VWAP has no rail; its marks come from the backtest's recent triggers and show only on those days. |
| A push alert never appears | Allow notifications for firmtape.com in the browser; until then the alert falls back to the sound. |
| A column name is refused | Columns were renamed on 2026-10-03 with the book as a suffix; the error names the new spelling. |
Glossary
| Term | Meaning |
|---|---|
| core condition | The one condition an idea stands on; the baseline every filter must beat. |
| hold40 | The last 40 sessions, held out of the build as a recent out-of-sample check. |
| deflated Sharpe | A Sharpe ratio discounted for the number of variants tried. |
| day-clustered t | A t statistic measured across sessions rather than across triggers. |
| desk | The list of tested ideas you keep; each can draw on the chart and alert. |
| simulated trade | A desk drawing of the rule's entry and its horizon; nothing is traded. |
| credit | The unit LAB jobs spend: one for a backtest or an optimize pass, ten for an OPTIONS archive run. |
DATASET Every finished SPX session as files, all three gamma books, updated every evening
The DATASET licence, monthly or yearly. Reading single sessions on the site stays free. This guide alone · The product page
Why it matters
The archive is free to read one session at a time, on the site and in the terminal. Research over the whole of it needs the sessions as files you can compute on, and a clear rule for which book every number comes from.
DATASET answers one question: how do I run my own study over every session FirmTape has measured? It delivers the same day files the terminal reads, one a day, with the per-visitor limit on distinct days removed for your account.
Every session carries three books. The volume book is the conventional public object, built here from the tape; the open-interest book uses the morning's positions; the measured book is signed print by print from the tape and its quotes. Their magnitudes are never comparable, so every field names its book.
Where to find it
Start the licence on pricing. Once it is active, Account, Plans and billing shows how to download; every field is on the data dictionary.
| You want | Go to |
|---|---|
| The licence | Pricing, DATASET |
| What a field means | The data dictionary |
| Which days exist | The day list the account page names |
| To show the numbers to other people | Licensing |


Read it in 30 seconds
- A field's suffix names its book:
_volcpor_volthe volume book,_oithe open-interest book; a neutral name is the measured book. - The dictionary's since column says from which session a field exists; earlier sessions do not carry it.
- Levels are SPX index points and times are New York time.
- A day file covers one finished session; a session is never rewritten after its evening.
- The calendar file carries each scheduled release and what usually followed its kind.
How to use it
The files
The day files and the dictionary#
Why: the same session files the terminal reads, as data for your own code. Where: with the licence active, Account, Plans and billing, How to download; every field on the data dictionary. Plan: The DATASET licence.
- Fetch the day list to see which finished sessions exist.
- Fetch each day's file with your account's token as a bearer header, from a script.
- Look up each field on the data dictionary: its meaning, its unit, its book and the session it starts from.

What it measures: A day file is one finished SPX session as the terminal reads it: minute series, per-strike ladders and the session's levels. The dictionary lists every field of the files and every LAB column, generated from the same source the LAB compiler reads, so the two never disagree.
How to read it:
- A field's since column is the first session that carries it; a study over all sessions should start each field there.
- Times are New York time; levels are SPX index points.
Limits: Finished sessions only. Your own research only: the files are not for showing to other people.
Developer reference: /docs/developers/dataset
Related: DATASET: Three books in every file · DATASET: A new session every evening · LAB: The LAB vocabulary
Three books in every file#
Why: three readings of the same dealer positioning, side by side, and a rule that keeps them from being mixed. Where: the book tabs on the data dictionary. Plan: The DATASET licence; the dictionary is free to read.
- Open the dictionary and pick VOLUME, MEASURED, OPEN INTEREST or NO BOOK.
- Read the line under the book's name: how to spot its fields by suffix.
- Compare magnitudes only inside one book.

What it measures: The volume book signs cumulative session volume by call or put (the conventional public object, built here from the tape); the open-interest book uses the morning's open interest; the measured book is signed print by print from the tape and its quotes. A field with no book (price, time, implied vol) is marked so.
How to read it:
_volcpand_volare the volume book,_oithe open-interest book; a neutral payload name is the measured book.- The volume book is the default: it is what the chart draws when no book is named.
- Two books disagreeing on the regime is expected; they measure different things.
Limits: Magnitudes are never comparable across books.
Related: DATASET: The day files and the dictionary · LIVE: The three books
A new session every evening#
Why: the archive grows by one session a day, and your copy can grow with it. Where: the day list, the evening after each session. Plan: The DATASET licence.
- After the close, fetch the day list again.
- Fetch the new day's file; earlier days never change.
- Fetch the calendar file too for the scheduled releases and what usually followed each kind.
What it measures: A finished session is written the evening it closes and is not rewritten afterwards, so a day you already hold stays valid.
Limits: Today's session as it trades is LIVE, not part of the files.
Related: DATASET: The day files and the dictionary · REPLAY: The session archive and session pages
Older days in the levels API#
Why: one account for recent levels in a chart and the long history in a study. Where: the levels API's history call, with your account's key. Plan: The DATASET licence together with LIVE's levels API.
- Ask the levels API for a day's history as usual.
- Days older than the API's usual window answer when the account holds the licence.
What it measures: The levels API answers the last 90 calendar days of history for an account key; a day further back needs the DATASET licence.
Limits: The free archive on the site is untouched by this rule: every finished session stays free to read there.
Developer reference: /docs/developers/live
Related: LIVE: Levels API · DATASET: The day files and the dictionary
The licence
Dataset licence#
Why: the whole archive, all three gamma books, on your own machine, with no credits and no rate limit. Where: the licence on pricing; every field in the data dictionary. Plan: The dataset licence.
- Start the licence from pricing; delivery starts that evening.
- Download with the token you already hold for LAB, under your licence.
- Read each field's meaning, unit, book and start date in the data dictionary.
- Pick the book by its suffix: the volume, measured and open-interest books are never mixed.

What it measures: Every finished SPX session minute by minute, full per-strike detail in all three books, plus the market calendar with what usually followed each kind of event. A session lands minutes after the evening build.
How to read it:
- Magnitudes are never comparable across books: a field's suffix names its book.
- A field's start date is in the dictionary; some exist only from the day they were added.
Limits: For your own research. Showing the numbers to other people is licensing. Licensed raw vendor data is never part of it.
Developer reference: /docs/developers/dataset
Related: DATASET: Licensing for your product · LAB: The LAB vocabulary · REPLAY: The session archive and session pages
Licensing for your product#
Why: the numbers inside your app, site, bot or paid channel, on published terms with no sales call. Where: Licensing. Plan: A redistribution licence, priced on the page.
- Read the tiers on Licensing: levels only, the stream fifteen minutes late, or the stream in real time to an audience ceiling.
- Press Request this licence; a countersigned email and a key follow.

| Tier | What it carries |
|---|---|
| LEVELS | Live levels each minute, ES and NQ, the archive as files; any audience |
| STREAM, 15 MIN | The book every second and the strike ladder with vanna and charm, fifteen minutes late; any audience |
| STREAM | The same in real time, up to 50 people |
| STREAM 250 | The same in real time, up to 250 people |
| Larger audiences | Printed on the same page, up to 1,000 people and beyond |
How to read it:
- Attribution goes wherever the numbers are shown, with a link to firmtape.com; only the tier above 1,000 people drops it.
Limits: No tier covers a dealer-positioning terminal built on the stream, and none carries the raw vendor tape.
Related: DATASET: Dataset licence · LIVE: Levels API
Add to DATASET
| Add-on | What it adds |
|---|---|
| Redistribution licences | Show FirmTape's levels or its stream to other people in your app, site, bot or channel, on printed terms |
Use it with other tools
| Tool | How it pairs |
|---|---|
| REPLAY: The session archive and session pages | Read a session on the site before you study it in bulk. |
| LAB: The LAB vocabulary | Rebuild a LAB column from the fields it is built from, listed on the dictionary. |
| LIVE: Levels API | Recent history over the levels API; older days with the licence. |
Good to know
- The licence is for your own research: internal use, no redistribution, no competing service.
- Delivery uses your account's token as a bearer header, from a script, with no browser.
- Fields added later carry their start date; a study over all sessions should check it.
If something looks wrong
| You see | Do this |
|---|---|
| A download is refused | The licence must be active on the account the token belongs to; check Account, Plans and billing. |
| A field is missing on an older day | It starts later: read its since column on the dictionary. |
| Two books disagree on the regime | They measure different things: the measured book disagrees with the convention book in a large share of minutes by design. |
Glossary
| Term | Meaning |
|---|---|
| volume book | cp-signed cumulative session volume per strike: the conventional public gamma object, built from the tape. |
| open-interest book | The same construction on the morning's open interest. |
| measured book | The book signed print by print from the tape and its quotes. |
| day file | One finished session as the terminal reads it, every minute and every strike. |
| data dictionary | Every field of the files and every LAB column, by book, with unit and start date. |
GEO What the world published, from public records, as context for the session
Free to read, no account. Geo alerts, the API and Team are Geo's own plans: Geo plans. This guide alone · The product page
Why it matters
A move on the tape often has a story told somewhere else first: a travel notice, a maritime warning, an airport ground stop, a tornado warning. Those records are public, but scattered over many sites and formats.
Geo answers one question: what was published around this minute, and was any of it unusual? It reads public sources by sector, keeps each record's own publication time and its link, and marks a record notable when it stands out against that source's normal for the country.
It is context. Nothing in Geo is a forecast, a cause or a trade, and it does not beat the news.
Where to find it
The list opens beside the chart from the globe on the toolbar. The full pages are at /geo: the map and the feed, one page a sector and a country, every past week, and the sources.
| You want | Go to |
|---|---|
| What was published in the last day, beside the chart | The globe on the toolbar (or W) |
| The world map and the week's records | /geo |
| One sector or one country | The sector chips on /geo, or /geo/countries |
| Which sources answered | /geo/sources |
| Alerts on the records you care about | Account, Geo alerts, on a Geo plan |


Read it in 30 seconds
- Notable only is the default: the rows you see are the ones that stood out against their own normal.
- The time on a row is the time in ET, next to the session's own clock.
- The sector label (SEA, AIR, GROUND, GPS) says what kind of record it is.
- On the map, a bigger marker is more records this week; colour is how many were notable, red the critical ones.
- The source count at the top says how many sources are fresh; a quiet list with every source fresh is a quiet day, not a gap.
How to use it
Look it up
The GEO list beside the chart#
Why: what was published in the last day, next to the chart and on its clock, without leaving the terminal. Where: the globe on the toolbar, or W. Plan: Free to read.
- Press the globe on the toolbar, or W.
- Read the last 24 hours: time ET, country, the record, its sector, and a link to its source.
- Keep notable only on, or switch it off for every row.
- Alert settings at the foot of the list opens the Geo alerts pane.

How to read it:
- The header counts notable and routine records and how many sources are fresh.
- A dimmed row is routine; a dot marks a notable one.
- A record is context for the session. It does not say what the market will do.
Limits: The list holds the last 24 hours; older records are on the week pages at /geo.
Related: GEO: The map and the feed · GEO: Notable only · REPLAY: Market calendar and pulse
The map and the feed#
Why: the week's public records on one map and one list, each linked to the record it came from. Where: /geo. Plan: Free to read, no account.
- Open /geo: the map is this week, the feed under it is newest first.
- Read the legend: red critical, amber three or more notable, cyan one or two, grey routine only; size is all records.
- Click a country for its own page.

How to read it:
- A marker sits at the country's centre, not at the event.
- The count beside a country is its records this week.
Limits: One week a page, so no page pulls the whole history at once.
Related: GEO: Sectors and countries · GEO: Weeks
Sectors and countries#
Why: follow only the records that matter to you: a sector across the world, or every sector in one country. Where: the chips on /geo; /geo/countries for every country. Plan: Free to read, no account.
- Pick a chip: Government, Air, GPS, Sea, Internet, Ground or Attention.
- Open a country from the map or from /geo/countries.
- Each sector and country page has its own weeks, like the world page.

| Control | What it does |
|---|---|
| Government | Travel notices and embassy alerts |
| Air | Airspace and airport status |
| GPS | GPS interference |
| Sea | Maritime warnings and ship traffic |
| Internet | Internet outages |
| Ground | Weather warnings, earthquakes and disasters |
| Attention | Reading attention to a place, against its normal |
Limits: A country page lists only the countries seen in the served history.
Related: GEO: The map and the feed · GEO: Notable only
Notable only#
Why: one unusual record should not drown in a hundred routine ones. Where: notable only in the GEO list; Notable only on every /geo page. Plan: Free to read.
- Leave notable only on, the default.
- Switch it off to see every row, routine ones dimmed.

What it measures: A record is notable when it stands out against its own source's normal for that country. Sources that need a normal learn it first and publish only after.
How to read it:
- A quiet list with every source fresh is a quiet day, not a gap.
Limits: Notable is a measure against the source's own history, not a judgement of importance.
Related: GEO: The GEO list beside the chart · GEO: Sources
Weeks#
Why: a finished session can be read next to what was published that week. Where: the week line under the map; the Last 30 days tiles on /geo. Plan: Free to read, no account.
- Use the arrow on the week line for the previous week.
- Or pick a tile under Last 30 days: each shows its records and how many were notable.
- Every week, world and per sector, keeps its own address.

How to read it:
- The bar under a count is the share that was notable.
Limits: Weeks run Monday to Monday on the New York calendar.
Related: GEO: The map and the feed · REPLAY: The session archive and session pages
Sources#
Why: know what Geo read before trusting a quiet list. Where: /geo/sources; the source count at the top of the GEO list. Plan: Free to read, no account.
- Open /geo/sources.
- Read each source with its sector and when it last answered.
How to read it:
- Every record names its source and links to it.
Limits: Geo reads its own list of public sources; a record published elsewhere may not be in it.
Related: GEO: Notable only
Get told
Geo alerts#
Why: hear about the records you follow without keeping the list open. Where: Account, Geo alerts; Alert settings in the GEO list. Plan: Geo alerts plan; more rules on API and Team. Geo plans.
- Open Account, Geo alerts.
- Write a rule: countries, sectors, sources, notable or all. The preview shows how many records matched in the last seven days.
- Choose email, Telegram or both, and send yourself a test alert.

How to read it:
- An alert is sent when the record is written, not on a schedule.
Limits: A plan sends nothing until it has a rule; Telegram must be connected for a rule that sends there.
Related: GEO: The GEO list beside the chart · LIVE: Telegram: @FirmTapeBot and the channel
Build on it
The API, webhooks and MCP#
Why: the records as data, with every field, coordinates and source credit. Where: Account, Geo developer, on the API and Team plans; reference at /geo/docs. Plan: Geo API and Team plans. The open JSON is free.
- REST API: the records over HTTP with a key; /geo/docs.
- Webhooks: a signed POST when a record matches your rules; /geo/docs.
- MCP server: an AI assistant reads the records with the same key; /geo/docs.

Limits: Reading the pages and the open JSON needs no key.
Developer reference: /docs/developers/geo
Related: GEO: Geo alerts · REPLAY: MCP server
Add to GEO
Use it with other tools
| Tool | How it pairs |
|---|---|
| REPLAY: Market calendar and pulse | The calendar holds the scheduled releases; Geo holds what was published without a schedule. |
| REPLAY: The playback bar | Scrub a finished session and read that week's records on its week page. |
| LIVE: Telegram: @FirmTapeBot and the channel | Level alerts and Geo alerts can arrive in the same Telegram chat. |
| LIVE | Ask about the levels on screen while the GEO list shows what was published. |
Good to know
- A marker sits at the country's centre, not at the place of the event.
- Rows marked backfill came from a source's own history, not from live collection, and never count toward how fast a record was seen.
- A record is notable against its own source's normal for that country, not against the world.
- Geo plans are separate from LIVE, LAB and DATA; cancelling one never touches another.
If something looks wrong
| You see | Do this |
|---|---|
| The list is empty | Switch notable only off to see the routine rows; check the source count at the top. |
| A record I read elsewhere is missing | Geo reads its own list of public sources; /geo/sources shows which and how fresh each is. |
| No Geo alert arrives | A plan sends nothing until it has an alert rule; for Telegram, connect the chat on the same pane. |
Glossary
| Term | Meaning |
|---|---|
| record | One published item from a public source: its time, country, sector, text and link. |
| notable | A record that stands out against its source's own normal for that country. |
| routine | A record within its source's normal; hidden by default. |
| sector | The kind of record: government, air, GPS, sea, internet, ground, attention. |
| backfill | A row from a source's own history rather than live collection. |