TradingUpdated

Cheapest perp venue to hold a position, live funding normalized

Funding cost in basis points to hold a long position for 24 hours at the current rate, normalized across venues that settle funding on 1 hour, 4 hour and 8 hour periods. Negative means longs get paid.

TL;DR. As of , Kalshi posts the lowest funding cost to hold a long 24h at -1.11 bps (24h avg) across 18 ranked venues. Source: OpenChainBench, https://openchainbench.com/benchmarks/perp-funding.

Read this carefully

Funding is signed. Positive means longs pay shorts, negative means longs get paid to hold. Venues settle on different native periods (hourly on Hyperliquid, dYdX, Lighter, Extended, Pacifica, Ondo, Vest, StandX and ApeX, every 4h on edgeX, every 8h on Kalshi, Aster and the CEX books); every figure is normalized from the venue's own quoted rate and interval before ranking. Funding is only the holding cost. Opening costs (taker fee, spread, impact) are the companion bench perp-fees.

This page answers one question. On which perp venue is it cheapest, right now, to hold a position once it is open. Perpetual futures charge funding between longs and shorts to keep the contract pinned to spot, and on a position held for hours or days this funding flow usually dwarfs the opening fee. Comparing it across venues is genuinely hard because everyone quotes a different native period: Hyperliquid and dYdX settle every hour, Binance and Bybit quote per 8 hours with some pairs moved to 4 hours, OKX, Paradex and Aster quote per 8 hours. A raw rate comparison is meaningless. The bench polls each venue's public funding endpoint every minute, reads the venue's own settlement interval alongside the rate, normalizes everything to a per hour basis, and ranks venues by the cost in basis points of holding a $1,000 ETH long for 24 hours at the current rate, with BTC and SOL columns, annualized equivalents and 7 and 30 day averages for the carry trade perspective. Negative numbers mean the long side is being paid to hold. Funding spreads between venues are the raw material of the funding arbitrage trade: short the perp where funding is most positive, long it where it is most negative or hold spot, and collect the difference.

Methodology

The bench polls the public funding endpoint of every perpetual venue every 60 seconds: Hyperliquid (metaAndAssetCtxs), Binance and Aster (premiumIndex plus fundingInfo for per pair intervals), Bybit (v5 tickers plus instruments-info), OKX (public funding-rate, interval derived from settlement timestamps), dYdX v4 (indexer perpetualMarkets) and Paradex (markets summary). For each venue and each of BTC, ETH and SOL it records the quoted rate and the venue's native settlement interval, then publishes Prometheus gauges normalized to a per hour basis: rate per hour in bps, cost to hold a long for 24 hours in bps, and the annualized percentage. Sign is preserved everywhere, positive means longs pay shorts. The 7 day and 30 day figures are time averages of the normalized series, so they reflect what holding actually cost over the window rather than a single snapshot. A venue that fails to respond keeps its previous values and its freshness timestamp goes stale, which the reliability column surfaces.

  • Sources. One public, unauthenticated endpoint per venue: Hyperliquid info metaAndAssetCtxs (live 1h rate), Binance fapi premiumIndex plus fundingInfo for per pair intervals, Bybit v5 tickers plus instruments-info (interval in minutes), OKX public funding-rate (interval from settlement timestamps), dYdX v4 indexer perpetualMarkets (per hour rate), Paradex markets summary (8h period), Aster premiumIndex (Binance compatible).
  • Native cohort feeds since 2026-09-23 (perp-cohort-stats harness): Lighter and Lighter RH from /funding-rates (8h-normalised feed, rate x 3), Extended from /info/markets (hourly), edgeX from getTicker (4h, interval from fundingTime to nextFundingTime), Pacifica from /info/prices (hourly); Aster reads premiumIndex plus fundingInfo there too.
  • Normalization. Every venue quotes a rate for its own settlement period. The harness divides the quoted rate by the venue's interval in hours to get a per hour rate, then publishes per hour bps (rate times 10000), 24 hour hold cost (per hour times 24) and annualized percent (per hour times 24 times 365 times 100). A 0.01 percent per 8h rate and a 0.00125 percent per 1h rate are the same number on this page.
  • Sign convention. Positive means longs pay shorts, negative means longs are paid to hold. Signs are preserved through every column; the ranking treats negative as cheaper, so a venue where the long side is being paid ranks first.
  • Headline. Cost in bps of notional to hold an ETH long for 24 hours, averaged over the last 24 hours of one minute samples. The instantaneous rate moves every settlement; the 24 hour average is what a position opened yesterday actually paid. BTC and SOL columns are computed identically.
  • Windows. The 7 day and 30 day columns are avg_over_time of the normalized hold cost series, the carry trader's view. A venue with attractive funding for one hour and brutal funding the rest of the week ranks accordingly on the longer windows.
  • Cadence. The harness polls all venues in parallel every 60 seconds with a 10 second timeout per request; Prometheus scrapes every 30 seconds. End to end staleness is under two minutes in normal operation.
  • Failures. Cohort-harness rows (every venue except dYdX and Paradex) lose their gauge five minutes after the last refresh (ten for edgeX and ApeX, read through a ticker cache) and turn red at 15 minutes: a gap in the 24h average is a gap, never the last value repeated. The perp-funding-harness rows (dYdX, Paradex) keep their last value and turn red after 5 minutes of silence. Nothing is interpolated or guessed.
  • Scope. BTC, ETH and SOL are the assets every venue in the cohort lists. GMX is excluded because its borrow fee model has no comparable funding rate. Lighter joined on 2026-09-23 from its /funding-rates endpoint: the feed is normalised to 8 hours (its Hyperliquid entry is exactly eight times HL's hourly rate, and the native value matched the Mobula-sourced one to the second decimal at the switch), so the 24h figure is the rate times three.
  • Funding versus fees. This bench prices holding. Its companion perp-fees prices opening (taker fee plus spread plus impact on a $1000 ETH long). Read both to know the all in cost of a trade you intend to hold.
  • Reproducibility. Both harnesses are open in the OCB harness tree: perp-cohort-stats (the native funding sources and the Mobula feed) and funding.go in the hyperliquid-frontends harness (dYdX, Paradex). Point them at the same public endpoints and you reproduce every number on this page.

Results: 18 venues ranked by Funding cost to hold a long 24h (24h avg)

Cheapest perp venue to hold a position, live funding normalized: Funding cost to hold a long 24h per venue (24h avg).
№VenuesETH hold 24hAnnualized (ETH)Per-hour rate (ETH)BTC hold 24hSuccess
1Kalshi-1.11 bps———100.00% (n=2880)
2Vest-1.02 bps———100.00% (n=2880)
3Bybit-0.50 bps-3.68%-0.04 bps1.66 bps100.00% (n=2880)
4OKX-0.11 bps-0.97%-0.01 bps2.46 bps100.00% (n=2880)
5Binance0.11 bps-3.28%-0.04 bps2.85 bps100.00% (n=2880)
6Aster0.47 bps1.16%0.01 bps3.00 bps100.00% (n=2880)
7Paradex0.84 bps3.46%0.04 bps2.60 bps100.00% (n=2880)
8dYdX v41.05 bps-0.43%~0 bps0 bps100.00% (n=2880)
9Lighter RH1.91 bps———100.00% (n=2880)
10edgeX1.98 bps———100.00% (n=2874)
11Lighter2.07 bps———100.00% (n=2864)
12Extended2.35 bps———100.00% (n=2880)
13StandX2.39 bps———100.00% (n=2880)
14Hyperliquid2.78 bps-0.53%-0.01 bps3.00 bps100.00% (n=2880)
15ApeX Omni2.94 bps———100.00% (n=2880)
16Pacifica2.99 bps———100.00% (n=2880)
17Polymarket3.00 bps10.9%0.13 bps3.00 bps100.00% (n=2880)
18Ondo Perps3.00 bps———100.00% (n=2880)

Frequently asked

What does this benchmark measure?

The funding cost of holding a perp long, normalized across venues. Headline ranking is the cost in basis points of holding a $1,000 ETH long for 24 hours at the current rate, averaged over the last 24 hours. BTC and SOL columns, annualized equivalents and 7d/30d averages are alongside. Positive means longs pay shorts, negative means longs get paid to hold.

What is a funding rate?

Perpetual futures never expire, so to keep the contract price pinned to spot, the side that is crowding the trade periodically pays the other side. When perps trade above spot, longs pay shorts; below spot, shorts pay longs. The payment is the funding rate, charged on position notional at each settlement.

Why does normalization matter?

Venues quote funding for their own settlement period: Hyperliquid and dYdX per hour, Binance and Bybit per 8 hours with some pairs on 4 hours, OKX, Paradex and Aster per 8 hours. Comparing quoted rates directly overstates hourly venues by 8x. This page divides every rate by its venue's interval first, so all columns share a per hour time base.

What does a negative number mean?

The long side is being paid to hold. Funding is a transfer between traders, not a fee to the venue, so when shorts crowd the book the sign flips and holding a long becomes income. The ranking treats negative as cheapest.

What is funding rate arbitrage?

Collecting the spread between venues or against spot. The classic carry: hold spot (or a long where funding is negative) and short the perp where funding is most positive; each settlement pays you the difference without directional exposure. The 7d and 30d columns show whether a spread persists long enough to cover execution costs.

Why is the 24h average the headline instead of the live rate?

The instantaneous rate can spike for a single settlement and revert. A position opened 24 hours ago paid the average, not the snapshot, so the headline is avg_over_time over 24 hours of one minute samples. The Per-hour rate tab shows the live normalized rate if you want the snapshot.

Why is GMX not in the cohort, and how is Lighter normalised?

GMX prices borrowing per side against pool utilization; there is no funding rate comparable to the order book venues, and pretending otherwise would be dishonest. Lighter's /funding-rates endpoint lists each market's rate next to Binance, Bybit and Hyperliquid for comparison; the Hyperliquid entry equals eight times HL's hourly rate, so the feed is 8h-normalised and Lighter's 24h figure is the rate times three (Lighter itself settles hourly). The native value matched the Mobula-sourced one at the switch on 2026-09-23.

How fresh are these numbers?

The harnesses poll every venue in parallel every 60 seconds and Prometheus scrapes every 30 seconds, so figures are at most about two minutes behind the venue APIs. A cohort-harness row that stops responding loses its rate after five minutes (ten for edgeX and ApeX, which read a ticker cache) and its Success column turns red at 15; a perp-funding-harness row (dYdX, Paradex) keeps its last value and turns red after five minutes.

Can I cite a value from this page?

Yes. Every number is a Prometheus query over gauges the open source harness publishes from public venue endpoints. Cite the value and the timestamp at the top of the page; the harness source link is in the source field below.

Source code github.com/ChainBench/OpenChainBench/tree/main/harnesses/hyperliquid-frontends