The panel
On a supported trading site the extension docks a panel to the edge of the page. It lives in its own shadow root, so the site's styles never leak in and it never overwrites the site's own layout.

- Status dot: green when the last poll succeeded; it dims when data goes stale (90s) and turns red on an error. Hover it for the reason.
- Counter: rows on screen now, then unread since you last marked read (6 · +4).
- ⟳ refreshes immediately, ⚙ opens settings, – collapses the panel to a bubble.
- Tabs pick a FOMO view: all, latest, trending, conviction.
- Search filters the rows already on screen by handle, display name, ticker, mint or callout text.
- Footer shows when the last update landed and the transport in use.
Reading a row
Every row is one event: a callout someone published, or an on-chain buy or sell. Rows arriving in the last minute keep a lit background.

- ★ in front of a handle means they are on your whitelist.
- callout / buy / sell says what the row is. A red dev badge marks a token deployer.
- Then ticker, trade size in USD, and market cap at the time of the event.
- Green or red percentage is the callout's PnL; held 26h comes from FOMO's conviction stats.
- Purple trending / conviction tags mean the item also showed up in that view.
- Clicking the row opens the token: on the site you're already on by default, or wherever you point “open tokens on”. ⌘/Ctrl-click forces a new tab.
Row actions
Hover a row and three buttons appear on its right edge:
- ★ whitelist that handle. It fills in once they're on the list; click again to remove.
- ⊘ blacklist the handle. Blacklist always wins over whitelist.
- 🔇 mute the token, by mint, so nothing about it shows up again.
All three write to your settings; the settings page shows the same lists a moment later.
Hiding the panel
Alt+Shift+F toggles the panel on any supported site, and the – button does the same. Collapsed, it becomes a bubble with an unread count; opening it marks everything read.

Filters
Filters run locally on every poll, in this order: view and kind, then blacklist, muted tokens, whitelist rules, then the numeric floors. The extension fetches nothing per-filter: the whole feed arrives and your rules cut it down.

| Setting | Effect |
|---|---|
| Minimum followers | Author follower floor. The fastest way to cut noise. |
| Minimum trade / callout size | USD floor on the event itself. |
| Minimum / maximum market cap | Market cap window. A maximum of 0 means no ceiling. |
| Minimum position size held | Drops people who already sold most of it. |
| Minimum conviction buy total | On conviction rows, the total USD that author has bought. |
| Minimum distinct buyers | Token traction floor, when the API reports it. |
| Hide raw wallets | Drops on-chain rows with no FOMO account behind them. |
| Require linked X account | Author must have X/Twitter linked on their FOMO profile. |
| Callouts must have text | Hides empty theses. |
| Hide token devs | Drops rows from deployers of the token being traded. |
| Views / kinds / trade side | latest, trending, conviction · trades, callouts · buys, sells. |
Whitelist, blacklist, mutes

- Whitelist bypasses every numeric filter. On by default, so the people you trust still show up under your own floors.
- Show only whitelisted users turns the feed into a watchlist of those handles.
- Blacklist beats everything, including the whitelist.
- Muted tokens takes a mint address or a ticker.
Feed source

- direct: your browser polls the public FOMO endpoint on your interval (12s by default). No server involved.
- backend: subscribes to a stream service over SSE, at ~2s latency, one poll shared by every user, resuming from a cursor after your laptop sleeps.
- auto: backend when a URL is set, falling back to direct polling after four failed connects, then retrying the backend every five minutes.
Panel settings

- Position, width, opacity: left or right edge, pixel width, and how much it fades into the page.
- Max rows caps what the panel renders; compact rows hides callout text.
- Poll interval applies to direct polling. The upstream limit is 120 requests a minute, so don't go below a few seconds.
- Open tokens on decides where a row click takes you: the site you're on, a specific terminal, or FOMO.
- Start collapsed mounts the bubble instead of the panel on every page load.
Notifications

Desktop alerts fire on new matching items, with their own USD floor on top of your filters, and can be limited to whitelisted handles. Clicking one opens the token.
Toolbar popup
The toolbar icon handles changes you make without leaving the tab: kill switch, the two floors you touch most, whitelist-only, and the current matches.

Backup & reset
Export JSON writes your whole settings object to a file; Import JSON reads one back; Reset to defaults clears everything. Settings live in chrome.storage.sync, so they follow your Chrome profile to other machines; the cached feed stays local to each browser.
When something looks wrong
| Symptom | What to do |
|---|---|
| Panel says nothing passed your filters | Your floors are above the current feed. Drop minimum followers and minimum size, or switch the tab back to all. |
| No panel on a site | Check the per-site toggle in Panel settings, that the extension is enabled, and that the site is one of the five in the manifest. |
| Dot is red or dim | Hover it for the error. A dim dot means the last successful poll is over 90 seconds old. Chrome may have suspended the worker; it wakes on a 30s alarm. |
| Panel disappeared after an update | Reloading an unpacked extension detaches the old content script. Refresh the trading tab. |
| New version | Sideloaded builds never auto-update. Download the new zip, unzip over the same folder, hit reload on chrome://extensions. Settings survive. |
What leaves your browser
In direct mode: one request per interval to the public FOMO hydrate endpoint, and nothing else. No analytics, no account, no server of ours in the loop.
In backend mode the extension tells the stream service only the coarse filters needed to choose which events to send you: views, kinds, follower, USD and market cap floors. Your whitelist, blacklist and muted tokens never leave the extension, which applies them after events arrive.
v0.1.0 · 34 KB · sha256 912b860c763ada66…
