Crypto Funding Harvester

v1.0.0

Scans perpetual futures funding rates across Hyperliquid, Binance, and Bybit to identify delta-neutral carry trade opportunities. A delta-neutral carry trade...

0· 166· 1 versions· 0 current· 0 all-time· Updated 1mo ago· MIT-0

Crypto Funding Rate Harvester

Scans perpetual futures funding rates across Hyperliquid, Binance, and Bybit to surface delta-neutral carry trade opportunities in real time.

What it does

A delta-neutral carry trade works like this:

  • Buy spot (e.g. BTC on any exchange)
  • Short the perpetual future on the same asset
  • Net directional exposure = zero
  • Collect the funding rate paid by longs to shorts
  • Pure yield, no price risk (ignoring basis risk)

This skill identifies assets where funding rates are high enough (>20% annualized) to make this trade worthwhile after accounting for fees and capital costs.

Output

Results are saved to /tmp/funding_opportunities.json with the following structure:

{
  "generated_at": "2025-01-01T00:00:00.000000",
  "opportunities": [
    {
      "asset": "BTC",
      "exchange": "binance",
      "funding_rate_8h": 0.0003,
      "annualized_pct": 32.85,
      "current_price": 65000.0
    }
  ],
  "cross_exchange_spreads": [
    {
      "asset": "BTC",
      "binance_annualized_pct": 32.85,
      "bybit_annualized_pct": 10.95,
      "spread_pct": 21.9,
      "note": "Binance funding significantly higher than Bybit — potential cross-exchange arb"
    }
  ],
  "summary": {
    "total_opportunities": 5,
    "exchanges_scanned": ["hyperliquid", "binance", "bybit"],
    "min_annualized_threshold_pct": 20
  }
}

Environment Variables

No environment variables are required. All APIs used are free and public.

The following optional environment variables can be used to tune behavior:

VariableDefaultDescription
MIN_ANNUALIZED_PCT20Minimum annualized funding rate (%) to include in results
CROSS_EXCHANGE_SPREAD_THRESHOLD10Minimum spread (%) between Binance and Bybit to flag as a cross-exchange opportunity
REQUEST_TIMEOUT10HTTP request timeout in seconds

Exchanges

ExchangeEndpointNotes
Hyperliquidhttps://api.hyperliquid.xyz/infoPOST, type=metaAndAssetCtxs
Binancehttps://fapi.binance.com/fapi/v1/premiumIndexGET, all USDT perps
Bybithttps://api.bybit.com/v5/market/tickersGET, category=linear

Funding Rate Normalization

All exchanges use 8-hour funding intervals. Annualized rate is calculated as:

annualized_pct = funding_rate_8h * 3 * 365 * 100

Where * 3 converts 8h to daily (3 periods per day) and * 365 converts daily to annual.

Cron Schedule

Runs every 15 minutes: */15 * * * *

Version tags

latestvk97e03s9zhjrj4xhq46zj6gky983a4fn