Methodology

Where the numbers come from

We read each venue's public market data every 5 minutes: the current funding rate and its interval, mark and index prices, open interest and 24-hour volume. Past funding comes from the venues' history endpoints. We never ask for keys or accounts.

Decentralized venues (DEXs) come from our DEX collector. Binance, Bybit, Bitget and Gate come from our CEX collector, and MEXC from a third one, all through the venues' public APIs at the same 5-minute cadence. On these centralized exchanges (CEXs) the 5-minute rate is the venue's live estimate for the next payment; settled payments arrive with up to a day's delay and then replace the estimates hour by hour. The interval of a past CEX payment is taken from the time since the previous payment, because markets switch between 8, 4 and 1 hours when funding runs hot. Contracts on several coins (1000PEPE, 10000SATS, SHIB1000) are converted to one coin, so prices and open interest compare across venues.

Funding is the periodic payment between the long and short sides of a perpetual future. When the rate is positive, longs pay shorts; when it is negative, shorts pay longs.

From a funding rate to APR

rate_hourly = funding_rate / interval_hours
APR         = rate_hourly × 8760
  • Venues pay every 1, 4 or 8 hours, and some quote an 8-hour or even an annual rate. We convert everything to an hourly rate first, so a 4-hour and a 1-hour market compare fairly.
  • APR is simple, not compounded: the hourly rate times the hours in a year.
  • Window figures (24h, 7d, 30d) are the average of the hourly rates in that window, annualized the same way. They include the latest predicted rate for hours that are not settled yet. We keep 35 days of hourly history.
  • Settled payments come first; snapshots fill the hours that are not settled yet. A payment that covers 4 or 8 hours is spread evenly over those hours, so venues with different intervals weigh the same inside a window.
  • A window figure is shown only when enough of its hours have data: at least 8 of 24, 56 of 168 and 240 of 720. Otherwise it is "—".
  • "Now" is the latest snapshot. Some venues publish the rate predicted for the current period, others the last settled one, so "now" is noisier than the window averages.
  • A value a venue did not report is shown as "—". We never fill gaps with zero.

Pairs and spread

A pair is a long on the venue where funding is lower and a short of the same coin, same size, on the venue where funding is higher.

spread = APR(short venue) − APR(long venue)

Window spreads (24h, 7d, 30d and the prior week below) are averaged over the hours when both venues have data, so the two legs are always compared over the same period. A coin listed on a venue three days ago is compared with the other venue over those three days only, and the coverage rules above apply to the shared hours.

The default table shows one pair per coin: the one with the highest 7-day spread (the current spread breaks ties). A pair with the identity warning (see below) is picked only when the coin has no other pair. "All pairs" lists every long/short combination whose 7-day or current spread is positive. Both legs must be fresh: a stale market is listed on its coin page but never paired.

Stability

  • Prior: the average spread over the last 7 days, leaving out the last 24 hours. It needs at least 96 hours of data.
  • Spike: the 24h spread is more than 3× the prior, or more than 15% APR when the prior is below 5% (zero or negative included). The last day is far hotter than the week before, and such jumps usually fade. The badge shows the ratio 24h / prior when the prior is positive.
  • Steady: prior is at least 5% APR, the 24h spread is positive and not a spike, and the current spread is positive.
  • Positive share: the share of hours in the last 7 days when the spread was not negative. An hour when both venues charged the same rate costs nothing, so it does not count against the pair.
  • Other badges say why a pair is not steady: mixed (positive share below 60%), new (fewer than 96 shared hours in the prior week), weak (prior below 5%) and cooling (a solid prior, but the last 24 hours or the current spread are not positive).

Fees, net APR and breakeven

We assume taker orders on all four fills (open and close, both legs) at each venue's base fee tier. N is the notional of one leg.

fee_rt          = 2 × (taker_long + taker_short)                  # bps of N
net_apr         = spread_7d − (fee_rt / 10,000) × 365 / hold_days
capital         = 2 × N / leverage                                # margin for both legs
net_apr_capital = net_apr × leverage / 2
breakeven_days  = (fee_rt / 10,000) / (spread_7d / 365)           # only if spread_7d > 0

Net APR is per unit of notional on one leg. The on-capital figure divides the same profit by the margin you post on both venues, which is why it scales with leverage. Defaults are a 14-day hold at 3x; change them above the table or in the calculator.

Example (illustration, not a forecast). Long at 5% APR on a venue with a 4.5 bps taker fee, short at 25% APR on one with 4.0 bps, $10,000 per leg, held 14 days at 3x:

  • spread = 25% − 5% = 20% APR; over 14 days it pays about $76.7;
  • fee_rt = 2 × (4.5 + 4.0) = 17 bps, or $17 for the four fills;
  • net APR = 20% − 0.17% × 365 / 14 ≈ 15.6%; about $59.7 over 14 days;
  • capital = 2 × $10,000 / 3 ≈ $6,667; net APR on capital ≈ 15.6% × 1.5 ≈ 23.4%;
  • breakeven = 0.17% / (20% / 365) ≈ 3.1 days.

How rows are ranked

Score = net APR × a stability factor. The factor lowers the score when spike is above 3, when the positive share is below 60%, when the identity check warns, and when the smaller leg has less than $50,000 of open interest. An unknown positive share or open interest lowers it a little. A pair without a 7-day spread has no net APR and sorts after every pair that has one. Referral links play no part in the score.

Same ticker, same asset?

Two venues can use one ticker for different things: a token and a stock, or two unrelated tokens. In one real case a coin traded at $11.65 on one venue and $0.106 on another under the same name. We compare the mark prices of both legs:

mark_gap_bps = |mark_short / mark_long − 1| × 10,000

Above 200 bps (2%) the row gets a warning. When the prices differ by more than 10% (|a − b| divided by the lower price), the two legs are different assets, or a contract multiplier was lost, and we do not show the pair at all. The coin's other pairs stay: Gate's CAT (a stock) never pairs with the CAT token on other venues, but those venues still pair with each other. Prices are compared per coin: contracts on 1,000 or 10,000 coins (1000PEPE, kPEPE, 10000SATS) are converted first. Always check the contract specs on both venues before trading.

Liquidity

Open interest is converted to USD as coins × mark price. "Min OI" is the smaller of the two legs: a big spread on a market with little open interest is hard to enter and exit at size. Some venues do not report open interest; it shows as "—", and a minimum-OI filter leaves such legs out.

Data freshness

  • The site reloads data every 5 minutes, and every page shows "data as of" with the time of the newest snapshot (UTC).
  • A market whose last snapshot is more than 30 minutes older than the newest data is marked stale.
  • If collection stops, the "data as of" time stops too. We do not present old data as live.

What we do not model

  • Slippage and the bid–ask spread at entry and exit, including RFQ spreads on venues without trading fees.
  • Price PnL between the legs: the gap between the two entry and exit prices.
  • Liquidation risk, margin calls and auto-deleveraging.
  • Borrow costs and collateral yield (for example interest on yield-bearing stablecoins).
  • Maker rebates, VIP tiers, staking discounts and referral discounts.
  • Deposit, withdrawal, bridge and gas costs, and the time money spends in transit.
  • Future changes in funding, and the value of points or other rewards.
  • Taxes.

Coverage

Stock, index, FX and commodity perps are hidden by default (toggle "Include TradFi"): their funding often follows different rules, such as session hours or a fixed base rate. We recognise them by ticker, and on Bybit and Bitget also by their funding: a market whose settled funding was exactly zero in at least 70% of its payments over the window is a stock perp there (crypto perps almost never settle at zero), and listings of the same ticker on other venues at a price within 10% of it are the same stock. A pair counts as TradFi when either leg is.

Centralized exchanges carry a "CEX" tag. Trading on them needs an account with identity verification (KYC), so a CEX–CEX pair needs two verified accounts and a CEX–DEX pair one. The "Type" filter keeps both legs on DEXs or both on CEXs. Each CEX page lists its KYC rule and restricted countries.

Invite-only venues (Polymarket Perps) are left out of the default selection, and their pairs carry an "invite only" badge; tick the venue in the filter to include them. Closed venues (Ethereal) are never paired. Variational has no trading fees: its cost is the market maker's quote spread, which our net APR does not include. We do not cover OKX or Paradex. Each venue's page explains its status.

Price spreads (the Spreads tab)

The Spreads tab compares the price of the same perp across venues. Every 15 seconds our quotes collector reads the best bid and ask of each market from the venues' public APIs. For each coin we take the venue with the lowest ask (where you would buy) and the venue with the highest bid (where you would sell): spread = (bid − ask) / midpoint, before fees. USDT prices are converted to USDC with a USDT/USDC rate at most 10 minutes old; without one the row says so.

  • Net subtracts taker fees on both legs twice: once to enter and once to exit (the exit is assumed at zero spread). "Funding Δ" is the funding APR of the sell (short) leg minus the buy (long) leg from the funding screener.
  • A quote older than 60 seconds is dropped, so is a market with an own book spread above 2%, an idle or frozen book, or a price far from its own mark. A row is flagged when its two quotes are more than 5 seconds apart.
  • Same ticker, different asset: when a venue's price is more than 3% away from the coin's other venues, or the spread is above 3%, the coin's row is hidden by default ("Flagged" shows it with a badge). A mark price is checked against the live books, never the other way round: a mark that lags a fast move cannot hide live quotes. Stocks, metals and other TradFi markets are hidden by default too, and so are their closed sessions.
  • A spread in bold was positive on two updates in a row of both venues' quotes (a quote that was not refreshed does not count twice).
  • Lighter and Lighter RH are never polled; their mark prices from the funding data (up to 10 minutes old) appear only as indicative "mark" quotes, like any venue without live quotes. They take part only with "Mark prices" on.
  • If the collector stops, the tab says "Delayed" after 45 seconds and stops showing live quotes after 180 seconds; it then shows indicative spreads between mark prices, labelled with their time, as long as the marks are at most 10 minutes old.
  • Only the top of the book is shown. Fills, transfers between venues, funding, latency and exit costs all apply: a positive spread is not risk-free arbitrage.

FAQ

What does this site do?

It compares funding rates for the same coin across perpetual futures venues and shows which long/short pairs paid the most after trading fees. It is a free, read-only screener: no wallet connection, no trading, no custody.

Is it free? How do you make money?

Everything is free, with no subscriptions or paid tiers. Some "Open" links are referral links: if you open a new account through one, the venue may share part of your fees or points with us. You do not pay more, and some programs give you a discount. Rankings are computed the same way whether or not we have a link.

What is the spread APR?

The funding APR on the short venue minus the funding APR on the long venue. It is what the pair earns per year on the notional of one leg, before fees, if rates stay where they were.

Why is net APR lower than the spread?

Net APR subtracts the taker fees for opening and closing both legs, spread over your holding period. Short holds pay the fees over fewer days, so the cut is bigger. See the methodology for the formula.

Why does APR on capital change with leverage?

The profit stays the same, but the margin you post on both venues shrinks as leverage grows. Capital = 2 × notional / leverage, so APR on capital = net APR × leverage / 2. Higher leverage also brings liquidation closer.

How fresh is the data?

Venues are read every 5 minutes and the site reloads every 5 minutes. Every page shows "data as of" in UTC. Markets that have not updated for 30 minutes are marked stale.

What do prior, spike and steady mean?

Prior is the average spread over the last week, leaving out the last day. Spike compares the last day with that prior: more than 3x the prior (or more than 15% APR after a weak prior) is a spike. Steady means the prior is meaningful (at least 5% APR), the last day is positive and not a spike, and the spread is positive now.

What is the identity warning?

The two legs' prices differ by more than 2%. That usually means the ticker stands for different assets on the two venues, or the contracts differ. Do not trade the pair until you have checked both contracts.

Why are some venues not selected by default, or missing?

Polymarket Perps is invite-only, so it is left out of the default selection: tick it in the venue filter to see its pairs. Ethereal stopped trading and is never paired. Variational is a normal venue, traded by hand in its web app; it has no trading fees, and its quote spread is not in our net APR. Venues are added when we can read their data reliably.

Do I need KYC for the CEX pairs?

Yes. Binance, Bybit, Bitget, Gate and MEXC require identity verification (KYC) before you can trade, and each restricts some countries (see the venue pages). A pair with one CEX leg needs one verified account; a pair of two CEXs needs two. The Type filter set to "DEX only" leaves out the CEXs, but not every DEX is KYC-free: GRVT is reported to verify identity, and we have not checked every venue's rules. Each venue page says what we know.

Do you need my wallet or API keys?

No. We only read public market data. Never enter a seed phrase or private key on any site that asks for it in our name.

Can I use a referral link on a venue where I already have an account?

Usually not: most programs bind the referral when the account is created, and a few allow adding a code later (each venue's page says which). Do not open a second account just for a link; many venues forbid it.

Can I use these venues from my country?

It depends on each venue's terms and your local law. We list the restrictions we could confirm on each venue's page, but the lists are incomplete. We do not help get around geo-blocks.