Datos históricos Hyperliquid 2026: velas, funding y S3
Cómo obtener datos históricos de Hyperliquid: velas candleSnapshot y su límite de 5.000, funding horario, fills, archivos S3, límites y script de Python a CSV.
Datos históricos de Hyperliquid: guía 2026 de velas, historial de funding y archivos S3
En resumen: Hyperliquid ofrece datos históricos desde tres sitios. La API pública de info devuelve velas (
candleSnapshot, solo las ~5.000 más recientes por intervalo), historial de funding (fundingHistory, 500 filas por respuesta) y tus propios fills y órdenes. Los buckets de S3hyperliquid-archiveyhl-mainnet-node-dataguardan snapshots del libro L2, contextos de activos, fills y bloques del explorador, pero la transferencia la paga quien descarga y ahí no hay velas. Todo lo demás lo tienes que grabar tú. Abajo tienes los cuerpos exactos de las peticiones, hasta dónde llega cada intervalo, paginación, límites de peticiones y un script de Python que exporta velas a CSV.
Dónde están los datos históricos de Hyperliquid
| Fuente | Qué obtienes | Límites |
|---|---|---|
API info candleSnapshot | Velas OHLCV de perps, spot y mercados HIP-3 | Solo las ~5.000 velas más recientes por moneda e intervalo |
API info fundingHistory | Cada tasa de funding horaria y su prima para un perp | 500 filas por respuesta; se pagina con startTime |
API info userFillsByTime, historicalOrders | Fills y órdenes de tu dirección (o de cualquiera) | 2.000 por respuesta; solo los 10.000 fills más recientes; las 2.000 órdenes más recientes |
S3 hyperliquid-archive | Snapshots horarios del libro L2 (market_data) y contextos de activos diarios (asset_ctxs) | Se sube más o menos una vez al mes, sin garantía de que esté completo; paga quien descarga |
S3 hl-mainnet-node-data | Fills por bloque, bloques del explorador, transacciones L1 y otros eventos (transferencias, staking, funding) | Ficheros grandes en bruto; paga quien descarga |
La documentación oficial lo dice claro: en S3 no hay velas ni datos de activos spot, y «puedes usar la API para grabar tú mismo otros conjuntos de datos históricos». Esa frase explica casi todo lo que viene después.
Velas: el endpoint candleSnapshot
Haz un POST a https://api.hyperliquid.xyz/info, sin clave de API:
{"type": "candleSnapshot",
"req": {"coin": "BTC", "interval": "1h",
"startTime": 1789974000000, "endTime": 1792306800000}}
Cada vela llega como un objeto con claves cortas: t hora de apertura y T hora de cierre (milisegundos epoch), o/h/l/c precios, v volumen en el activo base (BTC, no USD), n número de operaciones, s la moneda e i el intervalo. Precios y volumen vienen como texto, así que conviértelos antes de hacer cuentas.
Los intervalos admitidos son 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d, 1w y 1M. En un mercado HIP-3 (desplegado por un builder) pones delante el nombre del DEX, por ejemplo xyz:XYZ100.
¿Hasta dónde puedes retroceder?
La documentación dice que solo están disponibles las 5.000 velas más recientes. Según el intervalo, eso son ventanas de tiempo muy distintas:
| Intervalo | ≈ 5.000 velas cubren |
|---|---|
| 1m | unos 3,5 días |
| 5m | unos 17 días |
| 15m | unos 52 días |
| 1h | unos 208 días |
| 4h | unos 2,3 años |
| 1d o más | más de lo que vas a necesitar |
Lo comprobamos el 18 de octubre de 2026 hacia las 07:06 UTC: al pedir diez días de velas de 1 minuto de BTC, la API devolvió 5.167 velas que empezaban el 14 de octubre a las 17:00 UTC. No dio ningún error por el startTime anterior; simplemente devolvió lo que aún tenía. Así que, si tu backtest necesita un año de barras de 1 minuto, la API sola no te lo da. O usas un intervalo más grande, o empiezas hoy a grabar velas de 1 minuto (con la suscripción candle del WebSocket o con una tarea programada).
Otras dos cosas que confunden: la última vela de la respuesta suele estar aún formándose (en nuestra prueba la vela horaria de las 07:00 UTC marcaba 4,08 BTC de volumen a los pocos minutos, frente a 1.568 y 2.139 BTC de las dos primeras horas completas de nuestra descarga de 30 días), y v es volumen en el activo base, así que multiplícalo por el precio si quieres volumen en dólares.
Historial de funding: fundingHistory
En Hyperliquid el funding se paga cada hora, y el historial completo de cada perp está disponible:
{"type": "fundingHistory", "coin": "BTC",
"startTime": 1787640000000}
Cada fila trae coin, fundingRate (la tasa horaria), premium y time. Una respuesta tiene como máximo 500 filas, que a un dato por hora son unos 20,8 días. Para conseguir más, coge el último time, súmale un milisegundo y úsalo como siguiente startTime; es la regla general de paginación que da la documentación para todos los endpoints con rango de tiempo.
Ejemplo real: los últimos 60 días de funding de BTC hasta el 18 de octubre de 2026 llegaron como 1.440 datos horarios (tres páginas). La tasa horaria media fue 0,00001044, alrededor de un 9,15% anual si lo anualizas con 24 × 365. Una tasa positiva significa que los largos pagan a los cortos. Si lo que quieres saber es qué le hizo el funding a tu PnL y no al mercado, usa userFunding con tu dirección o lee nuestra guía de funding rate y PnL.
Tu propio historial: fills y órdenes
Para una dirección, userFillsByTime devuelve hasta 2.000 fills por respuesta, y solo se puede llegar a los 10.000 fills más recientes. historicalOrders devuelve como mucho las 2.000 órdenes más recientes. Los traders activos y los bots llegan rápido al tope de 10.000 fills, y por eso las herramientas de impuestos y de diario de trading recomiendan exportar con regularidad. La documentación de Hyperliquid también enlaza una interfaz de exportación de terceros hecha por el equipo de Enigma (trade-export.hypedexer.com) para historial más antiguo; la mantienen ellos de forma independiente, tenlo en cuenta. El proceso del CSV paso a paso lo explicamos en cómo exportar tu historial de trades de Hyperliquid.
Los archivos de S3 (para usuarios avanzados)
Para trabajar con microestructura de mercado necesitas los buckets de S3. Hacen falta AWS CLI y LZ4, y pagas tú la transferencia porque son buckets requester-pays:
aws s3 cp s3://hyperliquid-archive/market_data/20230916/9/l2Book/SOL.lz4 /tmp/SOL.lz4 --request-payer requester
unlz4 --rm /tmp/SOL.lz4
head /tmp/SOL
- Libro de órdenes:
s3://hyperliquid-archive/market_data/[date]/[hour]/l2Book/[coin].lz4 - Contextos de activos:
s3://hyperliquid-archive/asset_ctxs/[date].csv.lz4, ficheros diarios con el contexto de cada activo. En la API, los contextos de activos son donde viven el funding, el open interest y el mark price, así que este es el sitio oficial donde buscar open interest histórico; la API solo devuelve el valor actual (mira nuestra guía de open interest). - Fills:
s3://hl-mainnet-node-data/node_fills_by_block(mismo formato que la API); los datos más antiguos están ennode_fillsynode_trades, ynode_tradesusa otro formato. - Historial de la cadena:
explorer_blocks,replica_cmds(transacciones L1) ymisc_events_by_block(transferencias, staking, funding) enhl-mainnet-node-data.
El archivo se actualiza más o menos una vez al mes sin garantía de puntualidad, y la documentación avisa de que pueden faltar datos. No montes nada que dé por hecho que el fichero de ayer ya existe.
Los límites de peticiones con los que te vas a topar
Las llamadas REST comparten un presupuesto de 1.200 de peso por minuto e IP. La mayoría de peticiones info cuestan 20. Además, candleSnapshot suma peso por cada 60 velas devueltas, y fundingHistory, userFillsByTime, historicalOrders y endpoints parecidos suman peso por cada 20 elementos devueltos. En la práctica: pagina con una pausa corta entre llamadas, guarda en caché lo que ya descargaste y no vuelvas a pedir las 5.000 velas cada minuto cuando solo necesitas la última. Para datos en vivo, una suscripción por WebSocket es más barata y rápida que preguntar una y otra vez.
Script de Python: exportar velas a CSV y resumir el funding
Sin SDK y sin claves, solo con la librería estándar. Descarga 30 días de velas horarias de BTC en btc_1h.csv y calcula la media de 60 días de funding. Lo ejecutamos el 18 de octubre de 2026 y obtuvimos 721 velas horarias y 1.440 datos de funding.
import csv, json, time, urllib.request
API = "https://api.hyperliquid.xyz/info"
def post(body):
req = urllib.request.Request(API, json.dumps(body).encode(),
{"Content-Type": "application/json"})
with urllib.request.urlopen(req) as r:
return json.load(r)
def candles(coin, interval, start_ms, end_ms):
out, cursor = [], start_ms
while cursor < end_ms:
batch = post({"type": "candleSnapshot", "req": {
"coin": coin, "interval": interval,
"startTime": cursor, "endTime": end_ms}})
if not batch:
break
out += [c for c in batch if not out or c["t"] > out[-1]["t"]]
if batch[-1]["t"] + 1 <= cursor:
break
cursor = batch[-1]["t"] + 1
time.sleep(0.5)
return out
def funding(coin, start_ms, end_ms):
out, cursor = [], start_ms
while cursor < end_ms:
batch = post({"type": "fundingHistory", "coin": coin,
"startTime": cursor, "endTime": end_ms})
if not batch:
break
out += batch
if len(batch) < 500:
break
cursor = batch[-1]["time"] + 1
time.sleep(0.5)
return out
if __name__ == "__main__":
now = int(time.time() * 1000)
day = 86_400_000
rows = candles("BTC", "1h", now - 30 * day, now)
with open("btc_1h.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["open_time_utc", "open", "high", "low", "close", "volume", "trades"])
for c in rows:
w.writerow([time.strftime("%Y-%m-%d %H:%M", time.gmtime(c["t"] / 1000)),
c["o"], c["h"], c["l"], c["c"], c["v"], c["n"]])
fr = funding("BTC", now - 60 * day, now)
avg = sum(float(x["fundingRate"]) for x in fr) / len(fr)
print(f"{len(rows)} hourly candles, {len(fr)} funding prints, "
f"avg hourly funding {avg:.8f} ({avg * 24 * 365:.2%} annualised)")
Cambia "BTC" por cualquier perp ("ETH", "HYPE") o, para velas, por un nombre HIP-3 como "xyz:XYZ100". Si lo quieres para muchos mercados, ejecútalo de forma programada y añade solo las filas nuevas en vez de descargarlo todo otra vez: así es también como construyes el historial que la API ya no sirve.
Errores habituales con los datos históricos de Hyperliquid
- Dar por hecho que se respeta el
startTime. En intervalos cortos se recorta sin aviso a las últimas ~5.000 velas. Comprueba la primera marca de tiempo que has recibido de verdad. - Tomar
vcomo USD. Está en el activo base. - Meter la vela que se está formando en un backtest. Descarta la última vela salvo que su hora de cierre
Tya haya pasado. - Anualizar el funding como si fuera cada 8 horas. En Hyperliquid el funding es horario: tasa × 24 × 365.
- Fiarte de la API para fills antiguos. Pasados 10.000 fills, los más viejos desaparecen de la API. Exporta pronto.
- Mezclar zonas horarias. Todas las marcas de tiempo son milisegundos epoch en UTC.
Para tu propia cartera, sáltate los scripts
Las velas y los datos de funding en bruto están genial para investigar, pero si lo que quieres es tu propio historial (posiciones, PnL real después de comisiones y funding, cómo fue cada operación), no necesitas mantener una tubería de datos. Hyperfolio es una PWA gratis y de solo lectura: pegas una dirección de Hyperliquid y te enseña posiciones, PnL con comisiones y funding incluidos y wallets Smart Money, sin claves y sin firmas. El contexto de mercado (mark price, funding, open interest) está en el hub de Markets, por ejemplo en BTC. Si vas a abrir una cuenta en Hyperliquid, el código de referido HYPERFOLIO te da un 4% de descuento en comisiones (más detalles en la guía del código de referido). Para más recetas con la API, empieza por nuestra guía de la API de Hyperliquid con Python.
Preguntas frecuentes
¿Tiene Hyperliquid una API de datos históricos?
Sí. El endpoint público de info (https://api.hyperliquid.xyz/info) devuelve velas, historial de funding y fills y órdenes por dirección sin clave de API. Tiene límites de profundidad: unas 5.000 velas por intervalo y los 10.000 fills más recientes por dirección.
¿Cómo consigo más de 5.000 velas de Hyperliquid?
Desde la API, con el mismo intervalo, no puedes. Usa un intervalo más grande, graba velas tú mismo a partir de ahora (WebSocket o un script programado) o reconstruye las barras con los fills de S3.
¿Hay velas de Hyperliquid en S3?
No. La documentación dice que S3 tiene snapshots del libro L2 y contextos de activos, además de fills y bloques del nodo, pero no velas ni datos de activos spot.
¿Cada cuánto se paga el funding en Hyperliquid?
Cada hora. fundingHistory devuelve una fila por hora con la tasa horaria, así que anualiza con 24 × 365.
¿Puedo descargar el open interest histórico?
No desde la API de info, que solo devuelve el valor actual. Los ficheros asset_ctxs del bucket hyperliquid-archive son la fuente histórica oficial, o puedes guardar tú los snapshots.
¿Hay que pagar por los datos históricos de Hyperliquid?
La API es gratis dentro de sus límites de peticiones. Los buckets de S3 son requester-pays, así que AWS te cobra por los datos que transfieras.
Prueba Hyperfolio gratis
Trackea tu portfolio Hyperliquid en tiempo real con PnL, Smart Money, Markets, Perp Calculator, portfolio multi-venue y alertas push.
HYPERLIQUID
-4% feesOperar en Hyperliquid · 4% menos en fees
Hyperfolio es una app independiente — sin ads, sin comisiones, sin sponsors. Los referidos son nuestra única financiación; agradecemos de verdad que operes con nuestro link.
Gratis para ti · mantiene Hyperfolio en marcha
Artículos relacionados
Open interest Hyperliquid 2026: OI, límites y API
Qué es el open interest en Hyperliquid, cómo pasarlo a USD, cómo leer el OI con precio y funding, por qué se rechazan órdenes en el límite de open interest, límites HIP-3 y un script de Python para sacar el OI de la API pública.
GuíaTestnet Hyperliquid 2026: faucet, API y chain ID
Cómo usar la testnet de Hyperliquid: reclamar 1.000 USDC de prueba en el faucet (requiere depósito en mainnet), resolver el problema del login por email, cambiar la API y el SDK de Python y añadir la HyperEVM de testnet (chain ID 998).
GuíaTP/SL Hyperliquid 2026: take profit y stop loss
Cómo funcionan los TP/SL en Hyperliquid: disparo por mark, market con 10% de slippage, limit, asociación a posición vs orden padre (OCO), API y errores habituales de fill.
GuíaTWAP en Hyperliquid: guía 2026 (duración, slippage y API)
Cómo funciona el TWAP en Hyperliquid: de 5 minutos a 7 días, mínimo 100 $, intervalo mínimo 30 s, slippage 3% por suborden, randomize ±20%, recuperación y API twapOrder / twapCancel.
GuíaSlippage y price impact en Hyperliquid: guía
Qué te cuestan el slippage y el price impact en Hyperliquid, cómo estimarlos con el order book y qué órdenes (límite, IOC, TWAP) los reducen.
GuíaBuilder codes y builder fees en Hyperliquid: guía 2026
Qué son los builder codes de Hyperliquid, cómo bots, wallets y frontends añaden builder fees (hasta 0,1% en perps y 1% en spot), cuánto cuestan al mes y cómo revisar y revocar tus aprobaciones.