행사가별 옵션
행사가별 미결제약정과 24h 거래량을 콜과 풋으로 나누어 반환합니다. 만기일을 하나만 지정하면 맥스 페인 곡선(행사가별 지급액)도 응답에 포함됩니다.
/api/sd/options/strikes요청
쿼리 파라미터
| 이름 | 타입 | 필수 | 기본값 | 허용 값 | 설명 |
|---|---|---|---|---|---|
| coin | string | 필수 | — | — | 코인 심볼, 대소문자 구분 없음(예: `BTC`). 값이 없거나 형식이 잘못되면 400을 반환합니다. 예시: BTC |
| expiry | string | 선택 | all | — | `all`, 또는 `YYYY-MM-DD` 형식의 UTC 만기일 하나. 맥스 페인 곡선은 단일 만기일에 대해서만 반환됩니다. 알 수 없는 날짜는 404를 반환하며 사용 가능한 날짜를 나열합니다. |
| exchange | string | 선택 | all | all, deribit, binance, bybit, okx, gate, coincall | 거래소 하나, 또는 거래소 간 집계를 위한 `all`. |
요청 예시
curl -s "https://www.coinboss.com/api/sd/options/strikes?coin=BTC"응답 필드
필드 표는 실제 응답에서 생성되므로 엔드포인트가 반환하는 내용을 그대로 보여 줍니다. 경로에서 a[]는 배열 항목을, {*}는 코인이나 거래소처럼 동적 이름을 키로 갖는 객체를 뜻합니다.
| 필드 | 타입 | 단위 | 설명 |
|---|---|---|---|
| success | boolean | — | 요청이 성공하면 true입니다. 실패하면 본문은 `{ success: false, code, error, request_id }`입니다. |
| schema | string | — | 이 응답의 스키마 ID. 기존 필드의 의미나 타입이 바뀔 때만 변경됩니다. |
| now | number | ms | 응답이 생성된 서버 시각. |
| coin | string | — | 코인 심볼(대문자). |
| exchange | string | — | 거래소 ID(소문자). |
| expiry | string | — | 만기일(UTC), `YYYY-MM-DD` 또는 `all`. |
| expiry_ts | null | — | 만기 시각. |
| days_left | null | days | 만기일까지 남은 일수. |
| index_price | number | USD | USD 환산에 사용하는 현물 지수 가격(집계에서는 각 거래소 자체 지수 가격의 중앙값). |
| n_strikes | number | — | 반환된 행사가 수. |
| max_pain | null | USD | 만기 시 옵션 보유자에게 지급되는 총액이 가장 작아지는 행사가. |
| max_pain_usd | null | USD | 만기가 맥스 페인 행사가에서 정산될 경우 옵션 보유자에게 지급되는 총액. |
| n_contracts | number | — | 포함된 옵션 계약 수. |
| oi_usd | number | USD | USD 명목가치 기준 미결제약정: 코인 수량 × 현물 지수 가격. 단방향 기준. |
| call_oi_usd | number | USD | 콜 미결제약정, USD 명목가치. |
| put_oi_usd | number | USD | 풋 미결제약정, USD 명목가치. |
| oi_coin | number | coin | 기초 코인 단위의 미결제약정. |
| call_oi_coin | number | coin | 기초 코인 단위의 콜 미결제약정. |
| put_oi_coin | number | coin | 기초 코인 단위의 풋 미결제약정. |
| vol_usd_24h | number | USD | 24h 명목 거래량: 거래된 코인 수량 × 현재 현물 지수 가격. 프리미엄 거래대금이 아닙니다. |
| call_vol_usd_24h | number | USD | 콜의 24h 명목 거래량. |
| put_vol_usd_24h | number | USD | 풋의 24h 명목 거래량. |
| vol_coin_24h | number | coin | 기초 코인 단위의 24h 거래 수량. |
| call_vol_coin_24h | number | coin | 콜의 24h 거래 수량, 코인 기준. |
| put_vol_coin_24h | number | coin | 풋의 24h 거래 수량, 코인 기준. |
| vol_premium_usd_24h | number | USD | 거래소가 공시하는 경우의 24h 프리미엄 거래대금(옵션 가격 × 수량). 그 외에는 `null`입니다. 명목 거래량에 합산하는 일은 없습니다. |
| pcr_oi | number | ratio | 풋 미결제약정 ÷ 콜 미결제약정, 코인 단위 기준. 콜 측이 0이면 `null`입니다. |
| pcr_vol | number | ratio | 풋 24h 거래량 ÷ 콜 24h 거래량, 코인 단위 기준. 콜 측이 0이면 `null`입니다. |
| expiries_available | array | — | 현재 계약이 있는 만기일. |
| expiries_available[] | string | — | 현재 계약이 있는 만기일. |
| strikes | array | — | 행사가당 한 행, 오름차순. |
| strikes[] | object | — | 행사가당 한 행, 오름차순. |
| strikes[].strike | number | USD | 행사가. |
| strikes[].call_oi_coin | number | coin | 기초 코인 단위의 콜 미결제약정. |
| strikes[].put_oi_coin | number | coin | 기초 코인 단위의 풋 미결제약정. |
| strikes[].call_oi_usd | number | USD | 콜 미결제약정, USD 명목가치. |
| strikes[].put_oi_usd | number | USD | 풋 미결제약정, USD 명목가치. |
| strikes[].call_vol_coin_24h | number | coin | 콜의 24h 거래 수량, 코인 기준. |
| strikes[].put_vol_coin_24h | number | coin | 풋의 24h 거래 수량, 코인 기준. |
| strikes[].call_vol_usd_24h | number | USD | 콜의 24h 명목 거래량. |
| strikes[].put_vol_usd_24h | number | USD | 풋의 24h 명목 거래량. |
| strikes[].pain_usd | null | USD | 만기가 이 행사가에서 정산될 경우 옵션 보유자에게 지급되는 총액. |
| strikes[].call_pain_usd | null | USD | 만기가 이 행사가에서 정산될 경우 콜 보유자에게 지급되는 금액. |
| strikes[].put_pain_usd | null | USD | 만기가 이 행사가에서 정산될 경우 풋 보유자에게 지급되는 금액. |
| coverage | object | — | 수치에 포함된 것과 포함되지 않은 것. 다른 소스와 합계를 비교하기 전에 먼저 이 항목을 비교하십시오. |
| coverage.included_exchanges | array | — | 최신 데이터가 포함된 소스. |
| coverage.included_exchanges[] | string | — | 최신 데이터가 포함된 소스. |
| coverage.unavailable | array | — | 포함할 수 없었던 소스와 각각의 사유. 0으로 집계하는 일은 없습니다. |
| coverage.unavailable[] | object | — | 포함할 수 없었던 소스와 각각의 사유. 0으로 집계하는 일은 없습니다. |
| coverage.unavailable[].exchange | string | — | 거래소 ID(소문자). |
| coverage.unavailable[].reason | string | — | 기계 판독용 사유 코드. |
| coverage.unavailable[].detail | string | — | 사람이 읽을 수 있는 사유 설명. |
| coverage.stale_excluded | array | — | 마지막 갱신이 신선도 창을 벗어나 제외된 행. 이 표를 생성한 샘플에서는 비어 있음 |
| coverage.field_gaps | array | — | 거래소가 공시하지 않는 열. 해당 거래소에서는 `null`입니다. |
| coverage.field_gaps[] | object | — | 거래소가 공시하지 않는 열. 해당 거래소에서는 `null`입니다. |
| coverage.field_gaps[].exchange | string | — | 거래소 ID(소문자). |
| coverage.field_gaps[].fields | array | — | 누락된 열의 이름. |
| coverage.field_gaps[].fields[] | string | — | 누락된 열의 이름. |
| coverage.field_gaps[].kind | string | — | 계약 계열: `inverse`(코인 결제) 또는 `linear`(스테이블코인 결제). |
| method | object | — | 이 응답에 사용된 산식을 필드당 한 항목씩 일반 텍스트로 기술한 내용. |
| method.oi_usd | string | — | `oi_usd`의 산식 설명, 일반 텍스트. |
| method.vol_usd_24h | string | — | `vol_usd_24h`의 산식 설명, 일반 텍스트. |
| method.pcr_oi | string | — | `pcr_oi`의 산식 설명, 일반 텍스트. |
| method.max_pain | string | — | `max_pain`의 산식 설명, 일반 텍스트. |
| method.strikes | string | — | `strikes`의 산식 설명, 일반 텍스트. |
| method.pain_usd | string | — | `pain_usd`의 산식 설명, 일반 텍스트. |
| meta | object | — | 이 응답의 데이터 경로와 신선도. |
| meta.schema | string | — | 이 응답의 스키마 ID. 기존 필드의 의미나 타입이 바뀔 때만 변경됩니다. |
| meta.source | array | — | 데이터를 수집한 업스트림 공개 엔드포인트. |
| meta.source[] | object | — | 데이터를 수집한 업스트림 공개 엔드포인트. |
| meta.source[].exchange | string | — | 거래소 ID(소문자). |
| meta.source[].endpoint | string | — | 수집기가 읽는 소스의 공개 엔드포인트(데이터 경로 표시용이며 클라이언트가 직접 호출하지 않음). |
| meta.observed_at | number | ms | 소스가 데이터에 부여한 타임스탬프. |
| meta.received_at | number | ms | CoinBoss 수집기가 데이터를 수신한 시각. |
| meta.fetched_at | number | ms | 이 응답이 조립된 시각. |
| meta.window | string | — | 수치가 포괄하는 시간 구간. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN 또는 UNAVAILABLE. 데이터 타임스탬프와 커버리지로 판정합니다. |
| meta.is_stale | boolean | — | 데이터가 신선도 창보다 오래되었으면 true. |
| meta.cache_ttl_s | number | s | 이 응답의 캐시 수명. |
| meta.fallback | string | — | 수집기나 소스에 장애가 발생했을 때 엔드포인트가 반환하는 내용. |
2026-11-11 23:00 UTC에 실제 응답 3건으로 생성.
응답 예시
/api/sd/options/strikes?coin=BTC · 2026-11-13 03:58:21 UTC에 수집한 실제 응답. 긴 배열과 맵은 표시를 위해 줄였습니다: strikes: 원래 항목 146개; meta.source: 원래 항목 6개; expiries_available: 원래 항목 12개; coverage.field_gaps: 원래 항목 4개; coverage.unavailable: 원래 항목 12개; coverage.stale_included: 원래 항목 6개.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542301841
- "coin""BTC"
- "exchange""all"
- "expiry""all"
- "expiry_ts"null
- "days_left"null
- "index_price"71498.15576087
- "n_strikes"146
- "max_pain"null
- "max_pain_usd"null
- "n_contracts"5792
- "oi_usd"32670143083.84
- "call_oi_usd"18276964561.96
- "put_oi_usd"14393178521.88
- "oi_coin"457419.65
- "call_oi_coin"255899.54
- "put_oi_coin"201520.11
- "vol_usd_24h"4295495191.7
- "call_vol_usd_24h"2031780368.24
- "put_vol_usd_24h"2263714823.46
- "vol_coin_24h"60122.56
- "call_vol_coin_24h"28436.77
- "put_vol_coin_24h"31685.79
- "vol_premium_usd_24h"34033631.12
- "pcr_oi"0.7875
- "pcr_vol"1.1143
- "expiries_available"
- "2026-11-13"
- "2026-11-14"
- "2026-11-15"
- "2026-11-16"
- "2026-11-20"
- "2026-11-27"
- "2026-12-04"
- "2026-12-25"
- "strikes"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "field_gaps"
- "stale_included"
- "method"
- "oi_usd""sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
- "vol_usd_24h""NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…"
- "pcr_oi""put open interest / call open interest, both in underlying-coin units; null when call side is 0 or missing"
- "max_pain""per expiry: settlement price S among strikes with OI>0 minimizing pain_usd(S) = sum_calls oi_coin x max(S-K,0) + sum_puts oi_coin x max(K-S,0); ties take the lo…"
- "strikes""per strike: call and put open interest / 24h volume summed over the selected exchanges and expiry (expiry=all sums every listed expiry)"
- "pain_usd""total USD payout to option holders if the expiry settled at this strike (see max_pain); only returned for a single expiry - null when expiry=all because max pai…"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"1794522472654
- "received_at"1794522473814
- "fetched_at"1794542301841
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"60
- "fallback""on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
검증된 샘플
프로브는 위 예시 외에도 아래 파라미터로 이 엔드포인트를 호출하고 매번 스키마를 검사합니다.
| 파라미터 | HTTP | 지연 시간 | 결과 |
|---|---|---|---|
| coin=ETH | 200 | 11 ms | 통과 STALE |
| coin=BTC&exchange=deribit | 200 | 5 ms | 통과 STALE |
| coin=BTC&expiry=2020-01-01 | 404 | 2 ms | 통과 예상된 오류 반환 |
2026-11-13 03:58:21 UTC 점검
상세 정보
- 인증
- 없음. 공개 엔드포인트.
- 요청 한도
- IP당 분당 1200회
- 서버 캐시
- 60s
- 엣지 마이크로 캐시
- 10s
- 갱신 주기
- 수집기는 10분마다 한 차례 실행되며, 거래소는 마지막으로 성공한 수집 이후 25분 동안 최신으로 간주됩니다.
- 구간
- 최신 스냅샷. 거래량 필드는 직전 24시간을 포괄합니다.
- 데이터 소스
- Deribit, Binance, Bybit, OKX, Gate, Coincall의 공개 REST 옵션 엔드포인트를 CoinBoss가 수집해 저장합니다(sd_opt_latest, sd_opt_summary_hourly). 제3자 집계 서비스는 관여하지 않습니다.
- 거래소 커버리지
- 옵션 거래소 6곳. 선택한 거래소에 상장된 옵션이 없는 코인은 null 필드, `meta.quality = "UNAVAILABLE"`, 그리고 `coverage.unavailable`의 사유와 함께 HTTP 200을 반환합니다. 공개 옵션 피드가 없는 거래소도 그곳에 나열됩니다.
- 페이지네이션
- 페이지네이션 없음. 선택 범위의 모든 행사가를 반환합니다.
- 정렬
- 행사가 오름차순.
- 단위
- USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
- 산출 방식
- pain_usd at strike K = Σ call OI × max(K − strike, 0) + Σ put OI × max(strike − K, 0), in USD. `max_pain` is the K with the smallest pain_usd.
- 타임스탬프
- 필드 설명에 별도 언급이 없는 한 Unix epoch 밀리초(UTC)
- 응답 형식
- json
- 안정성
- 안정
- 제공 시작
- 2026-11-11
실시간 상태
엔드포인트가 보고한 데이터 품질: STALE
최근 30일 가용성
점검 407회 중 100% 통과
- 반환되지만 문서에 없음: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s
오류
실패한 호출은 모든 엔드포인트에서 동일한 구조로 반환됩니다. 전체 목록은 오류 페이지에 있습니다. 오류 및 요청 한도 →
| 코드 | HTTP | 의미 | 대응 방법 |
|---|---|---|---|
| INVALID_PARAM | 400 | 필수 파라미터가 누락되었거나 허용되지 않는 값입니다. 문제가 된 파라미터를 알 수 있으면 `param`에 그 이름이 들어갑니다. | 그대로 재시도하지 말고 요청을 수정하십시오. |
| UNAUTHORIZED | 401 | `CB-API-KEY` 헤더를 보냈지만 알 수 없거나 폐기된 키입니다. 공개 데이터에는 키가 필요 없으므로 헤더를 빼거나 유효한 키를 사용하십시오. | 그대로 재시도하지 마십시오. |
| FORBIDDEN | 403 | 해당 경로는 공개 API에 포함되지 않습니다(내부용 또는 계정 전용). | 재시도하지 마십시오. |
| NOT_FOUND | 404 | 알 수 없는 경로이거나, 요청한 코인 / 거래소 / 펀드가 존재하지 않습니다. | 재시도하지 말고 경로와 식별자를 카탈로그와 대조해 확인하십시오. |
| RATE_LIMITED | 429 | 요청 수가 분당 한도를 초과했습니다. `Retry-After`가 대기해야 할 초를 알려 줍니다. | `Retry-After`만큼 기다린 뒤 백오프를 적용해 재시도하십시오. |
| INTERNAL | 500 | 예기치 않은 서버 오류입니다. 메시지는 의도적으로 일반적인 내용만 담습니다. 신고할 때 `request_id`를 인용하십시오. | 몇 초 뒤 한 번 재시도하고, 계속되면 요청 ID와 함께 신고하십시오. |
| UPSTREAM_FAILED | 503 | 이 엔드포인트의 데이터 소스가 제시간에 응답하지 않았습니다. 그 대신 만료된 수치나 대체 수치를 반환하는 일은 없습니다. | 백오프를 적용해 재시도하고 상태 페이지를 확인하십시오. |
| UNAVAILABLE | 501 / 503 | 데이터셋이 일시적으로 준비되지 않았거나(캐시 워밍 중) 엔드포인트에 아직 합법적인 공개 소스가 없습니다. | 나중에 재시도하십시오. 설계상 사용 불가인 엔드포인트는 카탈로그에 표시되어 있습니다. |
| REQUEST_FAILED | 200 | 일부 이전 엔드포인트는 HTTP 200에 `success: false`로 응답합니다. HTTP 상태만 보지 말고 항상 `success`를 확인하십시오. | 메시지에 따라 다릅니다. 실패한 요청으로 처리하십시오. |
직접 실행
/api/sd/options/strikes저하string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · 기본값 all — `all`, or one UTC expiry date as `YYYY-MM-DD`. The max-pain curve is returned only for a single expiry. An unknown date returns 404 and lists the available dates.
string · 기본값 all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/strikes?coin=BTC이 카테고리의 다른 엔드포인트
- 옵션 체인(단일 거래소) /api/sd/options/chain
- 만기일별 옵션 /api/sd/options/expiries
- 옵션 히스토리(1시간 단위) /api/sd/options/history
- 옵션 개요(전체 거래소) /api/sd/options/overview
- 행사가별 옵션 /api/sd/options/strikes
- 코인 페이지 옵션 요약 /api/currency/options-summary
- 옵션 내재변동성 스마일 / 기간 구조 /api/options/iv
- 옵션 내재변동성 히스토리 /api/options/iv-history
- 옵션 맥스 페인 /api/options/max-pain
- 만기일별 옵션 OI /api/options/oi-by-expiry
- 행사가별 옵션 OI /api/options/oi-by-strike
- 옵션 개요 /api/options/overview
- 옵션 거래량 분포 /api/options/volume-dist