PnLLiquidationBreak-evenTarget ExitPosition SizerFunding CostAverage EntryScenarioMax LeverageFunding ArbHedge RatioCompound FundingCrypto ProfitCrypto DCAAverage Buy PriceTarget Sell PricePresent ValueFuture ValueNPVIRRCAGRAPY / APRBond PricePre-Trade CheckRisk / RewardPortfolio RiskCarry TradeDCA EntryAverage Down?Scale-OutFunding BreakevenRug Pull CheckerSwap Price ImpactBonding CurveMarket Cap CalculatorWallet CheckerImpermanent Loss CalculatorProbability CalculatorMarket-Implied OddsKelly CalculatorUp/Down Fair ValueSpread CheckerArbitrage CheckerBlack-Scholes CalculatorOptions Payoff CalculatorStraddle & Strangle CalculatorCovered Call & Protective Put CalculatorImplied Volatility CalculatorSpread & Iron Condor CalculatorBarrier Touch CalculatorAmerican Option CalculatorOption Greeks CalculatorOptions Profit CalculatorOptions Strategy PickerMax Pain CalculatorCash-Secured Put CalculatorPip Value CalculatorMargin Level CalculatorBreakeven CalculatorPnL CalculatorRisk/Reward CalculatorScenario CalculatorAverage Entry CalculatorMargin Required CalculatorCurrency ConverterPosition Size CalculatorSwap / Rollover CalculatorCorrelation CalculatorFibonacci Retracement CalculatorOpen AnalysisSession StructureValue MigrationBreakout AcceptanceVaR / CVaR CalculatorSharpe Ratio CalculatorHurst Exponent CalculatorCointegration TestPortfolio TearsheetGARCH Volatility CalculatorRisk Parity CalculatorDeflated Sharpe Ratio CalculatorKelly Growth-Security FrontierReturn Unsmoothing CalculatorEVT Tail Risk CalculatorMonte Carlo Simulation CalculatorEvent Study CalculatorOrder-Book Impact CalculatorDocs

Max Pain Calculator

OPTIONS · LIVE DERIBIT, BINANCE AND BYBIT OPEN INTEREST, OR YOUR OWN · CHECKED AGAINST AN INDEPENDENT REFERENCE

The strike where holders of all calls and puts of one expiry would be paid the least, from live open interest on Deribit, Binance or Bybit or from open interest you type, with the payout at every strike.

Open interest is read from the venue's public data, one venue at a time: Deribit contracts are coin-settled and Binance and Bybit are USDT-settled, so their chains are never mixed. Payouts are intrinsic values at expiry. Nothing you choose here is stored.

At which strike would option holders be paid the least?

What max pain is

For one option expiry, max pain is the settlement price at which the holders of all calls and puts together would be paid the least. You take the open interest at every strike, work out what each call and put would pay at a given settlement price, add it all up, and look for the price where the total is lowest. Traders watch it near expiry because that is where the open positions cost their holders the least. It describes the open positions; it does not say where the price will end.

The formulas

With strikes Ki, call open interest Ci and put open interest Pi (contracts of one unit of the underlying), and a settlement price S:

  • Call payout at S = Σ Ci × max(S − Ki, 0)
  • Put payout at S = Σ Pi × max(Ki − S, 0)
  • Total payout(S) = call payout + put payout
  • Max pain = the S with the lowest total payout

The total changes slope only at a strike, falls below the lowest strike and rises above the highest, so its lowest point is always at a listed strike. Only the strikes are tried, nothing is interpolated. If several strikes tie, the lowest is reported and all of them are listed.

Worked example

Three strikes. At 90: 10 calls, 40 puts. At 100: 50 calls, 50 puts. At 110: 40 calls, 10 puts.

  • Settle at 90: puts pay 50 × 10 + 10 × 20 = 700, calls pay 0, total 700
  • Settle at 100: calls pay 10 × 10 = 100, puts pay 10 × 10 = 100, total 200
  • Settle at 110: calls pay 10 × 20 + 50 × 10 = 700, puts pay 0, total 700

Max pain is 100, where holders would be paid 200 against 700 at the other two strikes. The figures agree with the independent reference to within 1e-9.

Live chain or your own numbers

The Live chain tab reads the open interest of one expiry from Deribit, Binance or Bybit and shows the strike and the payout at every strike. One venue is used at a time: Deribit contracts are coin-settled and the other two are USDT-settled, so their chains are never mixed. The payouts are intrinsic values at expiry in the venue's quote currency. An expiry with no open interest yet, or one where the venue leaves a contract's open interest unstated, shows the reason and no number. The My numbers tab takes the open interest you type, strike by strike, and nothing you type leaves your browser.

What it does not tell you

Open interest counts both sides of every contract, so it does not say who holds what or whether positions are hedged elsewhere. Early exercise and the venue's settlement-price method are not modelled. Max pain is a statistic of the open positions, not a forecast and not a trading signal.

How it was checked

Every figure is compared in the test suite with a Python reference that builds the payout of every holder from the definition of the option, in exact fractions, and finds the lowest point over a dense grid of prices, not only at the strikes. The method is described in the methodology.

Where to go next

Pricing a single option? Use the Black-Scholes calculator. Want the profit and loss of a position at expiry? Use the Options Payoff Calculator. Selling puts against cash? See the Cash-Secured Put Calculator.

Use via API or MCP

This calculation is available as a deterministic API call: useful for bots or AI agents that need the max pain strike of a live BTC or ETH expiry, or of open interest they hold, without rebuilding the payout sum.

EMBED ON YOUR SITE

<!-- TradingCalc widget: please keep the link below exactly as given (address and words) -->
<div class="tradingcalc-widget" data-widget="max-pain-calculator"><a href="https://tradingcalc.io/max-pain-calculator?utm_source=embed&amp;utm_medium=backlink&amp;utm_campaign=max-pain-calculator">Max Pain Calculator by TradingCalc.io</a></div>
<script async src="https://tradingcalc.io/embed.js"></script>

Free, no signup. Keep the text link in the code exactly as given, with its address and its words: it is the attribution and it points visitors to the full calculator. Change colors, size and start values or read the installation guide and FAQ.

FAQ
Q.01

What is max pain in options?

The settlement price at which the holders of all calls and puts of one expiry, together, would be paid the least. It is found by adding up what every call and put would pay at each strike, using the open interest, and taking the strike with the lowest total.

Q.02

How do I calculate max pain?

For each strike used as a settlement price, add the call open interest at every strike times how far that price is above the strike, and the put open interest times how far it is below. The strike with the lowest total is max pain. With 10 calls and 40 puts at 90, 50 and 50 at 100, and 40 calls and 10 puts at 110, the totals are 700, 200 and 700, so max pain is 100.

Q.03

Does the price settle at max pain?

Not necessarily. Max pain describes the open positions, counting both sides of every contract. It does not say who holds what, whether positions are hedged elsewhere, or how the venue sets its settlement price, so it is not a forecast.

Q.04

Which exchanges does the live mode read?

Deribit (BTC and ETH, coin-settled), Binance (BTC, ETH, gold and silver, USDT-settled) and Bybit (BTC and ETH, USDT-settled). One venue is used at a time; the chains of different venues are not mixed because their contracts are settled differently.

Q.05

Why does an expiry show no number?

A newly listed expiry has no open interest yet, so there is no position to settle. The same happens when the venue leaves the open interest of a contract unstated: max pain over a partial chain would be a wrong number that looks right, so none is shown.

Q.06

Is what I type stored or sent?

No. On the My numbers tab everything is computed in your browser. On the Live chain tab only the venue, underlying and expiry you choose are sent, to read public market data.