TROUBLESHOOTING

Hyperliquid → Koinly import: what works, what breaks

Updated October 2026 · 7 min read · Not tax advice

Koinly added Hyperliquid support in March 2025, which was a real step forward — before that, there was no native path at all. But Hyperliquid is a perp-first venue, and Koinly's engine was designed around spot disposals. That mismatch produces the three classic failure modes below, which traders report repeatedly in community forums.

How the import works today

Koinly syncs Hyperliquid as a wallet: you paste your address and it reads on-chain and API data. Deposits, withdrawals, and spot trades generally import cleanly. Perp activity is where the model strains.

Failure mode 1: realized PnL gets re-derived instead of read

Hyperliquid reports closedPnl for every closing fill — the exchange's own number. Generic importers instead rebuild PnL from entry/exit prices, and rounding, partial closes, and position netting can drift the reconstructed figure away from the exchange-reported one. If Koinly's realized total disagrees with Hyperliquid's, compare against exchange-reported totals first before troubleshooting anything else.

Failure mode 2: funding gets dropped or merged

Funding on Hyperliquid is an hourly ledger of debits and credits, not a trade. Imports that only process trade rows will show PnL that "almost reconciles" — the residue is usually net funding. Our funding treatment guide covers what your accountant will want to know about those amounts.

Failure mode 3: duplicates across wallets and CSVs

Importing the same activity twice — once via wallet sync, once via CSV, or across a main wallet and agent wallets — double-counts PnL. The fix is boring: one source of truth per wallet, and a manual dedupe pass before generating the report.

A workable cross-check workflow

  1. Get your exchange-reported totals per year: realized PnL, fees, net funding — the scanner does this in one step.
  2. Import Hyperliquid into Koinly (wallet sync).
  3. Compare Koinly's yearly totals against the exchange totals.
  4. Investigate any gap larger than rounding: funding dropped? duplicates? spot mixed into perp?
  5. Only after the gap is explained, generate the tax report.
The 10,000-fill limit applies here too. Koinly faces the same public-API ceiling on fills history as everyone else. High-frequency traders should request their full archive from Hyperliquid support and import that instead of relying on API sync alone.

When to skip Koinly for this venue

If your activity is 100% Hyperliquid perps and you file under capital treatment with a CPA, a clean exchange-reconstructed export may be all you need — one venue, one asset class (USDC-margined), one page of totals. Koinly earns its keep when you have many venues to merge. Choose based on your actual shape of activity, not habit.

Get the exchange-reported numbers first

Realized PnL, fees, and funding per year — the reference totals your Koinly import should match.

Scan my wallet