Retrieve all cash balances.
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
} ,
{
"asset" : "BTC" ,
"assetname" : "Bitcoin" ,
"balance" : "9,7502186644553258" ,
"locked" : "3,3109771999999998" ,
"free" : "6,439241464455326" ,
"orderFund" : "3,3109771999999998" ,
"requestFund" : "0" ,
"precision" : 8
} ,
...
] ,
"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