Funding Rates
Funding keeps a perpetual's price anchored to its underlying index. At each funding interval, longs and shorts exchange a payment based on the gap between where the perpetual is actually trading on our order book and the index price. There is no expiry and no central counterparty — funding flows directly between position holders and nets to zero.
The three prices
Funding involves three different prices, and it matters which one does what:
Index price
The external reference price for the asset.
The anchor funding pulls the perpetual back toward.
Perp reference price
What the perpetual is trading at on our book — the volume-weighted median of recent trades.
The funding premium.
Mark price
A blend of the index and the perp reference (w × index + (1−w) × perp reference, w = 0.95).
Your margin, your unrealized PnL, and your liquidation price.
The mark deliberately does not drive funding. Because the mark is mostly the index by construction, measuring the perpetual's deviation against the mark would measure it against a number that already contains the index — which would understate the real deviation by roughly 20×, leaving funding unable to exert the convergence pressure it exists for.
So: the mark protects you from thin-book liquidations; the perp reference is what funding measures. GET /api/v1/markets/{market_id}/funding publishes the premium and the rate history, but only one perp-side price: the field is named mark_price for historical reasons, but it actually carries the perp reference the premium is measured against, not the blended mark. The blended mark itself has no history endpoint — it is available only as the current value on GET /markets/{market_id}/mark-price.
Mechanics
Interval. Funding settles hourly (
funding_interval_s = 3600). Per-market configurable.Premium sampling. The premium between the perp reference and the index is sampled every 60 seconds (
funding_sample_interval_seconds = 60) and time-weighted (TWAP) across the interval.Interest component. The rate carries a fixed interest term of 0.01% per 8 hours, added to the average premium before the cap is applied. This is the standard perpetual-futures convention and reflects the cost of carry between the two sides.
Rate convention. The quoted rate is per 8 hours, the industry standard. Because our interval is hourly, the amount actually charged each window is the 8-hour rate pro-rated to the window — i.e. divided by 8.
Direction. The interest component shifts the flip point off zero: because the rate is
avg_premium + 0.0001before clamping, it stays positive (longs pay shorts) until the average premium drops below -0.01% per 8 hours, not just below zero. A perpetual trading exactly at the index, or even trading slightly cheap to it, still has longs paying a small positive rate from the interest term alone.Accrual. Funding is not a lump charge at the boundary. Each sample accrues a pro-rated increment against every open position, so what settles is the accumulated total for the time the position was open during the interval. See Payment.
Settlement. At each hourly interval boundary, the accrued funding is applied to every open position. The sum across all positions is zero (no value is created or destroyed by funding).
Putting the last three together, the rate charged for one hourly window is:
Thin markets
The perp reference is the volume-weighted median of the last 5 trades, whenever the market has any trade history at all. It falls back to the index price — reading a zero premium for that sample — when a market has never traded, since the median needs at least one print to compute from, and also when the oracle re-anchors on a large jump: a large enough move clears the recorded trade history so the reference has nothing to compute from until the market trades again. That second case runs on a market that has traded before, and it runs right after a large price move — exactly when funding matters most.
There is currently no time-based staleness check on those 5 trades: if a market trades a handful of times and then goes quiet, the reference keeps reflecting those prints — however old — until enough new trades push them out of the window. A market that has gone quiet does not automatically fall back to reading a zero premium while it is quiet.
Per-window cap
Each market caps how large a single funding payment can be, to bound risk during volatile periods:
Because the cap applies after the interest term and the 8-hour pro-rating, it is worth knowing where it actually binds. At funding_rate_cap = 0.001:
So a perpetual trading more than ~0.79% away from the index is paying the capped rate — for the crypto perps, whose funding_rate_cap is 0.001. The cap is a per-market parameter and is not the same on every listed market: the FX, commodity, and index perps (seven markets, including NDQ) are configured at funding_rate_cap = 0.0005, which binds at a 0.39% basis instead. Which markets in each class are actually deployed on testnet or mainnet changes with the venue's rollout state — see Market Specifications for the live per-market set rather than a fixed snapshot here.
The cap is relaxed across release gates as the system is validated under wider conditions.
Payment
Funding accrues continuously and settles at the interval boundary. Each premium sample advances a running total for every open position:
At the boundary, the interval's accumulated total is charged against (or credited to) account equity. So a position opened part-way through an interval pays only for the time it was actually open, at the rates that prevailed while it was open — not the settled rate applied to the whole interval. A position opened five minutes before the boundary on an hourly interval accrues roughly one twelfth of a full-interval payment.
Held for a complete interval at a steady rate, that reduces to the familiar closed form:
where position_notional = position_size × index_price. Funding is independent of unrealized PnL — you can pay funding on a profitable position or receive it on a losing one.
Status: funding is live on testnet with hourly settlement and the parameters above. Per-market rates and caps are configurable and subject to tuning between gates. See Market Specifications for the per-market intervals and caps.
Last updated

