Sample code for 30+ languages & platforms
PHP Extension

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

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

$http = new CkHttp();

$crypt = new CkCrypt2();

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

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

$sbNonce = new CkStringBuilder();
$sbNonce->Append($dt->getAsUnixTimeStr(false));
$sbNonce->Append('000');
$nonce = $sbNonce->getAsString();

$json = new CkJsonObject();
$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 = new CkStringBuilder();
$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 = new CkHttpResponse();
$success = $http->HttpStr('POST','https://api.bitfinex.com/v2/auth/w/order/submit',$body,'utf-8','application/json',$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

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

?>