Skip to main content

Async Bittrex api wrapper.

Project description

Requirements: Python3.6

Installation: pip install aiobittrex

Usage

import asyncio

from aiobittrex import BittrexAPI, BittrexApiError, BittrexResponseError


async def main():
    api = BittrexAPI()
    try:
        result = await api.get_markets()
    except BittrexApiError as e:
        print(e)
    except BittrexResponseError as e:
        print('Invalid response:', e)
    else:
        print(result)
    finally:
        await api.close()

V1 API

get_markets()

Get the open and available trading markets at Bittrex along with other meta data.

[{
    "MarketCurrency": "LTC",
    "BaseCurrency": "BTC",
    "MarketCurrencyLong": "Litecoin",
    "BaseCurrencyLong": "Bitcoin",
    "MinTradeSize": 0.01441756,
    "MarketName": "BTC-LTC",
    "IsActive": true,
    "Created": "2014-02-13T00:00:00",
    "Notice": null,
    "IsSponsored": null,
    "LogoUrl": "https://bittrexblobstorage.blob.core.windows.net/public/6defbc41-582d-47a6-bb2e-d0fa88663524.png"
}]

get_currencies()

Get all supported currencies at Bittrex along with other meta data.

[{
    "Currency": "BTC",
    "CurrencyLong": "Bitcoin",
    "MinConfirmation": 2,
    "TxFee": 0.0005,
    "IsActive": true,
    "CoinType": "BITCOIN",
    "BaseAddress": "1N52wHoVR79PMDishab2XmRHsbekCdGquK",
    "Notice": null
}]

get_ticker(market)

Get the current tick values for a market.

{
    "Bid": 0.01702595,
    "Ask": 0.01709242,
    "Last": 0.01702595
}

get_market_summaries()

Get the last 24 hour summary of all active markets.

[{
    "MarketName": "BTC-LTC",
    "High": 0.01717,
    "Low": 0.01664,
    "Volume": 19292.05592121,
    "Last": 0.01709242,
    "BaseVolume": 325.65963883,
    "TimeStamp": "2018-04-23T13:09:54.903",
    "Bid": 0.01702596,
    "Ask": 0.01709242,
    "OpenBuyOrders": 1957,
    "OpenSellOrders": 4016,
    "PrevDay": 0.016837,
    "Created": "2014-02-13T00:00:00"
}]

get_market_summary(market)

Get the last 24 hour summary of a specific market.

{
    "MarketName": "BTC-LTC",
    "High": 0.01717,
    "Low": 0.01664,
    "Volume": 19298.50773759,
    "Last": 0.017092,
    "BaseVolume": 325.76997876,
    "TimeStamp": "2018-04-23T13:12:20.447",
    "Bid": 0.017092,
    "Ask": 0.01709242,
    "OpenBuyOrders": 1957,
    "OpenSellOrders": 4018,
    "PrevDay": 0.01687339,
    "Created": "2014-02-13T00:00:00"
}

get_order_book(market, order_type='both')

Retrieve the orderbook for a given market.

Order types:
  • buy

  • sell

  • both

{
    "buy": [{
        "Quantity": 0.56636808,
        "Rate": 0.01709205
    }],
    "sell": [{
        "Quantity": 67.07309757,
        "Rate": 0.01709242
    }]
}

get_market_history(market)

Retrieve the latest trades that have occurred for a specific market.

[{
    "Id": 159594115,
    "TimeStamp": "2018-04-23T12:59:56.333",
    "Quantity": 7.08668072,
    "Price": 0.01702576,
    "Total": 0.12065612,
    "FillType": "PARTIAL_FILL",
    "OrderType": "SELL"
}, {
    "Id": 159594103,
    "TimeStamp": "2018-04-23T12:59:38.147",
    "Quantity": 1.60041657,
    "Price": 0.01709242,
    "Total": 0.02735499,
    "FillType": "FILL",
    "OrderType": "BUY"
}]

buy_limit(market, quantity, rate)

Place a buy order.

{
    "uuid": "614c34e4-8d71-11e3-94b5-425861b86ab6"
}

sell_limit(market, quantity, rate)

Place a sell order.

{
    "uuid": "614c34e4-8d71-11e3-94b5-425861b86ab6"
}

cancel_order(order_id)

Cancel a buy or sell order.

get_open_orders(market=None)

Get open orders, a market can be specified.

[{
    "Uuid": null,
    "OrderUuid": "09aa5bb6-8232-41aa-9b78-a5a1093e0211",
    "Exchange": "BTC-LTC",
    "OrderType": "LIMIT_SELL",
    "Quantity": 5.00000000,
    "QuantityRemaining": 5.00000000,
    "Limit": 2.00000000,
    "CommissionPaid": 0.00000000,
    "Price": 0.00000000,
    "PricePerUnit": null,
    "Opened": "2014-07-09T03:55:48.77",
    "Closed": null,
    "CancelInitiated": false,
    "ImmediateOrCancel": false,
    "IsConditional": false,
    "Condition": null,
    "ConditionTarget": null
}]

get_balances()

Retrieve all balances for the account.

[{
    "Currency": "BSD",
    "Balance": 0.0,
    "Available": 0.0,
    "Pending": 0.0,
    "CryptoAddress": null
}, {
    "Currency": "BTC",
    "Balance": 6e-08,
    "Available": 6e-08,
    "Pending": 0.0,
    "CryptoAddress": "1JQts7UT3gYTs31p6k5YGj3qjcRQ6XAXsn"
}]

get_balance(currency)

Retrieve balance for specific currency.

{
    "Currency": "BTC",
    "Balance": 6e-08,
    "Available": 6e-08,
    "Pending": 0.0,
    "CryptoAddress": "1JQts7UT3gYTs31p6k5YGj3qjcRQ6XAXsn"
}

get_deposit_address(currency)

Retrieve or generate an address for a specific currency.

{
    "Currency": "BTC",
    "Address": "1JQts7UT3gYTs31p6k5YGj3qjcRQ6XAXsn"
}

withdraw(currency, quantity, address)

Withdraw funds from the account.

{
    "uuid": "68b5a16c-92de-11e3-ba3b-425861b86ab6"
}

get_order(order_id)

Retrieve a single order by uuid.

{
    "AccountId": null,
    "OrderUuid": "0cb4c4e4-bdc7-4e13-8c13-430e587d2cc1",
    "Exchange": "BTC-SHLD",
    "Type": "LIMIT_BUY",
    "Quantity": 1000.00000000,
    "QuantityRemaining": 1000.00000000,
    "Limit": 0.00000001,
    "Reserved": 0.00001000,
    "ReserveRemaining": 0.00001000,
    "CommissionReserved": 0.00000002,
    "CommissionReserveRemaining": 0.00000002,
    "CommissionPaid": 0.00000000,
    "Price": 0.00000000,
    "PricePerUnit": null,
    "Opened": "2014-07-13T07:45:46.27",
    "Closed": null,
    "IsOpen": true,
    "Sentinel": "6c454604-22e2-4fb4-892e-179eede20972",
    "CancelInitiated": false,
    "ImmediateOrCancel": false,
    "IsConditional": false,
    "Condition": "NONE",
    "ConditionTarget": null
}

get_order_history(market=None)

Retrieve order history.

[{
    "OrderUuid": "fd97d393-e9b9-4dd1-9dbf-f288fc72a185",
    "Exchange": "BTC-LTC",
    "TimeStamp": "2014-07-09T04:01:00.667",
    "OrderType": "LIMIT_BUY",
    "Limit": 0.00000001,
    "Quantity": 100000.00000000,
    "QuantityRemaining": 100000.00000000,
    "Commission": 0.00000000,
    "Price": 0.00000000,
    "PricePerUnit": null,
    "IsConditional": false,
    "Condition": null,
    "ConditionTarget": null,
    "ImmediateOrCancel": false
}]

get_withdrawal_history(currency=None)

Retrieve the account withdrawal history.

[{
    "PaymentUuid": "88048b42-7a13-4f57-8b7e-109aeeca07d7",
    "Currency": "SAFEX",
    "Amount": 803.7676899,
    "Address": "145J9p6AVjFc2fFV1uyA8d4xweULphyuNv",
    "Opened": "2018-02-20T13:54:41.12",
    "Authorized": true,
    "PendingPayment": false,
    "TxCost": 100.0,
    "TxId": "e1ded8356d2855716ba99ae6b8cbd2c4220a8df15dd37fd7eb29a76dd7a0b1d1",
    "Canceled": false,
    "InvalidAddress": false
}]

get_deposit_history(currency=None)

Retrieve the account deposit history.

[{
    "Id": 41565639,
    "Amount": 0.008,
    "Currency": "BTC",
    "Confirmations": 3,
    "LastUpdated": "2017-11-20T16:40:30.6",
    "TxId": "abfec55561b5440b28784dc4b152635c05139f33faec090a3d8e18a8d2c75eec",
    "CryptoAddress": "1JQts7UT3gYTs31p6k5YGj3qjcRQ6XAXsn"
}]

V2 API

get_wallet_health()

View wallets health.

[{
    "Health": {
        "Currency": "BTC",
        "DepositQueueDepth": 0,
        "WithdrawQueueDepth": 24,
        "BlockHeight": 519583,
        "WalletBalance": 0.0,
        "WalletConnections": 8,
        "MinutesSinceBHUpdated": 2,
        "LastChecked": "2018-04-23T13:50:11.827",
        "IsActive": true
    },
    "Currency": {
        "Currency": "BTC",
        "CurrencyLong": "Bitcoin",
        "MinConfirmation": 2,
        "TxFee": 0.0005,
        "IsActive": true,
        "CoinType": "BITCOIN",
        "BaseAddress": "1N52wHoVR79PMDishab2XmRHsbekCdGquK",
        "Notice": null
    }
}]

get_pending_withdrawals(currency=None)

Get the account pending withdrawals.

get_pending_deposits(currency=None)

Get the account pending deposits.

get_candles(market, tick_interval)

Get tick candles for market.

Intervals:
  • oneMin

  • fiveMin

  • hour

  • day

[{
    "O": 0.017059,
    "H": 0.01712003,
    "L": 0.017059,
    "C": 0.017059,
    "V": 49.10766337,
    "T": "2018-04-23T14:07:00",
    "BV": 0.83816494
}]

get_latest_candle(market, tick_interval)

Get the latest candle for the market.

{
    "O": 0.017125,
    "H": 0.017125,
    "L": 0.01706,
    "C": 0.017125,
    "V": 2.35065452,
    "T": "2018-04-23T14:09:00",
    "BV": 0.04018997
}

Socket

Bittrex socket documentation: https://bittrex.github.io/

Usage example:

from aiobittrex import BittrexSocket


socket = BittrexSocket()
market = await socket.get_market(markets=['BTC-ETH', 'BTC-TRX'])
print(json.dumps(market, indent=2))

async for m in socket.listen_market(markets=['BTC-ETH', 'BTC-TRX']):
    print(json.dumps(m, indent=2))

`listen_account()`

Listen for orders and balances updates for the account.

`get_market(markets)`

Get market orders.

{
    "BTC-TRX": {
        "market_name": null,
        "nonce": 11333,
        "buys": [{
            "quantity": 428996.57288094,
            "rate": 8.65e-06
        }],
        "sells": [{
            "quantity": 91814.92314615,
            "rate": 8.66e-06
        }],
        "fills": [{
            "id": 5020055,
            "time_stamp": 1524904823903,
            "quantity": 34413.0,
            "price": 8.66e-06,
            "total": 0.29801658,
            "fill_type": "FILL",
            "order_type": "BUY"
        }]
    }
}

`listen_market(markets)`

Listen for market orders updates.

Delta types:
  • 0 = ADD

  • 1 = REMOVE

  • 2 = UPDATE

{
    "market_name": "BTC-TRX",
    "nonce": 11919,
    "buys": [],
    "sells": [{
        "type": 2,
        "rate": 8.7e-06,
        "quantity": 197473.52148216
    }],
    "fills": [{
        "order_type": "BUY",
        "rate": 8.7e-06,
        "quantity": 28376.84449489,
        "time_stamp": 1524905878547
    }]
}

`get_summary()`

Get markets summaries.

{
    "nonce": 5108,
    "summaries": [{
        "market_name": "BTC-ADA",
        "high": 3.388e-05,
        "low": 3.116e-05,
        "volume": 45482116.6444527,
        "last": 3.337e-05,
        "base_volume": 1481.80378307,
        "time_stamp": 1524907023543,
        "bid": 3.333e-05,
        "ask": 3.337e-05,
        "open_buy_orders": 5195,
        "open_sell_orders": 15219,
        "prev_day": 3.118e-05,
        "created": 1506668518873
    }]
}

`listen_summary_light()`

Markets summary updates light.

{
    "deltas": [{
        "market_name": "BTC-ADT",
        "last": 7.37e-06,
        "base_volume": 118.05
    }]
}

`listen_summary()`

Markets summary updates.

{
    "nonce": 5069,
    "deltas": [{
        "market_name": "BTC-ETH",
        "high": 0.07371794,
        "low": 0.071695,
        "volume": 9535.44197173,
        "last": 0.07318011,
        "base_volume": 695.21677418,
        "time_stamp": 1524907827823,
        "bid": 0.07318011,
        "ask": 0.07346991,
        "open_buy_orders": 4428,
        "open_sell_orders": 3860,
        "prev_day": 0.07188519,
        "created": 1439542944817
    }]
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiobittrex-0.2.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

aiobittrex-0.2.0-py2.py3-none-any.whl (13.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file aiobittrex-0.2.0.tar.gz.

File metadata

  • Download URL: aiobittrex-0.2.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for aiobittrex-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5701e4332342d1b42bb1613f1133405953a28757ad932b08143cffe6b0fcb008
MD5 aab78c5824590c37f5e8f89285b0b106
BLAKE2b-256 96395df0fbaa45d40de8cd05a1ba746f3abe13614de5a76d76afa401f7359ae1

See more details on using hashes here.

File details

Details for the file aiobittrex-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: aiobittrex-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for aiobittrex-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4d9247b10dc0c98f5efc5a6c3283bd5ffacef903cea4a0ed2b9333cd08a7b745
MD5 dda9b136a9cfd069f873a2b3d4908e6f
BLAKE2b-256 34eccf834a4d05155ac20334c73a7078dfe2a3ae84e8c461c2ae70c924385fac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page