Call wall and put wall
A call wall is the strike carrying more call open interest than any other strike on an expiration; a put wall is the same count on the put side. They are two of the easiest numbers on an option chain to compute, and two of the most over-interpreted. This page counts both by hand on real data, and separates them from the other thing the internet also calls a wall.
What is a call wall? And a put wall?
A call wall is the single strike price carrying more call open interest than any other strike for a given expiration. A put wall is the same thing on the put side — the strike carrying the most put open interest. Both are found by counting contracts, not by modelling anything: list the strikes, read off how many contracts are still outstanding at each, take the largest on each side. Two people with the same open-interest file will always name the same two strikes.
What the count does not carry is any claim about price. A wall marks where contracts are concentrated. Whether price stalls there, reverses there or runs straight through it is a separate empirical question, and one we have not tested — so this site publishes no hit rate for either level and does not call them support or resistance.
The one word you need first: open interest
Open interest is the number of option contracts that currently exist and have not been closed out or expired. It is not volume: volume counts trades during the day, open interest counts positions still standing after the day. One listed US equity option contract covers 100 shares. The clearing house settles the open-interest figure overnight, once, which is why a wall computed from open interest cannot change more than once a day.
Open interest also has a blind spot worth learning early: it counts contracts, not sides. Every contract has a buyer and a seller, so a strike thick with calls could be a crowd of speculators betting on a rise, or a crowd of shareholders writing calls against stock they already own. The count is identical either way, and the count is the only thing you get.
Finding the walls is counting, not modelling
The whole procedure fits in four lines:
for each strike listed on the expiration:
call_oi[strike] = calls still outstanding there
put_oi[strike] = puts still outstanding there
call wall = the strike with the largest call_oi
put wall = the strike with the largest put_oi No volatility input, no interest rate, no dividend assumption, no fitted parameter. That matters for how much weight the number can bear: a call wall is a fact about a file, in the same way max pain is a fact about a file. The interpretation people bolt onto it afterwards is where the trouble starts.
Max pain and the walls come out of exactly the same table, and are not the same calculation. Max pain is a whole-chain balance point — it weighs every call payout against every put payout to find the settlement price that pays option holders the least. A wall is one strike, picked by a single largest count. Max pain can land between the two walls, on top of one of them, or outside both — nothing in the arithmetic ties it to either.
A worked example on real data: NVDA, 2026-08-31
Everything below is read at build time out of the latest NVDA file we hold — the same nightly snapshot that feeds the NVDA max pain page — using open interest as of the 2026-08-31 close. NVDA last traded at $220.78 on 2026-08-31. Each file carries the date its open interest settled, and that date — stated above, and not the day you are reading this — is the one the numbers belong to.
That expiration carries 125,615 call contracts against 96,140 put contracts in total. In this file the last price sits between the two walls: the heaviest put strike below it, the heaviest call strike above it. Neither strike is a boundary — we have not measured what price does when it reaches either one. At the call wall itself, 29,353 call contracts are outstanding, against 15,105 at $220.00 — the next-heaviest call strike inside the window shown below. The put wall holds 9,856 put contracts, against 9,068 at $215.00 in the same window.
A wall is the top of a ladder, not a free-standing number: the label names the leading strike without saying anything about how far ahead of the next one it is. That is one reason to read the ladder below rather than the single price.
| # | Call strikes near max pain | Call open interest | Put strikes near max pain | Put open interest |
|---|---|---|---|---|
| 1 | $225.00 | 29,353 | $190.00 | 9,856 |
| 2 | $220.00 | 15,105 | $215.00 | 9,068 |
| 3 | $230.00 | 13,303 | $217.50 | 8,518 |
| 4 | $222.50 | 11,639 | $210.00 | 7,601 |
| 5 | $227.50 | 8,247 | $220.00 | 7,161 |
NVDA open interest for the 2026-09-02 expiration only, from the 2026-08-31 close. The stored distribution covers strikes within roughly ±15% of max pain, so this ladder is a ranking inside that window rather than across the whole chain. Both walls fall inside the window here — that is a condition of picking the example, so that row 1 on each side is the wall itself. This file carries 10 expirations for NVDA, and each one names its own pair of walls — a wall is always "the wall for this expiration", never a single price for the ticker.
The other wall: gamma wall is not the same thing
The word "wall" gets attached to two different calculations, and they do not have the same reliability. One is a count you can redo by hand; the other is a model estimate. Which of the two a given number came from decides how much weight it can bear.
- Call wall and put wall come from the open-interest count above. Arithmetic, no assumptions, reproducible by anyone with the same file.
- Gamma wall comes from gamma exposure. Each contract is priced with a Black-Scholes model — implied volatility solved back out of the quoted price at a zero interest rate and zero dividend — its gamma is multiplied by open interest, calls are counted positive and puts negative, and the strike with the largest resulting figure is the gamma wall. That is an estimate that rests on a pricing model and on the convention that dealers are long every call and short every put.
| Call / put wall | Gamma wall | |
|---|---|---|
| What it measures | Contracts outstanding at one strike | Estimated dealer hedging sensitivity at one strike |
| Inputs | Open interest only | Open interest, quoted option prices, time to expiry, a pricing model |
| Maths | Finding a maximum in a list | Black-Scholes with zero rate and zero dividend |
| Assumptions | None | The model, plus the convention that dealers are long calls and short puts |
| Scope | One expiration at a time | The whole chain, all expirations summed |
| Sign | A count, always positive | Signed — a gamma wall can be negative |
| Two people agree? | Always, given the same file | Not necessarily — different assumptions give different answers |
| Available in the files we hold | 43 of 43 tickers | 43 of 43 tickers |
That last row is the practical version of the distinction, counted off the latest file we hold for each ticker (the 2026-08-31 snapshot). Counting worked on every chain in that batch. The gamma estimate needs enough quoted contracts to solve implied volatility out of, so it does not always produce an answer — and when it does, the answer rests on the model rather than on the file alone.
On the same NVDA chain, the largest gamma wall is $220.00, carrying 11.3% of all the gamma in the chain and an estimated $279M per 1% move. It is neither the call wall ($225.00) nor the put wall ($190.00): three different strikes, out of the same chain, in the same file. The gamma flip level for NVDA sits at $215.50, a fourth number again — what zero gamma means covers that one.
| Largest gamma walls, NVDA | Estimated GEX per 1% | Share of chain gamma |
|---|---|---|
| $220.00 | $279M | 11.3% |
| $225.00 | $260M | 10.5% |
| $230.00 | $212M | 8.5% |
A strike can appear on both lists, because open interest is an input to the gamma estimate as well. The ordering still differs, because gamma also weights each contract by how sensitive it is at the last price and how much time it has left — a far strike with enormous open interest can carry very little gamma. Full breakdown on the NVDA gamma exposure page.
What we do not claim
The standard sentence about these levels — that the call wall is resistance and the put wall is support — is a claim about price behaviour, not a fact about the file, and it needs a test before anyone can stand behind it. Here is our position, stated plainly:
- We have not measured how often price stops at, reverses at or passes through either wall. No such test exists in our research, so no hit rate appears anywhere on this site. We do not publish numbers we have not measured, and that rule does not bend for a level that would be convenient to sell.
- A count is not a barrier. Contracts outstanding at a strike are a record of trades already done. Nothing in the arithmetic obliges price to respect the busiest strike, and when price does trade through one, the strike does not disappear — the next nightly file simply recounts, and the concentration can end up somewhere else.
- The side is invisible. As above: you cannot tell from open interest whether the crowd at a strike is long or short it. Any story that requires knowing which is being made up.
- The nearest real evidence is about strikes, not walls. Academic work on expiration-day price clustering — the best-known being Ni, Pearson and Poteshman's 2005 study of US equity options (Journal of Financial Economics 78(1), 49–87) — finds that on expiration dates the closing prices of optionable stocks cluster at option strike prices more often than chance predicts, and reports that returns on those dates are altered by an average of at least 16.5 basis points. It presents evidence that two channels contribute to the clustering: hedge rebalancing by option market makers, and stock price manipulation by firm proprietary traders. Even so, it is a result about expiration dates and strikes in aggregate — not about "the call wall holding" on an ordinary session — and reading it as one is exactly the overreach this page exists to prevent.
- The number is stale by construction. It is built from the previous session's settled open interest. After a violent day, much of that open interest was opened at prices that no longer exist.
The honest formulation of a wall is a sentence about contracts, not about price: "this strike carries more open call contracts than any other on this expiration, and we have not measured what happens when price reaches it." It is duller than the one-word label most sites reach for, it carries strictly more information, and it is the version that survives being checked.
How these numbers move
- Nightly, never intraday. Open interest settles once per trading day. A wall cannot update while the market is open, whatever a live-looking dashboard implies.
- Per expiration. Each expiration names its own pair. The "front" expiration changes as contracts expire, so the headline walls can jump on the day after an expiry without anything happening in the market.
- The input is backward-looking. A wall is recounted from each night's file, and that file records contracts already opened. As positions are opened and closed around wherever price has been, the strike that leads the count can change from one night to the next. Nothing in the construction lets it anticipate anything.
Across the latest file we hold for each ticker (the 2026-08-31 snapshot), 25 of the 43 tickers carrying both walls have their put wall below the last traded price and 41 have their call wall above it. That is a count of one file per ticker, read off the table below — not a measured tendency. It has to be recounted every time those files change, and we have not measured how often either side flips from one file to the next.
Walls across every ticker we track
Front expiration for each ticker, recomputed nightly from end-of-day open interest, one file per ticker (the 2026-08-31 snapshot). The gamma wall column is the single strike with the largest absolute estimated gamma across the whole chain, so it is answering a different question from the two columns to its left, and it is blank where the chain was too thin to estimate.
| Ticker | Last price | Front expiry | Put wall | Call wall | Max pain | Gamma wall |
|---|---|---|---|---|---|---|
| AAPL · GEX | $322.00 | 2026-09-02 | $210.00 | $325.00 | $312.50 | $325.00 |
| AMD · GEX | $457.08 | 2026-09-02 | $450.00 | $500.00 | $470.00 | $440.00 |
| AMZN · GEX | $253.95 | 2026-09-02 | $252.50 | $265.00 | $257.50 | $260.00 |
| AVGO · GEX | $364.30 | 2026-09-02 | $375.00 | $410.00 | $380.00 | $350.00 |
| BA · GEX | $206.48 | 2026-09-04 | $210.00 | $212.50 | $210.00 | $210.00 |
| COIN · GEX | $181.41 | 2026-09-04 | $185.00 | $195.00 | $180.00 | $185.00 |
| DIA · GEX | $529.69 | 2026-09-04 | $532.00 | $540.00 | $533.00 | $545.00 |
| F · GEX | $13.95 | 2026-09-04 | $14.00 | $14.00 | $14.00 | $14.00 |
| GLD · GEX | $399.74 | 2026-09-02 | $397.00 | $420.00 | $410.00 | $430.00 |
| GME · GEX | $18.47 | 2026-09-04 | $18.00 | $19.00 | $18.00 | $19.00 |
| GOOGL · GEX | $335.88 | 2026-09-02 | $330.00 | $350.00 | $340.00 | $375.00 |
| INTC · GEX | $86.43 | 2026-09-02 | $90.00 | $92.00 | $90.00 | $85.00 |
| IWM · GEX | $291.67 | 2026-09-02 | $296.00 | $300.00 | $296.00 | $290.00 |
| LCID · GEX | $4.59 | 2026-09-04 | $5.00 | $5.50 | $5.00 | $4.00 |
| META · GEX | $566.20 | 2026-09-02 | $560.00 | $577.50 | $570.00 | $550.00 |
| MSFT · GEX | $503.39 | 2026-09-02 | $500.00 | $515.00 | $507.50 | $510.00 |
| MSTR · GEX | $129.15 | 2026-09-04 | $70.00 | $140.00 | $120.00 | $130.00 |
| MU · GEX | $939.01 | 2026-09-02 | $940.00 | $1,000.00 | $940.00 | $1,000.00 |
| NFLX · GEX | $80.97 | 2026-09-04 | $71.00 | $85.00 | $79.00 | $85.00 |
| NIO · GEX | $4.14 | 2026-09-04 | $4.00 | $5.00 | $4.50 | $4.00 |
| NVDA · GEX | $220.78 | 2026-09-02 | $190.00 | $225.00 | $220.00 | $220.00 |
| PLTR · GEX | $183.44 | 2026-09-04 | $180.00 | $190.00 | $180.00 | $190.00 |
| QQQ · GEX | $707.15 | 2026-09-02 | $655.00 | $725.00 | $716.00 | $700.00 |
| RDDT · GEX | $145.20 | 2026-09-04 | $100.00 | $160.00 | $155.00 | $140.00 |
| RIVN · GEX | $15.63 | 2026-09-04 | $16.00 | $17.00 | $16.00 | $17.00 |
| RSP · GEX | $218.44 | 2026-09-04 | $220.00 | $222.50 | $220.00 | $220.00 |
| SMH · GEX | $543.18 | 2026-09-02 | $530.00 | $572.50 | $552.50 | $545.00 |
| SNAP · GEX | $5.37 | 2026-09-04 | $5.00 | $6.00 | $5.50 | $6.00 |
| SOFI · GEX | $17.48 | 2026-09-04 | $17.50 | $19.00 | $18.00 | $20.00 |
| SOXX · GEX | $497.00 | 2026-09-04 | $462.50 | $635.00 | $520.00 | $500.00 |
| SPY · GEX | $761.90 | 2026-09-02 | $690.00 | $771.00 | $767.00 | $765.00 |
| TSLA · GEX | $358.72 | 2026-09-02 | $350.00 | $400.00 | $360.00 | $370.00 |
| UBER · GEX | $74.93 | 2026-09-04 | $75.00 | $78.00 | $76.00 | $80.00 |
| VOO · GEX | $700.80 | 2026-09-04 | $655.00 | $692.50 | $687.50 | $697.50 |
| XBI · GEX | $161.87 | 2026-09-04 | $161.00 | $168.00 | $164.00 | $160.00 |
| XLE · GEX | $64.66 | 2026-09-02 | $62.00 | $65.00 | $62.00 | $65.00 |
| XLF · GEX | $57.61 | 2026-09-02 | $58.00 | $58.50 | $58.00 | $56.00 |
| XLI · GEX | $173.91 | 2026-09-04 | $179.00 | $186.00 | $179.00 | $165.00 |
| XLK · GEX | $183.44 | 2026-09-04 | $130.00 | $195.00 | $180.00 | $178.00 |
| XLP · GEX | $85.70 | 2026-09-04 | $85.00 | $89.00 | $85.50 | $85.00 |
| XLU · GEX | $42.32 | 2026-09-04 | $43.00 | $46.00 | $43.00 | $42.00 |
| XLV · GEX | $171.93 | 2026-09-04 | $175.00 | $170.00 | $170.00 | $175.00 |
| XLY · GEX | $114.96 | 2026-09-04 | $116.50 | $118.50 | $116.50 | $110.00 |
Max pain hub — every ticker, full chains · GEX hub — net gamma, flip levels and gamma walls
Common questions
What is a call wall in options?
A call wall is the single strike price that carries more call open interest than any other strike for a given expiration. It is found by counting: list every strike on that expiration, look at how many call contracts are still outstanding at each one, and take the largest. There is no model and no volatility input involved, so two people working from the same open-interest file will always name the same strike.
What is a put wall?
A put wall is the same idea on the put side: the one strike carrying more put open interest than any other strike for that expiration. Nothing in the definition places it above or below the current price — it sits wherever the most put contracts happen to be outstanding on that expiration. It is a description of where contracts are parked, not a statement about where price will go.
Is the call wall resistance and the put wall support?
We do not describe them that way, because we have not measured it. A wall is a count of open contracts at one strike, and the count alone says nothing about how price behaves when it arrives there. Quant Data has not tested how often price stalls at, reverses at or passes through a call or put wall, so we publish no hit rate for either level and do not treat them as support, resistance or targets.
What is the difference between a call wall and a gamma wall?
A call wall is arithmetic on open interest for one expiration: the strike with the most calls outstanding. A gamma wall is an estimate: every contract in the chain is priced with a Black-Scholes model, its gamma is multiplied by open interest, calls are counted positive and puts negative, and the strike with the largest resulting figure is the gamma wall. The first is a count that anyone can reproduce; the second depends on model assumptions, aggregates all expirations at once, and can be a different strike entirely.
Does a large call wall mean traders are bullish?
Open interest does not reveal which side of the contract anyone is on. A heavy call strike could be built from buyers speculating on a rise or from shareholders writing covered calls against stock they already own, and the two have opposite implications. The count tells you where contracts are concentrated, not who is long or short and not what they expect.
How often do call and put walls update?
Once per trading day. Open interest is the number of contracts still outstanding after the session, and the clearing house settles that figure overnight, so it cannot change while the market is open no matter how much volume trades. Quant Data recomputes the walls nightly from that end-of-day file. Open interest itself cannot update intraday, so a wall presented as live is either built on the previous session's settled open interest or on something other than open interest, such as the volume traded so far that day.
Both columns are also JSON endpoints. GET /v1/maxpain/{symbol}
returns call_wall and put_wall for every expiration inside 45 days,
alongside max pain and the open-interest distribution;
GET /v1/gamma/{symbol} returns the gamma walls, net and gross GEX
and the flip level. Any optionable US stock or ETF, not just the tickers on this site, and
the same code that builds these pages. One $149/month plan covers them and the other
two Quant Data endpoints — see pricing and the
API reference. These free pages stay free.
Read next
What is max pain? works the whole-chain calculation through by hand on a five-strike example, so you can see how the balance point relates to the two walls. What is gamma exposure? explains where the gamma wall comes from and which assumption it rests on. Max pain vs gamma exposure puts the counted numbers and the estimated ones side by side. The guides index lists everything.
Levels on this page are derived metrics computed nightly from end-of-day open interest — not raw market data, not live quotes (how we compute them). No hit rate has been measured for any level shown here. Educational only: not investment advice, not a recommendation, not a price forecast.