BitTrex

Imports and Params

[10]:
from Ionomy import BitTrex
from decouple import config

MARKET = 'btc-hive'
CURRENCY = 'hive'
BASE = 'btc'
TIME = 'day'
BTC_QUANTITY = 0.001
HIVE_QUANTITY = 100
ADDRESS = 'memehub'
PAYMENTID_OPTIONAL = None
LOW_RATE=0.00003
HIGH_RATE=0.00004
TIMEINFORCE='GTC'

Instantiation

[2]:
bt = BitTrex(config('TREX_KEY'), config('TREX_SECRET'))

Public Endpoint Methods

Markets

[3]:
markets = bt.markets()
markets[0]
[3]:
{'MarketCurrency': 'LTC',
 'BaseCurrency': 'BTC',
 'MarketCurrencyLong': 'Litecoin',
 'BaseCurrencyLong': 'Bitcoin',
 'MinTradeSize': 0.03297187,
 'MarketName': 'BTC-LTC',
 'IsActive': True,
 'IsRestricted': False,
 'Created': '2014-02-13T00:00:00',
 'Notice': None,
 'IsSponsored': None,
 'LogoUrl': 'https://bittrexblobstorage.blob.core.windows.net/public/6defbc41-582d-47a6-bb2e-d0fa88663524.png'}

Currencies

[4]:
currencies = bt.currencies()
currencies[0]
[4]:
{'Currency': 'BTC',
 'CurrencyLong': 'Bitcoin',
 'MinConfirmation': 2,
 'TxFee': 0.0005,
 'IsActive': True,
 'IsRestricted': False,
 'CoinType': 'BITCOIN',
 'BaseAddress': '1N52wHoVR79PMDishab2XmRHsbekCdGquK',
 'Notice': None}

Ticker

[5]:
bt.ticker(MARKET)
[5]:
{'Bid': 3.313e-05, 'Ask': 3.331e-05, 'Last': 3.345e-05}

Market Summaries

[7]:
market_summaries = bt.market_summaries()
market_summaries[0]
[7]:
{'MarketName': 'BTC-STPT',
 'High': 1.1e-06,
 'Low': 1.06e-06,
 'Volume': 89896.60128034,
 'Last': 1.1e-06,
 'BaseVolume': 0.09687313,
 'TimeStamp': '2020-05-16T16:52:42.353',
 'Bid': 1.06e-06,
 'Ask': 1.09e-06,
 'OpenBuyOrders': 42,
 'OpenSellOrders': 273,
 'PrevDay': 1.06e-06,
 'Created': '2019-06-11T18:34:44.627'}

Market Summary

[9]:
bt.market_summary(MARKET)
[9]:
{'MarketName': 'BTC-HIVE',
 'High': 3.49e-05,
 'Low': 3.28e-05,
 'Volume': 251042.78009306,
 'Last': 3.381e-05,
 'BaseVolume': 8.52802204,
 'TimeStamp': '2020-05-15T18:05:54.107',
 'Bid': 3.382e-05,
 'Ask': 3.409e-05,
 'OpenBuyOrders': 388,
 'OpenSellOrders': 853,
 'PrevDay': 3.472e-05,
 'Created': '2020-03-21T20:13:46.243'}

Market History

[11]:
market_history = bt.market_history(MARKET)
market_history[0]
[11]:
{'Id': 65281835,
 'TimeStamp': '2020-05-15T18:02:15.01',
 'Quantity': 16.80099545,
 'Price': 3.381e-05,
 'Total': 0.0005680416561645,
 'FillType': 'FILL',
 'OrderType': 'BUY',
 'Uuid': '822aacf4-da88-4be8-bb2b-6a723671acf9'}

Order Book

[14]:
order_book = bt.order_book(MARKET)
order_book["buy"][0]
[14]:
{'Quantity': 1013.53349185, 'Rate': 3.382e-05}

OHLCV

[16]:
ohlcv = bt.ohlcv(CURRENCY, BASE, TIME)
ohlcv[0]
[16]:
{'time': 1586908800,
 'close': 1.637e-05,
 'high': 1.7e-05,
 'low': 1.577e-05,
 'open': 1.633e-05,
 'volumefrom': 270819.04,
 'volumeto': 4.473,
 'conversionType': 'force_direct',
 'conversionSymbol': ''}

Market Endpoint Methods

Limit Buy/Sell Orders

[16]:
# buy_order_uuid = bt.buy_limit(MARKET, HIVE_QUANTITY, LOW_RATE, TIMEINFORCE)
sell_order_uuid = bt.sell_limit(MARKET, HIVE_QUANTITY, HIGH_RATE, TIMEINFORCE)

Cancel Order

[20]:
order_uuid = bt.cancel(sell_order_uuid)
order_uuid

Order Status

[19]:
order = bt.get_order(sell_order_uuid)
order
[19]:
{'AccountId': None,
 'OrderUuid': 'ffd0af51-6195-442b-aab6-320851bc72cc',
 'Exchange': 'BTC-HIVE',
 'Type': 'LIMIT_SELL',
 'Quantity': 100.0,
 'QuantityRemaining': 100.0,
 'Limit': 4e-05,
 'Reserved': None,
 'ReserveRemaining': None,
 'CommissionReserved': None,
 'CommissionReserveRemaining': None,
 'CommissionPaid': 0.0,
 'Price': 0.0,
 'PricePerUnit': None,
 'Opened': '2020-05-17T20:53:56.25',
 'Closed': None,
 'IsOpen': True,
 'Sentinel': None,
 'CancelInitiated': False,
 'ImmediateOrCancel': False,
 'IsConditional': False,
 'Condition': 'NONE',
 'ConditionTarget': None}

Open Orders

[17]:
open_orders = bt.open_orders(MARKET)
open_orders[0]
[17]:
{'Uuid': None,
 'OrderUuid': 'ffd0af51-6195-442b-aab6-320851bc72cc',
 'Exchange': 'BTC-HIVE',
 'OrderType': 'LIMIT_SELL',
 'Quantity': 100.0,
 'QuantityRemaining': 100.0,
 'Limit': 4e-05,
 'CommissionPaid': 0.0,
 'Price': 0.0,
 'PricePerUnit': None,
 'Opened': '2020-05-17T20:53:56.25',
 'Closed': None,
 'CancelInitiated': False,
 'ImmediateOrCancel': False,
 'IsConditional': False,
 'Condition': 'NONE',
 'ConditionTarget': None}

Account Endpoint Methods

Balances

[18]:
balances = bt.balances()
balances[0]
[18]:
{'Currency': 'BTC',
 'Balance': 1e-08,
 'Available': 1e-08,
 'Pending': 0.0,
 'CryptoAddress': None}

Balance

[19]:
bt.balance(CURRENCY)
[19]:
{'Currency': 'HIVE',
 'Balance': 13728.03479181,
 'Available': 13728.03479181,
 'Pending': 0.0,
 'CryptoAddress': '30c05de7684c4bf1817'}

Order History

[22]:
order_history = bt.order_history()
order_history[0]
[22]:
{'OrderUuid': '74b7ccde-f6f5-4083-8d0e-e56c080015a1',
 'Exchange': 'BTC-HIVE',
 'TimeStamp': '2020-05-14T21:11:14.44',
 'OrderType': 'LIMIT_BUY',
 'Limit': 3.41e-05,
 'Quantity': 1128.49345297,
 'QuantityRemaining': 0.0,
 'Commission': 7.696e-05,
 'Price': 0.03848162,
 'PricePerUnit': 3.41e-05,
 'IsConditional': False,
 'Condition': '',
 'ConditionTarget': 0.0,
 'ImmediateOrCancel': False,
 'Closed': '2020-05-14T21:11:14.44'}

Deposit History

[23]:
deposit_history = bt.deposit_history(CURRENCY)
deposit_history[0]
[23]:
{'Id': 102691733,
 'Amount': 7194.41,
 'Currency': 'HIVE',
 'Confirmations': 59,
 'LastUpdated': '2020-05-14T21:06:48.5',
 'TxId': 'da01a679e0c7d7afd6de6e3753ca2beb7dea0caf',
 'CryptoAddress': '30c05de7684c4bf1817'}

Deposit Address

[24]:
bt.deposit_address(CURRENCY)
[24]:
{'Currency': 'HIVE', 'Address': '30c05de7684c4bf1817'}

Withdrawal History

[28]:
withdrawal_history = bt.withdrawal_history(CURRENCY)
withdrawal_history[0]
[28]:
{'PaymentUuid': '78943ce0-b6d4-4fcb-991a-7516e4323e82',
 'Currency': 'HIVE',
 'Amount': 13728.02479181,
 'Address': 'memehub',
 'Opened': '2020-05-15T18:13:44.513',
 'Authorized': False,
 'PendingPayment': False,
 'TxCost': 0.01,
 'TxId': None,
 'Canceled': True,
 'InvalidAddress': False}

Withdraw

[33]:
bt.withdraw(CURRENCY, QUANTITY, ADDRESS, PAYMENTID_OPTIONAL)
[33]:
{'uuid': 'cee4a123-5656-4938-a777-66a05df1b500'}
[ ]: