I used to use bittrex version 1 api. It worked well. Then, they change API and they change a lot.
So I am trying to get balances of my account in bittrex
Protected Overrides Async Function getJsonPrivateAsync(method As String, otherParameters() As Tuple(Of String, String)) As Task(Of String) 'Return "" Dim url = "https://api.bittrex.com/v3/" + method 'https://api.bittrex.com/v3/balances Dim apiTimeStamp = jsonHelper.currentTimeStamp() '1655809917684 Dim hasher = New System.Security.Cryptography.HMACSHA512(System.Text.Encoding.UTF8.GetBytes("")) Dim contentHash = ExchangesClass.getString(hasher.ComputeHash(System.Text.Encoding.UTF8.GetBytes(""))) 'b936cee86c9f87aa5d3c6f2e84cb5a4239a5fe50480a6ec66b70ab5b1f4ac6730c6c515421b327ec1d69402e53dfb49ad7381eb067b338fd7b0cb22247225d47 Dim presig = apiTimeStamp.ToString + url + "GET" + contentHash '1655809917684https://api.bittrex.com/v3/balancesGETb936cee86c9f87aa5d3c6f2e84cb5a4239a5fe50480a6ec66b70ab5b1f4ac6730c6c515421b327ec1d69402e53dfb49ad7381eb067b338fd7b0cb22247225d47 Dim hasher1 = New System.Security.Cryptography.HMACSHA512(System.Text.Encoding.UTF8.GetBytes(_secret1)) Dim sighash = ExchangesClass.getString(hasher.ComputeHash(System.Text.Encoding.UTF8.GetBytes(presig))) 'convert bytes to string Dim response = Await CookieAwareWebClient.downloadString1Async(url, "", {Tuple.Create("Api-Key", _apiKey1), Tuple.Create("Api-Timestamp", apiTimeStamp.ToString), Tuple.Create("Api-Content-Hash", contentHash), Tuple.Create("Api-Signature", sighash)}) If response = "" Then Dim b = 1 End If 'Dim jo = JObject.Parse(response) Return response End Function
I followed instruction in https://bittrex.github.io/api/v3#topic-Authentication
Everything should be working.
Some of the function that I make is also pretty simple.
The ExchangeClass.getString
simply convert bytes to hex
downloadString1Async
simply put tuples of additional headers.
I simply get message that I am not authorized and I have no idea where I went wrong.
Perhaps the only thing I have a hard time understanding is
this code in
https://bittrex.github.io/api/v3#topic-Authentication
var contentHash = CryptoJS.SHA512(JSON.stringify(requestBody)).toString(CryptoJS.enc.Hex);
This one has problem because I have no idea what requestBody is for. However, for read only API like checking balances that’s just empty right?
All feedback I am getting is access denied or prohibited. I have on idea where I went wrong