Agent402 / tools / crypto-options-chain

Options chain by expiry

$0.004 per call · USDC via x402 · POST /api/crypto-options-chain

Options 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.

TRY IN PLAYGROUND →

Input

FieldTypeDescription
currencystringBTC (default) or ETH.
expirystringDeribit expiry label like 26DEC26; omit for the nearest expiry.
typestringOptional: call or put.
limitnumberRows 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
  }),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).

Related tools

Crypto order book

$0.003 · GET /api/crypto-orderbook

L2 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

$0.003 · GET /api/stablecoin-peg

Live $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)

$0.002 · POST /api/wallet-balance

Look up the native coin balance (ETH/MATIC) plus every ERC-20 holding for a wallet address on Ethereum, Base, Polygon, A…

try in playground →