{"slug":"perp-gap-api-perpgap-workers-dev-research-d52326","title":"One-call research card for a single stock perp","host":"perp-gap-api.perpgap.workers.dev","method":"GET","resource":"https://perp-gap-api.perpgap.workers.dev/research","category":"market","description":"One-call research card for a single stock perp: spot quote and US session (pre/regular/after-hours/overnight/closed), perp prices on trade.xyz, Aster and Lighter, gap % vs spot and vs Solana xStock, funding, basis, last 72h gap history and the rule-based long/short/watch/avoid verdict. Use when an a","price_listed":0.03,"price_asked":0.03,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":480,"reported_calls_30d":2,"reported_payers_30d":1,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"ticker":"TSLA"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"additionalProperties":false,"properties":{"ticker":{"description":"One US stock ticker listed as a trade.xyz perp (see free GET /tickers), case-insensitive.","examples":["TSLA","NVDA","GME"],"pattern":"^[A-Za-z0-9.]{1,10}$","type":"string"}},"required":["ticker"],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"description":"Error responses are JSON {error: string}: 400 ticker required; 402 payment required; 404 ticker not listed on trade.xyz; 502 upstream error.","properties":{"cross_venue":{"type":"object"},"disclaimer":{"type":"string"},"generated_at":{"type":"integer"},"history":{"type":"object"},"label":{"type":"string"},"market":{"properties":{"holiday":{"type":["string","null"]},"session":{"enum":["pre-market","regular","after-hours","overnight","closed"],"type":"string"}},"type":"object"},"perps":{"properties":{"aster":{"properties":{"basis_mark_vs_index_pct":{"type":["number","null"]},"funding_annualized_pct":{"type":["number","null"]},"funding_hourly":{"type":["number","null"]},"gap_vs_spot_pct":{"type":["number","null"]},"gap_vs_trade_xyz_pct":{"type":["number","null"]},"gap_vs_xstock_pct":{"type":["number","null"]},"index":{"type":["number","null"]},"mark":{"type":["number","null"]},"open_interest_usd":{"type":["number","null"]},"venue":{"type":"string"}},"type":"object"},"lighter":{"properties":{"basis_mark_vs_index_pct":{"type":["number","null"]},"funding_annualized_pct":{"type":["number","null"]},"funding_hourly":{"type":["number","null"]},"gap_vs_spot_pct":{"type":["number","null"]},"gap_vs_trade_xyz_pct":{"type":["number","null"]},"gap_vs_xstock_pct":{"type":["number","null"]},"index":{"type":["number","null"]},"mark":{"type":["number","null"]},"open_interest_usd":{"type":["number","null"]},"venue":{"type":"string"}},"type":"object"},"trade_xyz":{"properties":{"basis_mark_vs_index_pct":{"type":["number","null"]},"funding_annualized_pct":{"type":["number","null"]},"funding_hourly":{"type":["number","null"]},"gap_vs_spot_pct":{"type":["number","null"]},"gap_vs_trade_xyz_pct":{"type":["number","null"]},"gap_vs_xstock_pct":{"type":["number","null"]},"index":{"type":["number","null"]},"mark":{"type":["number","null"]},"open_interest_usd":{"type":["number","null"]},"venue":{"type":"string"}},"type":"object"}},"type":"object"},"spot":{"properties":{"age_seconds":{"type":["number","null"]},"change_pct":{"type":["number","null"]},"prev_close":{"type":["number","null"]},"price":{"type":["number","null"]},"price_session":{"description":"pre, regular, post, overnight, closed or last_close","type":["string","null"]},"source":{"type":["string","null"]}},"type":"object"},"ticker":{"type":"string"},"verdict":{"properties":{"confidence":{"type":"number"},"reasons":{"items":{"type":"string"},"type":"array"},"score":{"type":"number"},"verdict":{"enum":["long","short","watch","avoid"],"type":"string"}},"type":"object"},"xstock":{"properties":{"gap_trade_xyz_vs_xstock_pct":{"type":["number","null"]},"gap_xstock_vs_spot_pct":{"type":["number","null"]},"price":{"type":["number","null"]}},"type":["object","null"]}},"required":["ticker","market","spot","perps","verdict","disclaimer"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-18","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.03,"price_match":true,"latency_ms":480,"error":null}],"description_full":"One-call research card for a single stock perp: spot quote and US session (pre/regular/after-hours/overnight/closed), perp prices on trade.xyz, Aster and Lighter, gap % vs spot and vs Solana xStock, funding, basis, last 72h gap history and the rule-based long/short/watch/avoid verdict. Use when an agent needs everything about one ticker before trading or answering a user. Data, not advice. Errors: 400 missing ticker, 402, 404 not listed, 502 upstream.","last_updated":"2026-10-17T03:17:52.262Z","schemes":["exact"]}