This page is conceptual. Live and historical funding values are available from
GET /v1/fundingRates and the funding WebSocket channel.The basic model
The funding rate is driven by the basis — the gap between the perp’s price and the oracle price. A persistent premium produces positive funding (longs pay), which incentivizes traders to close longs / open shorts and pulls the price back toward the oracle; a persistent discount does the reverse. This is the same convergence mechanism used across perp markets.Base rate. With no premium, funding sits at a base rate: 0.01% per 8h for crypto perps, and SOFR + 0.5% per year for real-world-asset perps. The premium (below) moves the live rate above or below that base.
How the rate is calculated
Funding is charged once an hour, and each hour’s rate is built from two pieces:- a base rate — the baseline cost of holding the position, charged even when the perp trades right at fair value; and
- a premium — an adjustment that grows as the perp drifts above or below the oracle, nudging the price back.
clamp(x, ±y) just means “keep x within the range −y to +y.”
Step 1 — adjust the oracle to “today” (real-world assets only)
Stocks settle a day or more after they trade (T+1), so a live stock price isn’t directly comparable to a perp you hold continuously. For RWA markets the oracle is nudged to a same-day value before the premium is measured (crypto settles same-day, so this step does nothing):days_to_settle is the calendar days until the stock settles (usually 1), and sofr_rate_hourly is the RWA base rate expressed per hour:
sofr_rate_hourly is simply that annual rate plus 0.5%, divided down to a per-hour figure. The effect on the oracle is tiny.
Example. AAPL oracle = $200, base rate ≈ 5%/yr (so sofr_rate_hourly ≈ 0.00000579), T+1 settlement → 200 / (1 + 0.00000579 × 24 × 1) ≈ $199.97 — under 3 cents.
Step 2 — measure the premium
The premium is how far the perp trades from the oracle price, as a fraction of the oracle. It uses impact prices — the average price to buy or sell a fixed test size by walking the order book — instead of the best bid/ask, so one tiny quote can’t distort it:- perp above the oracle (impact bid > oracle) → positive premium → longs pay shorts
- perp below the oracle (impact ask < oracle) → negative premium → shorts pay longs
- oracle sitting between the impact bid and ask → premium is zero
$100,000, and buying the test size would cost $100,050 on average → premium = (100,050 − 100,000) / 100,000 = 0.05%.
Step 3 — turn the premium into the hourly rate
By convention the full premium is paid off over 8 hours, so each hour charges one-eighth of it on top of the base rate, and the total is capped at ±4% per hour. Crypto — base rate 0.01% per 8h (≈ 10.95% per year). A small dead-band holds funding exactly at the base rate until the premium moves more than 0.05% away from the base level, so trivial premiums don’t add funding noise:sofr_rate_hourly, from Step 1), with no dead-band, so the premium always counts and the rate lands exactly on the base rate when the perp trades at the same-day oracle:
sofr_rate_hourly ≈ 0.00000579 and a perp trading 0.08% above the same-day oracle (premium = 0.0008): funding_rate_hourly ≈ 0.00000579 + 0.0008/8 ≈ 0.0106% for the hour.
Step 4 — the payment
$10,000 position, a long pays about $1.06 that hour.
Outside extended trading hours (04:00–20:00 ET) this whole calculation is suspended and the rate is locked — see Off-hours funding below.
Real-world assets
For perps on equities, commodity ETFs, and index ETFs, funding does more than close the basis: it also passes through the events that drive a real holder’s return — dividends, splits, and futures rolls — so the perp tracks the total return of the underlying. Those mechanics are covered on Real-world asset perps.Off-hours funding
The lock applies only when the underlying is fully dark — outside extended trading hours, i.e. overnight from 20:00 to 04:00 ET (and weekends/holidays). Then there’s no reliable oracle to measure a premium against, so the live calculation above is suspended and funding is locked to the base rate (SOFR + 0.5%), fixed at the close. During premarket (04:00–09:30 ET) and after-hours (16:00–20:00 ET) the underlying still trades, so funding runs live, exactly as during the regular session. This removes funding uncertainty for traders carrying a position overnight or over a weekend, beyond the price of the underlying itself. Crypto perps have no off-hours regime — funding stays live and basis-driven around the clock. Off-hours also raises margin and constrains prices to widening bands; those guardrails are covered under Real-world asset perps (and Margin).Regular-trading-hours calendars differ by market, and the exact premium sampling and clamp parameters are per-market config. Read live funding from the API rather than recomputing it.