How to get HitBTC API Key and Secret Key. Note: There are a number of confirmation and set up stages in-between each of these steps. Some of the missing steps include steps for setting up and entering 2FA codes. These were excluded because there were many of these intermediate steps. Demo HitBTC is a special platform where users are able to credit themselves with test funds and try different strategies of trading without making real investments. Users can trade manually or via the API – the test mode is as responsive as the regular exchange platform. Practice now for free, and read more useful information on our blog. Connect HitBTC to 3Commas. Don't forget to transfer funds to Trading Account. You can't access and trade with funds on Main Account.
Hitbtc demo api keyAPI Documentation
If it is not provided, null or empty, the request returns an Order Book for all symbols. Please note that if the Volume is specified, the Limit will be ignored, askAveragePrice and bidAveragePrice are returned in response. Candles are used for the representation of a specific symbol as an OHLC chart. If it is not provided, null or empty, the request returns candles for all symbols.
Public market data are available without authentication. Authentication is required for other requests. You can create multiple API keys with different access rights for your applications. Symbol config contains the tickSize parameter which means that price should be divided by tickSize with no remainder. By default, if strictValidate is not enabled, the Server rounds half down the price and quantity for tickSize and quantityIncrement. Charged fee is determined in symbol's feeCurrency.
Maker-taker fees offer a transaction rebate provideLiquidityRate to those who provide liquidity the market maker , while charging customers who take that liquidity takeLiquidityRate. To create buy orders, you must have sufficient balance including fees. Closes all positions and then closes all Isolated Margin Accounts.
This will completely free up any balance reserved for margin purposes. Creates or updates margin account. Setting margin balance to zero will lead to closing margin account and retrieval all formerly reserved funds to the trading account. Closes Isolated Margin Account by symbol. This will completely free up any balance reserved for margin purposes, and all open positions will be closed at market price. For any sub-account listed, all orders will be canceled and all funds will be transferred form the Trading balance.
Transfers funds from the master account to sub-account or from sub-account to the master account. Returns balance values by sub-account ID specified. Report will include main account and Trading balances for each currency. It is functional with no regard to the state of a sub-account. A Notification is a Request object without an id member. A Request object a Notification signifies the lack of the Client's interest in the corresponding Response object. Therefore no Response objects need to be returned to the Client.
Server responses for each request. Response on success subscription is true. The parameters of requests, responses, and errors correspond to REST, but have different usage procedures. First, you should subscribe for the required data. Then the Server will send a full snapshot of the data. After that, the Server sends an update notification. Request methods: getCurrencies , getCurrency. Request methods: getSymbols , getSymbol. Request methods: subscribeTicker , unsubscribeTicker.
Request methods: subscribeOrderbook , unsubscribeOrderbook. Message contains a full snapshot of the Order Book. Message contains incremental changes. Notification method: updateOrderbook. Request methods: subscribeTrades , unsubscribeTrades. Request methods: subscribeCandles , unsubscribeCandles. Do not use this request to cancel the quantity remaining in an outstanding order.
Use the Cancel request message for this purpose. It is stipulated that a newly entered order cancels a prior order that has been entered, but not yet executed. Income methods: marginOrders , marginAccounts. Adds a margin for the specified symbol. Creates or updates Isolated Margin Account. Setting margin balance to zero will lead to closing Isolated Margin Account and retrieval all formerly reserved funds to the trading account. Closes a position for the specified symbol.
This will result in cancelling all open orders within the position. The fastest way is use the socket API. The index is a bit integer, that increases on any transaction update. To get all new updates of transactions you will need to request transactions with an index value which is greater than the latest one. For example, if you have created a withdrawal, then you get an update with a transaction hash and committed status after receiving the required number of confirmations.
Significantly exceeding the Rate Limits can lead to suspension. Retrieving and updating account state Use the Streaming API for real-time updates of your orders, trades and any transaction changes. Successful request Bad Request. Authorization is required or has been failed Forbidden. Your connection has been rate limited Internal Server. Internal Server Error Service Unavailable.
Service is down for maintenance Gateway Timeout. Request timeout expired Error response All error responses have error code and human readable message fields. Read more You can optionally use comma-separated list of symbols. Can return 'null' if no data bid Number or null Best bid price. Can return 'null' if no data last Number or null Last trade price. Can return 'null' if no data open Number or null Last trade price 24 hours ago.
Authentication HS import requests from requests. Responses: Name Type Description currency String Currency code available Number Amount available for trading or transfer to main account reserved Number Amount reserved for active orders or incomplete transfers to main account Order model Order model consists of: Name Type Description id Number Order unique identifier as assigned by exchange clientOrderId String Order unique identifier as assigned by trader.
Uniqueness must be guaranteed within a single trading day, including all active orders. Any part of an IOC order that cannot be filled immediately will be cancelled. FOK - ''Fill-Or-Kill'' is a type of ''Time in Force'' designation used in securities trading that instructs a brokerage to execute a transaction immediately and completely or not execute it at all.
Day - keeps the order active until the end of the trading day UTC. The date is specified in expireTime. Parameters: Name Type Description wait Number Time in milliseconds optional parameter Max value: Default value: none While using long polling request: if order is filled, cancelled or expired order info will be returned instantly. For other order statuses, actual order info will be returned after specified wait time. Price accuracy and quantity Symbol config contains the tickSize parameter which means that price should be divided by tickSize with no remainder.
Fees Charged fee is determined in symbol's feeCurrency. If it is skipped, it will be generated by the Server. See the symbol's tickSize and quantityIncrement. Where base currency is the currency of funds reserved on the trading account for positions and quote currency is the currency of funds reserved on a Isolated Margin Account e.
The ratio of the trader's own funds to funds borrowed from the platform. Open positions of the Isolated Margin Account. Returns list of the closed Isolated Margin Accounts. Returns margin account details.
Where base currency is the currency of funds reserved on the trading account for positions and quote currency is the currency of funds reserved on a margin account e.
Returns closed Isolated Margin Account details. Returns a list of the successfully closed margin positions.
If a price is defined, then close order would be an limit order with the specified price, instead, close order would be a market order with the market price. See the symbol's tickSize. Parameter to filter active orders by symbol. Required for limit order types. Returns a list of cancelled margin orders. Parameter to filter active margin orders by symbol. Default value: id from Datetime or Number Interval initial value optional parameter If sorting by timestamp is used, then Datetime , otherwise Number of index value.
See fee currency in the symbol config. Responses: Name Type Description id Number Trade unique identifier as assigned by exchange orderId Number Order unique identifier as assigned by exchange clientOrderId String Order unique identifier as assigned by trader symbol String Trading symbol side String Trade side Accepted values: sell or buy quantity Number Trade quantity price Number Trade price fee Number Trade commission Can be negative ''rebate'' - reward paid to a trader.
Parameters: Name Type Description currency String Currency code amount Number The amount that will be sent to the specified address address String Address identifier paymentId String Optional parameter includeFee Boolean Default value: false If true is set, then total spent value will include fees.
Used in two phase commit schema. Currently accepted values: swap swap between currenices , offchain offchain transaction. Accepted values: new , active , disable. It implies that the Sub-accounts frozen wouldn't be able to: login; withdraw funds; trade; complete pending orders; use API keys.
Responses: Name Type Description result Boolean Value indicating, whether sub-accounts were successfully frozen. It would make sub-accounts active after being frozen. Responses: Name Type Description result Boolean Value indicating, whether sub-accounts were successfully activated. Accepted values: deposit , withdraw. Normally left empty. Parameters: Name Type. Example: "T All finance data, i. Example: " Here is a set of best practices of using the API as efficiently as possible.
Subsequent requests will result in reduced latency as the TCP handshaking process is no longer required. If you are using an HTTP 1. However, you will have to ensure your implementation does not set the connection header to other values. All error responses have error code and human readable message fields. Some errors contain additional description field. Return the actual list of currency symbols currency pairs traded on exchange. The first listed currency of a symbol is called the base currency, and the second currency is called the quote currency.
The currency pair indicates how much of the quote currency is needed to purchase one unit of the base currency. Read more. An order book is an electronic list of buy and sell orders for a specific symbol, organized by price level.
An candles used for OHLC a specific symbol. Public market data available without authentication, for other requests authentication is required. You can create multiple API keys with different permissions for your applications. Symbol config contain tickSize parameter which means that price should be divide by tickSize without residue. Quantity should be divide by quantityIncrement without residue.
By default, if strictValidate not enabled, server round half down price and quantity for tickSize and quantityIncrement. Fee charged in symbol feeCurrency. Maker-taker fees offer a transaction rebate provideLiquidityRate to those who provide liquidity the market maker , while charging customers who take that liquidity takeLiquidityRate.
For buy orders you must have enough available balance including fees. The Request object has the following members: - method - A String containing the name of the method to be invoked. If it is not included it is assumed to be a notification. A Notification is a Request object without an "id" member. A Request object that is a Notification signifies the Client's lack of interest in the corresponding Response object, and as such no Response object needs to be returned to the client.
The Notification object has the following members: - method - A String containing the name of the method to be invoked. The value of this member is determined by the method invoked on the Server. The parameters of requests, responses, and errors correspond to REST, but usage flow differ. First you should subscribe for interested data. Then server send full snapshot of data, after that server send update notification.
Your requests execute in requested order. Do not use this message to cancel the remaining quantity of an outstanding order, use the Cancel Request message for this purpose. Stipulates that a newly entered order is to cancel a prior order entered, but yet to be executed.
Accepted values: 0 - Default offset Number of results offset. Default 0 sort Sort direction. Accepted values: id, timestamp from If filter by timestamp, then datetime. Otherwise object id till If filter by timestamp, then datetime. Significant excess of the Rate Limits can lead to a suspend.
Retrieving and updating account state Use Streaming API for real time updates of your orders and trades and any transactions changes. Authorisation required or failed Forbidden. Your connection is being rate limited Internal Server. Internal Server Error Service Unavailable.
Service is down for maintenance Gateway Timeout. Request timeout expired Error response All error responses have error code and human readable message fields. Accepted values: id, timestamp. Default is M30 30 minutes. Uniqueness must be guaranteed within a single trading day, including all active orders.