GET사용 가능
단일 코인의 미결제약정
자체 데이터 레이어: 단일 코인의 미결제약정(거래소 / 계약별, 품질 플래그 포함)
GET
/api/sd/oi요청
쿼리 파라미터
| 이름 | 타입 | 필수 | 기본값 | 허용 값 | 설명 |
|---|---|---|---|---|---|
| coin | string | 필수 | — | — | 코인 심볼. 누락되면 400. 별칭: `base`. 예시: BTC |
요청 예시
curl -s "https://www.coinboss.com/api/sd/oi?coin=BTC"응답 필드
필드 표는 실제 응답에서 생성되므로 엔드포인트가 반환하는 내용을 그대로 보여 줍니다. 경로에서 a[]는 배열 항목을, {*}는 코인이나 거래소처럼 동적 이름을 키로 갖는 객체를 뜻합니다.
| 필드 | 타입 | 단위 | 설명 |
|---|---|---|---|
| success | boolean | — | 요청이 성공하면 true입니다. 실패하면 본문은 `{ success: false, code, error, request_id }`입니다. |
| coin | string | — | 코인 심볼, 대문자(예: BTC). |
| now | number | ms | 응답이 생성된 서버 시각. |
| total_usd | number | USD | 포함된 모든 거래소와 계약의 미결제약정 합계로, 각 거래소가 보고한 값 그대로입니다(USD 명목가치). |
| n_exchanges | number | — | 합계에 포함된 거래소 수. |
| n_contracts | number | — | 합계에 포함된 계약 수. |
| asof | number | ms | 포함된 행 중 가장 최근의 갱신 시각. |
| total_usd_single_adjusted | number | USD | 양방향으로 보고하는 거래소(`double_sided.exchanges`)의 수치를 절반으로 환산한 `total_usd`로, 모든 거래소가 단방향 기준으로 집계됩니다. |
| double_sided | object | — | 롱 + 숏 미결제약정을 하나의 숫자로 공시하는 것으로 알려진 거래소. |
| double_sided.exchanges | array | — | 거래소. |
| double_sided.exchanges[] | string | — | 거래소. |
| double_sided.oi_usd | number | USD | 절반으로 환산하기 전 해당 거래소들의 보고 미결제약정. |
| by_kind | object | — | 선형 / 인버스별 구분. |
| by_kind.linear_usd | number | USD | 선형 계약(스테이블코인 또는 USD로 증거금을 넣고 정산)의 미결제약정. |
| by_kind.inverse_usd | number | USD | 인버스(코인 마진) 계약의 미결제약정. 계약 가격 기준으로 USD로 환산. |
| by_margin | object | — | 증거금 통화별 구분. |
| by_margin.other | number | USD | 기타 증거금 통화(예: CME 같은 USD 정산 거래소). |
| by_margin.usdt | number | USD | USDT 마진 계약. |
| by_margin.usdc | number | USD | USDC 마진 계약. 없을 수 있음 |
| by_margin.coin | number | USD | 코인 마진 계약. 없을 수 있음 |
| by_contract_type | object | — | 무기한 / 만기별 구분. |
| by_contract_type.perpetual_usd | number | USD | 무기한 선물 계약. |
| by_contract_type.delivery_usd | number | USD | 만기 선물(delivery 계약). |
| change | object | — | 1h / 4h / 24h 동안의 미결제약정 변화로, 양쪽 시점에서 동일한 계약 집합을 기준으로 계산합니다. 동적 키: h1,h4,h24 |
| change.{*} | object | — | 명시된 기간의 변화. |
| change.{*}.pct | number | % | `prev`와 `cur` 사이의 변화율(%). |
| change.{*}.cur | number | USD | 매칭된 계약의 현재 합계. |
| change.{*}.prev | number | USD | `prev_ts` 시점의 동일 계약 합계. |
| change.{*}.n_matched | number | — | 양쪽 시점에 모두 존재하는 계약(또는 거래소). |
| change.{*}.n_total | number | — | 현재 존재하는 계약(또는 거래소). |
| change.{*}.matched_share_pct | number | % | 매칭된 집합이 현재 미결제약정에서 차지하는 비중. 없을 수 있음 |
| change.{*}.prev_ts | number | ms | 기준 스냅샷의 시각. |
| change.{*}.span_min | number | min | 기준 시점과 현재 사이의 실제 간격. |
| change.{*}.basis | string | — | 기준값을 가져온 스냅샷 시계열. |
| change.{*}.frozen_excluded | object | — | 두 스냅샷 사이에 값이 변하지 않아(소스 미갱신) 변화 계산에서 제외된 행. 없을 수 있음 |
| change.{*}.frozen_excluded.n_baseline | number | — | 기준 스냅샷의 항목. 없을 수 있음 |
| change.{*}.frozen_excluded.n_current | number | — | 현재 스냅샷의 항목. 없을 수 있음 |
| change.{*}.frozen_excluded.cur_usd | number | USD | 현재 값. 없을 수 있음 |
| change.{*}.frozen_excluded.prev_usd | number | USD | 기준값. 없을 수 있음 |
| by_exchange | array | — | 거래소별 내역. |
| by_exchange[] | object | — | 거래소별 내역. |
| by_exchange[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| by_exchange[].oi_usd | number | USD | USD 명목가치 기준 미결제약정. |
| by_exchange[].share_pct | number | % | 전체 대비 비중. |
| by_exchange[].n_contracts | number | — | 계약 수. |
| by_exchange[].linear_usd | number | USD | 선형 계약. |
| by_exchange[].inverse_usd | number | USD | 인버스(코인 마진) 계약. |
| by_exchange[].perpetual_usd | number | USD | 무기한 선물 계약. |
| by_exchange[].delivery_usd | number | USD | 만기 선물 계약. |
| by_exchange[].oi_side | string | — | 거래소가 양방향을 하나의 숫자로 보고하면 `double`, 단방향으로 보고하면 `single`, 거래소가 이를 문서화하지 않았으면 `unstated`. |
| by_exchange[].oi_usd_single_adjusted | number|null | USD | 단방향 환산값. 방향 기준이 명시되지 않았으면 null. |
| by_exchange[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| by_exchange[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| by_exchange[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| contracts | array | — | 계약별 행. |
| contracts[] | object | — | 계약별 행. |
| contracts[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| contracts[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| contracts[].native_symbol | string|null | — | 거래소가 표기하는 그대로의 심볼. |
| contracts[].oi_usd | number | USD | USD 명목가치 기준 미결제약정. |
| contracts[].oi_side | string | — | `double`, `single` 또는 `unstated`: 거래소가 미결제약정의 양방향을 하나의 숫자로 보고하는지 여부. |
| contracts[].oi_usd_single | number|null | USD | `oi_usd`의 단방향 환산값. 방향 기준이 명시되지 않았으면 null. |
| contracts[].margin | string | — | 증거금 통화 분류: `usdt`, `usdc`, `coin` 또는 `other`. |
| contracts[].kind | string | — | `linear` 또는 `inverse`. |
| contracts[].contract_type | string | — | `perpetual` 또는 `delivery`. |
| contracts[].expiry_ts | number|null | ms | 만기 선물 계약의 만기일. 무기한 선물이거나 공시되지 않았으면 null. |
| contracts[].margin_basis | string | — | 증거금 분류의 판정 근거(계약 명세 또는 거래소 기본값). |
| contracts[].updated_at | number | ms | 이 행이 마지막으로 갱신된 시각. |
| contracts[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| contracts[].is_stale | boolean | — | 행이 신선도 창보다 오래되면 true. 만료된 행은 합계에 사용하지 않습니다. |
| contracts[].collector | string | — | 이 행을 생성한 내부 수집기. |
| contracts[].included_since | number|null | ms | 이 계약이 합계에 편입된 시각. 기본 집합이면 null. |
| coverage | object | — | 위 수치에 포함된 것과 포함되지 않은 것. 다른 소스와 합계를 비교하기 전에 먼저 이 항목을 비교하십시오. |
| coverage.included_exchanges | array | — | 합계에 데이터가 포함된 거래소. |
| coverage.included_exchanges[] | string | — | 합계에 포함된 거래소. |
| coverage.pending | array | — | 수집은 되지만 아직 합계에 포함되지 않은 계약(예: 자체 25시간 히스토리를 축적 중인 경우). 공백이 드러나도록 현재 값과 함께 나열합니다. |
| coverage.pending[] | object | — | 수집되었지만 아직 포함되지 않은 항목. |
| coverage.pending[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| coverage.pending[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| coverage.pending[].native_symbol | string | — | 거래소가 표기하는 그대로의 심볼. |
| coverage.pending[].margin | string | — | 증거금 통화 분류. |
| coverage.pending[].contract_type | string | — | `perpetual` 또는 `delivery`. |
| coverage.pending[].oi_usd | number | USD | USD 명목가치 기준 미결제약정. |
| coverage.pending[].age_s | number | s | 이 행이 마지막으로 갱신된 후 경과한 초. |
| coverage.pending[].reason | string | — | 사유 코드. |
| coverage.pending[].detail | string|null | — | 상세. |
| coverage.pending_usd | number|null | USD | 대기 중인 계약의 합계. `total_usd`에는 포함되지 않습니다. |
| coverage.stale_excluded | array | — | 마지막 갱신이 사용 가능 창을 벗어나 제외된 행. 이 표를 생성한 샘플에서는 비어 있음 |
| coverage.unavailable | array | — | 포함할 수 없었던 거래소 / 계약 쌍과 각각의 사유. 0으로 집계하는 일은 없습니다. |
| coverage.unavailable[] | object | — | 데이터가 없는 항목과 그 사유. 0으로 보고하는 일은 없습니다. |
| coverage.unavailable[].exchange | string | — | 거래소 ID, 소문자(예: `binance`). |
| coverage.unavailable[].symbol | string | — | CoinBoss가 정규화한 종목 심볼(예: BTCUSDT). |
| coverage.unavailable[].native_symbol | string | — | 거래소가 표기하는 그대로의 심볼. |
| coverage.unavailable[].margin | string | — | 증거금 통화 분류. |
| coverage.unavailable[].contract_type | string | — | `perpetual` 또는 `delivery`. |
| coverage.unavailable[].reason | string | — | 사유 코드. |
| coverage.unavailable[].detail | string | — | 상세. |
| method | object | — | 이 응답에 사용된 산식을 일반 텍스트로 기술한 내용. |
| method.total | string | — | 합계. |
| method.usd | string | USD | 값. |
| method.change_h1_h4 | string | — | 1h 및 4h 미결제약정 변화의 일반 텍스트 정의: 각 계약을 구간 시작 시점에 가장 가까운 자체 스냅샷과 비교합니다. |
| method.change_h24 | string | — | 24h 미결제약정 변화의 일반 텍스트 정의: 24시간 전에 가장 가까운 1시간 단위 스냅샷과 같은 거래소끼리 짝지어 비교하며, 동결된 기준값은 제외합니다. |
| method.oi_side | string | — | `double`, `single` 또는 `unstated`: 거래소가 미결제약정의 양방향을 하나의 숫자로 보고하는지 여부. |
2026-11-11 23:00 UTC에 실제 응답 4건으로 생성.
응답 예시
/api/sd/oi?coin=BTC · 2026-11-13 03:42:34 UTC에 수집한 실제 응답. 긴 배열과 맵은 표시를 위해 줄였습니다: change: 원래 항목 3개; contracts: 원래 항목 95개; by_exchange: 원래 항목 22개; coverage.included_exchanges: 원래 항목 22개.
- "success"true
- "coin""BTC"
- "now"1794541354332
- "total_usd"49257599146.63
- "n_exchanges"22
- "n_contracts"95
- "asof"1794541323000
- "total_usd_single_adjusted"43966493473.92502
- "double_sided"
- "exchanges"
- "oi_usd"10582211345.41
- "by_kind"
- "linear_usd"44406831635.63
- "inverse_usd"4850767511
- "by_margin"
- "other"8261195928.05
- "usdt"31111486177.109997
- "usdc"5034149530.469999
- "coin"4850767511
- "by_contract_type"
- "perpetual_usd"41072949781.31
- "delivery_usd"8184649365.32
- "change"
- "h1"
- "h4"
- "by_exchange"
- "contracts"
- "coverage"
- "included_exchanges"
- "pending"
- "pending_usd"null
- "stale_excluded"
- "unavailable"
- "method"
- "total""SUM(oi_usd) over fresh contracts (non-CME updated within 3h; CME within 120h)"
- "usd""linear: contracts × contract_size × mark/last price; inverse: contracts × contract_face_value_usd (or coin amount × price)"
- "change_h1_h4""same-contract pairing vs own snapshot nearest to now−W (15-minute snapshots, hourly fallback)"
- "change_h24""same-exchange pairing vs hourly snapshot nearest to now−24h (site-wide convention); contracts whose baseline snapshot is a frozen carry-over (identical to the c…"
- "oi_side""as disclosed by each exchange; double = exchange API itself reports open interest as twice the single-sided figure"
검증된 샘플
프로브는 위 예시 외에도 아래 파라미터로 이 엔드포인트를 호출하고 매번 스키마를 검사합니다.
| 파라미터 | HTTP | 지연 시간 | 결과 |
|---|---|---|---|
| coin=ETH | 200 | 34 ms | 통과 |
| coin=SOL | 200 | 23 ms | 통과 |
| coin=ARKM | 200 | 20 ms | 통과 |
| — | 400 | 2 ms | 통과 예상된 오류 반환 |
2026-11-13 03:27:39 UTC 점검
상세 정보
- 인증
- 없음. 공개 엔드포인트.
- 요청 한도
- IP당 분당 1200회
- 서버 캐시
- 20s
- 엣지 마이크로 캐시
- 10s
- 갱신 주기
- 대부분의 거래소는 60 s마다(시세와 함께 기록; binance 상위 50개와 okx는 전용 60 s 작업); binance / bingx / aster / gate / htx 전체 스캔은 5분마다; 코인 마진 / USDC / 만기 선물 계약은 120 s마다(5분마다 공유 테이블로 승격); cme는 거래일당 1회(04:10 UTC); 단기 구간 변화용 15분 단위 계약별 스냅샷
- 구간
- 최신 스냅샷(3 h 이내 행, cme는 120 h; 15분 후 is_stale 플래그, cme는 36 h); 1 h / 4 h 변화(15분 스냅샷)와 24 h 변화(1시간 단위 아카이브)
- 데이터 소스
- 자체 수집기가 파생상품 거래소 22곳(예: binance, okx, bybit, gate, bitget, hyperliquid)의 공개 REST API에서 폴링한 미결제약정과 CME의 공식 일일 거래량/미결제약정 보고서.
- 거래소 커버리지
- 최신 행이 있는 소스 23개(거래소 22곳 + cme); 모든 계약 유형(USDT / USDC / USD 선형, 코인 마진 인버스, 무기한 및 만기 선물); bybit와 gate는 거래소 공시대로 양방향 미결제약정을 보고; 3 h(cme: 120 h)보다 오래된 행은 제외; coverage 블록에 포함된 거래소, 대기 중인 거래소(자체 히스토리 25 h 축적 대기), 만료로 제외된 거래소, 사용 불가 거래소를 나열
- 단위
- open interest in USD notional; total_usd_single_adjusted halves venues that report double-sided OI; changes in percent
- 산출 방식
- total_usd = SUM(oi_usd) over fresh contracts (multiplier contracts folded); breakdowns by kind / margin / contract type; h1 / h4 change by same-contract pairing against 15-minute snapshots (+/- 10 min, fallback hourly archive) and only when >= 50% of OI is matched; h24 change by same-exchange pairing against the hourly bucket nearest now - 24 h
- 타임스탬프
- 필드 설명에 별도 언급이 없는 한 Unix epoch 밀리초(UTC)
- 응답 형식
- json
- 안정성
- 안정
- 제공 시작
- 2026-11-11
실시간 상태
사용 가능2026-11-13 03:42:34 UTC 점검HTTP 20022 ms스키마 일치최신 데이터 포인트: 31s 경과
최근 30일 가용성
점검 408회 중 100% 통과
마지막 프로브에서 감지된 스키마 드리프트
- 반환되지만 문서에 없음: coverage.stale_excluded[], coverage.stale_excluded[].exchange, coverage.stale_excluded[].symbol, coverage.stale_excluded[].oi_usd, coverage.stale_excluded[].age_s, coverage.stale_excluded[].reason
오류
실패한 호출은 모든 엔드포인트에서 동일한 구조로 반환됩니다. 전체 목록은 오류 페이지에 있습니다. 오류 및 요청 한도 →
| 코드 | 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`를 확인하십시오. | 메시지에 따라 다릅니다. 실패한 요청으로 처리하십시오. |
직접 실행
GET
/api/sd/oi사용 가능파라미터
string — Coin symbol; 400 when missing. Alias: `base`.
요청 URL
https://www.coinboss.com/api/sd/oi?coin=BTC엔드포인트를 선택하고 “요청 보내기”를 누르십시오. 응답, 헤더, 소요 시간이 여기에 표시됩니다.
이 카테고리의 다른 엔드포인트
- 단일 코인의 미결제약정 /api/sd/oi
- 전체 거래소 기준 코인별 미결제약정 순위 /api/market/open-interest
- 단일 코인의 OI 누적 차트 시계열 /api/oi/chart
- 단일 코인의 통합 미결제약정 히스토리 /api/oi/history
- 미결제약정 매트릭스 /api/oi/matrix
- 단일 코인의 미결제약정 요약 /api/oi/summary