Ionomy¶
Imports and Params¶
[1]:
from Ionomy import Ionomy
from decouple import config
MARKET = 'btc-hive'
CURRENCY = 'hive'
BASE = 'btc'
TIME = 'day'
BTC_QUANTITY = 0.001
HIVE_QUANTITY = 100
LOW_RATE=0.00003
HIGH_RATE=0.00004
ADDRESS = 'memehub'
Instantiation¶
[2]:
ion = Ionomy(config('IONOMY_KEY'), config('IONOMY_SECRET'))
Public Endpoint Methods¶
Markets¶
[3]:
markets = ion.markets()
markets[0]
[3]:
{'market': 'btc-eth',
'title': 'Bitcoin:Ethereum',
'currencyBase': 'btc',
'currencyMarket': 'eth',
'orderMinSize': '0.00001000',
'buyFee': '0.20000000',
'sellFee': '0.20000000',
'inMaintenance': False}
Currencies¶
[6]:
currencies = ion.currencies()
currencies[0]
[6]:
{'currency': 'dash',
'title': 'Dash',
'withdrawMinSize': '0.00100000',
'withdrawFee': '0.00200000',
'inMaintenance': False,
'canDeposit': 1,
'canWithdraw': 1}
Order Book¶
[11]:
order_book = ion.order_book(MARKET)
order_book["bids"][0]
[11]:
{'size': '207.00000000', 'price': '0.00003301'}
Market Summaries¶
[12]:
market_summaries = ion.market_summaries()
market_summaries[0]
[12]:
{'market': 'btc-eth',
'high': '0.02150000',
'low': '0.01900001',
'volume': '0.31467562',
'price': '0.01900001',
'change': '-11.63',
'baseVolume': '0.00597884',
'bidsOpenOrders': '10',
'bidsLastPrice': '0.01900003',
'highestBid': '0.01900003',
'asksOpenOrders': '14',
'asksLastPrice': '0.02250000',
'lowestAsk': '0.02250000'}
Market Summary¶
[14]:
market_summary = ion.market_summary(MARKET)
market_summary
[14]:
{'market': 'btc-hive',
'high': '0.00003538',
'low': '0.00003300',
'volume': '3856.61483680',
'price': '0.00003370',
'change': '2.06',
'baseVolume': '0.12996792',
'bidsOpenOrders': '39',
'bidsLastPrice': '0.00003301',
'highestBid': '0.00003301',
'asksOpenOrders': '47',
'asksLastPrice': '0.00003447',
'lowestAsk': '0.00003370'}
Market History¶
[15]:
market_history = ion.market_history(MARKET)
market_history[0]
[15]:
{'type': 'MARKET_BUY',
'amount': '140.93003798',
'price': '0.00003370',
'total': '0.00474934',
'createdAt': '2020-05-16T09:28:58Z'}
Market Endpoint Methods¶
Limit Buy/Sell Order¶
[3]:
order = ion.limit_buy(HIVE_QUANTITY, LOW_RATE, MARKET)
# order = ion.limit_sell(HIVE_QUANTITY, HIGH_RATE, MARKET)
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-3-8453aa1ba66a> in <module>
1 order = ion.limit_buy(HIVE_QUANTITY, LOW_RATE, MARKET)
----> 2 order = ion.limit_sell(HIVE_QUANTITY, HIGH_RATE, MARKET)
/notebooks/packages/Ionomy/ionomy.py in limit_sell(self, amount, price, market)
92 'price': f'{price:.8f}'
93 }
---> 94 return self._request('market/sell-limit', params)
95
96 def cancel_order(self, orderId: str) -> bool:
/notebooks/packages/Ionomy/ionomy.py in _request(self, endpoint, params)
47 data = json.loads(response.content)
48 if not data['success']:
---> 49 raise Exception(data['message'])
50 return data['data']
51
Exception: 40017
Order Status¶
[8]:
order_status = ion.order_status(order['orderId'])
order_status
[8]:
{'orderId': '5ec1a9d18b196d3e336cf6d2',
'status': 'OPEN',
'market': 'btc-hive',
'type': 'LIMIT_BUY',
'amount': '100.00000000',
'price': '0.00003000',
'filled': '0.00000000',
'opened': '2020-05-17T21:17:05Z',
'closed': None}
Account Endpoint Methods¶
Open Orders¶
[4]:
open_orders = ion.open_orders(MARKET)
open_orders[0]
[4]:
[{'orderId': '5ec1a9d18b196d3e336cf6d2',
'market': 'btc-hive',
'type': 'LIMIT_BUY',
'amount': '100.00000000',
'price': '0.00003000',
'filled': '0.00000000',
'createdAt': '2020-05-17T21:17:05Z'}]
Balances¶
[18]:
balances = ion.balances()
balances[0]
[18]:
{'currency': 'btc', 'available': '0.11574671', 'reserved': '0.00000001'}
Balance¶
[19]:
balance = ion.balance(CURRENCY)
balance
[19]:
{'currency': 'hive', 'available': '0.54814539', 'reserved': '0.00000000'}
Deposit Address¶
[20]:
deposit_address = ion.deposit_address(CURRENCY)
deposit_address
[20]:
{'currency': 'hive', 'address': '5e8f6cd1a2a3e2080524eb42'}
Deposit History¶
[29]:
deposit_history = ion.deposit_history("Steem")
deposit_history["deposits"][0]
[29]:
{'transactionId': '5e8f6db5149be70cd35ab8e2',
'state': 'PROCESSED',
'currency': 'steem',
'amount': '1.00000000',
'createdAt': '2020-04-09T18:47:17Z'}
Withdrawal History¶
[25]:
withdrawal_history = ion.withdrawal_history(CURRENCY)
withdrawal_history[0]
[25]:
{'transactionId': '5e8f726da2a3e220e6566b72',
'state': 'PROCESSED',
'currency': 'hive',
'amount': '7186.01000000',
'feeAmount': '0.01000000',
'createdAt': '2020-04-09T19:07:25Z'}