User Guide
How to use Imrek Funding Scanner — feature overview
What is Funding Arbitrage?
On perpetual swaps, traders pay or receive a funding rate — a periodic payment that keeps the contract price anchored to the spot price.
When the rate is positive on one exchange (longs pay shorts) and negative on another (shorts pay longs) — or the rates simply differ significantly — you can go long on one exchange and short on another. This way you collect the funding rate difference while staying delta-neutral (market risk is hedged).
Imrek Funding Scanner automatically scans exchanges, finds these discrepancies, and shows potential returns accounting for fees.
Opportunities Page
The main table with all discovered arbitrage opportunities. Data updates automatically every 5 minutes. When fresh data arrives, a refresh button lights up in the header.
Table columns
- Ticker — trading pair (e.g. XPL).
- Long — exchange where you open a long. Shows: current funding rate (red = you pay), trading volume (v) and open interest (oi).
- Short — exchange for the short side. Same metrics. Green rate = you receive.
- Backtest — three buttons for quick backtesting (details below).
- APR — Annual Percentage Rate from the rate difference between exchanges.
- Cost % — total entry and exit costs as a percentage (exchange fees). Click the value for a detailed breakdown.
- Fees — exchange fees (maker/taker). Click for per-side details.
- Spread — current spread on exchanges (bid-ask). Lower is better for entry/exit.
- X-Sprd — cross-spread: the cost (or gain) of opening a position across two exchanges. Formula: (long_ask − short_bid) / avg_mid. Negative = you earn on entry, positive = you pay. Exit spread is the mirror: (short_ask − long_bid) / avg_mid.
- Daily PNL — estimated daily profit for the given position size (adjustable via the Position slider).
- Time Alive — how long this opportunity has continuously existed (e.g. "1h 41m").
What is "stl" under the rate?
stl (settled) — the last actually paid funding rate. The main value is the predicted rate, which updates every second. On high-liquidity exchanges they nearly match, but on less liquid ones (e.g. HyENA) they can diverge significantly. Settled rate is a more reliable reference.
Filters
- Root Venue — select the root exchange. The table will only show pairs where this exchange participates as Long or Short. Its name will be marked with ROOT.
- Min Volume — minimum 24h trading volume (USD). Filters out illiquid pairs.
- Min OI — minimum open interest (USD).
- Min Alive — minimum opportunity lifetime. Helps filter out short-lived spikes.
- Max Spread — maximum spread. Filters pairs with wide spreads where entry/exit would be expensive.
- Position — position size in USD for Daily PNL calculation.
- CEX / DEX only — toggle to show or hide CEX (centralized exchange) pairs. When set to "DEX only", pairs involving any CEX are hidden.
- MC (Market Cap) — filter by asset market cap tier: All / Large cap / Mid cap / Small cap. Useful for focusing on the most liquid or the most volatile segments.
- Crypto / TradFi — switch between asset classes. Crypto shows standard cryptocurrency perpetuals; TradFi shows indices, equities, and commodities (US500, XAUT, AAPL, etc.).
- AVG APR window — select the averaging window for the AVG APR column: 1d (last 24 h), 3d, or 7d. Shorter windows reflect recent conditions; longer windows show the structural trend.
Sorting
Click any column header to sort the table. Click again to reverse the direction (ascending / descending). By default the table is sorted by APR (best opportunities on top).
Backtest buttons
Each row has three backtest buttons:
- ▶ — opens our built-in backtest (Backtest page) with pre-filled parameters. Uses local history from our database. The button is inactive (grey) if less than 7 days of data has been collected.
- FV — opens a backtest on the external service FundingView (fundingview.app) with current pair parameters.
- LR — opens a backtest on the external service Loris (loris.tools) with current pair parameters.
Best Strategies
The /strategies page ranks funding arbitrage opportunities using a weighted scoring system. Each pair gets a score from 0 to 100 based on multiple factors.
AVG APR
AVG APR — average APR over the pair's entire lifetime (alive period). Calculated in alive_tracker and updated every scanner cycle. This is the key stability metric: a pair may show 200% APR right now, but if the average over a week is only 30% — it's unreliable.
Scoring Components
- APR (35%) — uses blended APR = current × 0.5 + AVG × 0.5. Absolute scale: 150%+ APR = score 100. Equal weight of current and average protects against false spikes.
- Alive (30%) — smooth curve based on square root: 1 day = 27, 3 days = 46, 7 days = 71, 14+ days = 100. Pairs need 2 weeks for maximum confidence. Highest weight after APR — most reliable signal.
- Spread (5%) — absolute scale: 0% = 100, 0.15% = 50, 0.3%+ = 0. Low weight because cross-spread data loses relevance within seconds (sync every ~4 min).
- Fees (10%) — absolute scale: 0% = 100, 0.25% = 50, 0.5%+ = 0. Only taker fees (entry + exit), without spread.
- Volume & OI (10% each) — threshold at $100K. The weaker leg (min of long/short) determines the score. Stable metrics confirming liquidity.
CEX / DEX Filter
The CEX / DEX only toggle in the toolbar filters strategies by exchange type. When set to DEX only, all pairs where at least one leg is a centralized exchange are hidden.
Payback Calculator
Click ⏱ Payback in the toolbar or on a strategy card to open the payback calculator. It estimates how quickly entry costs (fees + spread) are recovered by funding income. Inputs: position size, leverage (1-10x), order type (maker/taker per side), APR, cross spread. Outputs: payback time, break-even APR (7d), liquidation distance, P&L per 8h/daily/weekly.
Instability Penalty
Pairs where current APR is more than 2× the average get penalized (up to -25%). This pushes temporary spikes below stable pairs with proven history.
Filtering
Pairs must pass: blended APR ≥ 30%, current APR ≥ 15%, avg APR ≥ 20%, spread < 0.3%, volume ≥ $50K per leg, OI ≥ $30K per leg, alive ≥ 12h, no SUSPECT_DATA flag.
Card Features
- Metrics row: APR (current), AVG (average over lifetime), ALIVE, FEES, SPRD. Hover for exact values.
- Score bars: visual breakdown of APR, Alive, Volume, OI, Spread, Fees scores.
- +N pairs: click to expand alternative exchange pairs for the same ticker as full-size cards with animation.
- Backtest buttons: built-in backtest, FundingView, Loris.
- Sorting: Best Score (default), Highest APR, Longest Alive, Stability (AVG APR / current APR — how consistently a pair earns near its peak rate).
Backtest
Lets you check how a funding arbitrage strategy would have performed on historical data.
Parameters
- Symbol — trading pair (BTC-USD, ETH-USDT, etc.).
- Long / Short Exchange — exchanges for long and short sides.
- Position Size ($) — position size.
- Period — simulation period: from 1 day to 3 months.
Results
- Total P&L — total profit/loss for the selected period.
- Final Value — final portfolio value.
- Average APR — average annual return over the period.
- Max Drawdown — maximum drawdown.
Hover over any point on the equity curve chart — the stat cards above will show P&L values at that moment.
Supported Exchanges
The scanner collects data from 28 DEX and CEX perpetual futures exchanges. Data updates every 5 minutes.
DEX (20)
- Hyperliquid
- dYdX
- Paradex
- EdgeX
- HyENA
- Backpack
- Lighter
- Ethereal
- Aster
- GRVT
- Vest
- Pacifica
- Hibachi
- Nado
- Variational
- Extended
- Reya
- Apex
- 01 Exchange
- Sodex
CEX (8)
- Binance
- Bybit
- OKX
- Bitget
- Gate.io
- KuCoin
- MEXC
- BingX
The list is constantly expanding. Each exchange has its own funding rate payment interval (1h, 4h, or 8h), which is automatically accounted for in APR calculations.
Telegram Alerts
Get real-time Telegram notifications when APR of your watched pairs goes negative. Alerts help you react quickly and close losing positions on time.
How to set up
- In the opportunities table, click the TG icon next to any pair — it will be added to your watchlist and the bot @perpiabot will open in Telegram.
- Press /start in the bot — choose your language (English / Russian).
- Done! The bot will now monitor your pairs and send alerts when APR drops below zero.
Alert levels
- ⚠️ Yellow — APR has been negative for over 15 minutes.
- 🔴 Red — APR has been negative for over 1 hour.
- 🚨 Fire — APR ≤ −100% for over 15 minutes. Close immediately!
- ✅ Green — APR is back to positive. Sent once.
Repeating alerts
While APR stays negative, alerts repeat every 15 minutes with updated duration. If the level escalates (Yellow → Red → Fire), a new alert is sent immediately. Green alert is sent only once when APR recovers.
Buttons in /status
- 📈 APR now — show current Gross APR and Long/Short rates.
- 👁 Spread now — show current entry and exit spreads.
- 📊 Spread monitor — enable cross-spread monitoring for position exit.
- 🛡 Stop-Loss monitor — set stop-loss prices and get alerts when price approaches.
- 🔕 Mute APR alerts — if spread monitoring is on, disables only APR alerts. If spread monitoring is off, asks for confirmation to delete the pair.
- 🔔 Enable APR alerts — re-enable APR alerts (shown when alerts are off).
- 🗑 Delete pair — completely remove pair from tracking.
When you add a pair via the TG button on the website, the confirmation message already includes all management buttons — no need to use /status first.
📊 Spread Monitor (Exit Mode)
When you are already in a position and want to find the optimal exit moment — press 📊 Spread monitor. The bot will track the cross-spread and send notifications.
- Entry spread — specify the cross-spread at the time of entry. You can enter manually or calculate from prices (calculator).
- Target spread — the bot will alert when exit-spread reaches the target. Can be skipped.
- Digest every 4 hours — summary with current exit spread, min/max for the period and exchange fee info. Can be disabled.
Spread monitoring works in parallel with APR alerts — they don't interfere. In /status you can see both: 🔔 APR alerts and 📊 Spread monitor.
Spread sign: minus = spread in your favor (profit on entry/exit), plus = spread against you (loss).
🛡 Stop-Loss Monitor
Press 🛡 Stop-Loss монитор to set stop-loss tracking for both legs. The bot checks the price every ~5 min and alerts when it approaches your stop:
- ⚠️ 80% proximity — warning (every 15 min)
- 🔴 90% — urgent (every 5 min)
- 🚨 95% — critical (every 2 min)
- 💀 100% — stop-loss hit: 3 rapid alerts, then auto-disable
Use 💰 SL status to see current distance to your stops and the exact price at which the alert will trigger.
Exchange links
In /status and digests, exchange names are clickable links that open the trading pair directly on the exchange.
Commands
- /start — language selection + welcome message.
- /status — all watched positions with management buttons.
Tips
- High APR on a pair with low volume and OI is risky. Use the Min Volume and Min OI filters.
- The Alive filter helps find stable opportunities: if a pair holds for over a day, it's more reliable than a 30-minute spike.
- Before entering a position, check the strategy via Backtest — it will show real historical returns and drawdowns.
- For settled rate (stl) — use it as a reference if the predicted rate jumps around. It's what was actually paid out.
Risks & Disclaimers
- Funding rates can change at any time. Historical returns do not guarantee future performance.
- Liquidation: with high leverage and sharp price moves, a position can be liquidated on one exchange even if you are delta-neutral.
- Counterparty risk: funds on DEX exchanges are subject to smart contract risks and hacks.
- Slippage: actual entry/exit may differ from estimates, especially on low-liquidity pairs.
- This tool is for analysis purposes only and is not financial advice.
How Net APR Is Calculated
Most scanners show gross APR — the raw funding rate difference annualized. Perpia calculates net APR by subtracting real costs:
- Trading fees — maker and taker fees on both exchanges (entry + exit = 4 fee events).
- Cross-spread — the cost of entering across two orderbooks simultaneously. Negative spread means you earn on entry.
- Exit spread — estimated cost to close both positions.
- Slippage model — estimated price impact based on order size and orderbook depth.
Formula: Net APR = Gross APR − (entry_fees + exit_fees + spread_cost) annualized
Frequently Asked Questions
Is funding rate arbitrage risk-free?
No. While you are delta-neutral (hedged against price moves), risks include: funding rate reversal, exchange downtime, liquidation on one side during volatility, and withdrawal delays. Always use stop-loss monitoring.
What position size should I use?
Check the Volume and Open Interest columns. Your position should be a small fraction of OI (under 1-2%) to avoid moving the market. Use the Payback Calculator to estimate costs for your specific size.
How often do funding rates update?
Most exchanges settle funding every 8 hours (Binance, Bybit, OKX). Some DEXes settle every 1 hour (Hyperliquid, dYdX) or even continuously. Perpia shows the current predicted rate and the last settled rate.
What does Time Alive mean?
How long the opportunity has continuously had a positive gross APR. Longer alive = more stable strategy. Pairs that flicker on/off in minutes are risky. The scanner filters out pairs alive less than 1 hour.
Why are some pairs marked RISK or SUSPECT?
RISK flags indicate low liquidity, extreme funding rates, or high spread. SUSPECT means the data may be unreliable (e.g. stale orderbook, API issues). These pairs are hidden by default.