Unofficial GDAX API client written in Python3 using async/await
The implementation supports the following GDAX endpoints:
- Market Data REST API
- Private REST API
- Public and private Websocket feeds
See the official API documentation at https://docs.gdax.com/ for more documentation.
import asyncio
import gdax
async def main():
trader = gdax.trader.Trader(product_id='BTC-USD')
res = await asyncio.gather(
trader.get_products(),
trader.get_product_ticker(),
trader.get_time(),
)
print(res)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
import asyncio
import gdax
async def main():
trader = gdax.trader.Trader(
product_id='BTC-USD',
api_key='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
api_secret='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa==',
passphrase='aaaaaaaaaaa')
res = await trader.get_account()
print(res)
res = await trader.buy(type='limit', size='0.01', price='2500.12')
print(res)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
import asyncio
import gdax
async def run_orderbook():
async with gdax.orderbook.OrderBook(['ETH-USD', 'BTC-USD']) as orderbook:
while True:
message = await orderbook.handle_message()
if message is None:
continue
print('ETH-USD ask: %s bid: %s' %
(orderbook.get_ask('ETH-USD'),
orderbook.get_bid('ETH-USD')))
print('BTC-USD ask: %s bid: %s' %
(orderbook.get_ask('BTC-USD'),
orderbook.get_bid('BTC-USD')))
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(run_orderbook())
Install from PyPI:
pip install gdax-python-api
You can download the latest release from Github and install it manually:
python setup.py install
- Python 3.6 (async/await, f-strings)
- aiohttp
- aiofiles
- async_timeout
- sortedcontainers
Parts of this software are based on GDAX-Python by Daniel Paquin. See also https://github.com/danpaquin/GDAX-Python/blob/master/contributors.txt.