REST API 전체 엔드포인트
기본 주소는 https://api.btxpro.co.kr입니다. 현재 HTTP API 25개 작업을 제공합니다. 경로에 표시된 /v1을 포함해 요청하세요. /health와 /ready는 버전 경로 밖에 있습니다.
API 레퍼런스에서 전체 요청·응답 모델을 볼 수 있습니다. WebSocket 연결과 메시지는 별도 가이드를 확인하세요.
시스템
| 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|
| GET | /health |
공개 | 서비스 상태 |
| GET | /ready |
공개 | 서비스 준비 상태 |
| GET | /v1/time |
공개 | 서버 시간 |
서비스 상태
GET https://api.btxpro.co.kr/health
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Service is alive |
서비스 준비 상태
GET https://api.btxpro.co.kr/ready
인증: 공개
Checks database access plus the Core and engine connector wiring required by the external trading API.
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 503 | ErrorEnvelope |
서버 시간
GET https://api.btxpro.co.kr/v1/time
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
공개 시세
| 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|
| GET | /v1/currencies |
공개 | 통화 목록 |
| GET | /v1/markets |
공개 | 마켓 목록 |
| GET | /v1/markets/{symbol} |
공개 | 마켓 상세 |
| GET | /v1/market/ticker |
공개 | 현재 시세 |
| GET | /v1/market/orderbook |
공개 | 호가 |
| GET | /v1/market/trades |
공개 | 최근 체결 |
| GET | /v1/market/candles |
공개 | 캔들 |
통화 목록
GET https://api.btxpro.co.kr/v1/currencies
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
마켓 목록
GET https://api.btxpro.co.kr/v1/markets
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
마켓 상세
GET https://api.btxpro.co.kr/v1/markets/{symbol}
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
symbol |
path | 예 | string |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
현재 시세
GET https://api.btxpro.co.kr/v1/market/ticker
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
symbol |
query | 아니요 | string |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
호가
GET https://api.btxpro.co.kr/v1/market/orderbook
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
symbol |
query | 예 | string | |
tick |
query | 아니요 | integer | default: 0; minimum: 0; maximum: 4 |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
최근 체결
GET https://api.btxpro.co.kr/v1/market/trades
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
symbol |
query | 예 | string | |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
캔들
GET https://api.btxpro.co.kr/v1/market/candles
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
symbol |
query | 예 | string | |
interval |
query | 아니요 | string | 허용값: "1m", "5m", "10m", "15m", "30m", "1h", "4h", "1d", "1w"; default: "1h" |
limit |
query | 아니요 | integer | default: 500; minimum: 1; maximum: 1000 |
startTime |
query | 아니요 | integer | minimum: 0; format: "int64" |
endTime |
query | 아니요 | integer | minimum: 1; format: "int64" |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
Feed
| 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|
| GET | /v1/feed/home |
공개 | Feed 홈 |
| GET | /v1/feed/categories |
공개 | Feed 카테고리 목록 |
| GET | /v1/feed/articles |
공개 | Feed 글 목록과 검색 |
| GET | /v1/feed/articles/{feedArticleId} |
공개 | Feed 글 상세 |
| POST | /v1/feed/articles/{feedArticleId}/view |
공개 | Feed 조회수 증가 |
Feed 홈
GET https://api.btxpro.co.kr/v1/feed/home
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 500 | ErrorEnvelope |
| 503 | ErrorEnvelope |
Feed 카테고리 목록
GET https://api.btxpro.co.kr/v1/feed/categories
인증: 공개
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 500 | ErrorEnvelope |
| 503 | ErrorEnvelope |
Feed 글 목록과 검색
GET https://api.btxpro.co.kr/v1/feed/articles
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
categoryId |
query | 아니요 | string | pattern: "^[1-9][0-9]*$" |
authorName |
query | 아니요 | string | minLength: 1; maxLength: 80 |
q |
query | 아니요 | string | Search title, summary, and Markdown body. Whitespace is normalized and each term is matched as a substring; an article must contain every term. Terms shorter than 2 characters and boolean operator characters (+-><()~*"@) are ignored, and a query left with no searchable term is rejected. Search results are globally limited and ordered by title match, summary-only match, then body-only match; sort and cursor cannot be combined with q. minLength: 2; maxLength: 80 |
sort |
query | 아니요 | string | Cannot be combined with q. 허용값: "latest", "popular"; default: "latest" |
limit |
query | 아니요 | integer | default: 20; minimum: 1; maximum: 100 |
cursor |
query | 아니요 | string | Opaque keyset cursor returned as nextCursor. A cursor is bound to its latest or popular sort and cannot be combined with q. minLength: 1; maxLength: 512 |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 400 | ErrorEnvelope |
| 500 | ErrorEnvelope |
| 503 | ErrorEnvelope |
Feed 글 상세
GET https://api.btxpro.co.kr/v1/feed/articles/{feedArticleId}
인증: 공개
The response supplies canonicalKey and canonicalPath. The slug is presentation metadata and is not used for database lookup.
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
feedArticleId |
path | 예 | string | pattern: "^[1-9][0-9]*$" |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 400 | ErrorEnvelope |
| 404 | ErrorEnvelope |
| 500 | ErrorEnvelope |
| 503 | ErrorEnvelope |
Feed 조회수 증가
POST https://api.btxpro.co.kr/v1/feed/articles/{feedArticleId}/view
인증: 공개
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
feedArticleId |
path | 예 | string | pattern: "^[1-9][0-9]*$" |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
| 400 | ErrorEnvelope |
| 404 | ErrorEnvelope |
| 500 | ErrorEnvelope |
| 503 | ErrorEnvelope |
계정과 지갑
| 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|
| GET | /v1/account |
서명된 키 | 계정과 API 키 권한 |
| GET | /v1/wallets |
서명 + read | 지갑 목록 |
| GET | /v1/balances |
서명 + read | 잔고 목록 |
계정과 API 키 권한
GET https://api.btxpro.co.kr/v1/account
인증: 서명된 키
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
지갑 목록
GET https://api.btxpro.co.kr/v1/wallets
인증: 서명 + read
파라미터가 없습니다.
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
잔고 목록
GET https://api.btxpro.co.kr/v1/balances
인증: 서명 + read
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
walletId |
query | 아니요 | integer | minimum: 1; maximum: 255 |
currency |
query | 아니요 | string |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |
주문과 체결
| 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|
| POST | /v1/orders |
서명 + trade | 지정가 주문 생성 |
| DELETE | /v1/orders |
서명 + trade | 지갑의 주문 일괄 취소 |
| GET | /v1/orders/open |
서명 + read | 미체결 주문 목록 |
| GET | /v1/orders/history |
서명 + read | 주문 이력 |
| GET | /v1/orders/{orderId} |
서명 + read | 주문 상세 |
| DELETE | /v1/orders/{orderId} |
서명 + trade | 주문 취소 |
| GET | /v1/fills |
서명 + read | 체결 이력 |
지정가 주문 생성
POST https://api.btxpro.co.kr/v1/orders
인증: 서명 + trade
The gateway correlates the engine result through a shared in-memory dispatcher and waits up to 10 seconds for this REST request. Market orders, post-only, quote quantity, and non-GTC time-in-force values are reserved for future support.
파라미터가 없습니다.
요청 본문: CreateOrderRequest
| 필드 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|
symbol |
예 | string | |
walletId |
예 | integer | Required account-local visible spot-trading wallet ID from GET /v1/wallets; not a blockchain address or walletNumber. The server never chooses a default wallet. minimum: 21; maximum: 39 |
side |
예 | string | 허용값: "buy", "sell" |
type |
예 | string | 허용값: "limit" |
timeInForce |
아니요 | string | 허용값: "GTC"; default: "GTC" |
quantity |
예 | string | |
quoteQuantity |
아니요 | string | Reserved for future support. |
price |
예 | string | |
postOnly |
아니요 | boolean | Reserved for future support. |
| HTTP | 응답 |
|---|---|
| 200 | OrderEnvelope |
| 422 | ErrorEnvelope |
| 504 | ErrorEnvelope |
지갑의 주문 일괄 취소
DELETE https://api.btxpro.co.kr/v1/orders
인증: 서명 + trade
Matching cancels run with up to 16 concurrent engine commands, preserve selection order in the response, and share one 10-second deadline.
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
walletId |
query | 예 | integer | minimum: 1; maximum: 255 |
symbol |
query | 아니요 | string | |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
| HTTP | 응답 |
|---|---|
| 200 | CancelOrderListEnvelope |
| 504 | ErrorEnvelope |
미체결 주문 목록
GET https://api.btxpro.co.kr/v1/orders/open
인증: 서명 + read
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
walletId |
query | 아니요 | integer | minimum: 1; maximum: 255 |
symbol |
query | 아니요 | string | |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
| HTTP | 응답 |
|---|---|
| 200 | OrderListEnvelope |
주문 이력
GET https://api.btxpro.co.kr/v1/orders/history
인증: 서명 + read
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
walletId |
query | 아니요 | integer | minimum: 1; maximum: 255 |
symbol |
query | 아니요 | string | |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
startTime |
query | 아니요 | integer | minimum: 0; format: "int64" |
endTime |
query | 아니요 | integer | minimum: 1; format: "int64" |
| HTTP | 응답 |
|---|---|
| 200 | OrderListEnvelope |
주문 상세
GET https://api.btxpro.co.kr/v1/orders/{orderId}
인증: 서명 + read
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
orderId |
path | 예 | string | pattern: "^[1-9][0-9]*$" |
| HTTP | 응답 |
|---|---|
| 200 | OrderEnvelope |
주문 취소
DELETE https://api.btxpro.co.kr/v1/orders/{orderId}
인증: 서명 + trade
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
orderId |
path | 예 | string | pattern: "^[1-9][0-9]*$" |
walletId |
query | 아니요 | integer | minimum: 1; maximum: 255 |
symbol |
query | 아니요 | string |
| HTTP | 응답 |
|---|---|
| 200 | OrderEnvelope |
| 422 | ErrorEnvelope |
| 504 | ErrorEnvelope |
체결 이력
GET https://api.btxpro.co.kr/v1/fills
인증: 서명 + read
| 이름 | 위치 | 필수 | 타입 | 설명과 제약 |
|---|---|---|---|---|
walletId |
query | 아니요 | integer | minimum: 1; maximum: 255 |
symbol |
query | 아니요 | string | |
limit |
query | 아니요 | integer | default: 100; minimum: 1; maximum: 1000 |
startTime |
query | 아니요 | integer | minimum: 0; format: "int64" |
endTime |
query | 아니요 | integer | minimum: 1; format: "int64" |
| HTTP | 응답 |
|---|---|
| 200 | Envelope + object |