# Tilt Hyperliquid Data API > Live, structured data on every open position on Hyperliquid, read from our own node. Base URL: https://api.tilt.markets/v1 ## Start 1. POST https://api.tilt.markets/v1/keys with {"identifier": "you@example.com"} → a free key, instantly, no verification. 2. Send it as: Authorization: Bearer 3. GET https://api.tilt.markets/v1/markets, then GET https://api.tilt.markets/v1/markets/BTC/positions ## Endpoints - GET https://api.tilt.markets/v1: Machine-readable start page (no key) - POST https://api.tilt.markets/v1/keys: Create an API key (no key) - POST https://api.tilt.markets/v1/limits/request: Ask for higher limits (no key) - GET https://api.tilt.markets/v1/markets: Every market - GET https://api.tilt.markets/v1/tokens: Every spot token - GET https://api.tilt.markets/v1/markets/{market}: One market, live - GET https://api.tilt.markets/v1/markets/{market}/positions: Every open position in a market - GET https://api.tilt.markets/v1/markets/{market}/leverage: Open interest by leverage and by distance to liquidation - GET https://api.tilt.markets/v1/markets/{market}/liquidation-map: Forced flow by price - GET https://api.tilt.markets/v1/markets/{market}/exit-orders: Resting stops and take-profits by price - GET https://api.tilt.markets/v1/markets/{market}/book: The order book, twenty levels a side - GET https://api.tilt.markets/v1/markets/{market}/book-history: Mid, spread and depth per snapshot - GET https://api.tilt.markets/v1/markets/{market}/health: PnL versus margin, both sides - GET https://api.tilt.markets/v1/wallets/{address}: One wallet, everything, live - GET https://api.tilt.markets/v1/wallets/{address}/positions: A wallet's open positions - GET https://api.tilt.markets/v1/wallets/{address}/orders: A wallet's open orders - GET https://api.tilt.markets/v1/wallets/{address}/position-history: A wallet's positions hour by hour - GET https://api.tilt.markets/v1/wallets/{address}/fills: A wallet's fill history - GET https://api.tilt.markets/v1/wallets/{address}/order-events: Every order event of a wallet - GET https://api.tilt.markets/v1/wallets/{address}/twaps: A wallet's TWAP orders, with their execution - GET https://api.tilt.markets/v1/wallets/{address}/ledger: Deposits, withdrawals, transfers and vault flows of a wallet - GET https://api.tilt.markets/v1/markets/{market}/order-events: Order status events in a market - GET https://api.tilt.markets/v1/markets/{market}/twaps: TWAP orders in a market, with their execution - GET https://api.tilt.markets/v1/wallets/{address}/funding: Every funding payment of a wallet - GET https://api.tilt.markets/v1/markets/{market}/funding-history: Hourly funding history of a market - GET https://api.tilt.markets/v1/twaps: TWAP orders by status, from the node's TWAP stream - GET https://api.tilt.markets/v1/twaps/flow: What running TWAPs still have to buy and sell, per market - GET https://api.tilt.markets/v1/twaps/stats: TWAP volume per hour or day, one market or all - GET https://api.tilt.markets/v1/twaps/{id}: One TWAP order, its status, its execution and every slice - GET https://api.tilt.markets/v1/fills: Fills, newest first - GET https://api.tilt.markets/v1/liquidations: Liquidations, newest first - GET https://api.tilt.markets/v1/stream: WebSocket stream of fills, liquidations, positions, orders, TWAPs, ledger, funding and books (key as ?key=) - GET https://api.tilt.markets/v1/status: Is the data complete and current right now? (no key) ## Conventions - Every response: { "data", "as_of": { "block", "time", "lag_ms" }, "next" }. Errors: { "error": { "code", "message" } }. - Sides: long/short on positions, buy/sell on orders. Units in field names: size_coin, notional_usd, price_usd, *_pct. - Cursor paging: pass "next" back as ?cursor=. Unknown or invalid query parameters return 400, never silently ignored. - Free tier: 300 requests/min, 20,000/day, 3 stream connections, 1,000,000 stream messages/day per key. Headers: RateLimit-* (per minute) and X-Daily-* (per day). A 429 adds Retry-After; code rate_limited or daily_limit. - Need more: POST https://api.tilt.markets/v1/limits/request with {"key","email","use_case","requested"}; a person replies by email, usually within a day. Full reference: https://tilt.markets/llms-full.txt · Spec: https://tilt.markets/openapi.json · Skill: https://tilt.markets/SKILL.md · Docs: https://tilt.markets/docs · Status: https://api.tilt.markets/v1/status · Stream: wss://api.tilt.markets/v1/stream