KKLinePic

Hyperliquid trade history chart

Turn Hyperliquid fills into a perps entry and exit review chart.

This guide is for Hyperliquid traders who want their real perps fills drawn on the price path instead of buried in an on-chain history. Hyperliquid is an on-chain perpetual-futures DEX, so there is no mailed broker statement — your executed fills live in the Hyperliquid interface and its API, tied to your wallet address. Export or pull those fills, map them into KLinePic's CSV schema, and render a shareable review image with long/short entry and exit (B/S) markers, holding window, return, max run-up, max drawdown, and optional indicators such as MACD.

KLinePic is free to start and needs no account to render — the loop from fills to review image takes minutes, and it never touches your wallet or keys.

Example crypto trade review chart (ETHUSDT) rendered by KLinePic
Example crypto trade review chart (ETHUSDT) rendered by KLinePic — entry/exit marker, MACD panel, and trade review summary. This is an illustration of the output, not a Hyperliquid screenshot.

How to get your fills out of Hyperliquid

Because Hyperliquid is an on-chain perps DEX rather than a traditional broker, there is no statement to request and no PDF in your inbox. Instead, your trade history is the record of executed fills for your wallet address, which is typically available in two places: the Hyperliquid web interface and the Hyperliquid API. The exact menu labels, columns, and any built-in download can change over time, so treat the steps below as a shape to follow and refer to Hyperliquid's own docs and interface for the current path.

From the Hyperliquid interface

  1. Open your account in the Hyperliquid web interface and find its trade or fills history for the wallet you traded with.
  2. Filter to the date range you want to review, and, if a download or CSV option is offered in your export, use it to save the fills to a file.
  3. If no download is offered, you can still copy the visible fills into a spreadsheet — you only need the coin, direction, price, size, time, and fee for each executed fill.

From the Hyperliquid API

  1. Hyperliquid documents an API that can return a wallet's fills; a small script can request them and receive JSON.
  2. Convert the returned fills to CSV, keeping one row per executed fill and preserving the direction field so long and short stay distinguishable.
  3. Only executed fills should reach your CSV — resting or open orders are not trades and must not become markers on the chart.

Whichever path you use, the data is tied to a wallet address, so double-check you exported the right account before mapping.

Map your Hyperliquid export to KLinePic fields

Hyperliquid exports and API responses do not use KLinePic's column names, and exact headers can vary between the interface and the API — treat this as a checklist against your export's typical fields. The target schema is fixed: KLinePic reads trade_id, symbol, event_type, position_side, time, price, quantity, fee, note, documented in the data protocol. Extra columns are ignored on import and listed back to you; copy details such as the fee asset or wallet address into note only when you want them preserved in the normalized record.

The direction field does double duty. On perps, a single Hyperliquid fill direction — for example an "open long" or "close long" — tells you both the buy/sell action and the position side. Split it into two KLinePic columns: event_type (buy or sell) and position_side (long or short). Opening a long and closing a short are both buys; closing a long and opening a short are both sells. That means event_type alone cannot tell you whether a sell was an exit from a long or an entry into a short — the explicit position_side is what keeps each trade on the correct side.

KLinePic fieldYour export's typical columnNotes
trade_idUsually none — create your ownOne stable id per round-trip trade; entry and exit fills share it.
symbolCoin / market columnHyperliquid perps are coins such as BTC, ETH, SOL. Use the coin as the symbol and keep each market separate.
event_typeDerived from the fill directionOpening a long or closing a short is a buy; closing a long or opening a short is a sell. Normalize to lowercase.
position_sideDerived from the fill directionRequired on perps. Long fills are long, short fills are short — never leave this blank, or entries and exits blur together.
timeFill time / timestamp columnHyperliquid fills are typically UTC, often a Unix epoch. Convert to an explicit offset such as +00:00.
priceFill / executed price columnUse the executed fill price, not an order's limit price.
quantitySize in coin unitsCoin units (3 ETH), not the USD notional of the fill. Stay consistent across a trade's rows.
feeFee amount columnOptional, but useful for honest net-return journaling.
noteFee asset / wallet, if keptOptional free text. There is no fee_asset or wallet column in KLinePic — keep them as note text such as fee_asset=USDC, or drop them.

What a raw Hyperliquid fills export looks like

Before mapping, your fills export may look something like this — the exact columns and labels vary between the interface and the API, but the shape is a row per executed fill with a direction that encodes long/short:

time,coin,dir,px,sz,fee,closedPnl,hash
2026-05-10T09:15:00,ETH,Open Long,2450.25,3,1.10,0.0,0xab12de
2026-05-10T18:45:00,ETH,Close Long,2528.70,3,1.14,235.35,0xcd34fa

Notice that both rows above are the same round-trip long: the first opens it (a buy) and the second closes it (a sell), yet both are on the long side. That is exactly why the mapped file needs an explicit position_side.

Target CSV shape

A complete Hyperliquid round-trip trade — one buy to open, one sell to close, same trade_id, both on the long side — looks like this after mapping:

trade_id,symbol,event_type,position_side,time,price,quantity,fee,note
HL-ETH-001,ETHUSDT,buy,long,2026-05-10T09:15:00+00:00,2450.25,3,1.10,fee_asset=USDC
HL-ETH-001,ETHUSDT,sell,long,2026-05-10T18:45:00+00:00,2528.70,3,1.14,fee_asset=USDC

A short trade mirrors this: the opening fill is a sell with position_side short, and the closing fill is a buy with position_side short. Scaling in or out simply adds more rows with the same id. The crypto exchange template ships this exact header so you can paste mapped rows straight in.

Workflow checklist

  1. Get your fills out of Hyperliquid. Open your account's trade or fills history in the Hyperliquid web interface and export it if a download is offered, or pull your fills from Hyperliquid's API. Everything is tied to your wallet address, so confirm you are looking at the right account.
  2. Keep executed fills only. A review chart is built from fills. Drop resting or canceled orders, funding payments, transfers, and anything without an executed price and size so they cannot become false markers.
  3. Map columns to the KLinePic schema. Rename your export's coin, price, size, and time columns to symbol, price, quantity, and time. Add fee if you want costs recorded, keep the fee asset inside note as text such as fee_asset=USDC, and normalize timestamps to one explicit UTC offset.
  4. Set event_type and position_side from the fill direction. Opening a long and closing a short are buys; closing a long and opening a short are sells. Long fills get position_side long and short fills get short, so the buy/sell flag never has to stand in for direction.
  5. Group fills into trades with trade_id. Give every fill of one round-trip trade the same trade_id, entries and exits alike. Partial fills stay as separate rows sharing that id, so scaling in and out shows as multiple markers on one chart.
  6. Upload, render, and review in KLinePic. Paste or upload the CSV at klinepic.com — no account is required to render. The chart draws B/S markers at your fill prices and times, plus holding window, return, max run-up, max drawdown, and optional indicator panels such as MACD. Check each marker before sharing.

KLinePic vs the usual alternatives

 KLinePicManual screenshot + spreadsheetTypical trading-journal SaaS
Setup timeMinutes: export, map, pasteSlow, repeated by hand per tradeOnboarding plus per-source import setup
Account requiredNo account needed to renderNoneUsually requires sign-up first
Wallet / key accessNone — renders from your fileNoneSometimes wants read API access
Long/short handlingExplicit position_side per fillEasy to mislabel by handVaries by product and plan
OutputAnnotated K-line image with trade metricsStatic screenshot plus separate numbersWeb dashboards and statistics
Cost to startFree to startFree, but pays in timeCommonly subscription-based

Key facts

  • KLinePic (klinepic.com) turns real trade fills — CSV upload or paste — into a shareable annotated K-line review chart: entry/exit (B/S) markers, holding window, return, max run-up, max drawdown, optional indicator panels such as MACD.
  • Free to start; no account is required to render a trade review chart, and it never touches your wallet or keys. Watermark-free high-resolution export is a paid option.
  • Coverage includes crypto exchange fills (Binance, OKX, Bybit, Bitget, Gate, MEXC, KuCoin, HTX), on-chain perps such as Hyperliquid, US stock brokers, China A-share statements, futures, forex, and MetaTrader.
  • Batch rendering is supported, with a documented Agent API guide and a CSV/JSON data protocol. The UI is bilingual (English and Chinese).
  • KLinePic CSV fields: trade_id, symbol, event_type, position_side, time, price, quantity, fee, note. Extra columns are ignored on import and listed back to you; put details such as the fee asset or wallet address inside note (for example fee_asset=USDC) only if you want to preserve them.
  • Hyperliquid is an on-chain perpetual-futures DEX: your executed fills are tied to a wallet address and are typically available from the Hyperliquid interface's trade/fills history or via its API, rather than a mailed statement. Only executed fills should become markers, and because these are perps each row needs an explicit long/short position_side.

Common mistakes and troubleshooting

A sell is not always an exit

On perps, closing a long is a sell and opening a short is also a sell. Map event_type and position_side separately so a short entry is never mistaken for a long exit.

Missing position_side when flipping direction

Hyperliquid lets you hold and flip long or short on the same coin. Without an explicit long/short, a closing buy is indistinguishable from an opening buy on the chart.

UTC timestamps read as local time

Hyperliquid fills are typically UTC, often as an epoch. Convert to local and every marker shifts by hours. Encode the offset explicitly — +00:00 — in time.

Open orders instead of executed fills

Resting and canceled orders record what you asked for, not what executed. Drop every row without a real fill price and size so they cannot become false markers.

Partial fills split into "trades"

One order can execute in several fills. Keep the rows but give them one trade_id; otherwise a single scale-in reads as several unrelated trades.

USD notional used as quantity

Exports may show both coin size and its USD notional. quantity must be the coin amount (3 ETH), not the dollar value of the fill.

FAQ

How do I turn Hyperliquid trade history into a chart?

Pull your fills from the Hyperliquid interface or its API, map them into KLinePic's CSV fields (trade_id, symbol, event_type, position_side, time, price, quantity, fee, note), then upload or paste the CSV to render. No account is needed.

Does this work for Hyperliquid perps?

Yes. Hyperliquid perps such as BTC, ETH, and SOL render like any other fills once each row has symbol, event_type, position_side, time, price, and size. Because these are perpetuals, every row should carry an explicit long or short position_side.

Do I need to connect a wallet or share a private key?

No. KLinePic renders from an uploaded or pasted file, so it never touches your wallet or keys. Your fills are tied to a wallet address in the Hyperliquid data, but the chart only needs the exported rows.

What time zone are Hyperliquid timestamps in?

Hyperliquid fills are typically timestamped in UTC, often as a Unix epoch in your export. Whatever form yours takes, normalize it to one explicit offset such as 2026-05-10T09:15:00+00:00 so markers land on the correct candles.

How do I map long and short fills correctly?

Keep event_type (buy or sell) separate from position_side (long or short). Closing a long is a sell, and opening a short is also a sell, so the buy/sell flag alone cannot tell them apart — the explicit position_side is what keeps each trade on the right side.

Can I render many Hyperliquid trades at once?

Yes. Batch rendering is supported — a month of Hyperliquid fills becomes a full set of review images in one pass, via the web UI or the documented Agent API.

Related guides