What Vespryx draws on your chart
Five objects and one card. 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.
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 four colours, and only four
Each one means exactly one thing. Nothing else on the chart uses them.
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 reaction row
The walls say where the levels are. This says what price did when it got there. It is one row in the regime card, and only ever reports the current bar or the last two.
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.
Which expirations you are looking at
The single biggest thing the chart does not say out loud, so the card says it.
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.
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 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.
The lines themselves. This is the product; leave it on.
How many walls to draw, strongest first. Six by default.
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.
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.
It needs a Vespryx session. Without one 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.
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 it is on and that it is the strongest there.
Blend every expiry the chain uses, or pick one. See above.
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.
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.
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.
Three steps, S / M / L. This is 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.
Paints your saved tickers on a schedule so they are ready when you open them. See Phone and desktop.
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 is sent anywhere.
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.
Listed but not drawing. It would band 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.
The endpoint it needs, /ticker/:symbol/tactical-grid, answers 401 on the beginner tier. The row stays visible and says NO DATA rather than disappearing, because a missing feature and a feature you cannot find look identical otherwise.
Listed but not drawing. Max pain, the call wall and the put wall are the open-interest vocabulary rather than the gamma one, so they would be drawn dotted to keep the two readings apart on sight.
Same 401 as the cone, from the same endpoint. Dealer walls, which you do have, 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.
Listed but not drawing. Yesterday's pin and flip, faded, with the drift written on them, so a pin that has climbed two dollars overnight reads as movement instead of as a new number.
Needs /gex/:symbol/historical, which is premium. This one is a plan gate rather than a tier bug: it will start drawing on an account that has it.
Your phone and the TradingView desktop app
Both work, and neither needs anything installed on them.
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.
Switch on Keep tickers dressed and it 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.
When the chart looks wrong
Four things that look like bugs and are not, in the order they actually happen.
Nothing happens when I change a setting
Reload 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 all
You 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 expect
Check the expiry line in the card. Blending four expirations and picking one give genuinely different levels, and the picker is per-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 other
Two 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.