REST API

Options

The options market on Bitcoin and Ethereum, aggregated across several venues, normalised in dollars and recomputed under a single convention. Seventeen routes that answer one question: where the market puts its risk, and at what price.

#The principle

Three things set this family apart from the rest of the API.

  • Two assets only: Bitcoin and Ethereum. The options market has no depth anywhere else.
  • Targeting is done with ?asset=, using the asset alone (BTC or ETH) and not with ?symbol=. Passing BTCUSDT is refused.
  • The Greeks are recomputed under a single convention, rather than taken from each venue: the signs and conventions differ too much there to be summed as they are.
ParameterTypeDefaultDescription
assetstringBTCBTC or ETH.
timeframestring1hOn /history routes: 1m, 5m, 15m, 30m, 1h, 4h, 1d.
limitinteger100On /history routes.
since_ms / until_msinteger—Dated window, accepted by the histories of this family.

#Overview

GET/v1/options/summarydata_type · options_summary

A single call for the complete picture: open positions, volume, put/call ratio, at-the-money implied volatility, and the detail of the nearest expiry.

curl -H "X-API-KEY: $BYTNODE_KEY" \
  "https://api.bytnode.com/v1/options/summary?asset=BTC"
FieldTypeDescription
assetstringBTC or ETH.
underlying_pricefloatPrice of the underlying at the time of the computation.
open_interestobjectOpen positions in dollars: total, calls, puts.
volumeobjectVolume traded in dollars, same breakdown.
pc_ratiofloatPut over call ratio.
pc_signalstringA qualitative reading of the ratio.
iv_atmfloatAt-the-money implied volatility, as a decimal: 0.48 means 48%.
nearest_expiryobjectThe nearest expiry: date, days remaining, max pain, and its own put/call and volatility.
coverageobjectsources_active, the number of venues that contributed, and oi_coverage between 0 and 1.

#Open interest and volume

GET/v1/options/oidata_type · options_oi
GET/v1/options/oi/historydata_type · options_oi_history

Open positions, in units of the asset and in dollars, split between calls and puts.

GET/v1/options/oi/deltadata_type · options_oi_delta
GET/v1/options/oi/delta/historydata_type · options_oi_delta_history

The change over the window, computed on demand: last value minus first. Each row carries delta_call_usd and delta_put_usd.

GET/v1/options/oi/distributiondata_type · options_oi_distribution

The distribution of open interest by strike price and by expiry. It is the map of the levels where the market has actually committed capital: the strike walls the underlying will have to cross.

GET/v1/options/volumedata_type · options_volume
GET/v1/options/volume/historydata_type · options_volume_history

#Put/call and max pain

GET/v1/options/pc-ratiodata_type · options_pc_ratio
GET/v1/options/pc-ratio/historydata_type · options_pc_ratio_history

The ratio between puts and calls, in open interest as in volume. Below 1, calls dominate. Above, downside hedging takes over.

GET/v1/options/max-paindata_type · options_max_pain
GET/v1/options/max-pain/historydata_type · options_max_pain_history

What max pain is

The strike price at which the total value of the options coming to expiry would be lowest, hence the one where option buyers lose the most. It is a statistical centre of gravity, not a forecast: its value is to say at what level the existing positions create tension.

#Implied volatility

GET/v1/options/ivdata_type · options_iv
GET/v1/options/iv/historydata_type · options_iv_history

Implied volatility weighted by open interest, as a decimal. It measures what the market pays to hedge, independently of direction.

GET/v1/options/iv/klinesdata_type · options_iv_klines

The same volatility, in OHLC candles derived on demand. Each row carries bucket, open, high, low, close. That is enough to chart volatility the way one charts a price.

#Greeks and expiries

GET/v1/options/greeksdata_type · options_greeks

Delta, gamma, vega and theta aggregated, weighted by open interest. They are recomputed under a single convention, which makes them summable across venues, which the values published by each one would not allow.

GET/v1/options/expirydata_type · options_expiry

The summary by expiry: open positions, put/call ratio, max pain and volatility for each date. It is the view to consult before a large expiry, when the unwinding of positions weighs on the underlying.