Dated Futures Basis
Buy spot, sell dated futures, and rank cash-and-carry opportunities by fee-adjusted annualized basis. The main grid stays compact while each row exposes the full execution and formula breakdown in the detail panel.
List dated futures basis rows
The main scanner grid shows Rank, Coin, Venues, Contract, Expiry, Spot Ask, Future Bid, Basis, Net APR, Liquidity, and Updated. Row details include annualized basis, fees, volume, open interest, 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 exchanges such as Binance,Bybit,OKX,Deribit.
- Name
minApr- Type
- number
- Description
- Minimum netAprPct in percentage points.
- Name
minOiUsd- Type
- number
- Description
- Minimum open interest in USD.
- Name
minDepthUsd- Type
- number
- Description
- Minimum executable depth in USD. Rows without depth are filtered out when this is set.
- 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/dated-futures-basiscurl -G https://www.sharpe.ai/api/v1/arbitrage/dated-futures-basis \
-H "Authorization: Bearer sk_live_your_key_here" \
-d coin=BTC \
-d minApr=5
{
"data": {
"rows": [
{
"rank": 1,
"coin": "BTC",
"spotVenue": "Binance",
"futuresVenue": "Binance",
"contract": "BTCUSDT_260626",
"expiry": "2026-06-26T08:00:00.000Z",
"days": 34,
"spotAsk": 109000,
"futureBid": 110250,
"basisPct": 1.1468,
"annualizedBasisPct": 12.309,
"netAprPct": 10.16,
"volume24hUsd": 120000000,
"openInterestUsd": 90000000,
"depthUsd": null,
"feesPct": 0.2,
"updatedAt": "2026-05-23T10:30:00.000Z"
}
],
"scannerMeta": {
"kind": "dated-futures-basis",
"status": "ok",
"source": "supabase",
"notionalUsd": 10000
},
"pagination": { "cursor": null, "has_more": false, "total": 1 }
}
}
Formula
basisPct = (futureBid - spotAsk) / spotAsk * 100
netAprPct = (basisPct - feesPct - slippagePct) * 365 / daysToExpiry
Depth and slippage stay null until top-of-book enrichment is available for that venue and contract.