Signing in adds open interest, the gamma flip and alerts.
Same account, separate subscription. Your TraderMatrix
email and password sign you in here. Vespryx is its own plan, so a
TraderMatrix subscription does not cover it.
Signed up to TraderMatrix with Google? Use Continue with Google below. Same account, and it signs you in here as well as in the extension.
That account signs in with Google. Use the Google button below and you are in, here and in the extension.
Nothing in the manual matches that. The chapters on the left cover every setting, every colour and every reaction word; Discord is where people compare what they are seeing.
01 · INSTALL
Chrome does the painting. Everything else just looks.
Everything Vespryx draws comes from the options chain: where dealers are positioned, and therefore where they must buy and sell to stay hedged. None of it is a prediction. It is a map of where the money already sits.
SET UP · 0/4
1Add Vespryx to ChromeInstalled and updating itself.DONEAdd to Chrome
2Sign inThis is where the walls, the open interest and the flip come from.DONESign in again
3Open a TradingView chartSPY, QQQ, SPX, or any equity with an option chain. Futures have none here.DONEOpen a chart →
4Point your phone or the desktop app at itNothing to install. They view what Chrome painted, through your TradingView account.DONESet up →
You are set up. Four for four.
On Chrome, add it from the store: one click, and it stays updated on its own. On Edge, Brave, Opera, Arc, a managed Chrome, or an install you already loaded unpacked, the current build, the changelog and how to update it are all on the releases page.
Reading a chart Chrome cannot reach? The indicator carries the same levels as one line you paste — public and free on TradingView.
02 · PHONE & DESKTOP
Your phone and the desktop app are viewers.
Both work, and neither needs anything installed on it. TradingView saves drawings to your account, not to your computer — so anything Vespryx paints in Chrome is already on the desktop app and the phone, on the same layout.
Chromepaints→TradingViewsyncs your account→desktop appphone
A Chrome extension cannot run inside those apps. Nothing can — an extension only runs in Chrome, and those are separate programs. So Vespryx does not try: it makes this machine the painter and lets every other device be a viewer.
Sync is pull-on-load. An app that was already open before the paint happened is showing what it had when it opened. Close and reopen it, or just switch symbol and back, to pull the current layout.
A phone shows only what was painted. This repaints your saved tickers on a schedule, in a hidden background tab that closes itself, so the chart you are reading is never moved. Skipped outside 04:00–20:00 ET on weekdays, because dealer positioning barely moves overnight. Same settings as the extension's Settings page, saved to the same place.
Install the Vespryx extension and open this page in Chrome to change these here.
03 · THE INDICATOR
Levels on a chart the extension cannot reach.
A layout on a machine where you have installed nothing, or a chart you want to hand to somebody else. Vespryx Overlay By TraderMatrix covers both: you paste one line into it and it draws the same levels, in the same colours. It is a Pine study, so it cannot fetch — every number arrives because you carried it there. One field, one line, no key, no editor.
One or the other on a layout, not both. Where the extension already paints a symbol, its drawings are on that layout on every device. Pasting the same symbol into the indicator too draws every level a second time, with a second label on top of the first, on the phone as well. Use the indicator for charts the extension does not reach; where it does, leave the paste box empty.
1Add it onceA public script on TradingView, so there is nothing to download and nothing to be granted. Open the Indicators dialog, search for Vespryx Overlay By TraderMatrix, click it and it is on the chart. Published rather than a file you paste in, so you get every update instead of holding a copy that quietly falls behind.
2Get your lineCopy levels in the Vespryx popup, or /td vespryx SPY in #vespryx-commands on Discord. Same string from the same two calls, so they cannot disagree with each other or with your chart. The Discord reply previews the levels as a list and puts the line in a code block, which Discord gives its own copy button — so that is the path that works on a machine with nothing installed on it.
3Paste it inOpen the indicator's settings and put it in the field called Paste from Vespryx. That is the only field you need to touch; the numbered inputs under it are a manual fallback for typing four levels in by hand, and are ignored when you paste.
4Re-paste when you switch symbolThe line names its own ticker, so a line for the wrong symbol draws nothing at all rather than putting SPY's levels on QQQ. This is the one real cost of the paste path, and most of the reason the extension exists. It also stamps the moment it was taken, and the panel prints how old that is — without an age, a chart shows Tuesday's flip on Thursday with nothing on screen to disagree.
Once you are in, #vespryx-commands is where the command lives.
The line looks like this, and it is meant to be unreadable. It carries the ticker, the flip, the pin, each wall with its open interest, and the moment it was taken.
There is no glow, and there cannot be. The bloom needs a drawing layer, which Pine has no way to make: hline clamps its width and a fill between two of them will not render. So the study draws the crisp core of each level in the same colours and the chart reads flatter. Same levels, thinner picture.
The regime card does not come with it either. On the web that card is a page element rather than a drawing, and elements do not travel. What you do get, besides the levels: the gamma regime and what it does to a move, plus VOLUME and MOMENTUM, which the study works out from the bars in front of it rather than from anything you pasted.
If it draws nothing
“Paste your levels from Vespryx”
The field is still empty. Nothing was pasted, or the paste landed in one of the numbered inputs below it.
Levels, but no numbers on them
The line was copied from a signed-out session. Sign in, copy it again, and the open interest comes with it.
Nothing draws at all
The ticker in the line is not the ticker on the chart. It refuses rather than mispainting, which is the same rule the extension follows.
The age keeps climbing
Working as intended. The study has no way to fetch. Copy a fresh line when the number stops being one you would trade on.
04 · THE FOUR COLOURS
Four colours, and only four.
Each one means exactly one thing, and nothing else on the chart uses them. Five objects and one card in total. Thicker and brighter means more open interest sits there: the glow is the ranking, not decoration, so you can read which level matters most without reading a single number.
Red · resistanceA strike above price with heavy call open interest. Dealers sell into rallies here to stay hedged, so moves tend to stall.
Green · supportThe same thing underneath. Heavy put open interest, dealers buy dips to stay hedged, so falls tend to slow.
Amber · the pinThe single strike with the most gamma. Price is drawn toward it as expiry approaches, which is why it is often where things close.
Purple · the gamma flipThe one line that is not a wall. Above it dealer hedging damps moves; below it, hedging amplifies them. Crossing it changes how the whole chart behaves.
A dotted purple line means the two gamma models disagree about where the flip is, and the dotted one is the second opinion. It is labelled GAMMA FLIP (gex model) so it cannot be mistaken for the real one.
The labels sit on the lines, not beside them. TradingView breaks a line to make room for its text, so the level and its name can never drift apart or cover a different level. Two labels can only overlap if two levels do.
The regime card sits top right and drags anywhere. It names the regime, says what each colour means on this symbol, gives your distance from the flip, reads what price just did at a level, and states how old the chain is. It never states a verdict, because a conclusion is the one thing on a chart you cannot check for yourself.
05 · REACTION WORDS
What price did when it got there.
The walls say where the levels are. This says what price did. It is one row in the regime card, and only ever reports the current bar or the last two.
REJECTEDWick through, closed back. The level held.
BROKE DOWNClosed decisively below. Not a wick: measured on the close.
BROKE OUTThe same thing upward, through resistance.
LOSTClosed above, then closed back below. The breakout failed.
RECLAIMEDClosed below, then closed back above. The breakdown failed.
ABSORBINGSitting on the level, tiny bodies, heavy volume. Size being filled without price moving.
COILINGRanges genuinely compressing into the level — each bar at most 60% of the one two back.
Every one of these requires a level. That is what separates it from a candlestick pattern library, which fires everywhere because a hammer is a hammer wherever it forms. With no dealer level within reach, nothing is reported at all.
It reports what happened. It never says what to do.
06 · EXPIRATIONS
Which expirations you are looking at.
The single biggest thing the chart does not say out loud, so the card says it.
08/1108/1408/2108/28→one set of levels→
By default the chart blends four expirations. Which four differs per symbol: a fast-moving name might blend zero to five days out, a slower one a month of weeklies. Those are different claims about different horizons, drawn identically, which is why the card states the count and the date range.
Pick a single date in Expiration and the levels are recomputed from that chain alone. It is a genuinely different reading, not a subset: on one measured day SPY's pin sat at 768 across the blend and at 750 on a single expiry. The card marks a chosen expiry so you can tell the two apart.
The list is the symbol's real chain, so it changes as you change symbol. A date left over from another ticker is dropped rather than sent, because the request would 404 and the chart would silently fall back to the blend.
07 · EVERY SETTING
Every setting, and what it actually changes.
The popup and the settings page write the same values. Use whichever is nearer: the popup for things you change while reading a chart, the settings page for everything.
The toolbar icon
Live data while you read a chart: market pulse, unusual flow, the gamma matrix. Carries the master switch, and the gear opens the settings page.
WHILE YOU TRADE
⚙The settings page
Every control, in six sections: On your chart, Everywhere else, Flow alerts, Phone & desktop app, Data & session, and Help.
SET AND FORGET
Neither one deletes anything. Turning a layer off stops the fetching as well as the drawing; Remove drawn walls is a separate button, and it only ever removes lines Vespryx marked as its own.
Vespryx is on MASTER
The master switch. Off stops every overlay everywhere and stops all fetching with it.
It never deletes anything already drawn, because a deleted drawing cannot be recovered. Use Remove drawn walls for that, which only removes drawings Vespryx marked as its own.
Dealer walls ON
The lines themselves. This is the product; leave it on.
Ranked strongest first, each carrying its open interest and which side of price it sits on.
Levels drawn 6 BY DEFAULT
How many walls to draw, strongest first.
Past about six the chart stops being a read and becomes a wall of colour. This is a judgement about legibility, not a limit of the data.
Minimum level strength NEEDS SESSION
Draw only levels scoring at or above a floor. Strength is 0 to 100: open interest at the strike, weighted by how near it is to price.
Without a signed-in session there are no scores to compare, only a placeholder, so the filter is skipped and the chart tells you rather than emptying itself. If no level reaches your floor, the chart says what the strongest actually was. The cap still applies afterwards.
Level naming WORDS / C1-P1
Words names the level: RESISTANCE 40k OI. C1 / P1 names it by side and rank: C1 40k OI.
Shorter, and it tells you both which side of price the level is on and that it is the strongest there.
Wall thickness THIN / THICK
How far the glow blooms out from a level, and what makes a busy chart heavy. Thin gives the candles back; Thick makes the bloomed levels unmissable.
Which levels bloom is about DISTANCE, not rank: the nearest level above price, the nearest below, and the pin. The one price is actually between is the one worth the width, and the strongest level in the chain is often the one furthest from you. Strength shows in how solid a line is drawn rather than how wide it blooms.
Whatever you pick is a ceiling, not an override. Where strikes sit close enough that full-width glows would smear into each other, the chart still narrows them below your setting, because two levels you cannot tell apart are worse than one drawn thinner than you asked for.
Level text colour AUTOMATIC
What the words written on each line are drawn in. Automatic follows your chart's own foreground, which is what keeps them readable sitting inside the glow.
One setting reaches all of them, so the wall labels, the print chips and the expected-move lines cannot end up in three different colours. Pick anything that is not a plain colour and it falls back to Automatic rather than drawing a label with no text in it.
The indicator carries the same setting, where leaving it alone lets each level name itself in its own colour. That is the opposite default on purpose: those labels sit on the chart background rather than inside a glow, so the colour doubles as the key.
Today's big prints ON YOUR CHART
Today's large option trades, shown against the standing positioning.
A print at a strike that already has a wall is written onto that wall's label (57k OI · $36M today), because “money traded where inventory already sits” is the informative case. Only a print with no wall behind it gets its own marker, capped at two.
Regime panel DRAGGABLE
The card in the top right: the regime in words, what each colour means on this symbol, how far price sits from the flip, the reaction row, and how old the data is.
It states an age and deliberately never judges it. After the close, a chain measured hours ago is perfectly legitimate.
Panel size S / M / L
Three steps. The one chart setting that costs no repaint, because it is CSS on an element already on the page.
You can also drag the bottom-right corner to fine-tune it, and double-click that corner to snap back to the preset. The floating HUD resizes the same way.
Flow alerts LOCAL ONLY
A Chrome notification when a new high-score unusual print lands on a ticker you follow.
Checked every five minutes, in your browser, against your own session. Nothing about your list is sent anywhere.
Cashtags & Fidelity WANTS RELOAD
Badges $TICKER mentions with live dealer context across X, Reddit, StockTwits and the finance press, and paints wall levels onto Fidelity's option chain.
Both decorate a page as it loads, so switching them off wants a page reload to take full effect. The settings page says so when you toggle them.
Expected-move cone OFF BY DEFAULT
Bands the chart with the at-the-money straddle's implied move to expiry, which answers whether a level is even reachable today before you trade toward it.
Needs a Vespryx session and the entitlement behind /ticker/:symbol/tactical-grid. Switch it on without one and the rest of the chart still draws normally; a toast says the cone itself is on Vespryx Pro, rather than leaving you to guess why nothing changed.
Max pain + OI walls OFF BY DEFAULT
Max pain, the call wall and the put wall are the open-interest vocabulary rather than the gamma one, so they draw dotted to keep the two readings apart on sight.
Derived from the same gex.byStrike the walls already fetch, so it costs no extra request and works at whatever tier already drew the walls. Dealer walls are computed from gamma exposure and are a different claim: a call wall is where the most calls are, not where hedging pressure is strongest.
08 · WHEN IT LOOKS WRONG
Five things that look like bugs and are not.
In the order they actually happen. The answer is here, not one page away.
Nothing happens when I change a settingReload the TradingView tab, not just the extension. Reloading an extension leaves every already-open tab running a dead copy of it that can never be reached again.The giveaway is walls on the chart with no regime card: the card is redrawn on every paint, so if it is missing, nothing is painting.
Every level says 0 OI, or has no open interest at allYou are signed out of Vespryx, or your plan does not include it. Open interest, the strength scores and the gamma flip all come from one premium endpoint.The walls still draw without it, which is deliberate, but they are unranked.
The levels moved, or there are more than I expectCheck the expiry line in the regime card. Blending four expirations and picking one give genuinely different levels.The picker is per-symbol, so it changes as you change symbol.
My futures chart says “no dealer data”Correct, and deliberate. Vespryx reads equity and index option chains; futures have none here. Try SPX, XSP, SPY or QQQ for the same exposure.It refuses rather than trying, because a futures root is often also a real stock ticker: CL is crude on NYMEX and Colgate-Palmolive on the NYSE, ES is the E-mini and also Eversource Energy. Fetching blind would have drawn a different company's gamma walls on your futures chart, with real open interest and real scores and nothing saying otherwise. An honest refusal beats a convincing wrong answer.
Two labels are sitting on top of each otherTwo strikes that close together really are that close.Vespryx used to drop a level when its label would not fit, which made the chart's contents depend on your zoom: the same chain drew four walls zoomed out and six zoomed in. A crowded chart is a problem you can zoom into; a chart that quietly hides a level tells you nothing is there.
Dealer walls, with the open interest on them ON YOUR CHART
Ranked strongest first, each carrying its open interest and which side of price it was on. The two price sits between are drawn with a glow around them, because those are the ones you are about to trade into.
The gamma flip and the max-gamma pin ON YOUR CHART
Purple is where dealer hedging changes sign: above it hedging damps moves, below it hedging amplifies them. Amber is the strike with the most gamma sitting on it, which is what price tends to get held near.
The regime card ON YOUR CHART
Top right, and you can drag it anywhere. It never states a verdict, because a conclusion is the one thing on a chart you cannot check for yourself.
Today's big prints, against the standing positioning ON YOUR CHART
Large option trades from today, keyed to strike and expiry. A print landing where inventory already sits is written onto that level's own label, because that is the informative case.
One expiry, or the blend ON YOUR CHART
Every wall is computed across a set of expiries, and the set differs from symbol to symbol. You can pick a single date out of the symbol's real chain instead.
Market pulse, unusual flow, the gamma matrix and sector flow IN THE POPUP
The toolbar icon, for reading while a chart is in front of you. Live, and none of it needs you to leave the tab.
Cashtag badges, and the Fidelity chain EVERYWHERE ELSE
Dealer context on $TICKER mentions across X, Reddit, StockTwits and the finance press, and your wall levels painted straight onto Fidelity's option chain.
Flow alerts EVERYWHERE ELSE
A Chrome notification when a high-scoring unusual print lands on a ticker you follow. Checked in your own browser against your own session, so nothing about your list is sent anywhere.
Your phone and TradingView Desktop OTHER DEVICES
Both view what Chrome painted, through your TradingView account, and neither needs anything installed on it. Keep tickers dressed paints your list on a schedule so a name is ready before you get to it.
The Vespryx Overlay By TraderMatrix indicator OTHER DEVICES
Your levels on a chart the extension cannot reach, carried there as one line you paste. A public TradingView script: add it once, then paste.
Expected-move cone, and max pain with the OI walls NO DATA YET
Listed here rather than hidden, because a feature you cannot find and a feature that does not exist look identical. Both need an endpoint your plan does not reach, so the rows stay visible in Settings and say so.
This is the address you sign in with, here and in the extension.
PasswordChange it here+
Delete accountPermanent+
This ends Vespryx and any TraderMatrix subscription on the same account, and it cannot be undone.
Desktop tools OPTIONAL
Most people never need it. The extension paints TradingView in Chrome, and your phone and the desktop app already see those drawings through your TradingView account. This kit is the other path: it drives TradingView Desktop directly, and it lets a coding agent read and draw on your chart.
You want this if you trade in the desktop app and want it painted without Chrome open, you want a ranked batch report over a watchlist, or you want an agent to read bars and draw real trendlines.
It costs you Node and git on this machine, the desktop token, TradingView relaunched with a debug port, and a separate clone of tradingview-mcp, which is not ours.
Windows Get-Clipboard | node tools/td-token.mjs
macOS pbpaste | node tools/td-token.mjs
Linux xclip -o | node tools/td-token.mjs
then node tools/td-token.mjs --check
The installer puts Node in place if you need it, fetches the toolkit, sets up the bridge, asks for your token and checks the result. Windows: double-click it — Windows warns before running anything downloaded, ours included, so press More info, then Run anyway. macOS and Linux: double-clicking will not work, because a downloaded script arrives without permission to run — open Terminal and paste bash ~/Downloads/vespryx-setup.sh.
The token is a long-lived credential to your paid account. Treat it like a password: never a chat, an issue, or a screenshot. The tools read it from ~/.cache/vespryx/td-token.json, and the installer pipes it in so it never lands in your shell history.
What you will see, in order — and the by-hand route
It checks for Node, and installs it if you do not have it. That step takes a minute and is the only slow one. If it says Node is installed but the window cannot see it, close the window and run the file again — that is expected the first time on a machine that had no Node, and re-running is always safe.
It downloads the toolkit and unpacks it to a folder called Vespryx in your user folder.
TradingView Desktop closes and reopens by itself. That is meant to happen: it has to restart to accept the connection. Nothing has crashed, and your layouts are untouched.
It stops and waits for your token. Press Show my token above, then Copy, and come back and press a key. Nothing is typed and nothing is stored in your command history.
It checks the result and prints a list. Four lines reading ok means it worked. A line about no GUI server is normal and needs nothing from you.
Or do it by hand, in four steps.Download vespryx-tools.zip and unzip it anywhere — it holds the tools/ scripts plus a START-HERE.md that repeats these steps offline. Open a terminal inside that folder: this is the step people get wrong, since every command is relative to it and a terminal opened anywhere else answers Cannot find module. Windows right-click the folder → Open in Terminal. macOS right-click in Finder → Services → New Terminal at Folder. Linux Open terminal here. You are in the right place when tools, core and pine are the folders beside you, and node --version answers with a number (20 or newer, plus git). Run node tools/setup-bridge.mjs once; it clones the bridge, installs it, patches the Pine editor stub and relaunches TradingView Desktop with the debug port, and on macOS it does everything but the relaunch and prints that command for you to paste. Then paste in your token and run node tools/preflight.mjs: it tests every piece and names the one that is wrong, which makes it the first thing to run whenever this stops working.
11 · DAILY LEVELS
Yesterday's levels, free, for anyone.
The previous session's dealer levels for NQ, ES, SPY and QQQ, published after every close and readable without an account: call wall, put wall, gamma flip, max pain and the three focus levels, each with its distance from spot, then four sentences on how to read them.
Free is yesterday. Pro is today, on the chart. The page is a day old by design: dealer positioning is rebuilt from the chain after each close, so the free read is the session that just ended. The extension draws the current session's levels on your TradingView chart, repainted as the chain moves, with the open interest written on every line.
NQ and ES are scaled, and the page says so. Futures have no option chain here, so NQ is read from QQQ options and ES from SPX, scaled by the live ratio and basis the same way the chart is. The provenance line under the headline states the scaling used.
The same numbers, made the same way: data and methodology. Sentences are built from the levels, never typed: the "Levels to watch" line names the nearest level each side by what it is and how far it sits. Each symbol also has a page of its own to send to anyone: vespryx.com/levels.