Contents:
If any of these requirements are undesirable or not possible for you, withdrawals will still be processed, but the processing time can be slightly longer. Also, you will receive an email with a confirmation link to approve the withdrawal. In addition to these rules, sometimes large or unusual withdrawals will require direct administrative approval. Most automatically processed cryptocurrency withdrawals will be processed within a few minutes; however, processing may take longer if a manual approval is required or if our "hot wallet" special wallet used to process withdrawals is empty and needs to be refilled.
This section lists some common error codes that are returned by the API, but is not an exhaustive list. If you have questions about an error code you are receiving, feel free to post an issue on GitHub.
The v3 websocket is intended to allow a client to subscribe to a live stream of updates about things that are changing in the system instead of needing to poll the REST API looking for updates. As such the messages sent from the socket include payloads that are formatted to match the corresponding data models from the v3 REST API. Like the existing v1 socket, the v3 socket is based on Microsoft ASP. We are not using ASP. As such, any existing SignalR client implementation working with the v1 socket should be able to be modified to work with the new v3 socket.
If working in the. Net environment, the Microsoft.
Client NuGet package is the recommended basis for a client implementation. The code snippets in the remainder of this section assume you are working in C using that library. Refer to the Example Socket Clients section for examples in other languages. This section includes simple examples of how to subscribe and receive messages in a few popular languages.
All of these examples follow the same basic pattern. They will connect to the socket server, authenticate if an API key and secret are provided, attempt to subscribe to a few streams, and finally print messages received on those streams to console. The hub name to use when creating the proxy is "c3". Once these objects are created, you can start the HubConnection to connect to the socket. There are no streams of data sent automatically based solely on being connected. To get data, you must subscribe to one or more streams.
The available streams are discussed in the Websocket Streams section of this site. Some streams contain private data and require that you be authenticated prior to subscribing. In order to authenticate, invoke the Authenticate method on the hub as shown in the example. The authentication will need to be renewed periodically.
Currently authentication lasts for 10 minutes. When authentication expires subscriptions to any private streams will be cancelled. One minute prior to authentication expiring, a reminder message will be sent notifying the client that it is time to reauthenticate. To subscribe to one or more streams, simply invoke the Subscribe method with an array of streams to which you wish to subscribe.
For a list of stream names, refer to the Websocket Streams section. The Subscribe method may be invoked as many times as desired if not all desired streams are known initially. The result of invoking the Subscribe method is a list of SocketResponse objects containing a Boolean value indicating if the subscription was successful and, in the case of failure, an error code.
Once you have subscribed to a stream, you will begin receiving messages as relevant activity occures in the system. The incoming messages must be decoded to do something with them. A basic example of this is shown below.
The "balance" specified as a parameter is the name of the message to handle. This corresponds to the name of the stream. For a list of possible values and how they map to streams, refer to the Websocket Streams section.
Messages sent on the v3 socket are gzipped and must be decompressed prior to being used. The DataConverter. Decode method shown in the example is doing this decompression and then parsing the resulting json into an object. The schema for the BalanceDelta type can be found in the documentation for the Balance stream. It consists of an accountId field for identifying the account or subaccount the message relates to, the sequence number of the message used for synchronization, and the actualy delta which is an updated Balance object.
For details about individual streams, refer to the Websocket Streams section of this page. To ensure you have the most recent data, and have not missed anything, the recommended sequence of steps is to:. For applications that depend on keeping the stream of data as reliable as possible, creating multiple socket connections for redundancy is recommended. The sequence numbers published across all of the connections will be consistent with each other and can be used to determine which messages have been received.
Unsubscribing from streams follows the same pattern as subscribing to streams. Simply invoke the Unsubscribe method on the hub and provide the list of streams you wish to unsubscribe from. Subaccounts provide a way for partners to model their users without needing to create individual user accounts. Each subaccount has its own deposit addresses, balances, desposits and withdrawals, orders, etc.
I deposited from my VTC wallet to my bittrex wallet yesterday. 14 hours later and it's stuck on pending. Any suggestions? › articles › Where-is-my-deposit-.
Partners control all actions of their subaccounts via the v3 REST API and may use the v3 websocket to be notified of any updates to their balances, deposits, and orders. In order to work with subaccounts, you must be using an API key that has subaccount permissions. Partners who are part of this program can work with their Bittrex representative to get their API key enabled.
To create a subaccount, POST to the subaccounts endpoint. This will create a new subaccount and return its id. Once you have a subaccount id, you can transfer funds between it and your main master account using the transfers endpoint. In order to place orders, view history, or take other actions in the context of a subaccount using the REST API, add the Api-subaccount-ID header to the request and adjust your request signature as needed. To be notified of updates to subaccount data, use a websocket connection authenticated with a subaccount enabled API key and subscribe to the subaccount streams for the types of data you care about.
A single subscription will receive data from all subaccounts the API key is authorized to manage. Messaages will include an accountId field which can be used to associate them with the correct subaccount. For subaccount streams that include a sequence number for synchronizing with the server, the sequence number is independent for each subaccount. Retrieve information for the account associated with the request. For now, it only echoes the subaccount if one was specified in the header, which can be used to verify that one is operating on the intended account. More fields will be added later.
Request provisioning of a deposit address for a currency for which no address has been requested or provisioned. Retrieve the status of the deposit address for a particular currency for which one has been requested or provisioned. List account balances across available currencies. Returns a Balance entry for each currency for which there is either a balance or an address.
You may also encounter the error " Account Disabled ". To buy Reddcoin through Bittrex, you need to open an account. Review your transaction on the blockchain to ensure that the transaction was completed. Cancel a withdrawal. Do that ONLY on the first time.
Retrieve account balance for a specific currency. Request will always succeed when the currency exists, regardless of whether there is a balance or address. Create a new batch request. Currently batch requests are limited to placing and cancelling orders. The request model corresponds to the equivalent individual operations.