Pick A Delivery Surface
| Need | Delivery surface | Keep with the output |
|---|---|---|
| App runtime request | REST or SDK | Route, query params, cursor, meta.request_id, freshness state |
| Terminal or script job | CLI or REST | Command, route, UTC window, output path, request IDs |
| Live stream | WebSocket | Channel, symbol, reconnect state, local book policy |
| Replay or exact event order | WebSocket replay | Replay window, sequence handling, gap policy |
| Warehouse load | Data Catalog export | Schema keys, quote, job ID, file format, rights context |
| Large offline research window | Data Catalog export | Venue family, symbol-feed row, UTC range, schema keys |
| Generated client | OpenAPI | Spec version, operation ID, auth path |
| Agent workflow | OpenAPI plus docs, then CLI, SDK, MCP, or Skill | Prompt context, route family, bounded command, error recovery |
One Contract, Every Surface
The breadth is the point. The same Hyperliquid and Lighter coverage reaches you as a runtime response, a live or replayed stream, a governed file, or typed application code, so the delivery shape never forces a second data source.- Parquet exports for file-first historical delivery: fixed date ranges, reviewable schemas, credit estimates, checkout records, and delivery metadata for warehouse loads and offline research.
- REST for bounded requests: one snapshot, one trade page, one funding series, one freshness check, or a scoped historical pull inside an application.
- WebSocket for live streams and exact-window replay on one socket, with reconnects, gap handling, and local book maintenance.
- SDKs in Python, TypeScript, and Rust when application code should own typed helpers, pagination, retries, and response parsing.
- CLI for shell, cron, CI, notebooks, and agent terminals.
- MCP Server, Skill, and OpenAPI for agents and code generation that need route-safe calls instead of hand-rolled HTTP.