Sample code for 30+ languages & platforms
Xojo Plugin

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

Dim crypt As New Chilkat.Crypt2

Dim apiPath As String
apiPath = "v2/auth/w/order/submit"
Dim apiKey As String
apiKey = "MY_API_KEY"
Dim apiSecret As String
apiSecret = "MY_API_SECRET"

Dim dt As New Chilkat.CkDateTime
success = dt.SetFromCurrentSystemTime()

Dim sbNonce As New Chilkat.StringBuilder
success = sbNonce.Append(dt.GetAsUnixTimeStr(False))
success = sbNonce.Append("000")
Dim nonce As String
nonce = sbNonce.GetAsString()

Dim json As New Chilkat.JsonObject
success = json.UpdateString("type","LIMIT")
success = json.UpdateString("symbol","tBTCUSD")
success = json.UpdateString("price","15")
success = json.UpdateString("amount","0.001")
success = json.UpdateInt("flags",0)
Dim body As String
body = json.Emit()

Dim sbSignature As New Chilkat.StringBuilder
success = sbSignature.Append("/api/")
success = sbSignature.Append(apiPath)
success = sbSignature.Append(nonce)
success = sbSignature.Append(body)

crypt.EncodingMode = "hex_lower"
crypt.HashAlgorithm = "sha384"
crypt.MacAlgorithm = "hmac"
success = crypt.SetMacKeyString(apiSecret)

Dim sig As String
sig = crypt.MacStringENC(sbSignature.GetAsString())

http.SetRequestHeader "bfx-apikey",apiKey
http.SetRequestHeader "bfx-signature",sig
http.SetRequestHeader "bfx-nonce",nonce

Dim resp As New Chilkat.HttpResponse
success = http.HttpStr("POST","https://api.bitfinex.com/v2/auth/w/order/submit",body,"utf-8","application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog("Response body:")
System.DebugLog(resp.BodyStr)