A Python library for bitkub.com API
2020-04-02version1.0.3add 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 wallet
- Viewing balances
- Create buy order
- Create sell order
- Create sell order by fiat
- Cancel order
- My open orders
- My order history
- Order info
- Crypto addresses
- Crypto 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')
symstring 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)
symstring The symbollmtint No. of limit to Parameter recent tradesdefault1
{
'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)
symstring The symbollmtint No. of limit to Parameter open buy ordersdefault1
{
'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)
symstring The symbollmtint No. of limit to Parameter open sell ordersdefault1
{
'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)
symstring The symbollmtint No. of imit to Parameter open ordersdefault1
{
'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)
symstring The symbollmtint Depth sizedefault1
{
'asks': [
[
277946.16,
1.29675
]
],
'bids': [
[
277936.27,
0.94071896
]
]
}
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')
symstring The symbolamtfloat Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1ratfloat Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1typstring Order type: limit or marketdefaultlimit
{
'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')
symstring The symbolamtfloat Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1ratfloat Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1typstring Order type: limit or marketdefaultlimit
{
'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')
symstring The symbolamtfloat Amount you want to spend with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1ratfloat Rate you want for the order with no trailing zero (e.g 1000.00 is invalid, 1000 is ok)default1typstring Order type: limit or marketdefaultlimit
{
'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')
symstring The symbolidint Order id you wish to cancelsdstring Order side: buy or selldefaultbuyhashstring 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')
symstring 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)
symstring The symbolpstring Page (optional)lmtstring Limit (optional)startstring Start timestamp (optional)endstring 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,
'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')
symstring The symbolidint Order idsdstring Order side: buy or selldefaultbuyhashstring 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',
'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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'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='')
curstring Currency for withdrawal (e.g. BTC, ETH)amtfloat Amount you want to withdrawadrstring Address to which you want to withdrawmemstring (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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'error': 0,
'result': [
{
'hash': 'XRPWD0000100276',
'currency': 'XRP',
'amount': 5.75111474,
'address': null,
'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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'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')
symstring 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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'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)
idstring Bank account idamtfloat 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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'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)
pint Page (optional)default1lmtint Limit (optional)default10
{
'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
}