| 권한 | 할 수 있는 일 | 기본값 | 비고 |
|---|---|---|---|
| 조회 | 시세·잔고·주문·내역 읽기 | ▲ 켬 | 모든 키에 기본 포함 |
| 거래 | 주문 넣기·취소 | ● 선택 | 발급할 때 켠다 |
| 출금 | 출금 요청 | ✕ 꺼짐 | 고객센터 문의 후에만 켤 수 있다 |
| 메서드 | 경로 | 하는 일 | 필요 권한 |
|---|---|---|---|
| GET | /api/v1/assets | 상장된 자산 목록 | 공개 |
| GET | /api/v1/markets | 거래 가능한 마켓 목록 | 공개 |
| GET | /api/v1/markets/{symbol}/ticker | 현재가와 24시간 통계 | 공개 |
| GET | /api/v1/markets/{symbol}/orderbook | 호가 (사자·팔자 목록) | 공개 |
| GET | /api/v1/markets/{symbol}/trades | 최근 체결 내역 | 공개 |
| 메서드 | 경로 | 하는 일 | 필요 권한 |
|---|---|---|---|
| POST | /api/v1/auth/register | 회원가입 신청 | 공개 |
| POST | /api/v1/auth/login | 로그인 | 공개 |
| POST | /api/v1/auth/logout | 로그아웃 | 조회 |
| GET | /api/v1/me | 내 정보 | 조회 |
| GET | /api/v1/balances | 내 잔고 (쓸 수 있는 돈·묶인 돈) | 조회 |
| POST | /api/v1/orders | 주문 넣기 | 거래 |
| GET | /api/v1/orders | 내 주문 목록 | 조회 |
| GET | /api/v1/orders/{id} | 주문 하나 조회 | 조회 |
| DELETE | /api/v1/orders/{id} | 주문 취소 | 거래 |
| GET | /api/v1/deposits | 입금 내역 | 조회 |
| GET | /api/v1/deposits/address | 입금 주소 발급·조회 | 조회 |
| GET | /api/v1/withdrawals | 출금 내역 | 조회 |
| POST | /api/v1/withdrawals | 출금 요청 | 출금 |
| GET | /api/v1/ledger | 내 자산 이동 내역 | 조회 |
| 채널 | 보내는 것 | 인증 |
|---|---|---|
| ticker | 현재가·24시간 통계 | 공개 |
| orderbook | 호가 변화 | 공개 |
| trade | 체결 | 공개 |
| order | 내 주문 상태 변화 | 조회 |
| balance | 내 잔고 변화 | 조회 |
{ "op": "subscribe", "channels": ["orderbook:BTC-USDT", "trade:BTC-USDT"] }
{ "ch": "trade", "seq": 10482, "ts": 1788349491000, "data": { "priceUnit": "6423050", "qtyUnit": "1840000", "side": "BUY" } }
{ "success": true, "data": {}, "message": "" }
{ "success": false, "message": "쓸 수 있는 돈이 모자라다", "error": { "code": "INSUFFICIENT_BALANCE", "detail": "..." } }
| 코드 | HTTP | 뜻 | 언제 |
|---|---|---|---|
| UNAUTHORIZED | 401 | 인증에 실패했다 | 키가 없거나 서명이 틀림 |
| FORBIDDEN | 403 | 권한이 없다 | 키에 그 권한이 없음 · 남의 자료 요청 |
| NOT_FOUND | 404 | 대상이 없다 | 없는 주문·마켓 |
| INSUFFICIENT_BALANCE | 400 | 잔고가 모자란다 | 쓸 수 있는 돈보다 주문이 큼 |
| INVALID_PRECISION | 400 | 단위가 맞지 않는다 | 가격·수량 단위 또는 최소 금액 위반 |
| DUPLICATE_REQUEST | 200 | 같은 요청이다 | 첫 처리 결과를 그대로 돌려줌 |
| MARKET_HALTED | 409 | 거래가 멈춘 마켓이다 | 상장폐지 진행 중 등 |
| RATE_LIMITED | 429 | 요청이 너무 잦다 | 잠시 뒤 다시 |
| UPSTREAM_ERROR | 503 | 바깥 서버가 응답하지 않는다 | 자동 재시도 대상 |
# 1. 호가 보기 (키 없이) curl "https://exchange-api.bellapelle.kr/api/v1/markets/BTC-USDT/orderbook" # 2. 지정가 매수 — 값은 정수(최소 단위)로 보낸다 curl -X POST "https://exchange-api.bellapelle.kr/api/v1/orders" \ -H "X-BEL-KEY: $KEY" \ -H "X-BEL-TS: $TS" \ -H "X-BEL-SIGN: $SIGN" \ -H "Content-Type: application/json" \ -d '{"market":"BTC-USDT","side":"buy","type":"limit","price":"6423050","qty":"1840000","client_order_id":"my-001"}' # 3. 주문 취소 curl -X DELETE "https://exchange-api.bellapelle.kr/api/v1/orders/91042" \ -H "X-BEL-KEY: $KEY" -H "X-BEL-TS: $TS" -H "X-BEL-SIGN: $SIGN"