Retrieve all cash balances.
For all transactions related to the private endpoint, you must authorize before sending your request.
All asset information can be viewed with the Account Balance endpoint.
Copy {
"data": [
{
"asset": "TRY",
"assetname": "Türk Lirası",
"balance": "27223,7283250757643288",
"locked": "4874,3628685722294523",
"free": "22349,3654565035348765",
"orderFund": "4874,3628685722294523",
"requestFund": "0",
"precision": 2,
"timestamp": 1735866257711 // Milliseconds since unix epoch
},
{
"asset": "BTC",
"assetname": "Bitcoin",
"balance": "9,7502186644553258",
"locked": "3,3109771999999998",
"free": "6,439241464455326",
"orderFund": "3,3109771999999998",
"requestFund": "0",
"precision": 8,
"timestamp": 1735866257711
},
...
],
"success": true,
"message": null,
"code": 0
}
Account Balance Code Example
C# PHP Python GoLang Node.js Ruby
Copy // You can download ApiClient .net core complete library from github https://github.com/BTCTrader/broker-api-csharp-v2
var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
var publicKey = configuration["publicKey"];
var privateKey = configuration["privateKey"];
var resourceUrl = configuration["resourceUrl"];
var apiClientV1 = new ApiClientV1(publicKey, privateKey, resourceUrl);
var balances = apiClientV1.GetBalances();
if (balances.Result != null && balances.Result.Success)
{
foreach (var balance in balances.Result.Data)
{
Console.WriteLine(balance.ToString());
}
}
Copy <?php
$base = "https://api.btcturk.com";
$apiKey = "YOUR_API_PUBLIC_KEY";
$apiSecret = "YOUR_API_SECRET";
$method = "/api/v1/users/balances";
$uri = $base.$method;
$nonce = time()*1000;
$message = $apiKey.$nonce;
$signatureBytes = hash_hmac("sha256", $message, base64_decode($apiSecret), true);
$signature = base64_encode($signatureBytes);
$headers = array(
"X-PCK: ".$apiKey,
"X-Stamp: ".$nonce,
"X-Signature: ".$signature,
"Cache-Control: no-cache",
"Content-Type: application/json");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_2");
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
print_r(curl_error($ch));
}
$answer = json_decode($result);
print_r($answer);
Copy import time, base64, hmac, hashlib, requests, json
base = "https://api.btcturk.com"
method = "/api/v1/users/balances"
uri = base+method
apiKey = "YOUR_API_PUBLIC_KEY"
apiSecret = "YOUR_API_SECRET"
apiSecret = base64.b64decode(apiSecret)
stamp = str(int(time.time())*1000)
data = "{}{}".format(apiKey, stamp).encode("utf-8")
signature = hmac.new(apiSecret, data, hashlib.sha256).digest()
signature = base64.b64encode(signature)
headers = {"X-PCK": apiKey, "X-Stamp": stamp, "X-Signature": signature, "Content-Type" : "application/json"}
result = requests.get(url=uri, headers=headers)
result = result.json()
print(json.dumps(result, indent=2))
Copy publicKey := "PUBLIC_KEY_HERE"
privateKey := "PRIVATE_KEY_HERE"
base = "https://api.btcturk.com"
method = "/api/v1/users/balances"
uri = base + method
key, error := base64.StdEncoding.DecodeString(privateKey)
if error != nil {
return error
}
nonce := fmt.Sprint(time.Now().UTC().UnixMilli())
message := publicKey + nonce
hmac := hmac.New(sha256.New, key)
hmac.Write([]byte(message))
signature := base64.StdEncoding.EncodeToString(hmac.Sum(nil))
request, _ := http.NewRequest("GET", uri, nil)
request.Header.Set("X-PCK", publicKey)
request.Header.Set("X-Stamp", nonce)
request.Header.Set("X-Signature", signature)
request.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(request)
defer response.Body.Close()
body, _ := ioutil.ReadAll(response.Body)
fmt.Println(response)
fmt.Println(string(body))
Copy const API_KEY = "API_KEY_HERE"
const API_SECRET = "API_SECRET_HERE"
const base = 'https://api.btcturk.com'
const method = '/api/v1/users/balances'
const uri = base+method;
const options = {method: 'GET', headers: authentication()};
fetch(uri, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error('error:' + err));
function authentication() {
const stamp = (new Date()).getTime()
const data = Buffer.from(`${API_KEY}${stamp}`, 'utf8')
const buffer = crypto.createHmac('sha256', Buffer.from(API_SECRET, 'base64'))
buffer.update(data)
const digest = buffer.digest()
const signature = Buffer.from(digest.toString('base64'), 'utf8').toString('utf8')
return {
"Content-type": 'application/json',
"X-PCK": API_KEY,
"X-Stamp": stamp.toString(),
"X-Signature": signature,
}
}
Copy public_key = 'PUBLIC_KEY_HERE'
private_key = 'PRIVATE_KEY_HERE'
uri = URI.parse("https://api.btcturk.com/api/v1/users/balances")
timestamp = Time.now.to_i*1000
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
data = public_key + timestamp.to_s
private_key = Base64.decode64(private_key).strip
digest = OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), private_key, data)
sign = Base64.encode64(digest).strip
request['Content-type'] = 'application/json'
request['X-PCK'] = public_key
request['X-Stamp'] = timestamp.to_s
request['X-Signature'] = sign
response = http.request(request)
puts response.read_body