A Python library for bitkub.com API
2022-01-07
version1.1.0
- add Create buy order test
- add Create sell order test
- Viewing tradingview history endpoint is now deprecated and will be updated with a new endpoint soon. The old endpoint will always return empty result.
- include is_maker in My order history
- removed address and instead include from_address and to_address in Crypto deposit history
- add Crypto internal withdraw
- include partial_filled and remaining in Order info
2020-04-02
version1.0.3
add generate-address method
- Installation
- Usage
- Creating a Bitkub
- Set API key & API secret
- Viewing status
- Viewing servertime
- Viewing symbols
- Viewing ticker
- Viewing trades
- Viewing bids
- Viewing asks
- Viewing books
- Viewing depth
- Viewing tradingview history
- Viewing wallet
- Viewing balances
- Create buy order
- Create buy order test
- Create sell order
- Create sell order test
- Create sell order by fiat
- Cancel order
- My open orders
- My order history
- Order info
- Crypto addresses
- Crypto withdraw
- Crypto internal withdraw
- Crypto deposit history
- Crypto withdraw history
- Crypto generate address
- Fiat accounts
- Fiat withdraw
- Fiat deposit history
- Fiat withdraw history
- Market wstoken
- User limits
- User trading credits
pip install bitkub
from bitkub import Bitkub
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.
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)
Get endpoint status.
bitkub.status()
[
{
'name': 'Non-secure endpoints',
'status': 'ok',
'message': ''
},
{
'name': 'Secure endpoints',
'status': 'ok',
'message': ''
}
]
Get server timestamp.
bitkub.servertime()
1583051817
List all available symbols.
bitkub.symbols()
{
'error': 0,
'result': [
{
'id': 1,
'info': 'Thai Baht to Bitcoin',
'symbol': 'THB_BTC'
},
{
'id': 2,
'info': 'Thai Baht to Ethereum',
'symbol': 'THB_ETH'
}
]
}
Get ticker information.
bitkub.ticker(sym='THB_BTC')
sym
string The symbol (optional)default
""
{
'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
}
}
List recent trades.
bitkub.trades(sym="THB_BTC", lmt=2)
sym
string The symbollmt
int No. of limit to Parameter recent tradesdefault
1
{
'error': 0,
'result': [
[
1583246192, // timestamp
278798.34, // rate
0.00375672, // amount
'BUY' // side
],
[
1583246159,
278000,
0.0001042,
'SELL'
]
]
}
List open buy orders.
bitkub.bids(sym="THB_BTC", lmt=2)
sym
string The symbollmt
int No. of limit to Parameter open buy ordersdefault
1
{
'error': 0,
'result': [
[
4632978, // order id
1583245687, // timestamp
73110.59, // volume
278000, // rate
0.26298773 // amount
],
[
4632732,
1583245871,
1312.68,
278000,
0.00472187
]
]
}
List open sell orders.
bitkub.asks(sym="THB_BTC", lmt=2)
sym
string The symbollmt
int No. of limit to Parameter open sell ordersdefault
1
{
'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
]
]
}
List all open orders.
bitkub.books(sym="THB_BTC", lmt=1)
sym
string The symbollmt
int No. of imit to Parameter open ordersdefault
1
{
'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
]
]
}
}
Get depth information.
bitkub.depth(sym='THB_BTC', lmt=1)
sym
string The symbollmt
int Depth sizedefault
1
{
'asks': [
[
277946.16,
1.29675
]
],
'bids': [
[
277936.27,
0.94071896
]
]
}
Get historical data for TradingView chart.
bitkub.tradingview(sym='THB_BTC', int=1, frm='', to='')
sym
string The symbolint
int Chart resolution (1, 5, 15, 60, 240, 1D)default
1frm
int Timestamp of the starting timeto
int Timestamp of the ending time
{
'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
]
}
Get user available balances. Required initial secure obj
bitkub.wallet()
{
'error': 0,
'result': {
'THB': 0,
'BTC': 0,
'ETH': 0
}
}
Get balances info: this includes both available and reserved balances. Required initial secure obj
bitkub.balances()
{
'error': 0,
'result': {
'THB': {
'available': 0,
'reserved': 0
},
'BTC': {
'available': 0,
'reserved': 0
}
}
}
Create a buy order. Required initial secure obj
bitkub.place_bid(sym='THB_BTC', amt=1, rat=1, typ='limit')
sym
string The symbolamt
float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1rat
float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1typ
string Order type: limit or marketdefault
limit
{
'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 a buy order test. Required initial secure obj
bitkub.place_bid_test(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')
sym
string The symbolamt
float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1rat
float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1typ
string Order type: limit or marketdefault
limitclient_id
string Your id for reference ( no required )
{
'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 a sell order. Required initial secure obj
bitkub.place_ask(sym='THB_BTC', amt=1, rat=1, typ='limit')
sym
string The symbolamt
float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1rat
float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1typ
string Order type: limit or marketdefault
limit
{
'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 a sell order test. Required initial secure obj
bitkub.place_ask_test(sym='THB_BTC', amt=1, rat=1, typ='limit', client_id='')
sym
string The symbolamt
float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1rat
float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1typ
string Order type: limit or marketdefault
limitclient_id
string Your id for reference ( no required )
{
'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 a sell order by specifying the fiat amount you want to receive (selling amount of cryptocurrency is automatically calculated). Required initial secure obj
bitkub.place_bid(sym='THB_BTC', amt=1, rat=1, typ='limit')
sym
string The symbolamt
float Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1rat
float Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default
1typ
string Order type: limit or marketdefault
limit
{
'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 an open order. Required initial secure obj
bitkub.cancel_order(sym='THB_BTC', id=1, sd=1, hash='XXXXXX')
sym
string The symbolid
int Order id you wish to cancelsd
string Order side: buy or selldefault
buyhash
string Cancel an order with order hash (optional). You don't need to specify sym, id, and sd when you specify order hash.
{
'error': 0
}
List all open orders of the given symbol. Required initial secure obj
bitkub.my_open_orders(sym='THB_BTC')
sym
string The symbol
{
'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
}
]
}
List all orders that have already matched. Required initial secure obj
bitkub.my_open_history(sym='THB_BTC', p=1, lmt=10)
sym
string The symbolp
string Page (optional)lmt
string Limit (optional)start
string Start timestamp (optional)end
string End timestamp (optional)
{
'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
}
}
Get information regarding the specified order. Required initial secure obj
bitkub.order_info(sym='THB_BTC', id=1, sd='buy', hash='XXXXXX')
sym
string The symbolid
int Order idsd
string Order side: buy or selldefault
buyhash
string Lookup an order with order hash (optional). You don't need to specify sym, id, and sd when you specify order hash.
{
'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
}
]
}
}
List all crypto addresses. Required initial secure obj
bitkub.crypto_address(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'error': 0,
'result': [
{
'currency': 'BTC',
'address': '3BtxdKw6XSbneNvmJTLVHS9XfNYM7VAe8k',
'tag': 0,
'time': 1570893867
}
],
'pagination': {
'page': 1,
'last": 1
}
}
Make a withdrawal to a trusted address. Required initial secure obj
bitkub.crypto_withdraw(cur='BTC', amt=0.1, adr='4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x', mem='')
cur
string Currency for withdrawal (e.g. BTC, ETH)amt
float Amount you want to withdrawadr
string Address to which you want to withdrawmem
string (Optional) Memo or destination tag to which you want to withdraw
{
'error': 0,
'result': {
'txn': 'BTCWD0000012345',
'adr': '4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x'
'mem': '',
'cur': 'BTC',
'amt': 0.1,
'fee': 0.0002,
'ts': 1569999999
}
}
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 [email protected]
bitkub.crypto_internal_withdraw(cur='BTC', amt=0.1, adr='4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x', mem='')
cur
string Currency for withdrawal (e.g. BTC, ETH)amt
float Amount you want to withdrawadr
string Address to which you want to withdrawmem
string (Optional) Memo or destination tag to which you want to withdraw
{
'error': 0,
'result': {
'txn': 'BTCWD0000012345',
'adr': '4asyjKw6XScneNvhJTLVHS9XfNYM7VBf8x'
'mem': '',
'cur': 'BTC',
'amt': 0.1,
'fee': 0.0002,
'ts': 1569999999
}
}
List crypto deposit history. Required initial secure obj
bitkub.crypto_deposit_history(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'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
}
}
:
List crypto withdrawal history. Required initial secure obj
bitkub.crypto_withdraw_history(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'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
}
}
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
bitkub.crypto_generate_address(sym='THB_BTC')
sym
string The symbol
{
'error': 0,
'result': [
{
'currency': 'BTC',
'address': '0x520165471daa570ab632dd504c6af257bd36edfb',
'memo': ''
}
]
}
List all approved bank accounts. Required initial secure obj
bitkub.fiat_accounts(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'error': 0,
'result': [
{
'id': '7262109099',
'bank': 'Kasikorn Bank',
'name': 'Somsak',
'time': 1570893867
}
],
'pagination': {
'page': 1,
'last': 1
}
}
Make a withdrawal to an approved bank account. Required initial secure obj
bitkub.fiat_withdraw(id=1, amt=1)
id
string Bank account idamt
float Amount you want to withdraw
{
'error': 0,
'result': {
'txn': 'THBWD0000012345',
'acc': '7262109099',
'cur': 'THB',
'amt': 21,
'fee': 20,
'rec': 1,
'ts': 1569999999
}
}
List fiat deposit history. Required initial secure obj
bitkub.fiat_deposit_history(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'error':0,
'result':[
{
'txn_id': 'THBDP0000012345',
'currency': 'THB',
'amount': 5000.55,
'status': 'complete',
'time': 1570893867
}
],
'pagination':{
'page': 1,
'last': 1
}
}
List fiat withdrawal history. Required initial secure obj
bitkub.fiat_withdraw_history(p=1, lmt=1)
p
int Page (optional)default
1lmt
int Limit (optional)default
10
{
'error': 0,
'result': [
{
'txn_id': 'THBDP0000012345',
'currency': 'THB',
'amount': 5000.55,
'fee': 20,
'status': 'complete',
'time': 1570893867
}
],
'pagination':{
'page': 1,
'last': 1
}
}
Get the token for websocket authentication. Required initial secure obj
bitkub.market_wstoken()
{
'error': 0,
'result': 'sdCBCTwaS2Z1IBB6uTCefIbVN6dQVz9dkDeU96IoFJp14GGhlw9hoUDNe1KSYC23dXBPIqyX2QjVEOFHITxgPMvo8kdVaTkiZBA8KgvVTSMsq6JjjlyERDVZn3tt4PEp'
}
Check deposit/withdraw limitations and usage. Required initial secure obj
bitkub.user_limits()
{
'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
}
}
Check trading credit balance. Required initial secure obj
bitkub.user_trading_credits()
{
'error': 0,
'result': 0
}