VolStrata

Embed today’s gamma levels

Put the four dealer-gamma levels this desk watches — call wall, put wall, gamma flip and max pain — on your own site, in a post, or on a TradingView chart. Free, no account, no API key, and nothing to install: one <iframe> and you are done.

SPXNDXQQQSPY

What you actually get for SPX: SPX levels refresh through the session, and an embedded widget gets the same reading the site gives a visitor who is not signed in. The widget stamps its own “as of” time and labels itself in the corner, so whoever reads it on your page can always see how fresh the number is. Levels are derived analytics — not exchange quotes, not a live order tape — and they are education, not investment advice.

Preview

This is the real widget, not a mock-up — exactly what your visitors see. It re-checks the levels about once a minute on its own.

Copy the embed code

Paste it anywhere HTML is allowed. It carries a visible caption line linking back here so your readers can find the full chart — please keep it. Change ticker= to any symbol in the row above, and add &theme=light or &theme=dark to pin the colour scheme (it follows the reader’s system setting otherwise).

Add to a TradingView chart

A ready-to-paste Pine v5 study with SPX’s levels baked in. In TradingView open Pine Editor, paste, and click Add to chart. Re-copy any time for fresh levels.

Pine snippet  ·  open raw
//@version=5
indicator("VolStrata Levels — SPX", overlay=true, max_lines_count=20, max_labels_count=20)
// VolStrata key dealer-gamma levels for SPX — snapshot as of Sep 15, 2026 · 12:43 PM ET.
// Auto-generated at volstrata.com · re-copy any time for fresh levels. Paste into TradingView → Pine Editor → Add to chart.

grp = "VolStrata Levels"
showLabels  = input.bool(true,  "Show labels",       group=grp)
extendRight = input.bool(true,  "Extend lines right", group=grp)
lookback    = input.int(300, "Line length (bars)", minval=10, group=grp)

f_level(price, txt, col) =>
    if not na(price) and barstate.islast
        x2 = extendRight ? extend.right : extend.none
        line.new(bar_index - lookback, price, bar_index, price, color=col, width=2, extend=x2)
        if showLabels
            label.new(bar_index, price, txt + "  " + str.tostring(price), style=label.style_label_left, textcolor=col, color=color.new(col, 85), size=size.small)

f_level(7675.0, "Call Wall", color.new(#ef5350, 0))
f_level(7595.0, "Put Wall", color.new(#26a69a, 0))
f_level(7590.37, "Gamma Flip", color.new(#f4c542, 0))
f_level(7650.0, "Max Pain", color.new(#b39ddb, 0))
f_level(7586.97, "Spot", color.new(#8aa0b6, 40))

Share image

A 1200×630 social card that unfurls when the link is pasted: /og/levels/SPX.png

SPX key levels share card

Build your own — the open levels feed

If an iframe is not what you want, read the same record as JSON and render it however you like. No key, no account, and it is CORS-open so a browser can call it directly:

https://volstrata.com/embed/levels.json?ticker=SPX  ·  open raw
{
  "ticker": "SPX",
  "requested_ticker": "SPX",
  "clamped": false,
  "spot": 7586.97,
  "call_wall": 7675.0,
  "put_wall": 7595.0,
  "flip": 7590.37,
  "max_pain": 7650.0,
  "regime": null,
  "net_gex_bn": null,
  "as_of_epoch": 1789490637,
  "as_of_label": "Sep 15, 2026 \u00b7 12:43 PM ET",
  "delayed": false,
  "delay_secs": 0,
  "stale": false,
  "has_data": true,
  "source": "live",
  "status": "ok",
  "reason": null
}

Prices are numbers or null — never a placeholder. Read delayed, delay_secs and stale before you print a number, and show as_of_label beside it. Please cache for a minute or so and credit volstrata.com where the numbers appear.

Full documentation: /levels-api — every field explained, the freshness terms measured symbol by symbol, what we ask for in return, and copy-paste examples for the command line, the browser and Python.

What do these levels mean?

Call WallThe largest positive-gamma strike above spot — dealers sell into rallies here, so it often caps upside (resistance).
Put WallThe largest positive-gamma strike below spot — dealer buying tends to cushion selloffs here (support).
Gamma FlipThe gamma-flip / zero-gamma level: above it dealers dampen moves (mean-reversion), below it they amplify them (trend).
Max PainThe strike where the most option value expires worthless — a weak magnet into monthly/weekly expiry.

Go deeper in the gamma glossary and the education library, or open the full gamma-exposure explainer.