Sample code for 30+ languages & platforms
Perl

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = chilkat::CkHttp->new();

$crypt = chilkat::CkCrypt2->new();

$apiPath = "v2/auth/w/order/submit";
$apiKey = "MY_API_KEY";
$apiSecret = "MY_API_SECRET";

$dt = chilkat::CkDateTime->new();
$dt->SetFromCurrentSystemTime();

$sbNonce = chilkat::CkStringBuilder->new();
$sbNonce->Append($dt->getAsUnixTimeStr(0));
$sbNonce->Append("000");
$nonce = $sbNonce->getAsString();

$json = chilkat::CkJsonObject->new();
$json->UpdateString("type","LIMIT");
$json->UpdateString("symbol","tBTCUSD");
$json->UpdateString("price","15");
$json->UpdateString("amount","0.001");
$json->UpdateInt("flags",0);
$body = $json->emit();

$sbSignature = chilkat::CkStringBuilder->new();
$sbSignature->Append("/api/");
$sbSignature->Append($apiPath);
$sbSignature->Append($nonce);
$sbSignature->Append($body);

$crypt->put_EncodingMode("hex_lower");
$crypt->put_HashAlgorithm("sha384");
$crypt->put_MacAlgorithm("hmac");
$crypt->SetMacKeyString($apiSecret);

$sig = $crypt->macStringENC($sbSignature->getAsString());

$http->SetRequestHeader("bfx-apikey",$apiKey);
$http->SetRequestHeader("bfx-signature",$sig);
$http->SetRequestHeader("bfx-nonce",$nonce);

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpStr("POST","https://api.bitfinex.com/v2/auth/w/order/submit",$body,"utf-8","application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response body:" . "\r\n";
print $resp->bodyStr() . "\r\n";