Carry: funding, basis and borrow
Carry on Hyperliquid is set by three published rates, hourly funding, the spot-perp basis and the borrow rate, each computable before a position is taken.
Carry is what a position earns or costs just by being held. The classic carry holds spot and shorts the same size of perp: price exposure nets to zero, and you collect funding when longs pay shorts.
Say you hold 1 BTC spot at 100,000 USDC and short 1 BTC perp. In a quiet market you collect 0.00125 per cent an hour on 100,000 USDC: 1.25 USDC an hour, 30 a day, 10,950 a year simple. A taker round trip through both legs costs 0.23 per cent, 230 USDC, so the first 184 hours only pay the fees.
It pays only if annualised funding plus idle-collateral yield beats fees and borrow cost. The mechanisms live on funding, borrowing and lending and portfolio margin.
Funding is the income, paid hourly
Section titled “Funding is the income, paid hourly”Funding is paid hourly, peer to peer with no fee, at one eighth of an 8-hour rate; when positive, longs pay shorts.
F = P + clamp(I - P, -0.0005, 0.0005)P = average of the premium index, sampled every 5 s over the hourpremium = impact_price_difference / oracle_priceimpact_price_difference = max(impact_bid - oracle, 0) - max(oracle - impact_ask, 0)I = 0.01% per 8 hours (0.00125% per hour)payment = position_size * oracle_price * funding_rate- The clamp sets the quiet-market rate: with the premium within 0.05 per cent of the interest component, funding equals it, 0.00125 per cent an hour, longs to shorts.
- Payment uses the oracle price, not the mark, so a perp away from its oracle is charged on oracle notional.
- Annualised, the interest component is 10.95 per cent simple, about 11.6 per cent compounded hourly (the docs’ figure): say which. Per the docs, the 4 per cent hourly cap is much looser than on centralised venues.
- HIP-3 differs: a more responsive premium,
0.5 * (impact_bid + impact_ask) / oracle - 1, and per-asset funding multipliers, so one underlying can carry differently across dexes.
The basis is a separate risk; fees dominate short holds
Section titled “The basis is a separate risk; fees dominate short holds”The basis, perp minus spot, doesn’t drive funding. Funding is measured against the oracle, a validator-computed weighted median of external spot prices, not Hyperliquid’s spot book. Hyperliquid spot against a Hyperliquid perp adds the drift between the two books, a separate risk in the docs.
Spot volume counts double towards fee tiers.
| Round trip through both legs, base tier | Cost of notional | Quiet-market funding to earn it back |
|---|---|---|
| taker: 0.070% spot, 0.045% perps | 0.23% | 184 hours, about 7.7 days |
| maker: 0.040% spot, 0.015% perps | 0.11% | about 88 hours |
Don’t count lending yield on a HYPE or BTC spot leg: supplied HYPE and UBTC reported a supply rate of 0.0 at 0.0 utilisation. Only quote assets earn.
The borrow rate and the supply identity
Section titled “The borrow rate and the supply identity”Stablecoin borrowing follows a kinked curve, with u = total_borrowed / total_supplied:
borrow_apy = 0.05 + 4.75 * max(0, u - 0.8)supply_apy = borrow_apy * u * 0.9Interest accrues continuously, indexed hourly like funding. The 0.9 is the protocol’s 10 per cent liquidation buffer, and the identity is measured to 9 decimal places.
The rate is flat at 5 per cent below 80 per cent utilisation, then adds 4.75 points per point: 52.5 per cent at 90 per cent. A borrow-funded carry is short a call on utilisation that nothing on the venue hedges today (options on the borrow rate).
Portfolio margin lets the spot leg back the perp
Section titled “Portfolio margin lets the spot leg back the perp”The two legs’ profit and loss offset, and idle USDC is supplied at the supply rate. The docs’ example, 1 BTC spot and short 1 BTC perp at 10x:
| BTC price | What happens |
|---|---|
| 100,000 USDC | interest paid only on the 10,000 of initial margin; funding earned on the full 100,000 notional |
| 150,000 | USDC borrowed automatically against the spot BTC, instead of liquidating the short |
| 200,000 | the trader must cut size to avoid a borrow and lend liquidation |
The borrow capacity, token_balance * borrow_oracle_price * LTV, binds before the liquidation ratio of 0.95: watch that headroom, not only the liquidation price. Net carry for the whole position:
funding_apr = funding_hourly * 8760net_annual = notional * funding_apr + idle_quote_balance * supply_apy - borrowed * borrow_apy - notional * round_trip_fee_rate (once per entry and exit)The numbers
Section titled “The numbers”| Quantity | Value | Source |
|---|---|---|
| Funding interval | every hour, one eighth of the 8-hour rate | docs |
| Interest component | 0.01% per 8 hours, 0.00125% per hour | docs |
| Premium clamp | plus or minus 0.05% around the interest component | docs |
| Premium sampling | every 5 s, averaged over the hour | docs |
| Impact notional | 20,000 USDC for BTC and ETH, 6,000 USDC for other assets | docs |
| Funding cap | 4% per hour | docs |
| Payment notional | position size x oracle price | docs |
| Annualisation | hourly rate x 8,760, that is 24 x 365 (simple) | code |
| Base-tier taker fee | 0.070% spot, 0.045% perps | docs |
| Base-tier maker fee | 0.040% spot, 0.015% perps | docs |
| Borrow rate | 0.05 + 4.75 * max(0, u - 0.8) |
docs |
| Supply rate | borrow * u * 0.9, measured to 9 decimal places |
spec 02 |
| USDC rates, 2026-09-20 | borrow 5.00%; supply 3.01% at 66.97% utilisation | spec 02 |
| USDT0 supply rate, 2026-09-20 | 1.78% at 39.56% utilisation | spec 02 |
| LTV | HYPE 0.65, BTC 0.5 | docs |
| Liquidation threshold | 0.5 + 0.5 * LTV: HYPE 0.825, BTC 0.75 |
docs |
| Portfolio margin liquidation | ratio above 0.95; minimum borrow offset 20 USDC | docs |
| Portfolio margin eligibility | over 5M USD weighted volume or over 10k USD account value, and account value under 25M USD | docs |
| USDC caps | 1B global supply, 500M global borrow, 250M user supply, 50M user borrow | docs |
| Action cap | portfolio margin and unified accounts: 50k user actions a day | docs |
Before you put the trade on
Section titled “Before you put the trade on”- Annualise on one convention, normalising other venues by their funding interval. The predicted fundings endpoint reports each venue’s interval, and returns nothing where the coin is not listed, which is not zero funding.
- The quiet-market rate is a floor, not a promise. Outside the clamp band funding follows the premium and can turn negative, shorts paying longs.
Reading rates from code
Section titled “Reading rates from code”fundingin an asset context is a per-hour fraction. No next-funding-time field exists; estimate the next hour boundary.- Precompile
0x812 borrowLendReserveState(uint64 token)returnsborrowYearlyRateBps,supplyYearlyRateBpsandutilizationBpsin basis points, andtotalSupplied,totalBorrowedin 1e8 units for USDC. Latest block only: sample and store rate history yourself. - Never derive the rate from
balance: it differed fromtotalSupplied - totalBorrowedby about 46.57 USDC and grew with each read. - Do the arithmetic in decimal strings, not floats.
Margin mode, caps and the two USDC tokens
Section titled “Margin mode, caps and the two USDC tokens”- Standard mode splits margin by dex: each perp dex, including each HIP-3 dex, has its own balance and cross margin, and spot does not margin perps. Spot-collateralised carry needs portfolio margin (account modes).
- Past a borrow cap, portfolio margin falls back: further margin must come in the settlement asset, as if it were off.
- Liquidation order is not deterministic: perps or spot borrows may go first, depending on oracle update order.
- HyperCore USDC and the USDC of the deepest measured HyperEVM lending market are different, unlinked contracts, so carry between the two is a swap with its own cost. USDT0 is one contract on both sides.
- Documented caps are indicative: supplied HYPE measured above its documented 10M global cap. Read the live reserve.
For the cost side of every carry, see Fees, tiers and rebates.