⚡ Start here: GET /api/analyze?symbol=QQQ returns the full structured packet (regime, stochastic stack, VWAP ladder, expected move, VRP, gap) + signals + draft plays + an LLM read. One call, everything.
GET
/api/analyze
agent-grade
try ↗
Full structured read for one symbol: packet (regime/Gaussian, multi-TF stochastic stack, VWAP ladder, expected move, VRP, gap/pre-market) + signals + draft plays + an LLM-written read. The agent-grade entry point.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
provider | LLM for the read: auto|claude|deepseek | auto |
returns {symbol, packet:{price,gauss,vwaps,stoch[],expected_move,vrp,premarket,signals}, read, provider}
curl 'http://vertextradedesk.com/api/analyze?symbol=QQQ&provider=deepseek'
GET
/api/premarket
data
try ↗
Gap + pre-market bridge for morning reads. Indicators elsewhere are 'as of prior close'; this is the live overnight context.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
returns {last, prior_close, gap_pct, today_open/high/low, today_vwap, prior_high/low}
curl 'http://vertextradedesk.com/api/premarket?symbol=QQQ'
GET
/api/session
data
try ↗
Intraday range with indicators: bars, Gaussian channel, VWAP ladder, RSI/stochastic per timeframe, and option bands.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
start * | ISO date | 2026-06-13 |
end * | ISO date | 2026-06-18 |
tf | bar timeframe | 5Min |
dte | option days-to-expiry | 0 |
returns {price[], gauss, vwaps, momentum[], options, quote}
curl 'http://vertextradedesk.com/api/session?symbol=QQQ&start=2026-06-13&end=2026-06-18&tf=5Min'
GET
/api/snapshot
data
try ↗
Point-in-time snapshot: quote, chart, momentum, option bands at a given time.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
at | ISO datetime (default now) | 2026-06-18T13:35 |
tf | timeframe | 5Min |
bars | history bars | 200 |
returns {quote, chart, momentum, options}
curl 'http://vertextradedesk.com/api/snapshot?symbol=QQQ&tf=5Min&bars=200'
GET
/api/watchlist
data
try ↗
Multi-symbol scan: price, change%, RSI, volume ratio, VWAP distance, Gaussian position.
| param | desc | example |
|---|
symbols * | comma list | QQQ,SPY,AAPL |
returns {entries:[{symbol,price,change_pct,rsi_5min,vol_ratio,gauss_pos_pct}]}
curl 'http://vertextradedesk.com/api/watchlist?symbols=QQQ,SPY,AAPL'
GET
/api/daily
data
try ↗
Morning aggregate: vol risk premium, ML signal, snapshot, stock studies, verdicts.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
returns {vrp, ml, snap, stock, verdicts, meta}
curl 'http://vertextradedesk.com/api/daily?symbol=QQQ'
GET
/api/volume_profile
data
try ↗
Volume by price: point of control, value area (70%), full distribution.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
date | ISO date | 2026-06-18 |
step | price bin size | 0.50 |
returns {poc, value_area, profile[]}
curl 'http://vertextradedesk.com/api/volume_profile?symbol=QQQ'
GET
/api/option_series
data
try ↗
Per-strike option premium time series across the session.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
returns {strikes, series}
curl 'http://vertextradedesk.com/api/option_series?symbol=QQQ'
GET
/api/options/skew-surface
data
try ↗
2D IV-RV z-score grid (moneyness x DTE).
returns {grid}
curl 'http://vertextradedesk.com/api/options/skew-surface?symbol=QQQ'
GET
/api/backtest
research
try ↗
Cost-aware, walk-forward backtest. Strategies: trend_pullback, em_fade, vwap_rev, gauss_follow.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
strategies | comma list | trend_pullback,vwap_rev |
start | ISO date | 2026-04-18 |
end | ISO date | 2026-06-18 |
returns {per-strategy: trades, win_rate, pnl, sharpe, vs random benchmark}
curl 'http://vertextradedesk.com/api/backtest?symbol=QQQ&strategies=trend_pullback&start=2026-04-18&end=2026-06-18'
GET
/api/study
research
try ↗
Studies: vol risk premium (straddle) or stock (ORB, gap, time-of-day).
| param | desc | example |
|---|
symbol * | ticker | QQQ |
type | straddle|orb|gap|tod | straddle |
returns {agg, days[]}
curl 'http://vertextradedesk.com/api/study?symbol=QQQ&type=straddle'
GET
/api/ml
research
try ↗
ML signal discovery with walk-forward OOS validation + random benchmark.
| param | desc | example |
|---|
symbol * | ticker | QQQ |
start | ISO date | 2026-04-18 |
end | ISO date | 2026-06-18 |
horizon | bars ahead | 6 |
returns {scores:{oos_auc,oos_acc,baseline_acc}, importances, lift, calibration}
curl 'http://vertextradedesk.com/api/ml?symbol=QQQ'
GET
/api/agent/ledger
desk
try ↗
Plays ledger: every called play + win-rate / avg-R / per-setup stats.
| param | desc | example |
|---|
n | recent rows | 25 |
returns {stats:{win_rate,avg_R,total_R}, recent[]}
curl 'http://vertextradedesk.com/api/agent/ledger'
GET
/api/agent/activity
desk
try ↗
Decision feed: briefing / play_called / no_trade / trade / exit / intraday events.
| param | desc | example |
|---|
n | recent events | 80 |
returns {events:[{ts,kind,...}]}
curl 'http://vertextradedesk.com/api/agent/activity'
GET
/api/agent/positions
desk
try ↗
Paper account equity + open option positions.
returns {account:{equity,cash,buying_power}, positions[]}
curl 'http://vertextradedesk.com/api/agent/positions'
POST
/api/agent/briefing
desk
try ↗
Run a full morning briefing now (grades prior, calls + logs + auto-trades plays). GET returns 405 — this endpoint has side effects.
| param | desc | example |
|---|
provider | auto|claude|deepseek | auto |
returns {provider, graded, plays_logged[], briefing_path, stats}
curl 'http://vertextradedesk.com/api/agent/briefing?provider=auto'
POST
/api/agent/intraday
desk
try ↗
Run an intraday check now (trigger alerts). GET returns 405 — this endpoint has side effects.
returns {provider, briefing_path}
curl 'http://vertextradedesk.com/api/agent/intraday'
GET
/api/agent/briefing_md
desk
try ↗
Latest briefing markdown (or a given date).
| param | desc | example |
|---|
date | ISO date | 2026-06-18 |
returns {date, markdown, available[]}
curl 'http://vertextradedesk.com/api/agent/briefing_md'
POST
/api/agent/grade
desk
try ↗
Grade open plays by replaying subsequent bars. GET returns 405 — this endpoint has side effects.
returns {graded, changes[]}
curl 'http://vertextradedesk.com/api/agent/grade'
POST
/api/agent/manage
desk
try ↗
Manage/close paper positions vs each play's stop/target. GET returns 405 — this endpoint has side effects.
returns {managed, changes[]}
curl 'http://vertextradedesk.com/api/agent/manage'
POST
/api/agent/execute
desk
try ↗
Submit any logged-but-unexecuted open plays to the paper account. GET returns 405 — this endpoint has side effects.
returns {submitted[]}
curl 'http://vertextradedesk.com/api/agent/execute'
GET/POST
/api/agent/watchlist
desk
try ↗
GET the common-symbols list, or POST {symbols:[...]} to set it.
| param | desc | example |
|---|
symbols | POST body JSON array | ["QQQ","SPY"] |
returns {symbols[]}
curl 'http://vertextradedesk.com/api/agent/watchlist'
Liveness + data feed.
returns {ok, feed, docs}
curl 'http://vertextradedesk.com/health'
This catalog, as JSON (machine-readable discovery).
returns {service, base, endpoints[], mcp_tools[]}
curl 'http://vertextradedesk.com/api/docs'
MCP tools (Claude clients — server "vertex")
analyze_symbol(symbol, tf, lookback_days) — wraps /api/analyzescan_watchlist(symbols, tf) — wraps /api/watchlist + analysisget_options(symbol, dte) — wraps /api/session optionsrun_backtest(symbol, strategy, start, end) — wraps /api/backtest
Machine-readable version of this page: /api/docs