Sample code for 30+ languages & platforms
Ruby

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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(false))
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 == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Response body:" + "\n";
print resp.bodyStr() + "\n";