0.0.1 • Published 3 years ago

btcturk-api-client_calypsojs v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

btcturk-api-client_calypsojs

Berke Bayraktar'ın yapmış olduğu, A promise based javascript client (wrapper) for BtcTurk API. Bundan tek farkı Axios'un 0.20.0 yerine 0.21.1 olmasıdır.

A promise based javascript client (wrapper) for BtcTurk API

Installation

npm install btcturk-api-client_calypsojs

Features

Non-auth Features

  • Get ticker information
  • Get order book data
  • Get trade data
  • Get daily OHLC data

Authentication Required Features

  • Get account balance
  • Get user transactions
  • Get open/all orders
  • Submit orders (market, limit, market stop, market limit)
  • Cancel orders

Add to your project

Import for public endpoints

const btcTurkClient = require('btcturk-api-client_calypsojs')
client = btcTurkClient()

Import for private (auth required) endpoints

const btcTurkClient = require('btcturk-api-client_calypsojs')
client = btcTurkClient(API_KEY, API_SECRET)

Usage

Non-auth Methods

  • getPair(pair)

    Gets the exchange information for specified pair. Omit the parameter to get all pairs on the exchange.
    client.getPair('BTC-TRY')
    Result:
    [
      {
        pair: 'BTCTRY',
        pairNormalized: 'BTC_TRY',
        timestamp: 1598957965982,
        last: 74589,
        high: 79344,
        low: 74589,
        bid: 74589,
        ask: 110000,
        open: 78344,
        volume: 8.14405237,
        average: 77356.202415,
        daily: 31656,
        dailyPercent: -4.79,
        denominatorSymbol: 'TRY',
        numeratorSymbol: 'BTC',
        order: 0
      }
    ]
  • getOrderBook(pair, count)

    Retrieves best count bids and asks for given pair. Default and maximum for count are 10 and 109.

    client.getOrderBook('BTC-TRY', 3)

    Result:

    {
      timestamp: 1598960997324,
    
      bids: [
          [ '75000.00', '0.05000000' ],
          [ '74589.00', '0.09047336' ],
          [ '74563.00', '0.19428700' ]],
    
      asks: [
          [ '80154.00', '0.20000000' ],
          [ '80951.00', '0.03000000' ],
          [ '81213.00', '0.04500000' ]]
    }
  • getTrades(pair)

    Retrieves the last 30 trades for specifed pair.

      client.getTrades('BTC-TRY')

    Result:

    [
      {
        pair: 'BTCTRY',
        pairNormalized: 'BTC_TRY',
        numerator: 'BTC',
        denominator: 'TRY',
        date: 1598890169250,
        tid: '637065432892507020',
        price: '74589.00',
        amount: '0.03470021',
        side: 'buy'
      },
      ...
    ]
  • getOHLC(pair, count)

    Retrieves daily OHLC data of specified pair for the last count days. Default for count is 10.

    client.getOHLC('BTC-TRY', 1)

    Result:

    [
      {
        pairNormalized: 'BTC_TRY',
        pairSymbol: 'BTCTRY',
        time: 1598918400000,
        open: '86227',
        high: '88290',
        low: '85500',
        close: '87679',
        volume: '337.6679218335722285',
        average: '87398.56',
        dailyChangeAmount: '1452',
        dailyChangePercentage: '1.68'
      }
    ]

Authentication Required Methods

  • getAccountBalance()

    Note: API provides the balance information for an asset even though it is zero.

    client.getAccountBalance()

    Result:

    [
      {
        asset: 'TRY',
        assetname: 'Türk Lirası',
        balance: '226679.6909093929915539',
        locked: '0',
        free: '226679.6909093929915539',
        orderFund: '0',
        requestFund: '0',
        precision: 2
      },
      {
        asset: 'ETH',
        assetname: 'Ethereum',
        balance: '58.8145217391210377',
        locked: '0',
        free: '58.8145217391210377',
        orderFund: '0',
        requestFund: '0',
        precision: 4
      },
      {
        asset: 'XRP',
        assetname: 'Ripple',
        balance: '0',
        locked: '0',
        free: '0',
        orderFund: '0',
        requestFund: '0',
        precision: 2
      },
      ...
    ]
  • getTransactions()

    Gets every user transaction (an order may be filled with multiple transactions).

    client.getTransactions()

    Result:

    [
      {
          price: '2052.00',
          numeratorSymbol: 'ETH',
          denominatorSymbol: 'TRY',
          orderType: 'sell',
          orderId: 16460186,
          id: 5674109,
          timestamp: 1598976179173,
          amount: '-0.42073315',
          fee: '-1.32',
          tax: '-0.24'
       },
      ...
    ]
  • getOpenOrders(pair)

    Fetches the open orders for the specified pair.

    client.getOpenOrders('BTC-TRY')

    Result:

    {
      asks: [
        {
          id: 16460176,
          price: '80154.00',
          amount: '0.20000000',
          quantity: '0.20000000',
          stopPrice: '0.00',
          pairSymbol: 'BTCTRY',
          pairSymbolNormalized: 'BTC_TRY',
          type: 'sell',
          method: 'limit',
          orderClientId: '069180f1-0e92-8952-8820-d24rf584de5b',
          time: 0,
          updateTime: 1598960986610,
          status: 'Untouched',
          leftAmount: '0.20000000'
        }
      ],
      bids: [
        {
          id: 16460181,
          price: '70000.00',
          amount: '0.23000000',
          quantity: '0.23000000',
          stopPrice: '0.00',
          pairSymbol: 'BTCTRY',
          pairSymbolNormalized: 'BTC_TRY',
          type: 'buy',
          method: 'limit',
          orderClientId: 'basic',
          time: 0,
          updateTime: 1598963566783,
          status: 'Untouched',
          leftAmount: '0.23000000'
        }
      ]
    }
  • getAllOrders(pair)

    Fetches all orders for the specified pair.

    client.getAllOrders('BTC-TRY')

    Submitting Orders

  • submitMarketOrder(pair, orderType, quantity)

    Places a market order for specified pair.

    Parameters:

    • orderType : 'buy', 'sell'
    • quantity : quantity of the trading asset as decimal
       client.submitMarketOrder('BTC-TRY', 'sell', 0.1)  

    Result:

    {
      id: 16460182,
      quantity: '0.1',
      price: '0.00',
      stopPrice: null,
      newOrderClientId: '9ff84g5f-6dc8-4ff1-9ae4-4b7b22bc2f58',
      type: 'sell',
      method: 'market',
      pairSymbol: 'BTCTRY',
      pairSymbolNormalized: 'BTC_TRY',
      datetime: 1598964394187
    }
  • submitLimitOrder(pair, orderType, price, quantity)

    Places a limit order for specified pair.

    Parameters:

    • orderType : 'buy', 'sell'
    • price: limit price for the trade
    • quantity : quantity of the trading asset as decimal
       client.submitLimitOrder('BTC-TRY', 'buy', 45300, 0.53)  

    Result:

    {
      id: 16460183,
      quantity: '0.53',
      price: '45300.00',
      stopPrice: null,
      newOrderClientId: '9d46h19a-87eb-49a2-b2d7-9c25tym8daa9',
      type: 'buy',
      method: 'limit',
      pairSymbol: 'BTCTRY',
      pairSymbolNormalized: 'BTC_TRY',
      datetime: 1598970149812
    }
  • submitStopMarketOrder(pair, orderType, stopPrice, quantity)

    Places a stop market order for specified pair.

    Parameters:

    • orderType : 'buy', 'sell'
    • stopPrice: price that will trigger the market order (decimal)
    • quantity : quantity of the trading asset (decimal)
       client.submitStopMarketOrder('BTC-TRY', 'sell', 40000, 0.8)  

    Result:

    {
      id: 16460184,
      quantity: '0.8',
      price: '40000.00',
      stopPrice: '40000',
      newOrderClientId: 'b7dc8c7a-c578-45bf-b7c8-cc36fab416f6',
      type: 'sell',
      method: 'stopmarket',
      pairSymbol: 'BTCTRY',
      pairSymbolNormalized: 'BTC_TRY',
      datetime: 1598970638664
    }
  • submitStopLimitOrder(pair, orderType, stopPrice, limitPrice, quantity)

    Places a stop limit order for specified pair.

    Parameters:

    • orderType : 'buy', 'sell'
    • stopPrice: price that will trigger the limit order as decimal
    • limitPrice: price for the limit order that will be placed once stopPrice is reached
    • quantity : quantity of the trading asset as decimal
       client.submitStopLimitOrder('BTC-TRY', 'sell', 48000, 45000, 0.76)  

    Result:

    {
      id: 16460185,
      quantity: '0.76',
      price: '45000.00',
      stopPrice: '48000',
      newOrderClientId: '0dac8291-ado1-473a-bb1e-fd80c85cc09e',
      type: 'sell',
      method: 'stoplimit',
      pairSymbol: 'BTCTRY',
      pairSymbolNormalized: 'BTC_TRY',
      datetime: 1598971555847
    }
  • cancelOrder(orderId)

    Cancels the order with id orderId.

    Parameters:

    • orderId : id of the order to be canceled as string (specified on the response object after every order submission)

         client.cancelOrder('1621992847')