I would like some confirmation on whether what I came up for buying/selling currency on kraken.com is valid.

Right now I get {"error":["EGeneral:Internal error"]} message from kraken.com, when I run my query. But I have not yet placed any money in my account. I prefer to be more confident in my query before I place deposits.

Can anybody confirm whether my working is correct given the case-study below?

Let's say the pair is ETH/AUD, I have just got its OrderBook and these are the first 2 rows from each ASKS and BIDS:

ASKS (price in ETH, volume in ETH):
1) 5659.070000 0.200
2) 5661.160000 0.278
BIDS (price in ETH, volume in ETH):
1) 5645.090000 0.103
2) 5645.080000 0.300

Case 1: I want to sell 0.25 ETH and buy the equivalent AUD.

I look at the BIDS (because I need the quote currency, AUD). I see that all of the 1st row and some of the 2nd row cover me. So, I will ask the platform to exchange at the worst price of the two rows (the last row at 1 ETH to 5645.080000 AUD). Here is my query:


Some parameters explanation:

  1. price=5645.080000, volume=0.25 : volume is my requirement. price is the worst price of the two rows of BIDS, which is the last row. See point (2) below how this combines with ordertype=limit

  2. ordertype=limit because I want to buy at this specific price or better. https://support.kraken.com/hc/en-us/articles/206899287-How-to-set-prices-for-limit-orders states that The limit price is the price at which you want a limit order to be fulfilled or better. So, I use the price in the 2nd row and that will definetely get me all of 1st row and some of the 2nd (provided the OrderBook does not change in the meantime).

  3. oflags=fcib, https://docs.kraken.com/websockets/ states fcib = prefer fee in base currency, fciq = prefer fee in quote currency, I want fee in base currency which I now own (ETH). In this way I first subtract the fee and then convert to AUD. I guess this can result in less fee amount because of less amount to be converted to AUD?

  4. type=sell, sell because I have BASE currency (ETH) and want to sell it to buy QUOTE currency (AUD). Right?

Case 2: The reverse: I want to sell 850.15 AUD and buy the equivalent ETH (which is around 0.15 ETH with above order book).

I look at the ASKS (because I need ETH). I see that some of the 1st row covers me. So, I will ask the platform to exchange at the 1st row price of ASKS (at 1 ETH to 5659.070000 AUD). Here is my query:


Some parameters explanation:

  1. price=5659.070000, volume=0.15022786 : price is set by the 1st row of ASKS. volume is calculated from my requirement of 850.15 AUD divided by said price.
  2. ordertype=limit (as before).
  3. oflags=fciq, as before, I want fee in the currency I now own, which is quote (AUD). In this way I first subtract the fee and then convert to ETH.
  4. type=buy, I have QUOTE currency (AUD) and want to sell it to buy BASE currency (ETH). That's a buy right?

1 Answer 1


Have you tried to run it again at a later time of the day?
By checking the kraken documentation, it appears that the error is not related to your level of available funds but rather a Kraken system stability issue.

EGeneral:Internal error When we are facing API degradation issues, these can translate into problems for both Kraken and cryptowat.ch in the form of service unavailable messages, 8XX errors on cryptowat.ch and site outages.

If you were lacking funds you would get a EOrder:Insufficient funds (insufficient user funds) message instead.

  • $\begingroup$ Thanks for this. kraken Support told me that perhaps it was because I have not verified my account. I will try again on this. Do you have any comment about my API call? And in particular look at the ASKS (because I need ETH). Thanks for your answer. $\endgroup$
    – bliako
    Commented Dec 20, 2021 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.