Hyperliquid calculates unrealized PnL as side × (mark price − entry price) × position size, books each closing fill's price PnL plus its fee as Closed PNL, and pays funding hourly as a separate line; ROE is PnL ÷ initial margin (notional ÷ leverage). On Hyperliquid the base-tier fees are 0.045% taker and 0.015% maker, funding settles every hour, and the app’s PNL (ROE %) column shows the price part only. This guide explains where each number comes from and where the app shows it; to estimate a trade before you place it, with those rates, the HOLYGRAIL referral discount and funding (or another venue's rates), use the calculator below.
Short version. 1) Price PnL = side × (exit − entry) × quantity. 2) Fees = notional × fee rate on each fill; funding = notional × rate for every interval you hold. 3) ROE = PnL ÷ margin, so 10x turns a 4.05% move into about 40.5%, but leverage never changes the dollar result for a given size. 4) On Hyperliquid, PNL (ROE %) is price-only on the mark price, Closed PNL in Trade History already includes fees, and funding is paid hourly and listed separately. Worked example: long 0.1 BTC at $84,573 with 10x, exit at $88,000 after 48 h gives +$342.70 price PnL, −$7.77 taker fees and −$5.07 funding, so net +$329.86 (39.0% on $845.73 margin).
How to calculate PnL on Hyperliquid, step by step
Hyperliquid perps are linear, USDC-settled contracts, so a trade's result is the price PnL on the position size, less the fee on each fill and the hourly funding you paid (or plus the funding you received). The same arithmetic, written out:
Long PnL = (exit price − entry price) × quantity
Short PnL = (entry price − exit price) × quantity
Fees = entry notional × entry fee rate + exit notional × exit fee rate
Funding = notional × funding rate × number of intervals held (paid if you are on the paying side, received otherwise)
Net PnL = PnL − fees − funding paid + funding received
Initial margin = entry price × quantity ÷ leverage
ROE = PnL ÷ initial margin = price change % × leverage
Break-even exit (long) = (entry notional + entry fee + funding paid) ÷ (quantity × (1 − exit fee rate))
Step by step, with a worked trade (long 0.1 BTC on Hyperliquid, taker both ways, base tier):
- Quantity and notional. 0.1 BTC × $84,573 = $8,457.30 of notional. If you think in dollars, quantity = notional ÷ entry price.
- Margin. At 10x the initial margin is $8,457.30 ÷ 10 = $845.73.
- Price PnL. ($88,000 − $84,573) × 0.1 = +$342.70, a +4.05% move.
- Costs. Entry fee $3.81 and exit fee $3.96 at 0.045%; 48 hours of funding at 0.00125% per hour ≈ $5.07.
- Net and ROE. Net PnL +$329.86. ROE on the price move is +40.5%; net of costs it is +39.0%. The trade breaks even at about $84,700, 0.15% above entry.
A short is the mirror image: it profits when the price falls, and at a positive funding rate it receives funding instead of paying it. Fees are charged on notional, not on margin, so at 10x the $7.77 of fees above is 0.92% of the margin.
Crypto Futures Calculator — Run these formulas on your own trade: net PnL, ROE, both fees, funding at each venue’s interval, the break-even exit and the price for a target ROE. — Open the calculator →Does leverage change PnL? Margin and ROE by leverage
Leverage changes your margin and your ROE, not your dollar PnL. For the same quantity, the price PnL, the fees and the funding are identical at 2x and at 40x. Some online calculators multiply the dollar PnL by the leverage; that is wrong. Leverage only decides how much collateral backs the position, so the same dollar result becomes a larger percentage of a smaller margin, and an isolated position is liquidated after a smaller move.
| Leverage | Initial margin | ROE (price) | Net return on margin | Net PnL |
|---|---|---|---|---|
| 2x | $4,228.65 | +8.1% | +7.8% | +$329.86 |
| 5x | $1,691.46 | +20.3% | +19.5% | +$329.86 |
| 10x | $845.73 | +40.5% | +39.0% | +$329.86 |
| 20x | $422.87 | +81.0% | +78.0% | +$329.86 |
| 40x | $211.43 | +162.1% | +156.0% | +$329.86 |
Long 0.1 BTC from $84,573 to $88,000, taker fees at 0.045% and 48 h of funding at 0.00125%/h. The last row is BTC’s maximum leverage on Hyperliquid (40x).
Where leverage does matter is risk: at 40x the margin behind this trade would be $211.43, and BTC’s maintenance margin of 1.25% leaves very little room before liquidation. Size positions from your stop distance, not from the leverage slider: position size calculator, liquidation price calculator.
What a pre-trade PnL estimate should include
Before you open a position, a useful estimate covers more than the price move. Our crypto futures calculator handles the first five rows; the rest you check separately.
| Item | In the estimate? | How |
|---|---|---|
| Trading fee on the entry and the exit fill | Include | Notional × fee rate on each fill, at your real Hyperliquid tier, HYPE staking discount and referral discount |
| Funding | Include (at a constant rate) | Notional at entry × hourly rate × hours. Real rates change every hour and Hyperliquid charges on the oracle price |
| Leverage | Include | Sets initial margin and therefore ROE; it does not change dollar PnL for the same size |
| Break-even exit and target-ROE exit | Include | Solve for the exit price after both fees and funding |
| Slippage and price impact | Usually left out | Market orders fill across the book; use your expected average fill price as entry/exit instead |
| Liquidation | Check separately | A loss as large as the margin means an isolated position is liquidated first; use the liquidation price calculator |
| Builder fees on third-party apps, deposits, withdrawals, taxes | Add by hand | Front ends such as Based or Liquid add their own fee; a USDC withdrawal from Hyperliquid costs 0.2 USDC plus a tiny HyperEVM gas fee |
The referral discount applies to the first $25M of volume only, and staking discounts need HYPE staked on the trading address. Maker rebates at high volume tiers and Hyperliquid’s maker-rebate program change the fee line too: a rebate is a negative fee, so it raises Closed PNL. Fee schedules in detail: Hyperliquid fees and the DEX fee calculator. How far a market order moves the fill price: Hyperliquid slippage and price impact.
Where Hyperliquid shows PnL, and what each number includes
Most confusion comes from comparing numbers that measure different things. The Hyperliquid app shows PnL in six places:
| Where | What it is | What is in it |
|---|---|---|
| PNL (ROE %) — Positions tab | Unrealized PnL of an open position and its return on the margin behind it | side × (mark − entry) × size. Uses the mark price, not your fill or the last trade. Excludes fees and funding. |
| Funding — Positions tab | Net funding paid or received since the position was opened | Settled hourly into your balance; hover for all-time and “since changed”. |
| Closed PNL — Trade History | Realized result of each fill | Includes fees and rebates. An opening fill shows only its fee; a closing fill shows price PnL on the closed size plus its fee. |
| Payment — Funding History | Each hourly funding transfer | Negative when you paid, positive when you received. Not part of Closed PNL. |
| PNL — Portfolio page | Change in account value over 24h / 7d / 30d / all-time, net of deposits and withdrawals | Sampled about every 15 minutes; fine for a chart, not for accounting. |
| Unrealized PNL — Unified Account Summary | Sum of unrealized PnL across your positions | Shown next to Portfolio Value, Perps Maintenance Margin and the Unified Account Ratio. |
Column names and tooltips checked in the app on September 25, 2026. The app’s own tooltips say: “Mark price is used to estimate unrealized PNL. Only trade prices are used for realized PNL.” and “Closed PNL includes fees and rebates.”

Hyperliquid’s PnL formulas: unrealized, closed, entry price
From the official “Entry price and pnl”, “Margining” and “Funding” pages:
- Unrealized PnL = side × (mark price − entry price) × position size, where side = 1 for a long and −1 for a short.
- Closed PnL of a closing fill = fee + side × (price − entry price) × closed size. For an opening fill it is only the fee. The docs write the fee as a signed amount, so a fee reduces Closed PnL and a maker rebate increases it.
- Entry price. A trade is “opening” when it makes the position larger. Opening trades move the entry price to the size-weighted average of the old entry and the new fill. Closing trades leave the entry price unchanged.
- Initial margin = position size × mark price ÷ leverage. ROE = unrealized PnL ÷ that margin.
- Funding payment (every hour) = position size × oracle price × funding rate. Longs pay shorts when the rate is positive.
- Net PnL of a trade = Σ Closed PnL of its fills − funding paid + funding received.
The official docs call entry price and PnL “purely frontend components”: the actual accounting runs on your margin balance and your trades. The mark price is a median of three inputs: the oracle price plus a 150-second EMA of the book-vs-oracle gap, the median of best bid, best ask and last trade, and a weighted median of CEX perp mids (Binance (weight 3), OKX (2), Bybit (2), Gate (1) and MEXC (1)). It updates about every 3 seconds. Mark price drives unrealized PnL, margin, liquidations and TP/SL triggers. The oracle price (a weighted median of CEX spot prices) is used for funding.
Perps are USDC-margined linear contracts: 1 contract = 1 unit of the asset, and PnL is paid in USDC. Most oracles are USDT-denominated and no USDC/USDT conversion is applied, so the docs call them technically quanto contracts. For everyday PnL maths this changes nothing.
Hyperliquid Calculator — Hyperliquid PnL calculator: net PnL and ROE after fees and hourly funding, plus margin and the liquidation price, for any Hyperliquid perp. — Open the calculator →Perp PnL formulas on any DEX
The same arithmetic works on Lighter, Aster and most other perp venues. Only the fee rates, the funding interval and the price used for marking change.
- Price PnL (linear, USD- or USDC-settled): side × (exit − entry) × size in coins. Long 0.12015 BTC ($10,000 at $83,229), exit $88,000: +$573.24.
- Return on margin: price change % × leverage. A 5.73% move at 10x is +57.3% on the $1,000 margin, before costs.
- Fees: notional × fee rate on each fill. A $10,000 round trip as a taker costs $9.00 on Hyperliquid (0.045% base tier), $8.00 on Aster’s standard order-book perps such as BTCUSDT (0.04%; makers pay 0%; a small “Group B” list of pairs charges 0.1%) and $0.00 on a Lighter Standard account (0% maker and 0% taker).
- Funding: size × price × rate at every interval. Hyperliquid and Lighter settle every hour; Aster’s BTC, ETH and SOL perps every 8 hours, with other Aster markets on 4-hour, 2-hour or 1-hour intervals (Aster’s fundingInfo API, September 25, 2026). Compare the rate per hour, not per interval.
- Net PnL = price PnL − fees − funding paid + funding received − any deposit and withdrawal costs. Orders on Hyperliquid and Lighter carry no gas; on Hyperliquid the cost of leaving is the withdrawal fee (0.2 USDC plus a tiny HyperEVM gas fee in HYPE for USDC to Arbitrum).
- Inverse (coin-margined) contracts work differently: PnL in coins = side × contract value in USD × (1/entry − 1/exit). The same $10,000 long from $83,229 to $88,000 earns 0.006514 BTC, worth $573.24 at the exit price, but the collateral is BTC too, so a long carries extra BTC exposure. Hyperliquid, Lighter and Aster list only linear USDC or stablecoin-margined perps. Details: coin-margined vs USDT-margined perps.
Before you size a trade, also work out where it would be liquidated: how to calculate liquidation price.
Realized vs unrealized PnL on Hyperliquid
Unrealized PnL is the mark-to-market result of what you still hold: side × (mark − entry) × size, recalculated as the mark price moves. Realized PnL is what has already been booked: the Closed PNL of every fill (price PnL on the closed size plus the fee) and, separately, the hourly funding payments that have moved in or out of your balance. The app puts it in one line: “Mark price is used to estimate unrealized PNL. Only trade prices are used for realized PNL.”
Which event lands in which bucket
| Event | Bucket | Where you see it | Note |
|---|---|---|---|
| Mark price moves while you hold | Unrealized | PNL (ROE %) column | Measured on the mark price, not the last trade or your chart candle |
| Opening fill (new position or adding) | Realized: the fee only | Closed PNL in Trade History | Adding also re-averages the entry price, so unrealized is measured from the new average |
| Closing fill: full or partial close, TP/SL, liquidation | Realized | Closed PNL in Trade History | Price PnL on the closed size plus the fee; the rest of the position stays unrealized |
| Hourly funding payment | Cash already in your balance | Funding column and Funding History | Settled every hour while the position stays open; not part of Closed PNL |
| Withdrawal or transfer of unrealized profit | Neither | Balances / withdraw modal | Moves margin out but does not close anything; the position stays open and exposed |
What unrealized PnL already does for you
“Unrealized” does not mean “not there yet” on Hyperliquid. The margining docs say that in cross margin, unrealized profit is automatically available as initial margin for new positions; in isolated margin it is added to that position’s margin. Liquidation also runs on account value including unrealized PnL. And you can even withdraw unrealized profit, subject to one rule: the margin left must be at least max(initial margin required, 0.1 × total open notional).
Example. You have $2,000 USDC in a cross account and go long 0.1 BTC at $84,573 with 10x. BTC’s mark reaches $88,000: unrealized PnL is +$342.70 and account value $2,342.70. The transfer rule needs max(0.1 × 88,000 ÷ 10, 10% × $8,800) = $880 to stay, so about $1,462.70 could be withdrawn, most of the unrealized profit included. But withdrawing is not closing. The position is still open, Closed PNL has not changed, and with $880 left the cross liquidation price rises from about $65,390 to about $80,200, only 8.9% below the mark (our arithmetic with BTC’s 1.25% maintenance margin, before fees and funding). If BTC then drifts back to $84,573, the account is worth about $537, not $880. To lock a profit, close some size; to use it as a safety buffer, leave it in.
Worked example: a partial close turns open profit into booked profit
Long 2 ETH at the September 25, 2026 mark of $2,702.60 ($5,405.20 notional), taker fills at the base 0.045%. The price path is hypothetical; funding is left out to keep the columns clean.
| Step | Realized (Closed PNL) | Unrealized | Total |
|---|---|---|---|
| Open: buy 2 ETH at $2,702.60 (taker) | −$2.43 (fee) | $0.00 | −$2.43 |
| Mark rises to $2,850 | −$2.43 | +$294.80 | +$292.37 |
| Sell 1 ETH at $2,850 (taker) | +$147.40 − $1.28 = +$146.12 | +$147.40 (on 1 ETH left) | +$291.09 |
| Mark falls back to $2,702.60 | +$143.69 total | $0.00 | +$143.69 |
| Close the last 1 ETH at $2,702.60 (taker) | −$1.22 (fee only) | — | +$142.47 realized |
| Same path with no partial close | −$2.43 and −$2.43 | — | −$4.86 realized |
At the peak both traders were up about $292. The one who sold half booked $146 and kept $142.47 after the round trip; the one who waited paid $4.86 in fees and finished slightly negative. The closing fill’s Closed PNL is measured from the unchanged entry price ($2,702.60), which is why the realized number moves only on closing fills while the unrealized column moves on every mark update. Plans for doing this systematically: partial close and scale-out and the trailing stop tutorial.
Funding: realized cash, reported separately
Funding is paid every hour while the position is open, so it is real money in or out of your balance even though the position has not been closed. It does not appear in PNL (ROE %) or in Closed PNL; the Funding column shows the running net since you opened, and Funding History lists each payment. At the 0.00125%/h baseline, a $5,405 ETH long pays about $0.07 an hour, or $1.62 a day, before any premium — small next to the $292 swing above, but over a month it can exceed both taker fees combined.
Rules that keep the two numbers apart
- Set risk limits from account value you wrote down in advance, not from the morning’s unrealized peak. A high-water mark on an open position is not a budget.
- Bank deliberately. When unrealized profit is large relative to the risk you planned, convert a set fraction with a take-profit or partial close; re-check that stop distance × remaining size still fits your risk budget.
- An unrealized loss with a broken thesis is a realized loss you are postponing, usually at a worse price. Stops decide the timing for you.
- Journal realized and unrealized separately at the end of each day: Closed PNL, net funding and open unrealized as three lines. A “+2.5R day” that reversed to scratch is a scratch in the journal. Template ideas: trading journal and performance tracking.
Worked example 1: BTC long, cross margin, 10x
Real contract specs on September 25, 2026: BTC max leverage 40x, size step 0.00001 BTC (szDecimals 5), minimum order $10 of notional, mark $84,573 at 09:55 UTC. The exit price is hypothetical.
| Step | Calculation | Result |
|---|---|---|
| Position | Long 0.1 BTC at $84,573 (the BTC mark at 09:55 UTC, September 25, 2026) | Notional $8,457.30 |
| Leverage and margin | 10x, cross | Initial margin = $8,457.30 ÷ 10 = $845.73 |
| Exit | Sell 0.1 BTC at $88,000 (hypothetical, +4.05%) | Notional $8,800.00 |
| Price PnL | (88,000 − 84,573) × 0.1 | +$342.70 |
| Entry fee (taker 0.045%) | $8,457.30 × 0.00045 | −$3.81 |
| Exit fee (taker 0.045%) | $8,800.00 × 0.00045 | −$3.96 |
| Funding, 48 hours at the 0.00125%/h baseline | ≈ $8,457 × 0.0000125 × 48 | −$5.07 |
| Net PnL | 342.70 − 3.81 − 3.96 − 5.07 | +$329.86 |
| ROE shown just before exit | 342.70 ÷ 845.73 | +40.5% |
| Net return on margin | 329.86 ÷ 845.73 | +39.0% |
What you would see in the app: while the position is open, the PNL (ROE %) column reads about +$342.70 (+40.5%) at a $88,000 mark. In Trade History, the opening fill shows a Closed PNL of −$3.81 (the fee only) and the closing fill shows +$338.74 (price PnL minus the exit fee), together +$334.93. Funding History lists 48 hourly payments that add up to about −$5.07. Net: +$329.86. With the 4% referral discount the two fees would be $3.65 and $3.80, and the net would be +$330.17.
Liquidation for this cross position depends on your whole cross account, not on the 10x you selected. The docs are explicit: “The actual liquidation price is independent on the leverage set for cross margin positions.” If the $845.73 margin were your entire account, the formula below puts liquidation near $77,079 (−8.9%). With $2,000 in the account it moves to about $65,390 (−22.7%). BTC’s maintenance margin is 1.25%, half of the 2.5% initial margin at 40x.
Worked example 2: ETH short, isolated, 5x
ETH: max leverage 25x, so maintenance margin is 2% (half of 4%). Mark $2,702.60 at 09:55 UTC. Short 2 ETH, notional $5,405.20, isolated at 5x, so the isolated margin is $1,081.04.
- If ETH rises to $2,850: unrealized PnL = −1 × (2,850 − 2,702.60) × 2 = −$294.80, ROE = −27.3%.
- If ETH falls to $2,600: price PnL = +$205.20 (ROE +19.0%). Taker fees on both legs are $2.43 + $2.34 = $4.77, so Closed PNL totals +$200.43 before funding. At a positive funding rate this short receives funding.
- Liquidation price: the docs give liq_price = price − side × margin_available ÷ size ÷ (1 − l × side), with l = maintenance margin rate and margin_available = isolated margin − maintenance margin. Here: 2,702.60 + (1,081.04 − 108.10) ÷ 2 ÷ 1.02 = ≈ $3,179.53, a 17.6% rise. At that price the remaining equity ($127.18) equals the 2% maintenance margin on $6,359 of notional.
Two details matter. For isolated positions, leverage does move the liquidation price because it sets how much margin sits in the position. Funding and fees paid out of the position’s margin also shift it over time. The liquidation price calculator and margin health guide go deeper.
How fees enter PnL
Fees are charged on every fill, as a percentage of the fill’s notional, and show up in the Fee column and inside Closed PNL. Perp fees at the base tier (under $5M of 14-day weighted volume) are 0.045% taker and 0.015% maker. They fall with volume tiers, with HYPE staking discounts (5% to 40%) and by 4% on your first $25M with a referral code.
| Fee cost of a $10,000 round trip | Rates | Cost |
|---|---|---|
| Base tier, taker both legs | 0.045% + 0.045% | $9.00 |
| Base tier with referral code (−4%) | 0.0432% + 0.0432% | $8.64 |
| Base tier, maker both legs | 0.015% + 0.015% | $3.00 |
| Maker both legs with referral code | 0.0144% + 0.0144% | $2.88 |
| Maker in, taker out | 0.015% + 0.045% | $6.00 |
Perp fees from Hyperliquid’s fee docs and the order form, which prints them as 0.0450% / 0.0150% (checked October 19, 2026). Fees are on notional, not margin: at 10x the same $9.00 is 0.9% of a $1,000 margin. Spot fees are 0.070% / 0.040% at tier 0. Full schedule: Hyperliquid fees.
Fees scale with leverage in ROE terms. A trader who opens and closes $10,000 of notional 20 times a week pays $180.00 at the base taker rate. With the referral discount that drops to $172.80, and resting limit orders at the maker rate would bring it down to $60.00. On a small account, that gap often decides whether the month is green.
Cut the fee line in your PnL
New accounts can join with HOLYGRAIL: 4% off fees on the first $25M of volume, applied automatically to every fill. Guide: how the HOLYGRAIL code works.
How funding enters PnL
Funding is paid every hour, peer to peer. Hyperliquid takes no fee on it. The rate is an 8-hour rate paid in eighths, built from the premium of the perp over the oracle plus a fixed interest component of 0.01% per 8 hours (0.00125% per hour). It is capped at 4% per hour. At 09:55 UTC on September 25, 2026, BTC, ETH, SOL and HYPE were all at that 0.00125%/h baseline.
- Where it shows: the Funding column on the position (“Net funding payments since the position was opened”), each payment in Funding History (Payment and Rate columns), and your balance. It is not in PNL (ROE %) or Closed PNL.
- How big it gets: across the 720 hourly BTC rates from August 26 to September 25, 2026, longs paid a total of 0.7664%. That is about $77 on a $10,000 long held all month, or about $65 on the $8,457 position in example 1. ETH was 0.8277% in the same window. To model a month in the crypto futures calculator, enter 720 hours at the average hourly rate (0.7664% ÷ 720 ≈ 0.00106%).
- Why your own maths is slightly off: payments use the oracle price, not your entry or the mark, and the rate changes every hour.
For a short held through a rally, funding is income. For a long held for weeks in a crowded market, it can outweigh the fees. The funding rate guide has the full formula.
Cross, isolated and the Unified Account
Cross is the default. All cross positions share one collateral pool. Unrealized profit on one cross position automatically counts as initial margin for new positions, and losses on any of them reduce the equity protecting all of them. Isolated ring-fences one position: its unrealized PnL is added to that position’s margin only, and you can add or remove margin afterwards. Some assets are strict isolated, where margin cannot be removed and is released proportionally as you close. Differences, with examples: cross vs isolated margin.
Unified Account is the app’s default and recommended account mode. There is one balance per asset, shared by spot and by cross positions on every perp DEX that uses it as collateral. USDC backs validator-operated perps, HIP-3 markets such as trade.xyz’s and USDC spot pairs. The order form’s Unified Account Summary shows Portfolio Value, Unrealized PNL, Perps Maintenance Margin, Unified Account Leverage (total cross position value ÷ total collateral) and the Unified Account Ratio. The app warns that above 95% on that ratio “your portfolio may be liquidated”. In practice this means your spot USDC is also protecting cross positions, so a losing perp can draw on money you meant for spot. Other modes are Portfolio margin (HYPE, BTC, USDC and USDT as collateral) and Standard, with separate balances per DEX. Unified and portfolio-margin accounts are limited to 50,000 actions per day.
Withdrawing profit: you can move unrealized PnL out of a cross account or an isolated position, as long as the margin left is at least the initial margin requirement and at least 10% of your total open notional.
Adding to and partly closing a position
Say you are long 0.1 BTC at $84,573 and buy another 0.05 BTC at $82,000. That trade is “opening”, so the new entry price is (0.1 × 84,573 + 0.05 × 82,000) ÷ 0.15 = $83,715.33. Its Closed PNL is only the fee. If you then sell 0.05 BTC at $86,000, the entry stays at $83,715.33. That closing fill’s Closed PNL is (86,000 − 83,715.33) × 0.05 = $114.23, minus the $1.94 taker fee. The remaining 0.1 BTC keeps the averaged entry. This is why your Trade History can show a realized profit while the position still shows a loss, or the other way round.
Spot PnL and the portfolio page
Spot uses the same formulas. Buys are opening trades and sells are closing trades. Transfers in and out are treated as buys or sells at the mark price. In a Unified Account the Balances table has a PNL (ROE %) column per asset. Tokens from genesis distributions (such as the HYPE airdrop) are given an entry price as if bought at a 10,000 USDC market cap, which makes their displayed ROE meaningless.
The Portfolio page shows PNL, Volume, Max Drawdown, Total Equity, Trading Equity and Earn Balance, plus Account Value, PNL and Perps PNL charts for 24 hours, 7 days, 30 days and all-time. There is a filter for Perps + Spot + Vaults. The docs warn that these charts are sampled at deposits, withdrawals and every 15 minutes, so they are “not recommended to precise accounting purposes”. Max Drawdown is a frontend statistic: the largest (PnL(end) − PnL(start)) ÷ account value(start) over any window. It does not affect margin.
Hyperliquid PnL card and any wallet’s PnL
The app includes a share feature with options labelled Show PNL, Save Image, Copy Link and Share on X (from the app’s interface strings, September 2026). We could not open it without a connected account, so we have not confirmed where it sits in the menus or exactly which figures the card prints. Two tips that hold either way: a shared PnL card is a snapshot for social posts, not a record, so keep your CSV exports for accounting; and the Show PNL option suggests the dollar figure can be switched off, so check the preview before you post if you would rather not reveal your size.
Checking any wallet’s Hyperliquid PnL. Every Hyperliquid account is on-chain, so PnL is public by address. The official leaderboard at app.hyperliquid.xyz/leaderboard ranks accounts by PnL, ROI and volume over day, week, month and all-time windows. To look at one address in detail (open positions, entry prices, funding, a PnL history), paste it into a tracker such as Hyperdash or CoinGlass’s Hyperliquid pages. We compare the options, including alerts for large positions, in the Hyperliquid whale tracker guide. A tracker’s PnL for someone else is still marked on the mark price and may leave out funding or deposits, so treat it like the app’s PNL (ROE %) column, not like a tax record.
Exporting history and a spreadsheet template
Trade History has Export as CSV and Export More. The export columns are Time, Market, Direction, Price, Size, Trade Value, Fee, Closed PNL. Funding History exports Time, Market, Size, Side, Payment, Rate. Very long exports can come back truncated (the app shows “Export to CSV was truncated”). The API endpoint userFillsByTime returns 2,000 fills per call and only your 10,000 most recent fills, so heavy traders should export monthly. Deposits, transfers and withdrawals are in userNonFundingLedgerUpdates. Step by step: Hyperliquid trade history CSV export.
A simple sheet that reproduces the app:
- Paste the trade export. Net trading PnL = SUM(Closed PNL). Total fees = SUM(Fee), for reference only (already inside Closed PNL).
- Paste the funding export. Net funding = SUM(Payment).
- Net PnL = SUM(Closed PNL) + SUM(Payment).
- Check: starting account value + deposits − withdrawals + net PnL ≈ ending account value (differences come from open positions’ unrealized PnL, spot price moves and vault balances).
- For a pre-trade estimate, use the crypto futures calculator: gross = (exit − entry) × size × side; fees = (entry notional + exit notional) × fee rate; funding ≈ notional × hourly rate × hours.
For taxes, how perp gains, fees and funding are treated depends on your country. Our DEX tax reporting guide explains the US rules and what records to keep. The realized vs unrealized split is covered above, and the venue-agnostic formulas in perp PnL formulas on any DEX.
Common PnL mistakes
- Multiplying dollar PnL by leverage. Leverage scales ROE, not the dollar result for a given size.
- Reading ROE as account return. ROE is on the position’s margin. At 10x on a quarter of your account, +40% ROE is about +10% on the account.
- Double-counting fees. Closed PNL already contains them; do not subtract the Fee column again.
- Forgetting funding. It is not in Closed PNL. Sum Funding History separately.
- Using your fill price for unrealized PnL. The app uses the mark. In a fast market the mark and the book can differ, and that difference is a marking convention, not a hidden fee.
- Assuming leverage sets a cross liquidation price. In cross, only account equity and maintenance margin matter.
- Trusting the portfolio chart for accounting. It is sampled every 15 minutes; use the exports.
- Losing old fills. After 10,000 fills the API cannot return the oldest ones. Export as you go.
FAQ
How is ROE calculated on Hyperliquid?
ROE (return on equity) = unrealized PnL ÷ the initial margin behind the position (position value ÷ leverage), which works out to the price change % × leverage. A +4.05% BTC move at 10x is about +40.5% ROE. On Hyperliquid the PNL (ROE %) column is price-only: fees and funding are not in it. After both taker fees and 48 hours of baseline funding the same trade returns +39.0% on its margin.
Does higher leverage increase profit on Hyperliquid?
Not for the same position size. A 0.1 BTC long earns +$342.70 on the move in the example whether you use 2x or 20x, and the fees and funding are the same too. Leverage only lowers the margin you post, which raises ROE (and the % loss on that margin) and moves an isolated liquidation price closer. It increases profit only if you use it to open a bigger position, which increases the possible loss by the same amount.
Does Hyperliquid’s ROE include fees and funding?
No. The PNL (ROE %) column on an open position is price-only: side × (mark − entry) × size ÷ margin. Fees appear in Closed PNL when you trade, and funding is paid hourly into your balance and listed in Funding History. To see a trade’s ROE after both fees and funding before you place it, use our crypto futures calculator, which applies Hyperliquid’s tiers, HYPE staking and the referral discount, or Lighter, Aster, edgeX, Binance and Bybit rates.
How is PnL calculated on Hyperliquid?
Unrealized PnL = side × (mark price − entry price) × position size, with side +1 for longs and −1 for shorts. When you close, the Closed PNL of that fill is the price PnL on the closed size plus the trading fee (fees are negative, rebates positive). Funding is paid hourly into your balance and shown separately in the Funding column and Funding History. Net PnL = sum of Closed PNL − net funding paid. To estimate a trade before you place it, with the fee on both fills and funding, use the crypto futures calculator (/tools/futures-pnl-calculator/).
What is the difference between realized and unrealized PnL on Hyperliquid?
Unrealized PnL is the mark-to-market result of an open position, side × (mark − entry) × size, and changes with the mark price. Realized PnL is booked: the Closed PNL of each fill (price PnL on the closed size plus the fee, or just the fee on an opening fill) plus the hourly funding payments already settled to your balance. A partial close realizes only the closed slice; the rest stays unrealized, measured from the same entry price.
Does Hyperliquid PnL include fees and funding?
Closed PNL in Trade History includes fees and rebates; the app says so in its tooltip. Unrealized PnL on an open position does not. Funding is neither: each hourly payment is credited or debited to your balance and listed in Funding History, and the Funding column on the position shows the running net since you opened it.
Why is my PnL negative right after I open a trade?
Unrealized PnL uses the mark price, which is a median of oracle, book and external perp prices updated about every 3 seconds, not your fill price. If you bought at the ask while the mark sits near the mid, you start slightly negative. Your taker fee also appears as a negative Closed PNL on the opening fill.
Is funding charged on the mark price or my entry price?
Neither. The docs say the hourly payment is position size × oracle price × funding rate. The oracle is the validators’ weighted median of CEX spot prices, so a funding payment can differ slightly from a figure computed on your entry price.
Can I withdraw unrealized profit?
Yes, as long as the margin left after the transfer is at least the initial margin requirement and at least 10% of the total notional of your open positions (transfer_margin_required = max(initial margin, 0.1 × total position value)).
How do I calculate perp PnL on other DEXs like Lighter or Aster?
Use the same linear formula: side × (exit − entry) × size, minus fees on each fill, minus funding paid plus funding received. What changes is the fee rate (a $10,000 taker round trip costs $9.00 on Hyperliquid, $8.00 on Aster’s standard perps such as BTCUSDT and $0.00 on a Lighter Standard account) and the funding interval (every hour on Hyperliquid and Lighter, every 8 hours on Aster’s BTC, ETH and SOL perps). Coin-margined inverse contracts pay PnL in the coin: contract value × (1/entry − 1/exit). The crypto futures calculator (/tools/futures-pnl-calculator/) applies each venue's fee schedule and funding interval for you.
How do I export my Hyperliquid PnL for taxes?
Trade History has Export as CSV (columns Time, Market, Direction, Price, Size, Trade Value, Fee, Closed PNL) and Funding History exports Time, Market, Size, Side, Payment, Rate. Save deposits and withdrawals too. The API returns only your 10,000 most recent fills, so export regularly if you trade a lot.
Trade on Hyperliquid with lower fees
178 perp markets (as of October 20, 2026), hourly funding, fills and PnL fully on-chain. Referral code HOLYGRAIL: 4% off fees on your first $25M.
New to perps? Start with how to use Hyperliquid or what a DEX is. Comparing venues? See the best DEX guide. Lighter (code 718610TD) charges 0% on Standard accounts, which changes the fee line in the maths above; the crypto futures calculator compares the same trade across venues.
Disclosure: HOLYGRAIL and 718610TD are our referral codes; we earn a share of fees paid by referred accounts. Formulas are from Hyperliquid’s documentation; app labels, prices and funding data were checked on September 25, 2026 and the fee and margin parameters come from our facts registry. Exit prices in the examples are hypothetical. Not financial or tax advice.