API reference

class cryptocom.exchange.Account(*, api_key: str = '', api_secret: str = '', from_env: bool = False, exchange: Optional[cryptocom.exchange.market.Exchange] = None, api: Optional[cryptocom.exchange.api.ApiProvider] = None)[source]

Provides access to account actions and data. Balance, trades, orders.

async buy_limit(pair: cryptocom.exchange.structs.Pair, quantity: float, price: float, force_type: Optional[cryptocom.exchange.structs.OrderForceType] = None, exec_type: Optional[cryptocom.exchange.structs.OrderExecType] = None, client_id: Optional[int] = None) int[source]

Buy limit order.

async buy_market(pair: cryptocom.exchange.structs.Pair, spend: float, wait_for_fill=False) int[source]

Buy market order.

async cancel_open_orders(pair: cryptocom.exchange.structs.Pair) None[source]

Cancel all open orders.

async cancel_order(order_id: int, pair: cryptocom.exchange.structs.Pair, check_status=False) None[source]

Cancel order.

async create_order(pair: cryptocom.exchange.structs.Pair, side: cryptocom.exchange.structs.OrderSide, type_: cryptocom.exchange.structs.OrderType, quantity: float, price: float = 0, force_type: Optional[cryptocom.exchange.structs.OrderForceType] = None, exec_type: Optional[cryptocom.exchange.structs.OrderExecType] = None, client_id: Optional[int] = None) int[source]

Create raw order with buy or sell side.

async get_balance() Dict[cryptocom.exchange.structs.Coin, cryptocom.exchange.structs.Balance][source]

Return balance.

async get_deposit_history(coin: cryptocom.exchange.structs.Coin, start_ts: Optional[int] = None, end_ts: Optional[int] = None, status: Optional[cryptocom.exchange.structs.DepositStatus] = None, page: int = 0, page_size: int = 20) List[cryptocom.exchange.structs.Deposit][source]

Return all history withdrawals.

async get_interest_history(coin: cryptocom.exchange.structs.Coin, start_ts: Optional[int] = None, end_ts: Optional[int] = None, page: int = 0, page_size: int = 20) List[cryptocom.exchange.structs.Interest][source]

Return all history interest.

async get_open_orders(pair: Optional[cryptocom.exchange.structs.Pair] = None, page: int = 0, page_size: int = 200) List[cryptocom.exchange.structs.Order][source]

Return open orders.

async get_order(order_id: int) cryptocom.exchange.structs.Order[source]

Get order info.

async get_orders_history(pair: Optional[cryptocom.exchange.structs.Pair] = None, start_ts: Optional[int] = None, end_ts: Optional[int] = None, page: int = 0, page_size: int = 200) List[cryptocom.exchange.structs.Order][source]

Return all history orders.

async get_trades(pair: Optional[cryptocom.exchange.structs.Pair] = None, start_ts: Optional[int] = None, end_ts: Optional[int] = None, page: int = 0, page_size: int = 200) List[cryptocom.exchange.structs.PrivateTrade][source]

Return trades.

async get_withdrawal_history(coin: cryptocom.exchange.structs.Coin, start_ts: Optional[int] = None, end_ts: Optional[int] = None, status: Optional[cryptocom.exchange.structs.WithdrawalStatus] = None, page: int = 0, page_size: int = 20) List[cryptocom.exchange.structs.Withdrawal][source]

Return all history for withdrawal transactions.

async sell_limit(pair: cryptocom.exchange.structs.Pair, quantity: float, price: float, force_type: Optional[cryptocom.exchange.structs.OrderForceType] = None, exec_type: Optional[cryptocom.exchange.structs.OrderExecType] = None, client_id: Optional[int] = None) int[source]

Sell limit order.

async sell_market(pair: cryptocom.exchange.structs.Pair, quantity: float, wait_for_fill=False) int[source]

Sell market order.

async wait_for_status(order_id: int, statuses, delay: int = 0.1) None[source]

Wait for order status.

exception cryptocom.exchange.ApiError[source]
class cryptocom.exchange.ApiProvider(*, api_key='', api_secret='', from_env=False, auth_required=True, timeout=5, retries=6, root_url='https://api.crypto.com/v2/', ws_root_url='wss://stream.crypto.com/v2/', logger=None)[source]

Provides HTTP-api requests and websocket requests.

class cryptocom.exchange.Candle(time: int, open: float, high: float, low: float, close: float, volume: float, pair: cryptocom.exchange.structs.Pair)[source]
class cryptocom.exchange.Coin(exchange_name: str)[source]
class cryptocom.exchange.Deposit(coin: cryptocom.exchange.structs.Coin, fee: float, create_time: int, id: str, update_time: int, amount: float, address: str, status: cryptocom.exchange.structs.DepositStatus)[source]
class cryptocom.exchange.DepositStatus(value)[source]

An enumeration.

class cryptocom.exchange.Exchange(api: Optional[cryptocom.exchange.api.ApiProvider] = None)[source]

Interface to base exchange methods.

async get_orderbook(pair: cryptocom.exchange.structs.Pair) cryptocom.exchange.structs.OrderBook[source]

Get the order book for a particular market, depth always 150.

async get_pairs() List[cryptocom.exchange.structs.Pair][source]

List all available market pairs and store to provide pairs info.

async get_price(pair: cryptocom.exchange.structs.Pair) float[source]

Get latest price of pair.

async get_ticker(pair: cryptocom.exchange.structs.Pair) cryptocom.exchange.structs.MarketTicker[source]

Get ticker in for provided pair.

async get_tickers() Dict[cryptocom.exchange.structs.Pair, cryptocom.exchange.structs.MarketTicker][source]

Get tickers in all available markets.

async get_trades(pair: cryptocom.exchange.structs.Pair) List[cryptocom.exchange.structs.MarketTrade][source]

Get last 200 trades in a specified market.

async sync_pairs()[source]

Use this method to sync pairs if you have issues with missing pairs in library side.

class cryptocom.exchange.MarketTrade(id: int, time: int, price: float, quantity: float, side: cryptocom.exchange.structs.OrderSide, pair: cryptocom.exchange.structs.Pair)[source]
class cryptocom.exchange.Order(id: int, status: cryptocom.exchange.structs.OrderStatus, side: cryptocom.exchange.structs.OrderSide, price: float, quantity: float, client_id: str, created_at: int, updated_at: int, type: cryptocom.exchange.structs.OrderType, pair: cryptocom.exchange.structs.Pair, filled_quantity: float, filled_price: float, fees_coin: cryptocom.exchange.structs.Coin, force_type: cryptocom.exchange.structs.OrderForceType, trigger_price: float, trades: List[cryptocom.exchange.structs.PrivateTrade])[source]
class cryptocom.exchange.OrderSide(value)[source]

An enumeration.

class cryptocom.exchange.OrderStatus(value)[source]

An enumeration.

class cryptocom.exchange.OrderType(value)[source]

An enumeration.

class cryptocom.exchange.Pair(exchange_name: str, price_precision: int, quantity_precision: int)[source]
class cryptocom.exchange.Period(value)[source]

An enumeration.

class cryptocom.exchange.PrivateTrade(id: int, side: cryptocom.exchange.structs.OrderSide, pair: cryptocom.exchange.structs.Pair, fees: float, fees_coin: cryptocom.exchange.structs.Coin, created_at: int, filled_price: float, filled_quantity: float, order_id: int)[source]
class cryptocom.exchange.Timeframe(value)[source]

An enumeration.

class cryptocom.exchange.Withdrawal(coin: cryptocom.exchange.structs.Coin, fee: float, create_time: int, id: str, update_time: int, amount: float, address: str, client_wid: str, status: cryptocom.exchange.structs.WithdrawalStatus, txid: str)[source]
class cryptocom.exchange.WithdrawalStatus(value)[source]

An enumeration.