UNPKG

cryptocurrency.api

Version:
325 lines (324 loc) 8.54 kB
export interface Response<T> { status: number; remainingReq: { group: string; min: number; sec: number; }; data: T; } /** * 마켓 코드 조회 * https://docs.upbit.com/reference#%EB%A7%88%EC%BC%93-%EC%BD%94%EB%93%9C-%EC%A1%B0%ED%9A%8C **/ export interface MarketType { market: string; korean_name: string; english_name: string; market_warning?: string; } /** * 캔들 타입 * https://docs.upbit.com/reference#%EC%8B%9C%EC%84%B8-%EC%BA%94%EB%93%A4-%EC%A1%B0%ED%9A%8C **/ export interface CandleType { market: string; candle_date_time_utc: string; candle_date_time_kst: string; opening_price: number; high_price: number; low_price: number; trade_price: number; timestamp: number; candle_acc_trade_price: number; candle_acc_trade_volume: number; } export interface CandleMinuteType extends CandleType { unit: number; } export interface CandleDayType extends CandleType { prev_closing_price: number; change_price: number; change_rate: number; converted_trade_price?: number; } export interface CandleWeekType extends CandleType { first_day_of_period: string; } export interface CandleMonthType extends CandleType { first_day_of_period: string; } export interface TradeTickType { market: string; trade_date_utc: string; trade_time_utc: string; timestamp: number; trade_price: number; trade_volume: number; prev_closing_price: number; change_price: number; ask_bid: 'ASK' | 'BID'; sequential_id: number; } export interface TickerType { market: string; trade_date: string; trade_time: string; trade_date_kst: string; trade_time_kst: string; trade_timestamp: string; opening_price: number; high_price: number; low_price: number; trade_price: number; prev_closing_price: number; change: 'RISE' | 'EVEN' | 'FALL'; change_price: number; change_rate: number; signed_change_price: number; signed_change_rate: number; trade_volume: number; acc_trade_price: number; acc_trade_price_24h: number; acc_trade_volume: number; acc_trade_volume_24h: number; highest_52_week_price: number; highest_52_week_date: string; lowest_52_week_price: number; lowest_52_week_date: string; timestamp: number; } export interface OrderbookType { market: string; timestamp: number; total_ask_size: number; total_bid_size: number; orderbook_units: { ask_price: number; bid_price: number; ask_size: number; bid_size: number; }[]; } export interface AccountType { currency: string; balance: number; locked: number; avg_buy_price: number; avg_buy_price_modified: boolean; unit_currency: string; } /** * { * // 매수 수수료 비율 NumberString * "bid_fee": "0.0005", * // 매도 수수료 비율 NumberString * "ask_fee": "0.0005", * "maker_bid_fee": "0.0005", * "maker_ask_fee": "0.0005", * // 마켓에 대한 정보 Object * "market": { * // 마켓의 유일 키 String * "id": "KRW-BTC", * // 마켓 이름 String * "name": "BTC/KRW", * // 지원 주문 방식 Array[String] * "order_types": [ * "limit" * ], * // 지원 주문 종류 Array[String] * "order_sides": [ * "ask", * "bid" * ], * // 매수 시 제약사항 Object * "bid": { * // 화폐를 의미하는 영문 대문자 코드 String * "currency": "KRW", * // 주문금액 단위 String * "price_unit": null, * // 최소 매도/매수 금액 Number * "min_total": "5000.0" * }, * // 매도 시 제약사항 Object * "ask": { * // 화폐를 의미하는 영문 대문자 코드 String * "currency": "BTC", * // 주문금액 단위 String * "price_unit": null, * // 최소 매도/매수 금액 Number * "min_total": "5000.0" * }, * // 최소 매도/매수 금액 Number * "max_total": "1000000000.0", * // 마켓 운영 상태 String * "state": "active" * }, * // 매수 시 사용하는 화폐의 계좌 상태 Object * "bid_account": { * // 화폐를 의미하는 영문 대문자 코드 String * "currency": "KRW", * // 주문가능 금액/수량 NumberString * "balance": "132568.11667565", * // 주문 중 묶여있는 금액/수량 NumberString * "locked": "0.0", * // 매수평균가 NumberString * "avg_buy_price": "0", * // 매수평균가 수정 여부 Boolean * "avg_buy_price_modified": true, * // 평단가 기준 화폐 String * "unit_currency": "KRW" * }, * // 매도 시 사용하는 화폐의 계좌 상태 Object * "ask_account": { * // 화폐를 의미하는 영문 대문자 코드 String * "currency": "BTC", * // 주문가능 금액/수량 NumberString * "balance": "0.0", * // 주문 중 묶여있는 금액/수량 NumberString * "locked": "0.0", * // 매수평균가 NumberString * "avg_buy_price": "60887000", * // 매수평균가 수정 여부 Boolean * "avg_buy_price_modified": false, * // 평단가 기준 화폐 String * "unit_currency": "KRW" * } * } **/ export interface OrderChanceType { bid_fee: number; ask_fee: number; maker_bid_fee: number; maker_ask_fee: number; market: { id: string; name: string; order_types: string[]; order_sides: string[]; bid: { currency: string; min_total: number; }; ask: { currency: string; min_total: number; }; max_total: number; state: string; }; bid_account: { currency: string; balance: number; locked: number; avg_buy_price: number; avg_buy_price_modified: boolean; unit_currency: string; }; ask_account: { currency: string; balance: number; locked: number; avg_buy_price: number; avg_buy_price_modified: boolean; unit_currency: string; }; } export interface OrderType { uuid: string; side: 'bid' | 'ask'; ord_type: 'limit' | 'price' | 'market'; price: number; state: 'wait' | 'watch' | 'done' | 'cancel'; market: string; created_at: string; volume: number; remaining_volume: number; reserved_fee: number; remaining_fee: number; paid_fee: number; locked: number; executed_volume: number; trades_count: number; identifier?: string; } export interface OrderDetailType extends OrderType { trades: [ { market: string; uuid: string; price: number; volume: number; funds: number; trend: 'up' | 'down'; side: 'bid' | 'ask'; created_at: string; } ]; } /** * 캔들 Params * https://docs.upbit.com/reference#%EC%8B%9C%EC%84%B8-%EC%BA%94%EB%93%A4-%EC%A1%B0%ED%9A%8C **/ export interface CandleParam { market: string; to?: string; count?: number; } /** * 캔들 Params Extensions * https://docs.upbit.com/reference#%EC%9D%BCday-%EC%BA%94%EB%93%A4-1 **/ export interface CandleParamEx extends CandleParam { convertingPriceUnit?: string; } /** * 체결 Params * https://docs.upbit.com/reference#%EC%B5%9C%EA%B7%BC-%EC%B2%B4%EA%B2%B0-%EB%82%B4%EC%97%AD **/ export interface TradeTickParam { market: string; to?: string; count?: number; cursor?: number; daysAgo?: number; } export interface OrderDetailParam { uuid?: string; identifier?: string; } export interface OrderListParam { market?: string; uuids?: string[]; identifiers?: string[]; state?: 'wait' | 'watch' | 'done' | 'cancel'; states?: ['wait' | 'watch' | 'done' | 'cancel']; page?: number; order_by?: 'desc' | 'asc'; } export interface OrderLimitParam { market: string; ord_type: 'limit'; side: 'bid' | 'ask'; volume: number; price: number; identifier?: string; } export interface OrderPriceParam { market: string; ord_type: 'price'; side: 'bid'; price: number; identifier?: string; } export interface OrderMarketParam { market: string; ord_type: 'market'; side: 'ask'; volume: number; identifier?: string; } export interface CancelParam { uuid?: string; identifier?: string; }