{"data":{"service":"trading-data-api","version":"1.0.0-mvp","endpoints":[{"path":"/health","method":"GET","auth":false,"description":"Liveness check. Returns 200 with uptime."},{"path":"/v1/status","method":"GET","auth":false,"description":"Service catalog — lists all available endpoints."},{"path":"/v1/kalshi-probability","method":"GET","auth":false,"description":"Free, no signup required. Kalshi prediction-market probabilities. Query by category (returns the most active open markets) or a specific market ticker.","params":{"category":"Optional. One of: crypto, macro, fed-rate, financials, politics, sports, world, companies, climate, science, health, entertainment, elections. Either category or ticker is required.","ticker":"Optional. A specific Kalshi market ticker (e.g. KXBTCD-...).","limit":"Optional. Max markets to return for a category query (default 25, max 100)."},"example":"/v1/kalshi-probability?category=crypto"},{"path":"/v1/kalshi-market","method":"GET","auth":true,"description":"Single Kalshi market depth: orderbook (yes/no levels) + recent trades for a specific ticker.","params":{"ticker":"Required. A Kalshi market ticker (e.g. KXBTCD-26JUN1315-T64099.99).","depth":"Optional. Orderbook depth per side (default 10, max 100).","trades":"Optional. Recent trades to return (default 20, max 100)."},"example":"/v1/kalshi-market?ticker=KXBTCD-26JUN1315-T64099.99"},{"path":"/v1/funding-oi","method":"GET","auth":true,"description":"Aggregated perpetual-futures funding rate & open interest from Binance + Bybit, with 7-day average funding, 24h OI change, and a long/short bias signal.","params":{"symbol":"Required. Base crypto symbol (e.g. BTC, ETH, SOL). Mapped to the <SYMBOL>USDT perpetual ticker on Binance/Bybit."},"example":"/v1/funding-oi?symbol=BTC"},{"path":"/v1/long-short-ratio","method":"GET","auth":true,"description":"Binance long/short ratios: global account, top-trader account, top-trader position, and taker buy/sell. Companion to funding-oi.","params":{"symbol":"Required. Base crypto symbol (e.g. BTC). Mapped to <SYMBOL>USDT.","period":"Optional. One of 5m,15m,30m,1h,2h,4h,6h,12h,1d (default 5m)."},"example":"/v1/long-short-ratio?symbol=BTC&period=1h"},{"path":"/v1/orderbook","method":"GET","auth":true,"description":"Top-of-book depth + spread (bps) from Binance, Bybit, or Hyperliquid.","params":{"symbol":"Required. Base crypto symbol (e.g. BTC).","exchange":"Optional. binance (default), bybit, or hyperliquid.","depth":"Optional. Levels per side (default 10, max 50)."},"example":"/v1/orderbook?symbol=BTC&exchange=binance&depth=10"},{"path":"/v1/basis","method":"GET","auth":true,"description":"Spot-vs-perp basis (premium %) with funding-implied annualized carry. Spot from Coinbase; perp marks from Binance + Bybit.","params":{"symbol":"Required. Base crypto symbol (e.g. BTC)."},"example":"/v1/basis?symbol=BTC"},{"path":"/v1/hyperliquid","method":"GET","auth":true,"description":"Hyperliquid perpetual context: funding (hourly), open interest, mark/oracle/mid price, premium, 24h volume. Not geo-blocked.","params":{"symbol":"Required. Hyperliquid coin name (e.g. BTC, ETH, SOL)."},"example":"/v1/hyperliquid?symbol=BTC"},{"path":"/v1/volatility","method":"GET","auth":true,"description":"Deribit volatility: DVOL implied-vol index (30d forward) + latest realized volatility, for BTC or ETH.","params":{"currency":"Optional. BTC (default) or ETH."},"example":"/v1/volatility?currency=BTC"},{"path":"/v1/sentiment","method":"GET","auth":false,"description":"Free, no signup required. Crypto Fear & Greed Index (alternative.me), current reading + optional history.","params":{"limit":"Optional. Number of days of history (default 1, max 90)."},"example":"/v1/sentiment?limit=7"},{"path":"/v1/defi-tvl","method":"GET","auth":true,"description":"DefiLlama data: TVL by chain, stablecoin circulating supply, or yield pools.","params":{"view":"Optional. chains (default), stablecoins, or yields.","chain":"Optional (yields view). Filter pools by chain, e.g. Ethereum.","project":"Optional (yields view). Filter pools by project, e.g. aave-v3.","limit":"Optional. Rows to return (default 20, max 100)."},"example":"/v1/defi-tvl?view=chains"},{"path":"/v1/price","method":"GET","auth":true,"description":"Current spot price for crypto (Coinbase) or US equities/ETFs (Alpaca SIP), via the shared routing layer.","params":{"symbol":"Required. e.g. BTC, ETH, SUI, NVDA, SPY.","class":"Optional. stock|crypto — required for symbols outside the curated list."},"example":"/v1/price?symbol=BTC"},{"path":"/v1/ohlcv","method":"GET","auth":true,"description":"OHLCV candles (oldest-first) for crypto or stocks. Routes to Alpaca SIP / Alpaca-crypto / Coinbase.","params":{"symbol":"Required. e.g. BTC, NVDA, SPY.","timeframe":"Optional. 1m,5m,15m,30m,1h,2h,4h,6h,12h,1D,1W (default 1h).","class":"Optional. stock|crypto for non-curated symbols.","limit":"Optional. Candles to return (default 100, max 300)."},"example":"/v1/ohlcv?symbol=NVDA&timeframe=1h&limit=100"},{"path":"/v1/atr","method":"GET","auth":true,"description":"Average True Range (Wilder's) + volatility-regime classification (low/normal/high/extreme by historical percentile). Crypto or stocks.","params":{"symbol":"Required. e.g. BTC, NVDA, SPY (or any with &class=).","timeframe":"Optional. 1m,5m,15m,30m,1h,2h,4h,6h,12h,1D,1W (default 1h).","period":"Optional. ATR period (default 14).","class":"Optional. stock|crypto for non-curated symbols."},"example":"/v1/atr?symbol=BTC&timeframe=1h&period=14"},{"path":"/v1/rates","method":"GET","auth":true,"description":"US Treasury yield curve (1M–30Y) + recession-indicator spreads (10y-2y, 10y-3m), from FRED.","params":{"series":"Optional. A specific FRED series id (e.g. DGS10) for a single value."},"example":"/v1/rates"},{"path":"/v1/market-clock","method":"GET","auth":true,"description":"US equities market clock (is_open, next_open/close) + upcoming sessions, via Alpaca. Crypto endpoints are 24/7 and unaffected.","params":{"days":"Optional. Upcoming session days to include (default 3, max 30; 0 to omit)."},"example":"/v1/market-clock"},{"path":"/v1/market-overview","method":"GET","auth":false,"description":"Free, no signup required. CoinGecko global crypto stats (total market cap, 24h volume, BTC/ETH dominance) or top coins by market cap.","params":{"view":"Optional. global (default) or coins.","limit":"Optional (coins view). Number of coins (default 20, max 100)."},"example":"/v1/market-overview"},{"path":"/v1/gas","method":"GET","auth":false,"description":"Free, no signup required. Ethereum gas oracle (safe/propose/fast gas prices + base fee, in gwei), via Etherscan.","example":"/v1/gas"},{"path":"/v1/fvg","method":"GET","auth":true,"description":"Fair Value Gap zones (standard ICT/LuxAlgo) with CE (50%), gap size, age, fill status, distance from price. Standard timeframes match TradingView candles. Crypto or stocks.","params":{"symbol":"Required. e.g. BTC, NVDA, SPY (or any with &class=).","timeframe":"Optional. 1m,5m,15m,30m,1h,2h,4h,6h,12h,1D,1W (default 1h). Matches TradingView candles.","class":"Optional. stock|crypto for non-curated symbols.","include_filled":"Optional. true to include filled FVGs (default false = active only).","min_gap_pct":"Optional. Filter out gaps smaller than this % of price (default 0 = all).","lookback":"Optional. Timeframe candles to analyze (default 120, max 500)."},"example":"/v1/fvg?symbol=BTC&timeframe=1h"},{"path":"/v1/liquidity-levels","method":"GET","auth":true,"description":"ICT liquidity levels: buy-side liquidity (above swing highs) & sell-side (below swing lows), sweep/taken status, relative-equal pools, and nearest untaken targets. Crypto or stocks.","params":{"symbol":"Required. e.g. BTC, NVDA, TQQQ (or any with &class=).","timeframe":"Optional. 1m..1W (default 1h).","swing_length":"Optional. Pivot strength — bars each side of a swing (default 5). Tune to match your chart indicator.","equal_threshold_pct":"Optional. Group swings within this % as relative-equal pools (default 0.1).","include_swept":"Optional. true to include already-taken levels (default false = resting only).","lookback":"Optional. Candles to analyze (default 300, max 500)."},"example":"/v1/liquidity-levels?symbol=TQQQ&timeframe=1h"},{"path":"/v1/macro-calendar","method":"GET","auth":false,"description":"Free, no signup required. Upcoming US macro events (FOMC rate decisions, CPI, jobs report) with verified Fed/BLS dates, days-until, and Kalshi rate-decision odds (cut/hold/hike) for FOMC meetings.","params":{"days":"Optional. Only events within the next N days.","type":"Optional. Filter to FOMC, CPI, or NFP."},"example":"/v1/macro-calendar"},{"path":"/v1/earnings-calendar","method":"GET","auth":true,"description":"US equity earnings announcement calendar: report date, before/after-market timing, analyst EPS estimate + count, market cap, and prior-year actual EPS. Sourced live from Nasdaq's public calendar.","params":{"date":"Optional. Start date YYYY-MM-DD (default: today).","days":"Optional. Days to scan forward from date (default 1, max 7).","symbol":"Optional. Filter to one ticker within the scanned range."},"example":"/v1/earnings-calendar?date=2026-07-14&days=3"},{"path":"/v1/wallet-portfolio","method":"GET","auth":true,"price":"$0.005","description":"What a wallet holds: native balance plus major ERC-20 tokens (stablecoins, wrapped assets, large caps) across Ethereum, Base, Arbitrum, Optimism and Polygon, with live USD prices, per-chain and total value. Address or ENS name. Reads the chain directly; tokens outside the curated list are not shown (the response states this).","params":{"address":"Required. 0x address or ENS name.","chain":"Optional. all (default), ethereum, base, arbitrum, optimism or polygon."},"example":"/v1/wallet-portfolio?address=vitalik.eth&chain=all"},{"path":"/v1/verdict","method":"GET","auth":true,"price":"$0.02","description":"One-call trading verdict for an asset: LONG, SHORT or NEUTRAL bias with a 0-10 confidence, a one-line thesis, entry, invalidation and two targets, and the trend / momentum / structure / liquidity readings behind it. Mechanical scoring from live candles on two timeframes (EMA stack, MACD, RSI, ADX, swing structure, liquidity sweeps, volume point of control), never a guess. BTC, ETH, SOL, SUI, NVDA, IBIT, COIN, QQQ, TQQQ, DIA.","params":{"symbol":"Required. One of: BTC, ETH, SOL, SUI, NVDA, IBIT, COIN, QQQ, TQQQ, DIA.","timeframe":"Optional. Execution timeframe: 15m, 1h, 4h, 1D, 1W (default 1h); the next timeframe up is used as context."},"example":"/v1/verdict?symbol=BTC&timeframe=1h"},{"path":"/v1/momentum-score","method":"GET","auth":true,"price":"$0.02","description":"Alias of /v1/verdict. Multi-asset momentum verdict (bias, confidence, thesis, entry/invalidation/targets, signal readings) from the oracle.py pipeline, run on a separate Python service. Scoped to 10 assets.","params":{"symbol":"Required. One of: BTC, ETH, SOL, SUI, NVDA, IBIT, COIN, QQQ, TQQQ, DIA.","timeframe":"Optional. 15m, 1h, 4h, 1D, 1W (default 1h)."},"example":"/v1/momentum-score?symbol=BTC&timeframe=1h"},{"path":"/v1/chain-balance","method":"GET","auth":true,"description":"Native-token balance (ETH/POL) for any address or ENS name on Ethereum, Base, Arbitrum, Optimism or Polygon. Live from the chain over redundant RPCs — wei plus formatted units.","params":{"address":"Required. A 0x address or an ENS name (e.g. vitalik.eth).","chain":"Optional. ethereum, base, arbitrum, optimism, polygon (default base)."},"example":"/v1/chain-balance?address=vitalik.eth&chain=ethereum"},{"path":"/v1/chain-token-balance","method":"GET","auth":true,"description":"ERC-20 token balance for an address or ENS name, with token symbol and decimals read from the contract. Ethereum, Base, Arbitrum, Optimism, Polygon.","params":{"address":"Required. Holder: a 0x address or an ENS name.","token":"Required. ERC-20 contract address.","chain":"Optional. ethereum, base, arbitrum, optimism, polygon (default base)."},"example":"/v1/chain-token-balance?address=0xB71C06dAC44c91bc997FB84C247DeEF676F4A9f6&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&chain=base"},{"path":"/v1/chain-nonce","method":"GET","auth":true,"description":"Transaction count (nonce) for an address or ENS name: confirmed nonce plus pending nonce, so an agent can sign the next transaction without a collision.","params":{"address":"Required. A 0x address or an ENS name.","chain":"Optional. ethereum, base, arbitrum, optimism, polygon (default base)."},"example":"/v1/chain-nonce?address=0xB71C06dAC44c91bc997FB84C247DeEF676F4A9f6&chain=base"},{"path":"/v1/chain-block","method":"GET","auth":true,"description":"Block header lookup: number, hash, timestamp, miner, tx count, gas used/limit and base fee. Latest by default, or any block number, safe or finalized.","params":{"block":"Optional. A block number, \"latest\", \"safe\" or \"finalized\" (default latest).","chain":"Optional. ethereum, base, arbitrum, optimism, polygon (default base)."},"example":"/v1/chain-block?chain=base&block=latest"},{"path":"/v1/chain-ens","method":"GET","auth":true,"description":"ENS lookup on Ethereum mainnet in either direction: name to address, or address to primary name.","params":{"name":"Optional. An ENS name to resolve (e.g. vitalik.eth). Either name or address is required.","address":"Optional. An address to reverse-resolve to its primary ENS name."},"example":"/v1/chain-ens?name=vitalik.eth"},{"path":"/v1/chain-tx","method":"GET","auth":true,"description":"Transaction lookup by hash: status (success/reverted/pending), block, from/to, value, nonce, gas used, effective gas price and log count.","params":{"hash":"Required. 0x-prefixed 32-byte transaction hash.","chain":"Optional. ethereum, base, arbitrum, optimism, polygon (default base)."},"example":"/v1/chain-tx?hash=0x...&chain=base"},{"path":"/v1/polymarket","method":"GET","auth":true,"description":"Polymarket prediction markets with live probabilities: question, per-outcome probability, 24h and total volume, liquidity, best bid/ask, one-day price change and end date. Top markets by volume, liquidity or soonest end, or free-text search.","params":{"q":"Optional. Free-text search, e.g. bitcoin, fed rate, election.","sort":"Optional. volume (default), liquidity or ending. Ignored when q is set.","limit":"Optional. 1-25 (default 10)."},"example":"/v1/polymarket?q=bitcoin&limit=5"},{"path":"/v1/web-search","method":"GET","auth":true,"price":"$0.01","description":"Real-time web search for agents: ranked results with title, URL, snippet and score, plus an optional synthesized answer. Pay per search; general or news topic.","params":{"q":"Required. The search query (max 400 characters).","max_results":"Optional. 1-10 (default 5).","topic":"Optional. general (default) or news.","include_answer":"Optional. true (default) or false to skip the synthesized answer."},"example":"/v1/web-search?q=latest+ethereum+upgrade&max_results=5&topic=news"},{"path":"/v1/crypto-news","method":"GET","auth":true,"description":"Latest crypto headlines aggregated from Cointelegraph, Decrypt and Bitcoin Magazine, newest first: title, source, URL, published time and a short summary. Filter by keyword or source.","params":{"q":"Optional. Keyword filter on title and summary.","source":"Optional. cointelegraph, decrypt or bitcoinmagazine (default all).","limit":"Optional. 1-50 (default 20)."},"example":"/v1/crypto-news?q=etf&limit=10"},{"path":"/v1/liquidations","method":"GET","auth":true,"price":"$0.002","description":"Recent forced liquidations on OKX USDT perpetual swaps for a coin: each event with time, liquidated side, bankruptcy price, size and USD notional, plus long vs short liquidated totals and the largest event. Real exchange data, no estimates.","params":{"coin":"Optional. Ticker such as BTC (default), ETH, SOL.","limit":"Optional. 1-100 (default 50)."},"example":"/v1/liquidations?coin=ETH&limit=50"}]},"meta":{"count":36,"timestamp":"2026-11-04T14:53:00.079Z"}}