guides/loss harvesting

Tax-loss harvesting on Hyperliquid

updated october 2026 · ~4 min · not tax advice

An open loss is not a harvested loss

For US tax purposes, crypto is property — losses only count when realized. An underwater perp position or a spot bag trading below your entry is an unrealized loss: it offsets nothing until you close it. The disposition has to happen inside the tax year — a fill timestamped December 31 harvests for that year, the same close at January 1 lands in the next one. Venue timestamps are UTC, which is also the line the IRS reads.

On Hyperliquid the mechanics are clean: closing a perp position realizes its profit or loss immediately, and each fill carries its own closedPnl — the realized number is a sum over fills, not an estimate. Funding already settled hour by hour inside that number, so it can't be deducted again at close.

Spot is the same rule with a basis wrinkle: selling HYPE or any spot token below your cost harvests the difference — but only if the basis is known. Reward-funded or airdropped inventory sold at a 'loss' needs its receipt-date basis established first, or there's nothing to subtract.

The wash-sale question, as it stands

The statutory wash-sale rule disallows a loss when you repurchase substantially identical stock or securities within 30 days. Crypto is taxed as property, and the statute does not currently name it — Congress has proposed extending the rule to digital assets repeatedly, but as of this writing no extension is law. Under the prevailing reading, closing a losing perp and reopening the same minute still realizes the loss.

Treat that as a position with a sunset, not a permanent feature. Every serious crypto-tax bill draft has included the extension, and several tax advisors already recommend behaving as if it applies — a 30-day wait costs little against a disallowed deduction. Whether to harvest-and-reopen or harvest-and-wait is a risk-position question for your preparer, not a mechanics question.

Either way, the timestamped record is what makes the position defensible: the close, the re-entry, and the 30-day window are all provable from fill times, which is exactly what a fill-level export preserves.

Harvesting needs the full-year number

The decision that matters in December is net: realized gains minus realized losses year to date. Harvesting below your total gains shelters them; harvesting past them only creates capital losses — which offset capital gains plus at most $3,000 of ordinary income per year, the rest carrying forward. Over-harvesting isn't wrong, but it does less than people assume.

Computing that net needs every fill from January onward — and the venue's own API retains roughly 30 hours. By December, the fills that decide whether you need to harvest at all are long gone from the official endpoint; they live on chain indexers and in whatever export you made earlier.

Basisproof recomputes realized PnL across the full history from the indexer's fill stream — the free check shows the year-to-date realized number and the funding already inside it, so the December question 'how much loss do I need' is answered from data, not memory.

Common questions

?Are Hyperliquid trading losses tax deductible?

Realized losses are capital losses — they offset capital gains dollar for dollar, plus up to $3,000 of ordinary income per year; the excess carries forward indefinitely. An open losing position deducts nothing until closed.

?Does the wash-sale rule apply to Hyperliquid perps?

The statute covers stock and securities; crypto is taxed as property and no wash-sale extension is law as of this writing — though bills proposing one recur. Whether to observe a 30-day buffer anyway is a position for your preparer.

?Can I close a losing position and reopen it right away?

Under the current property treatment, the close still realizes the loss. The practical costs are a new basis, a reset holding period, and the risk that a wash-sale extension gets enacted — possibly retroactively.

?Why can't I just export December's trades?

The venue's fills endpoint retains about 30 hours. The realized number that decides how much to harvest spans January through December — by year-end most of it exists only on indexers, which is where a complete export has to come from.

Know your realized number before December ends

The free check recomputes realized PnL and funding across your full fill history — the year-to-date figure a harvesting decision is actually made on.