The terminal is command-driven and issuer-scoped: you pick a company once and move between screens with two or three keystrokes. Four steps and you are productive.
1
Open the dashboard
The dashboard at /app loads your watchlist, the next dated events, the filing feed for your active issuer, headlines and alert state. It is the only screen that fetches several sources at once; everything else is one screen, one question.
2
Type a command, press Enter
The terminal is command-driven. Type a screen code in the command bar — FA for financial accounting, RV for comparables, ECAL for the calendar — and press Enter. Add a ticker after the code (FA MSFT) to switch issuer and screen in one move.
3
Change the issuer once
The ticker field is global. Set it once and every issuer-scoped screen follows it, so you can move across valuation, filings and estimates without retyping.
4
Read the line under the number
Every panel carries a provenance line naming the upstream that produced its figures and when they were fetched. If a figure has no source line, treat it as a bug and report it — that is the contract this product is built on.
Keyboard shortcuts
Click any key to rebind it, then press the combination you want; Escape cancels. Changes are stored in this browser and take effect in the terminal on its next load. Keys marked “app shell” are owned by another module and cannot be reassigned.
System
4 keys
Close overlay, drawer or readerOwned by the application shell: dismisses the floating layer, the Phase 5 and Quant Sandbox overlays, and any open news reader or filing document.Owned by static/app.js, document-level Escape listener
app shellEsc
Activate the focused control (press animation)Cosmetic capture-phase press feedback on the focused control. Not installed when the operating system requests reduced motion.Owned by static/obsidian_orchid_kinetics.js, onKeyDown
app shellEnter
Show or hide the shortcut cheat sheetActive in the terminal; this reference page has nothing for it to call.
Show or hide the shortcut cheat sheetUnmodified key, so it is inert while any text field has focus.Active in the terminal; this reference page has nothing for it to call.
Editor
1 keys
Toggle the Quant Sandbox drawerOwned by the Quant Sandbox module, which only consumes the key on its own screen.Owned by frontend/quant_sandbox.js:1451
app shellCtrl+`
Navigation
5 keys
Focus the command barActive in the terminal; this reference page has nothing for it to call.
Focus the ticker inputActive in the terminal; this reference page has nothing for it to call.
Previous screenActive in the terminal; this reference page has nothing for it to call.
Next screenActive in the terminal; this reference page has nothing for it to call.
Open the command paletteActive in the terminal; this reference page has nothing for it to call.
Screens
14 keys
Go to Analyst Recommendations
Go to Company Filings
Go to Company Description
Go to Earnings Estimates
Go to Financial Accounting
Go to Global Intelligence
Go to Historical Prices
Go to Custom Lab
Go to News Search
Go to Graph Object Organizer
Go to Python Quant Sandbox
Go to Relative Valuation
Go to Stock Lab
Go to Watchlist
Data
1 keys
Reload the current screen's dataActive in the terminal; this reference page has nothing for it to call.
Source: frontend/shortcut_registry.js
When something looks wrong
A screen says a source is unavailable.
That is the designed behaviour, not a crash. Free endpoints rate-limit: SEC EDGAR enforces fair access, OpenSky throttles anonymous polling, GitHub caps unauthenticated calls. The message names the upstream. Waiting a minute and reloading usually clears it.
A figure is marked stale.
The live fetch failed and the server replayed the last response that succeeded, with its age shown. It is real data that is simply older than you asked for — it is never a substituted or synthetic value.
A screen shows a readiness state instead of analytics.
Its upstream needs a credential that is not set, or has no free tier. The screen names what it requires. Settings lists every optional credential and what each one unlocks.
A date looks wrong by a few hours.
Timestamps are transported as UTC with an explicit offset and rendered in your browser's zone, which is named next to the panel. If it looks shifted, check the zone label first.
The page looks unstyled after an update.
Static assets are served immutable for a year, so a hard reload (Ctrl+Shift+R) is the fix. The server bumps a version token on every asset change, so this should be rare.
Terms
About the data on these screens
Read this once. It applies to every figure in the product and is the reason the terminal itself no longer interrupts you with a banner about it.
Where the numbers come from
Every figure on every screen is fetched from a named public source — SEC EDGAR, USAspending.gov, the Federal Register, the US Treasury, Yahoo Finance and the others listed on the Sources page. Nothing is modelled, estimated, sampled or filled in. When a source does not answer, the screen says so and shows nothing in its place.
How current it is
Responses are cached so a screen does not re-request the same filing on every visit, and a cached figure can be minutes or hours old. Market prices are delayed by whatever the upstream delays them by — for most free quote sources that is fifteen minutes or more. Hover any figure to see the source it came from and the time it was fetched.
This is not investment advice
Singularity Terminal is a research tool. Nothing it displays is a recommendation to buy, sell or hold any security, and no figure here has been reviewed by a licensed adviser. Do your own work and check the primary document — every screen links to it.
No warranty
The data is provided as-is. Primary sources revise, restate and withdraw filings; upstream APIs change shape and go down. Errors in a source become errors on this screen, and the operator of this install accepts no liability for decisions taken on the strength of anything shown here.