Options chain by expiry
POST /api/crypto-options-chainOptions chain for a currency and expiry on Deribit, sorted by strike: instrument, strike, call/put, bid, ask, mark, mark IV, open interest, 24h volume and underlying price for each listed option, plus the list of available expiries. Omit expiry to get the nearest one; pass type call or put to filter one side. limit caps rows (default 100, max 500). Keyless public data.
Input
| Field | Type | Description |
|---|---|---|
currency | string | BTC (default) or ETH. |
expiry | string | Deribit expiry label like 26DEC26; omit for the nearest expiry. |
type | string | Optional: call or put. |
limit | number | Rows to return (default 100, max 500). |
Example output
{
"source": "deribit",
"currency": "BTC",
"expiry": "26AUG26",
"expiresAt": "2026-08-26T08:00:00.000Z",
"underlyingPrice": 77317.9,
"expiries": [
"26AUG26",
"27AUG26",
"25SEP26"
],
"count": 2,
"options": [
{
"instrument": "BTC-26AUG26-80000-C",
"expiry": "26AUG26",
"strike": 80000,
"type": "call",
"bid": 0.0065,
"ask": 0.008,
"mark": 0.0073,
"markIv": 48.03,
"openInterest": 12.5,
"volume24h": 3.1,
"volume24hUsd": 1800,
"underlyingPrice": 77317.9
}
],
"fetchedAt": "2026-08-22T12:00:00.000Z"
}
Try it - see the 402 challenge (free)
curl -i -X POST https://agent402.tools/api/crypto-options-chain \
-H "Content-Type: application/json" \
-d '{"currency":"BTC","limit":20}'
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/crypto-options-chain", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"currency": "BTC",
"limit": 20
}),
});
Related tools
Crypto order book
GET /api/crypto-orderbookL2 order-book snapshot for a spot pair: best bid/ask, mid price, spread (absolute + %), and the top N aggregated price l…
try in playground →Stablecoin peg monitor
GET /api/stablecoin-pegLive $1-peg deviation for the top USD stablecoins (USDT, USDC, USDS, DAI, USDe, PYUSD, USDD, TUSD, FDUSD by default, or …
try in playground →Wallet balance (native + ERC-20)
POST /api/wallet-balanceLook up the native coin balance (ETH/MATIC) plus every ERC-20 holding for a wallet address on Ethereum, Base, Polygon, A…
try in playground →