Latest updates, features, and improvements to GammaFlip.io
This release only affects you if you use the GammaFlip API — nothing changes in the app.
/api/v1 error now has one shape — a fixed, machine-readable code in error, and human prose in message: {"error": "invalid_exchange", "message": "Exchange 'kraken' is not available."}. Previously error held an English sentence like "Authentication required", so the only way to detect a specific failure was matching text that could be reworded at any time. The codes are unauthorized, subscription_required, market_not_in_plan, invalid_exchange, no_data and rate_limit_exceeded — the same ones our error docs have always promised, but which the API never actually returned. Branch on error; never parse message, its wording can change. Heads-up — this is a breaking change: if your integration matches on the old sentences, it needs updating. If you built against the published docs, it starts working./expirations returned errors disguised as success: An unknown exchange on /api/v1/expirations/... came back wrapped in the normal success envelope, with the error buried inside data. So the obvious client code — response.json()["error"] — worked on the two /gex endpoints and crashed on this one. All endpoints now return an identical, un-enveloped error body.Retry-After on rate-limited responses was unusable: A 429 carried an ISO-8601 timestamp in Retry-After, where the HTTP standard allows only a number of seconds or an HTTP date — so retry libraries (urllib3, axios-retry) that read it automatically would break. The header is no longer sent at all: the daily quota resets at midnight UTC, so the only honest value could be many hours, and those same libraries would obey it by sleeping through your session. Schedule retries off X-RateLimit-Reset (ISO 8601) instead, as the docs already recommend — it's unchanged.market_not_in_plan error: The 403 you get when requesting a market your plan doesn't cover (Crypto vs TradFi) was missing from the published error list. It's now documented, and carries market and current_tier alongside the code.

| Market | Index | ETF |
|---|---|---|
| S&P 500 | SPX | SPY |
| Nasdaq-100 | — | QQQ |
| Russell 2000 | RUT | IWM |
| Dow | DJX | DIA |
(Bold = new; SPX/SPY and QQQ were already live. Nasdaq-100 is covered via the QQQ ETF.) Why ship both? The index is the "pure" dealer read, but the ETF usually carries deeper option open interest — so its GEX map is denser and often the more tradable of the two. Put them side by side. Flip point, walls, hedging pressure, heatmap and Monte Carlo all work on them out of the box. Open Now → context pill → TradFi.







Reach Probability on every marker: Press 🎯 Reach % in the Now nav bar to stamp each GEX level with the Monte-Carlo odds price closes at or above (↑) — or at or below (↓) it by a horizon you pick (8h–30d, or this Friday / month-end). Heat-colored % chips appear on the on-chart marker badges and the Dealer Pulse cards; a GEX Impact setting (Light / Normal / Strong) tunes how hard gamma bends the paths. One cached simulation per horizon, so all markers read instantly. Open Now.


Blog: Reach Probability: A 5-minute read on what the chips mean (terminal odds — where price finishes, not whether it touches), the three controls, and how to use them in a trade plan. Read: Reach Probability: The Odds Price Closes Above or Below Each GEX Level.

Chart UI Redesign: The chart picker is reorganized around four time-based questions — Now ⚡, Expiry 📅, History 🕰️, Forecast 🎲 — with secondary controls that adapt per category. A new Dealer Pulse rail on the left keeps three live cards visible across all charts: Flip Point, Hedging Pressure (Net GEX), Absolute GEX. Asset / exchange / expiry collapse into a single context-picker pill, and rare controls move into a per-chart ⚙ panel. Open the redesigned app.

Blog: A New Way to Read GEX: The mental model behind the four categories and how to read the Dealer Pulse rail. Read: A New Way to Read GEX.
Monte Carlo Simulator: New chart that answers how likely is BTC to be above (or below) a price on a specific date? Runs 20,000 GEX-warped price paths to your chosen expiry; hover any price to read the chance of finishing above/below it plus the symmetric percentile cone. In-chart stats card shows p10 / p50 / p90, σ, and skew. Three intensity presets — Light / Normal / Strong — control how much the GEX surface bends paths. Open the Monte Carlo view.
Blog: Monte Carlo Simulator: How to read p10/p50/p90, why it differs from the ±1σ cone, and a worked BTC example. Read: Monte Carlo Simulator: Forecasting Where BTC Might Land by Expiry.
Flip Point line on Heatmap: The Heatmap now overlays the Gamma Flip Point (F) as a magenta line that tracks through time, dividing the chart into Jumpy (below F) and Sticky (above F) regimes. Uses the same F color as on every other GEX chart so the boundary lines up across views. Both overlays are labeled at the right edge — the price track shows the coin symbol (e.g. BTC), the flip track shows F — so the two can't be confused at a glance. Toggle the overlay via the new FLIP control in the chart toolbar (visible only in Heatmap view). Default on; preference persists. Try it on the Heatmap. Long-form walkthrough using ETH from May 11–18: Flip Point on the Heatmap: Reading Sticky vs Jumpy Behind the Colors.

Blog: TOTAL vs Specific Date: A new long-form post on the GEX expiration selector — when TOTAL answers your question vs when a specific date is what you actually want, plus a one-minute diagnostic that tells you whether they're showing the same thing. Read: TOTAL vs Specific Date: Reading the GEX Expiration Selector.
