Custom Crypto Futures Screener
Build your own screen over every coin with a perpetual future on any exchange this site tracks (see data coverage): choose the columns, add up to five formula columns such as oi_usd / perp_vol24h or z(funding_8h), filter and sort. The table refreshes every 30 seconds and the whole setup lives in the URL, so a screen is one link to bookmark or share.
Coin scope 0 of up to 20 coins
Only these coins are screened: None. A fixed list from this link; starring coins later does not change it.
Columns
Formula columns up to 5
Filters all must match
Waiting for live results. Fixed snapshot of coin names; future screener matches are not added.
Reopen or save the current screen before recording or comparing matches.
Current observation unavailable.
Remembered matches
Differences between two recorded sets, not all intraday transitions or evidence of a specific crossing time. Comparisons expire after 14 days.
Monitoring off.
0 unacknowledged new matches · Local to this open tab. Save the screen to reopen its filters; watching must be started again. Changes reflect this site's screener results, not guaranteed exchange tick crossings. Repeat entries for a coin are limited to once per 10 minutes. Browsers can suspend background tabs; nothing runs after this tab closes. No account or server alert is created.
Recent entries (last 20)
Screen results
top 25 of 657 perps by 24h volume| Coin | Price | Price 24h % | Open interest | OI 24h % | Funding 8h % | Volume 24h | oi_usd/perp_vol24h |
|---|---|---|---|---|---|---|---|
| BTC | 72,684 | -1.50% | $21.23B | -1.01% | 0.0071% | $36.40B | 0.6169 |
| ETH | 2,015 | -1.87% | $11.41B | -1.52% | 0.0025% | $22.57B | 0.5242 |
| ZEC | 961.42 | -2.53% | $1.06B | -6.14% | 0.0036% | $5.62B | 0.1961 |
| SOL | 81.600 | -3.02% | $2.36B | -3.18% | 0.0034% | $3.70B | 0.6830 |
| XRP | 1.034 | -2.19% | $955.88M | -1.80% | 0.0065% | $1.81B | 0.5804 |
| NVDA | 158.72 | -9.38% | $310.44M | +35.59% | 0.0304% | $1.65B | 0.1879 |
| SOXL | 60.710 | -6.66% | $50.31M | -2.96% | 0.0018% | $1.36B | 0.0371 |
| HYPE | 70.497 | -3.11% | $1.59B | -3.34% | 0.0059% | $1.24B | 1.34 |
| PEPE | 0.0000043769 | -12.47% | $226.17M | -16.06% | -0.0001% | $971.43M | 0.2577 |
| NEAR | 3.396 | -9.49% | $424.78M | -9.61% | 0.0047% | $835.71M | 0.5700 |
| DOGE | 0.06583 | -3.42% | $294.93M | -2.10% | 0.0002% | $774.50M | 0.4070 |
| XAU | 3,922.1 | -3.07% | $64.25M | -2.06% | 0.0008% | $684.85M | 0.0938 |
| AGT | 0.06733 | +30.56% | $48.63M | +39.98% | 0.0719% | $677.62M | 0.0718 |
| BNB | 657.75 | -3.58% | $730.34M | -1.28% | -0.0005% | $593.10M | 1.44 |
| INIT | 0.1276 | -21.86% | $17.35M | -19.53% | -0.4445% | $517.97M | 0.0352 |
| UNI | 6.072 | -6.54% | $249.09M | -8.63% | -0.0009% | $474.52M | 0.6109 |
| XYZ100 HIP-3 | 27,994 | -1.01% | $106.96M | +2.13% | 0.0024% | $433.14M | 0.2469 |
| ENA | 0.1394 | -8.79% | $181.27M | -8.78% | 0.0012% | $418.59M | 0.4883 |
| SNDK | 915.04 | -2.31% | $69.14M | -26.51% | 0.0156% | $412.51M | 0.1676 |
| SKHX HIP-3 | 922.51 | -4.82% | $145.82M | -11.15% | -0.3457% | $398.74M | 0.3657 |
| JCT | 0.002846 | -53.01% | $40.47M | -41.33% | -0.1207% | $370.87M | 0.1091 |
| LINK | 9.936 | -4.04% | $227.44M | -3.42% | -0.0004% | $360.24M | 0.7267 |
| SP500 HIP-3 | 7,560.6 | -0.44% | $226.77M | +7.67% | -0.0060% | $352.78M | 0.6428 |
| KGEN | 0.07166 | +2.37% | $9.69M | +102.10% | -0.0306% | $345.38M | 0.0281 |
| SUI | 0.7956 | -4.39% | $237.98M | -3.34% | 0.0016% | $327.73M | 0.8037 |
Formula syntax
A formula uses the field names below, numbers (2m = 2,000,000; k and b work too), + - * /, parentheses and five functions: abs(x), min(a, b, …), max(a, b, …), log(x) (base 10) and z(field), the z-score of a field across the rows shown. Examples: oi_usd / perp_vol24h (open interest per dollar of daily volume), oi_chg_24h - chg_24h (OI growth beyond the price move), z(funding_8h) (funding outliers), liq_long_24h / max(liq_short_24h, 1) (long vs short liquidations). A filter is a field or formula, an operator and a number, e.g. funding_8h > 0.03; in the link it reads f=funding_8h:gt:0.03.
| Field | Meaning |
|---|---|
price | Last price on the coin's largest market |
chg_1h | Price change over 1 hour, % |
chg_4h | Price change over 4 hours, % |
chg_24h | Price change over 24 hours, % |
oi_usd | Total perpetual open interest, USD |
oi_chg_1h | Open interest change over 1 hour, % |
oi_chg_4h | Open interest change over 4 hours, % |
oi_chg_24h | Open interest change over 24 hours, % |
funding_8h | Open-interest-weighted funding, % per 8 hours |
funding_apr | Funding annualised (8h rate x 3 x 365), % |
funding_spread | Highest minus lowest funding across exchanges, % per 8h |
vol24h | Spot + perpetual volume over 24 hours, USD |
perp_vol24h | Perpetual volume over 24 hours, USD |
spot_vol24h | Spot volume over 24 hours, USD |
venues | Number of tracked exchanges listing the coin |
long_pct | Share of accounts net long (Binance, else Bybit), % |
liq_long_24h | Long liquidations over 24 hours, USD (most-liquidated coins) |
liq_short_24h | Short liquidations over 24 hours, USD (most-liquidated coins) |
liq_24h | All liquidations over 24 hours, USD (most-liquidated coins) |
Custom screener FAQ
How do formula columns work?
A formula combines fields with numbers, + - * / and parentheses, plus the functions abs(x), min(a, b, …), max(a, b, …), log(x) (base 10) and z(field), the cross-sectional z-score of a field over the rows shown. Numbers can end in k, m or b (2m = 2,000,000). Anything else is rejected with an error under the input. Examples: oi_usd / perp_vol24h is open interest relative to a day's perp volume (high = positions held, low = churn); z(funding_8h) is how many standard deviations a coin's funding is from the average of the rows shown; oi_chg_24h - chg_24h is open interest growth beyond the price move; abs(chg_24h) ≤ 2 is a filter for a price move under 2% either way; log(oi_usd) is open interest on a log-10 scale (1M = 6, 1B = 9).
What units are the fields in?
Price changes, open interest changes, funding, APR and the long-account share are in percent, so funding_8h > 0.03 means funding above 0.03% per 8 hours and chg_24h > 5 a price gain of more than 5%. Open interest, volume and liquidations are in US dollars. Funding is the open-interest-weighted rate across exchanges as an 8-hour equivalent. A missing input (a coin with no 24h history yet, or a division by zero) leaves the cell empty and the row fails any filter on it.
How are filters combined, and how does z() treat them?
Every filter must hold (AND). Filters that don't use z() run first; z-scores are then computed over the rows left, and filters that use z() run last, so z(funding_8h) ≥ 2 finds outliers among the coins you're already screening. A coin scope (below) applies before every filter, so z-scores then compare only the coins it names.
Can I save or share a screen?
Yes. The columns, filters and sort are in the page address (?c= columns, ?f= filters as field:op:value, ?s= sort) and update as you edit. Use Copy link, or bookmark the page. Save this screen keeps a named copy (up to 20) under My screens in this browser, next to the presets. Nothing is stored on the server and there is no account. ?bases=BTC,ETH,SOL limits a screen to a fixed list of up to 20 coins, as Screen these coins on the watchlist does; Clear coin scope screens every market again.
Where does the data come from?
The same live feed as the coins list and the open interest screener: exchange public APIs, with price and OI changes from 5-minute snapshots this site records itself. Long/short is the share of Binance (else Bybit) accounts net long; liquidations cover the most-liquidated coins of the last 24 hours. Nothing here is financial advice.