Skip to content

Futures Calendar Spread

Pair active dated futures by coin and exchange, then rank adjacent near/far contracts by forward yield and net roll APY.


List calendar spread rows

The main scanner grid shows Rank, Coin, Exchange, Near/Far, Expiries, Direction, Forward Yield, Net Roll APY, Curve, Liquidity, and Updated. Row details include the near/far contract inputs, basis values, min OI/depth, source timestamps, and the heatmap breakdown.

Query parameters

  • Name
    coin
    Type
    string
    Description
    Optional base coin. Supported launch coins: BTC, ETH, SOL, XRP, DOGE, MNT, XAUT.
  • Name
    exchanges
    Type
    string
    Description
    Comma-separated exchange filter.
  • Name
    minApr
    Type
    number
    Description
    Minimum netRollApyPct in percentage points.
  • Name
    minOiUsd
    Type
    number
    Description
    Minimum of near/far open interest in USD.
  • Name
    minDepthUsd
    Type
    number
    Description
    Minimum of near/far depth in USD when depth is available.
  • Name
    notional
    Type
    number
    Description
    Position notional in USD. Defaults to 10000.
  • Name
    limit
    Type
    number
    Description
    Rows per page. Defaults to 100.
  • Name
    cursor
    Type
    string
    Description
    Opaque cursor from the previous page.

Request

GET
/v1/arbitrage/futures-calendar-spread
curl -G https://www.sharpe.ai/api/v1/arbitrage/futures-calendar-spread \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -d exchanges=Binance,OKX
{
  "data": {
    "rows": [
      {
        "rank": 1,
        "coin": "ETH",
        "exchange": "OKX",
        "nearContract": "ETH-USDT-260626",
        "nearExpiry": "2026-06-26T08:00:00.000Z",
        "farContract": "ETH-USDT-260925",
        "farExpiry": "2026-09-25T08:00:00.000Z",
        "nearBasisPct": 1.8,
        "farBasisPct": 4.6,
        "forwardYieldPct": 11.23,
        "curve": "Contango",
        "direction": "Buy Near / Sell Far",
        "netRollApyPct": 10.43,
        "minOpenInterestUsd": 32000000,
        "minDepthUsd": null,
        "updatedAt": "2026-05-23T10:30:00.000Z"
      }
    ]
  }
}

Formula

forwardYieldPct = (farBasisPct - nearBasisPct) * 365 / (farDays - nearDays)

direction is Buy Near / Sell Far when the far contract has richer implied basis, otherwise Sell Near / Buy Far.

Was this page helpful?