Sample code for 30+ languages & platforms
Go

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    crypt := chilkat.NewCrypt2()

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

    dt := chilkat.NewCkDateTime()
    dt.SetFromCurrentSystemTime()

    sbNonce := chilkat.NewStringBuilder()
    sbNonce.Append(*dt.GetAsUnixTimeStr(false))
    sbNonce.Append("000")
    nonce := sbNonce.GetAsString()

    json := chilkat.NewJsonObject()
    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.NewStringBuilder()
    sbSignature.Append("/api/")
    sbSignature.Append(apiPath)
    sbSignature.Append(*nonce)
    sbSignature.Append(*body)

    crypt.SetEncodingMode("hex_lower")
    crypt.SetHashAlgorithm("sha384")
    crypt.SetMacAlgorithm("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.NewHttpResponse()
    success = http.HttpStr("POST","https://api.bitfinex.com/v2/auth/w/order/submit",*body,"utf-8","application/json",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        crypt.DisposeCrypt2()
        dt.DisposeCkDateTime()
        sbNonce.DisposeStringBuilder()
        json.DisposeJsonObject()
        sbSignature.DisposeStringBuilder()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("Response body:")
    fmt.Println(resp.BodyStr())

    http.DisposeHttp()
    crypt.DisposeCrypt2()
    dt.DisposeCkDateTime()
    sbNonce.DisposeStringBuilder()
    json.DisposeJsonObject()
    sbSignature.DisposeStringBuilder()
    resp.DisposeHttpResponse()