Skip to main content

A Python library for Bitkub API v2

Project description

Bitkub Python

A Python library for bitkub.com API

Releases

Table of Contents

Installation

pip install bitkub

Usage

from bitkub import Bitkub

Creating a Bitkub Object

API_KEY = 'YOUR API KEY'
API_SECRET = 'YOUR API SECRET'

# initial obj only non-secure
bitkub = Bitkub()

# initial obj non-secure and secure
bitkub = Bitkub(api_key=API_KEY, api_secret=API_SECRET)

You can find API KEY and API SECRET from here.

Set API key and API secret

If you initial obj with only non-secure. You can set up API key and API secret on below.

API_KEY = 'YOUR API KEY'
API_SECRET = 'YOUR API SECRET'

bitkub = Bitkub()
bitkub.set_api_key(API_KEY)
bitkub.set_api_secret(API_SECRET)

Viewing status

Get endpoint status.

Function:

bitkub.status()

Response:

[
  {
    'name': 'Non-secure endpoints',
    'status': 'ok',
    'message': ''
  },
  {
    'name': 'Secure endpoints',
    'status': 'ok',
    'message': ''
  }
]

Viewing servertime

Get server timestamp.

Function:

bitkub.servertime()

Response:

1583051817

Viewing symbols

List all available symbols.

Function:

bitkub.symbols()

Response:

{
  'error': 0,
  'result': [
    {
      'id': 1,
      'info': 'Thai Baht to Bitcoin',
      'symbol': 'THB_BTC'
    },
    {
      'id': 2,
      'info': 'Thai Baht to Ethereum',
      'symbol': 'THB_ETH'
    }
  ]
}

Viewing ticker

Get ticker information.

Function:

bitkub.ticker(sym='THB_BTC')

Parameter:

  • sym string The symbol (optional) default ""

Response:

{
  'THB_BTC': {
    'id': 1,
    'last': 278000,
    'lowestAsk': 278869.41,
    'highestBid': 278000,
    'percentChange': -1.44,
    'baseVolume': 206.01549914,
    'quoteVolume': 57883319.04,
    'isFrozen': 0,
    'high24hr': 284000,
    'low24hr': 277579.62,
    'change': -4075.81,
    'prevClose': 281800,
    'prevOpen': 281800
  }
}

Viewing trades

List recent trades.

Function:

bitkub.trades(sym="THB_BTC", lmt=2)

Parameter:

  • sym string The symbol
  • lmt int No. of limit to Parameter recent trades default 1

Response:

{
  'error': 0,
  'result': [
    [
      1583246192, // timestamp
      278798.34, // rate
      0.00375672, // amount
      'BUY' // side
    ],
    [
      1583246159,
      278000,
      0.0001042,
      'SELL'
    ]
  ]
}

Viewing bids

List open buy orders.

Function:

bitkub.bids(sym="THB_BTC", lmt=2)

Parameter:

  • sym string The symbol
  • lmt int No. of limit to Parameter open buy orders default 1

Response:

{
  'error': 0,
  'result': [
    [
      4632978, // order id
      1583245687, // timestamp
      73110.59, // volume
      278000, // rate
      0.26298773 // amount
    ],
    [
      4632732,
      1583245871,
      1312.68,
      278000,
      0.00472187
    ]
  ]
}

Viewing asks

List open sell orders.

Function:

bitkub.asks(sym="THB_BTC", lmt=2)

Parameter:

  • sym string The symbol
  • lmt int No. of limit to Parameter open sell orders default 1

Response:

{
  'error': 0,
  'result': [
    [
      4761288, // order id
      1583246870, // timestamp
      163813.12, // volume
      278499.03, // rate
      0.5882 // amount
    ],
    [
      4761287,
      1583246870,
      379232.12,
      278499.03,
      1.3617
    ]
  ]
}

Viewing books

List all open orders.

Function:

bitkub.books(sym="THB_BTC", lmt=1)

Parameter:

  • sym string The symbol
  • lmt int No. of imit to Parameter open orders default 1

Response:

{
  'error': 0,
  'result': {
    'asks': [
      [
        4761425, // order id
        1583247105, // timestamp
        360885.74, // volume
        278300.17, // rate
        1.29675 // amount
      ]
    ],
    'bids': [
      [
        4633099, // order id
        1583247090, // timestamp
        622146.15, // volume
        277946.2, // rate
        2.23836897 // amount
      ]
    ]
  }
}

Viewing depth

Get depth information.

Function:

bitkub.depth(sym='THB_BTC', lmt=1)

Parameter:

  • sym string The symbol
  • lmt int Depth size default 1

Response:

{
  'asks': [
    [
      277946.16,
      1.29675
    ]
  ],
  'bids': [
    [
      277936.27,
      0.94071896
    ]
  ]
}

Viewing tradingview history

Get historical data for TradingView chart.

Function:

bitkub.tradingview(sym='THB_BTC', int=1, frm='', to='')

Parameter:

  • sym string The symbol
  • int int Chart resolution (1, 5, 15, 60, 240, 1D) default 1
  • frm int Timestamp of the starting time
  • to int Timestamp of the ending time

Response:

{
  'c': [
    1685000,
    1680699.95,
    1688998.99,
    1692222.22
  ],
  'h': [
    1685000,
    1685000,
    1689000,
    1692222.22
  ],
  'l': [
    1680053.22,
    1671000,
    1680000,
    1684995.07
  ],
  'o': [
    1682500,
    1685000,
    1680100,
    1684995.07
  ],
  's': "ok",
  't': [
    1633424400,
    1633425300,
    1633426200,
    1633427100
  ],
  'v': [
    4.604352630000001,
    8.530631670000005,
    4.836581560000002,
    2.8510189200000022
  ]
}

Viewing wallet

Get user available balances. Required initial secure obj

Function:

bitkub.wallet()

Response:

{
  'error': 0,
  'result': {
    'THB': 0,
    'BTC': 0,
    'ETH': 0
  }
}

Viewing balances

Get balances info: this includes both available and reserved balances. Required initial secure obj

Function:

bitkub.balances()

Response:

{
  'error': 0,
  'result': {
    'THB': {
      'available': 0,
      'reserved': 0
    },
    'BTC': {
      'available': 0,
      'reserved': 0
    }
  }
}

Create buy order

Create a buy order. Required initial secure obj

Function:

bitkub.place_bid(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')

Parameter:

  • sym string The symbol
  • amt float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • rat float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • typ string Order type: limit or market (for market order, please specify rat as 0) default limit
  • client_id string your id for reference ( not required )

Response:

{
  "error": 0,
  "result": {
    "id": 1, // order id
    "hash": "fwQ6dnQWQPs4cbatF5Am2xCDP1J", // order hash
    "typ": "limit", // order type
    "amt": 1000, // spending amount
    "rat": 15000, // rate
    "fee": 2.5, // fee
    "cre": 2.5, // fee credit used
    "rec": 0.06666666, // amount to receive
    "ts": 1533834547 // timestamp
    "ci": "input_client_id" // input id for reference
  }
}

Create buy order test

Create a buy order test. Required initial secure obj

Function:

bitkub.place_bid_test(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')

Parameter:

  • sym string The symbol
  • amt float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • rat float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • typ string Order type: limit or market default limit
  • client_id string Your id for reference ( no required )

Response:

{
  'error': 0,
  'result': {
    'id': 1,
    'hash': 'fwQ6dnQWQPs4cbatF5Am2xCDP1J',
    'typ': 'limit',
    'amt': 1,
    'rat': 1,
    'fee': 2.5,
    'cre': 2.5,
    'rec': 0.06666666,
    'ts': 1533834547
  }
}

Create sell order

Create a sell order. Required initial secure obj

Function:

bitkub.place_ask(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')

Parameter:

  • sym string The symbol
  • amt float Amount you want to sell with no trailing zero (e.g 0.10000000 is invalid, 0.1 is ok) default 1
  • rat float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • typ string Order type: limit or market (for market order, please specify rat as 0) default limit
  • client_id string your id for reference ( not required )

Response:

{
  "error": 0,
  "result": {
    "id": 1, // order id
    "hash": "fwQ6dnQWQPs4cbatFGc9LPnpqyu", // order hash
    "typ": "limit", // order type
    "amt": 1.00000000, // selling amount
    "rat": 15000, // rate
    "fee": 37.5, // fee
    "cre": 37.5, // fee credit used
    "rec": 15000, // amount to receive
    "ts": 1533834844 // timestamp
    "ci": "input_client_id" // input id for reference
  }
}

Create sell order test

Create a sell order test. Required initial secure obj

Function:

bitkub.place_ask_test(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')

Parameter:

  • sym string The symbol
  • amt float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • rat float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • typ string Order type: limit or market default limit
  • client_id string Your id for reference ( no required )

Response:

{
  'error': 0,
  'result': {
    'id': 1,
    'hash': 'fwQ6dnQWQPs4cbatF5Am2xCDP1J',
    'typ': 'limit',
    'amt': 1,
    'rat': 1,
    'fee': 2.5,
    'cre': 2.5,
    'rec': 0.06666666,
    'ts': 1533834547
  }
}

Create sell order by fiat

⚠️ This API is deprecated. (2023-03-27)

Create a sell order by specifying the fiat amount you want to receive (selling amount of cryptocurrency is automatically calculated). Required initial secure obj

Function:

bitkub.place_ask_by_fiat(sym='THB_BTC', amt=1, rat=1, typ='limit')

Parameter:

  • sym string The symbol
  • amt float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • rat float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok) default 1
  • typ string Order type: limit or market default limit

Response:

{
  'error': 0,
  'result': {
    'id': 1,
    'hash': 'fwQ6dnQWQPs4cbatF5Am2xCDP1J',
    'typ': 'limit',
    'amt': 1,
    'rat': 1,
    'fee': 2.5,
    'cre': 2.5,
    'rec': 0.06666666,
    'ts': 1533834547
  }
}

Cancel orrder

Cancel an open order. Required initial secure obj

Function:

bitkub.cancel_order(sym='THB_BTC', id=1, sd=1, hash='XXXXXX')

Parameter:

  • sym string The symbol
  • id int Order id you wish to cancel
  • sd string Order side: buy or sell default buy
  • hash string Cancel an order with order hash (optional). You don't need to specify sym, id, and sd when you specify order hash.

Response:

{
  'error': 0
}

My open orders

List all open orders of the given symbol. Required initial secure obj

Function:

bitkub.my_open_orders(sym='THB_BTC')

Parameter:

  • sym string The symbol

Response:

{
  'error': 0,
  'result': [
    {
      'id': 2,
      'hash': 'fwQ6dnQWQPs4cbatFSJpMCcKTFR',
      'side': 'SELL',
      'type': 'limit',
      'rate': 15000,
      'fee': 35.01,
      'credit': 35.01,
      'amount': 0.93333334,
      'receive': 14000,
      'parent_id': 1,
      'super_id': 1,
      'ts': 1533834844
    }
  ]
}

My order history

List all orders that have already matched. Required initial secure obj

Function:

bitkub.my_open_history(sym='THB_BTC', p=1, lmt=10)

Parameter:

  • sym string The symbol
  • p string Page (optional)
  • lmt string Limit (optional)
  • start string Start timestamp (optional)
  • end string End timestamp (optional)

Response:

{
  'error': 0,
  'result': [
    {
      'txn_id': 'ETHBUY0000000197',
      'order_id': 240,
      'hash': 'fwQ6dnQWQPs4cbaujNyejinS43a',
      'parent_order_id': 0,
      'super_order_id': 0,
      'taken_by_me': true,
      'is_maker': true,
      'side': 'buy',
      'type': 'limit',
      'rate': 13335.57,
      'fee': 0.34,
      'credit': 0.34,
      'amount': 0.00999987,
      'ts': 1531513395
    }

{
  'error': 0,
  'result': {
      'id': 289,
  ],
  'pagination': {
    'page': 2,
    'last': 3,
    'next': 3,
    'prev': 1
  }
}

Order info

Get information regarding the specified order. Required initial secure obj

Function:

bitkub.order_info(sym='THB_BTC', id=1, sd='buy', hash='XXXXXX')

Parameter:

  • sym string The symbol
  • id int Order id
  • sd string Order side: buy or sell default buy
  • hash string Lookup an order with order hash (optional). You don't need to specify sym, id, and sd when you specify order hash.

Response:

{
  'error': 0,
  'result': {
      'id': 289,
      'first': 289,
      'parent': 0,
      'last': 316,
      'amount': 4000,
      'rate': 291000,
      'fee': 10,
      'credit': 10,
      'filled': 3999.97,
      'total': 4000,
      'status': 'filled',
      'partial_filled': False,
      'remaining': 0,
      'history': [
        {
            'amount': 98.14848,
            'credit': 0.25,
            'fee': 0.25,
            'id': 289,
            'rate': 291000,
            'timestamp': 1525944169
        }
      ]
    }
  }

Crypto addresses

List all crypto addresses. Required initial secure obj

Function:

bitkub.crypto_address(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error': 0,
  'result': [
    {
       'currency': 'BTC',
       'address': '3BtxdKw6XSbneNvmJTLVHS9XfNYM7VAe8k',
       'tag': 0,
       'time': 1570893867
    }
  ],
  'pagination': {
    'page': 1,
    'last": 1
  }
}

Crypto withdraw

Make a withdrawal to a trusted address. Required initial secure obj

Function:

bitkub.crypto_withdraw(cur='BTC', amt=0.1, adr='4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x', mem='')

Parameter:

  • cur string Currency for withdrawal (e.g. BTC, ETH)
  • amt float Amount you want to withdraw
  • adr string Address to which you want to withdraw
  • mem string (Optional) Memo or destination tag to which you want to withdraw

Response:

{
  'error': 0,
  'result': {
      'txn': 'BTCWD0000012345',
      'adr': '4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x'
      'mem': '',
      'cur': 'BTC',
      'amt': 0.1,
      'fee': 0.0002,
      'ts': 1569999999
  }
}

Crypto internal withdraw

Make a withdrawal to a trusted address. Required initial secure obj

The destination address is not required to be a trusted address. This API is not enabled by default, Only KYB users can request this feature by contacting us via support@bitkub.com

Function:

bitkub.crypto_internal_withdraw(cur='BTC', amt=0.1, adr='4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x', mem='')

Parameter:

  • cur string Currency for withdrawal (e.g. BTC, ETH)
  • amt float Amount you want to withdraw
  • adr string Address to which you want to withdraw
  • mem string (Optional) Memo or destination tag to which you want to withdraw

Response:

{
  'error': 0,
  'result': {
      'txn': 'BTCWD0000012345',
      'adr': '4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x'
      'mem': '',
      'cur': 'BTC',
      'amt': 0.1,
      'fee': 0.0002,
      'ts': 1569999999
  }
}

Crypto deposit history

List crypto deposit history. Required initial secure obj

Function:

bitkub.crypto_deposit_history(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error': 0,
  'result': [
    {
       'hash': 'XRPWD0000100276',
       'currency': 'XRP',
       'amount': 5.75111474,
       'from_address': 'sender address',
       'to_address': 'receipent address',
       'confirmations': 1,
       'status': 'complete',
       'time': 1570893867
    }
  ],
  'pagination': {
    'page': 1,
    'last': 1
  }
}

Crypto withdraw history

: List crypto withdrawal history. Required initial secure obj

Function:

bitkub.crypto_withdraw_history(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error': 0,
  'result': [
    {
      'txn_id': 'XRPWD0000100276',
      'hash': 'send_internal',
      'currency': 'XRP',
      'amount': '5.75111474',
      'fee': 0.01,
      'address': 'rpXTzCuXtjiPDFysxq8uNmtZBe9Xo97JbW',
      'status': 'complete',
      'time': 1570893493
    }
  ],
  'pagination': {
    'page': 1,
    'last': 1
  }
}

Crypto generate address

Generate a new crypto address (will replace existing address; previous address can still be used to received funds) List all approved bank accounts. Required initial secure obj

Function:

bitkub.crypto_generate_address(sym='THB_BTC')

Parameter:

  • sym string The symbol

Response:

{
  'error': 0,
  'result': [
    {
       'currency': 'BTC',
       'address': '0x520165471daa570ab632dd504c6af257bd36edfb',
       'memo': ''
    }
  ]
}

Fiat accounts

List all approved bank accounts. Required initial secure obj

Function:

bitkub.fiat_accounts(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error': 0,
  'result': [
    {
      'id': '7262109099',
      'bank': 'Kasikorn Bank',
      'name': 'Somsak',
      'time': 1570893867
    }
  ],
  'pagination': {
    'page': 1,
    'last': 1
  }
}

Fiat withdraw

Make a withdrawal to an approved bank account. Required initial secure obj

Function:

bitkub.fiat_withdraw(id=1, amt=1)

Parameter:

  • id string Bank account id
  • amt float Amount you want to withdraw

Response:

{
  'error': 0,
  'result': {
    'txn': 'THBWD0000012345',
    'acc': '7262109099',
    'cur': 'THB',
    'amt': 21,
    'fee': 20,
    'rec': 1,
    'ts': 1569999999
  }
}

Fiat deposit history

List fiat deposit history. Required initial secure obj

Function:

bitkub.fiat_deposit_history(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error':0,
  'result':[
    {
       'txn_id': 'THBDP0000012345',
       'currency': 'THB',
       'amount': 5000.55,
       'status': 'complete',
       'time': 1570893867
    }
  ],
  'pagination':{
    'page': 1,
    'last': 1
  }
}

Fiat withdraw history

List fiat withdrawal history. Required initial secure obj

Function:

bitkub.fiat_withdraw_history(p=1, lmt=1)

Parameter:

  • p int Page (optional) default 1
  • lmt int Limit (optional) default 10

Response:

{
  'error': 0,
  'result': [
    {
       'txn_id': 'THBDP0000012345',
       'currency': 'THB',
       'amount': 5000.55,
       'fee': 20,
       'status': 'complete',
       'time': 1570893867
    }
  ],
  'pagination':{
    'page': 1,
    'last': 1
  }
}

Market wstoken

Get the token for websocket authentication. Required initial secure obj

Function:

bitkub.market_wstoken()

Response:

{
  'error': 0,
  'result': 'sdCBCTwaS2Z1IBB6uTCefIbVN6dQVz9dkDeU96IoFJp14GGhlw9hoUDNe1KSYC23dXBPIqyX2QjVEOFHITxgPMvo8kdVaTkiZBA8KgvVTSMsq6JjjlyERDVZn3tt4PEp'
}

User limits

Check deposit/withdraw limitations and usage. Required initial secure obj

Function:

bitkub.user_limits()

Response:

{
  'error': 0,
  'result': {
    'limits': {
      'crypto': {
        'deposit': 0,
        'withdraw': 0
      },
      'fiat': {
        'deposit': 0,
        'withdraw': 0
      }
    },
    'usage': {
      'crypto': {
        'deposit': 0,
        'withdraw': 0,
        'deposit_percentage': 0,
        'withdraw_percentage': 0,
        'deposit_thb_equivalent': 0,
        'withdraw_thb_equivalent': 0
      },
      'fiat': {
        'deposit': 0,
        'withdraw': 0,
        'deposit_percentage': 0,
        'withdraw_percentage': 0
      }
    },
    'rate': 177100.32
  }
}

User trading-credit

Check trading credit balance. Required initial secure obj

Function:

bitkub.user_trading_credits()

Response:

{
  'error': 0,
  'result': 0
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitkub-v2-2.1.1.tar.gz (17.8 kB view details)

Uploaded Source

File details

Details for the file bitkub-v2-2.1.1.tar.gz.

File metadata

  • Download URL: bitkub-v2-2.1.1.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for bitkub-v2-2.1.1.tar.gz
Algorithm Hash digest
SHA256 4ceaf7b8603eef336b9899880f81191ea8e740727eda94ed69ac27d092e45e06
MD5 4d2250830ead062bb1b710addbde955d
BLAKE2b-256 e681c3120e1cd3438351296769bba346174761927413d89ef0b5ff1643171484

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page