DocsAPI ReferencePlatformAI Explanations

AI Explanations

Turn a live GEX profile into a plain-English dealer-positioning read. Metered in credits.

Request an explanation

POST/ai/explain

The server computes the live GEX profile for the symbol, then runs the same narrative engine behind the dashboard's GEX AI. Costs 1 credit; a failed compute never burns one.

Body
symbolstringrequired
Ticker to explain.
expirationsstring[]
Expiration dates (YYYY-MM-DD, max 4) to aggregate. Defaults to the nearest 3.
curl -X POST "https://quantwheel.com/api/v1/ai/explain" \
  -H "Authorization: Bearer qw_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "symbol": "SPY" }'

Response

200 OK
{
  "symbol": "SPY",
  "expirations": ["2026-07-31", "2026-08-01", "2026-08-07"],
  "explanation": "SPY is trading just below its gamma flip at 620.5, so dealers
are short gamma and hedging with the market - expect moves to extend rather
than mean-revert. The nearest downside magnet is the 615 put wall; reclaiming
620.5 would flip dealers back to a stabilizing regime.",
  "levels": {
    "spot": 622.41,
    "call_wall": 630,
    "put_wall": 615,
    "gamma_flip": 620.5,
    "gamma_zone": "negative"
  },
  "credits_used": 1,
  "credits_remaining": 341,
  "asOf": "2026-07-30T15:05:00.000Z"
}
FieldDescription
explanationThe narrative read, a few sentences.
levelsThe computed levels the narrative is grounded in - render them next to the text.
credits_used / credits_remainingBilling telemetry on every response - no need to poll the balance.

Running out of credits

402 Payment Required
{
  "error": "This call costs 1 credit(s); you have 0.",
  "code": "insufficient_credits",
  "credits_required": 1,
  "credits_remaining": 0,
  "grant_resets_at": "2026-08-01T00:00:00.000Z",
  "topups": "coming_soon",
  "contact": "hello@quantwheel.com"
}
See Credits & Plans for the monthly grant. Top-up packs are coming soon - until then the grant resets on the 1st of each month.