How we compute carry (the honest number)

The method behind every number, and the open-source script that reproduces it. Because a number you can't reproduce isn't worth trusting. ← back to the live check

The problem with the headline funding rate

Crypto dashboards show funding APY (the rate longs and shorts pay each other on perpetual futures) as if it were clean yield. It isn't: it's gross (before the fees and spread you actually pay), it's not risk-adjusted, and it ignores regime (funding compresses, and the headline doesn't say when the edge is gone).

The position we measure

A delta-neutral carry book: long 1 unit of spot, short 1 unit of the perpetual, rehedged 1:1 each funding settlement (every 8 hours). Price cancels, so the only things that move P&L are the funding you receive and the drift in the basis = (spot − perp) / perp. Per 8-hour settlement, while the position is on:

step P&L  =  funding_rate  +  (basis_now − basis_last)
cost/leg =  taker fee (0.075%)  +  basis half-spread (at least 2 bp)

From the per-settlement P&L we annualize the net APY. For subscribers we also compute Sharpe against a 4.5% risk-free rate, max drawdown, a bear-market drawdown, and a hedge-integrity check (is your "neutral" book secretly carrying directional risk?).

A worked example (BTC & ETH, public data, 2026-06-15)

AssetGross funding APY (headline)Net of costsvs 4.5% risk-free
BTC+3.98%+0.93%below
ETH+2.80%−0.11%below

The measured spot to perp basis was small (single-digit basis points, as expected on liquid majors), and the hedge held. So on that snapshot, funding carry on BTC/ETH was not worth it: the net number sat below what you'd earn risk-free. That's the call the headline +3.98% would never let you make. (The live check shows the current week's numbers, which will differ.)

What this is honest about

Reproduce it yourself

The exact script that produces these numbers is open source (MIT): github.com/ionutcricoveanu/carryscope-methodology. No API key, no dependencies. Run it and you'll get today's number, not ours.